html,body.street{margin:0;height:100%;background:#07080c;color:#efe7d6;font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",Arial,sans-serif}
body.street{min-height:100%;display:flex;flex-direction:column;align-items:center}
.street-bar{width:min(480px,100%);height:64px;display:flex;align-items:center;gap:10px;padding:0 12px;box-sizing:border-box;border-bottom:1px solid rgba(240,212,138,.35)}
.street-bar a{color:#efe7d6;text-decoration:none;font-size:13px;flex:0 0 auto}
.street-bar strong{color:#e2b657;letter-spacing:1px;flex:0 0 auto}
.street-tier{margin-left:4px;font-style:normal;font-size:11px;color:#cbbda6;border:1px solid rgba(240,212,138,.35);padding:2px 8px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42%}
.street-cash{margin-left:auto;text-align:right;color:#e2b657;flex:0 0 auto}
.street-cash b{display:block;font-size:20px;line-height:1}
.street-cash small{color:#cbbda6;font-size:11px}
.phone{width:min(480px,100%);flex:1;background:#07080c;display:flex;flex-direction:column;position:relative;overflow:hidden}
.scene{position:relative;flex:1;min-height:340px;margin:6px 8px;border-radius:16px;overflow:hidden;background:#0a0c10;box-shadow:inset 0 0 0 2px rgba(240,212,138,.35)}
.scene canvas{display:block;width:100%;height:100%;touch-action:manipulation}
.float-tip{position:absolute;right:8px;top:46%;background:rgba(26,18,4,.88);color:#f0d48a;border:1px solid rgba(240,212,138,.45);border-radius:10px;padding:6px 8px;font-size:12px;font-weight:800;pointer-events:none;z-index:2}
.banner{position:absolute;left:50%;top:28%;transform:translate(-50%,-50%) scale(.96);z-index:4;min-width:220px;max-width:90%;padding:12px 18px;border-radius:12px;background:rgba(8,6,4,.92);border:1px solid #e2b657;color:#f6e7c1;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}
.banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.banner b{display:block;font-size:16px;color:#f0d48a;letter-spacing:1px}
.banner span{display:block;margin-top:4px;font-size:12px;color:#cbbda6}
.panel{padding:8px;display:grid;gap:8px;background:#07080c}
.row{display:grid;gap:8px}
.row3{grid-template-columns:repeat(3,1fr)}
.row5{grid-template-columns:repeat(5,1fr)}
.wood,.buy{border:0;border-radius:12px;font-weight:800;color:#1a1204;background:linear-gradient(135deg,#f0d48a,#c4923a);box-shadow:0 4px 0 #6b4a16;padding:10px 4px;font-size:15px}
.wood.green{background:linear-gradient(135deg,#e2b657,#a8843a);box-shadow:0 4px 0 #6b4a16;color:#1a1204}
.wood.red{background:linear-gradient(135deg,#8a6a32,#4a3418);box-shadow:0 4px 0 #2a1c0c;color:#f6e7c1}
.wood.on{outline:3px solid #fff6df}
.wood small,.buy small{display:block;font-weight:600;font-size:10px}
.buybar{display:flex;gap:8px;align-items:center;background:#120f0c;color:#e2b657;padding:8px;border-top:1px solid rgba(240,212,138,.28)}
.buybar .who{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#f0d48a,#8a6a32);border:2px solid rgba(240,212,138,.5);flex:0 0 auto}
.buybar .info{flex:1;font-size:13px;min-width:0}
.buybar .info b{display:block;font-size:16px}
.buy{min-width:96px}
.sheet{position:absolute;inset:0;background:rgba(7,8,12,.72);display:flex;align-items:flex-end;justify-content:center;z-index:5}
.sheet[hidden]{display:none}
.sheet .card{width:min(440px,100%);background:#1a140c;color:#f6e7c1;border:1px solid rgba(240,212,138,.35);border-radius:18px 18px 0 0;padding:14px;max-height:70%;overflow:auto}
.sheet h2{margin:0 0 8px;color:#f0d48a}
.item{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(240,212,138,.18)}
.item small{color:#cbbda6}
.item button{border:0;background:linear-gradient(135deg,#f0d48a,#c4923a);color:#1a1204;border-radius:10px;padding:8px 10px;font-weight:800}
.item button:disabled{opacity:.45}
.toast{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);background:rgba(8,6,4,.92);border:1px solid rgba(240,212,138,.45);color:#f0d48a;padding:8px 12px;border-radius:10px;pointer-events:none;opacity:0;z-index:3}
.toast.show{opacity:1}
@media (max-width:420px){
  .street-tier{display:none}
  .wood,.buy{font-size:13px;padding:8px 2px}
  .row5{gap:4px}
}
/* 宽屏两侧铺当前街景，手机仍是整栏、不造假侧栏 */
.stage-bleed{display:none}
@media (min-width:481px){
  .stage-bleed{
    display:block;position:fixed;inset:0;z-index:0;pointer-events:none;
    background:#07080c center/cover no-repeat;
    background-image:url("/static/street-art/bg-stall.jpg?v=2");
  }
  .stage-bleed::after{content:"";position:absolute;inset:0;background:rgba(7,8,12,.34)}
  .street-bar,.phone{position:relative;z-index:1}
  .street-bar{background:#07080c}
  .phone{box-shadow:0 0 0 1px rgba(240,212,138,.28),0 0 72px rgba(0,0,0,.5)}
}
