/* v8: the playable street, persistent clues and direct aiming share one screen. */
.bounty-card .evidence-photo.compact,.bounty-card .evidence-symbol.compact{min-height:0}
html,body{height:100%;overflow:hidden}body{font-size:16px;background:#101f22}header{height:52px;padding:0 18px;gap:12px}.brand{font-size:18px;letter-spacing:1.5px}.brand small,.reference-tag{display:none}.cross{font-size:30px}.connection{font-size:12px}.quiet{font-size:14px;padding:6px 10px}.micro{font-size:12px;letter-spacing:.8px}
main{height:calc(100dvh - 52px);display:flex;margin:0;padding:0 14px 12px;gap:0;min-height:0}.arena{display:flex;flex-direction:column;gap:8px;width:100%;height:100%;min-height:0}.scorebar{height:46px;flex:none;padding:0 4px;gap:12px}.competitor{gap:8px}.competitor .micro{font-size:12px}.competitor strong{font-size:14px;max-width:170px}.competitor b{font-size:24px;margin:0 8px}.avatar{width:30px;height:30px;font-size:18px}.matchtime{min-width:110px}.matchtime>span{font-size:12px;letter-spacing:0}.matchtime strong{font-size:20px}.matchtime small{display:none}.street-bar{margin:0;border:0;background:none;font-size:13px;padding:0 2px;gap:12px}.street-status strong{font-size:14px}.street-status>span:last-child{font-size:12px}.sound-window b{font-size:13px}
.intel-dock{flex:none;display:flex;align-items:stretch;gap:12px;background:#1a3332;border:1px solid #4c6257;border-radius:6px;padding:7px;min-width:0}.bounty-ribbon{position:static;display:flex;gap:5px;flex:none;pointer-events:auto}.bounty-card{display:flex;align-items:center;gap:7px;width:122px;padding:6px 8px;background:#18302f;color:#d5e0d3;border:1px solid #53665b;box-shadow:none;border-radius:4px;text-align:left;min-width:0;overflow:hidden}.bounty-card.active{box-shadow:none;border-color:#617965}.bounty-card.selected{background:#dbc690;color:#20312d;border-color:#f4d69b}.bounty-card:hover{border-color:#f4d69b}.bounty-card .evidence-photo.compact,.bounty-card .evidence-symbol.compact{width:34px;height:43px;flex:none}.bounty-card .evidence-photo.compact img{height:43px}.bounty-card .evidence-symbol.compact{font-size:27px;background:#233e38;color:#d6c187}.bounty-card .tab-name{display:block;font-size:14px;white-space:nowrap;line-height:1.5}.bounty-card .tab-kind{display:block;font-size:12px;font-weight:400;opacity:.8;line-height:1.6;white-space:nowrap}.bounty-card .stamp{position:static;display:block;transform:none;font-size:12px;line-height:1.5;background:transparent;color:inherit;border:0}
.quick-intel{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:0 6px}.quick-copy{flex:1;min-width:0}.quick-copy strong{font-size:15px;font-weight:500;line-height:1.5;display:block;color:#f2e5c5}.quick-copy p{font-size:14px;line-height:1.5;color:#bcd0bd;margin:4px 0 0}.quick-intel>button{font-size:14px;white-space:nowrap;padding:8px 12px;background:#27473e;color:#f0d6a0;border:1px solid #5d7763}.quick-copy .locked-note{color:#a8b9a9}
.viewport{flex:1;height:auto;min-height:0;border-radius:5px;background:#183130}.map-label{top:10px;left:10px;padding:5px 8px;font-size:12px}.map-label span{display:none}.zoom-controls{left:auto;right:10px;bottom:10px;font-size:14px;border-color:#617467;background:#122b29f2}.zoom-controls button{font-size:19px;min-width:34px;padding:3px 8px}.zoom-controls span{font-size:13px}.zoom-controls #motion{font-size:12px;padding:0 8px}.scene-foot{bottom:auto;top:10px;left:130px;right:auto;max-width:calc(100% - 150px);padding:5px 9px;gap:12px;border-radius:3px;background:#112b29e6;font-size:13px}.scene-foot #objective{display:none}#game{cursor:grab}body.is-scoped #game{cursor:crosshair}#game:active{cursor:grabbing}body.is-scoped .map-label{opacity:.6}.boss-warning{top:48px;right:10px;max-width:235px}.opponent-feed{left:10px;top:47px;max-width:250px;padding:8px 12px}.pause-notice{position:absolute;top:12px;left:50%;transform:translateX(-50%);padding:6px 15px;border:1px solid #c7ae72;background:#102a29f2;color:#efdcaf;font-size:14px;pointer-events:none}#toast{font-size:14px;padding:7px 13px;bottom:12px;max-width:60%;width:auto;background:#102b29ed}
.controlbar{flex:none;margin:0;min-height:58px;border-radius:5px;padding:7px 10px;gap:10px;min-width:0;background:#172f2d}.readout{flex:1;min-width:0;line-height:1.45}.inspect{position:static;min-width:0;max-width:none;padding:0;border:0;background:transparent}.inspect strong{font-size:14px;display:inline;color:#eed395;margin-right:8px}.inspect span{font-size:14px;display:inline;color:#c6d7c4}.inspect small{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;margin-top:2px}.inspect progress{height:3px;max-width:180px;margin:3px 0 0}#aimHint{display:none;font-size:14px;color:#b5c9b7}.inspect[hidden]+#aimHint{display:block}.ammo{flex:none}.ammo .micro{font-size:12px}.ammo strong{font-size:17px;letter-spacing:2px}.shot-state{font-size:13px;margin:0;min-width:67px}.controlbar button{font-size:14px;padding:8px 13px;white-space:nowrap;min-height:40px}.controlbar kbd{font-size:12px}.shoot-button{display:block;background:#b36d45;border-color:#dca57b;color:#fff4dc;min-width:82px}.help-line,aside{display:none}header #pause{color:#eed392;border-color:#6c7559}header #pause[aria-pressed="true"]{background:#e0c888;color:#26342b}
.cover{padding:16px;backdrop-filter:blur(3px)}.lobby-card,.waiting-card,.result-card{width:380px;max-width:100%;padding:20px 24px;margin:auto;box-shadow:0 10px 35px #041a1680}.lobby-card h1{font-size:26px;margin:5px 0 12px;line-height:1.3}.lobby-card p{font-size:14px;line-height:1.65;margin:0 0 14px}.lobby-card label{font-size:14px}.lobby-card small{font-size:12px}.lobby-card .micro{font-size:12px}.lobby-card>button span{font-size:14px}.lobby-card input,.lobby-card button{font-size:15px;min-height:42px}.waiting-card .lan-instructions{font-size:14px;line-height:1.65}.invite-row input{font-size:14px}.invite-row button{font-size:14px}.result-card h2{font-size:28px}.text-link{font-size:14px}dialog{max-height:85dvh;overflow:auto;font-size:16px;padding:24px}dialog h2{margin:8px 0 16px;font-size:23px}dialog p{font-size:16px}dialog button.close{min-width:36px;min-height:36px;font-size:25px}.dialog-note{font-size:14px;color:#dcc995;border-top:1px solid #4d655a;padding-top:12px;margin-top:14px}#dossierDialog{width:min(540px,94vw)}#dossierDialog .clue-list li,#dossierDialog .habit-clue{font-size:16px}#journalDialog{width:min(600px,94vw)}#journalDialog .observation-card{margin-top:0}#journalDialog .observation-card p,#journalDialog .daily-card,#journalDialog .street-log{font-size:15px}#journalDialog .daily-card b{font-size:14px}.lan-help{font-size:14px}
@media(max-width:1000px){.bounty-card{width:102px;padding:5px}.bounty-card .tab-name{font-size:13px}.quick-copy strong{font-size:14px}.quick-copy p{font-size:13px}.controlbar kbd{display:none}.shot-state{display:none}.brand{font-size:16px}header{padding:0 12px}}
@media(max-width:700px){header{height:44px;gap:5px;padding:0 8px}.brand{font-size:14px;letter-spacing:.5px}.cross{font-size:23px}.connection{display:none}.brand{margin-right:auto}.quiet{font-size:14px;padding:5px 7px}.micro{letter-spacing:0}main{height:calc(100dvh - 44px);padding:0 7px 7px}.arena{gap:6px}.scorebar{height:39px;gap:4px}.competitor strong{font-size:12px;max-width:78px}.competitor .micro{display:none}.competitor b{font-size:20px;margin:0 2px}.competitor{gap:4px}.avatar{display:none}.matchtime{min-width:95px}.matchtime>span{font-size:12px}.matchtime strong{font-size:17px}.street-bar{font-size:12px;padding:0}.street-status>span:last-child{display:none}.street-status strong{font-size:12px}.sound-window b{font-size:12px}.sound-window{font-size:12px;gap:5px}.intel-dock{flex-wrap:wrap;gap:6px;padding:5px}.bounty-ribbon{width:100%;gap:5px}.bounty-card{flex:1;width:auto;justify-content:center;min-height:39px;padding:4px 5px}.bounty-card .evidence-photo.compact,.bounty-card .evidence-symbol.compact{width:26px;height:31px}.bounty-card .evidence-photo.compact img{height:31px}.bounty-card .evidence-symbol.compact{font-size:22px}.bounty-card .tab-name{font-size:14px}.bounty-card .tab-kind{display:none}.quick-intel{width:100%;gap:5px;padding:2px 3px}.quick-copy strong{font-size:14px}.quick-copy p{display:none}.quick-intel>button{padding:7px 9px;font-size:14px}.controlbar{gap:6px;min-height:56px;padding:6px}.controlbar button{font-size:14px;padding:8px 10px;min-height:40px}.shoot-button{min-width:65px}.readout{font-size:14px}.inspect strong{font-size:13px}.inspect span{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspect small,.inspect progress{display:none}#aimHint{font-size:12px}.ammo{display:none}.map-label{display:none}.scene-foot{left:8px;top:8px;padding:4px 7px;font-size:12px;max-width:calc(100% - 16px)}.zoom-controls{right:7px;bottom:7px}.zoom-controls #motion{display:none}.zoom-controls button{padding:3px 6px}.boss-warning{top:41px;right:7px}.pause-notice{top:42px;font-size:13px;white-space:nowrap}#toast{bottom:48px;max-width:88%;font-size:13px}.lobby-card,.waiting-card,.result-card{padding:16px 20px}.lobby-card h1{font-size:24px}.lobby-card p{font-size:14px}.lobby-card label{font-size:14px}.lobby-card input,.lobby-card button{font-size:14px}.lobby-card small{font-size:12px}}
@media(max-height:600px) and (min-width:701px){header{height:42px}main{height:calc(100dvh - 42px)}.scorebar{height:35px}.street-bar{display:none}.bounty-card{padding:4px 6px}.bounty-card .evidence-photo.compact,.bounty-card .evidence-symbol.compact{height:34px}.bounty-card .evidence-photo.compact img{height:34px}.intel-dock{padding:5px}.controlbar{min-height:50px}.arena{gap:5px}.quick-copy p{display:none}.lobby-card{padding:14px 20px}.lobby-card p,.lobby-card .micro,.lobby-card small{display:none}.lobby-card h1{font-size:23px}.lobby-card>input,.lobby-card>button{margin-bottom:7px}.lobby-card input,.lobby-card button{min-height:35px;padding:6px 10px}}

body[data-phase="loading"] .scorebar,body[data-phase="loading"] .street-bar,body[data-phase="loading"] .intel-dock,body[data-phase="loading"] .controlbar,body[data-phase="lobby"] .scorebar,body[data-phase="lobby"] .street-bar,body[data-phase="lobby"] .intel-dock,body[data-phase="lobby"] .controlbar{display:none}

header button{white-space:nowrap;flex-shrink:0;font-size:14px;padding:6px 9px;min-height:34px}.pause-notice{display:none}
@media(max-width:700px){.brand{font-size:12px;white-space:nowrap;gap:6px;min-width:0;letter-spacing:0}.brand .cross{font-size:22px}.brand>span:last-child{overflow:hidden;text-overflow:ellipsis}.brand small{display:none}header button{font-size:14px;padding:5px 7px;min-height:32px}.bounty-card:has(.tab-kind) .tab-kind{display:none}}

body[data-phase="waiting"] .scorebar,body[data-phase="waiting"] .street-bar,body[data-phase="waiting"] .controlbar,body[data-phase="finished"] .scorebar,body[data-phase="finished"] .street-bar,body[data-phase="finished"] .controlbar{display:none}

.invite-row button{flex:none;white-space:nowrap;min-width:54px}
.district-controls{position:absolute;top:10px;left:12px;display:flex;gap:1px;padding:3px;background:#173631ed;border:1px solid #ddc3945c;border-radius:7px;z-index:5}
.district-controls button{font-size:14px;min-height:30px;padding:5px 13px;background:transparent;border:0;color:#f1e5cb;border-radius:4px;white-space:nowrap}
.district-controls button:hover,.district-controls button:focus-visible{background:#e4c990;color:#18362f}
.map-label,.scene-foot{display:none!important}
body:not([data-phase=playing]) .district-controls{display:none}
