@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#111c22;--panel:#19282e;--line:#344247;--ink:#f0eee7;--muted:#9aa9aa;--accent:#e5ad7b;--dark:#132026}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,'Segoe UI',sans-serif}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;border:0;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}header{height:96px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:25px;font-weight:800;display:flex;align-items:center;gap:8px;letter-spacing:-1px}.brand>span:last-child{color:var(--accent);margin-left:-8px}.brandmark{border:1px solid var(--accent);border-radius:9px;width:36px;height:40px;text-align:center;line-height:36px;color:var(--accent);margin-right:4px}.edition{font-size:10px;letter-spacing:2px;color:var(--muted);margin-left:auto}header>.quiet{margin-left:30px}.quiet{background:transparent;padding:10px;color:var(--ink);font-size:13px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:670px;padding:70px 5% 35px;gap:35px}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:700;color:var(--accent);display:flex;gap:10px;align-items:center}.dot{background:var(--accent);width:6px;height:6px;border-radius:50%}h1{font-size:clamp(64px,6.8vw,104px);letter-spacing:-6px;line-height:1.03;margin:28px 0}h1 em{font-style:normal;color:var(--accent)}.lead{color:#b0bdbd;font-size:16px;line-height:1.9;margin-bottom:29px}.actions{display:flex;gap:12px;flex-wrap:wrap}.primary{background:var(--accent);color:var(--dark);padding:16px 23px;border-radius:6px;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:24px}.primary:hover:enabled{background:#f3c294}.outline{background:transparent;border:1px solid #58615f;border-radius:6px;padding:14px 18px;font-size:12px}.outline:hover{background:#ffffff0a}.muted{color:var(--muted);font-size:11px;line-height:1.7}.facts{display:flex;gap:40px;margin-top:45px}.facts>div{display:flex;flex-direction:column;gap:8px}.facts b{font-size:25px;letter-spacing:-1px;font-weight:500}.facts span{font-size:10px;color:var(--muted)}.art{position:relative;min-height:450px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:radial-gradient(ellipse,#26394150,transparent 68%)}.art svg{width:100%;z-index:1}.orbit{position:absolute;border:1px solid #49616940;border-radius:50%;width:82%;height:82%}.o2{width:65%;height:65%}.o3{width:48%;height:48%}.art-north{position:absolute;top:15px;right:48%;font-size:12px;color:var(--muted)}.art-caption{position:absolute;bottom:40px;display:flex;align-items:center;gap:15px}.art-caption>span{font-size:24px;color:var(--accent);letter-spacing:5px}.art-caption small{font-size:8px;color:var(--muted);letter-spacing:1px;max-width:130px;line-height:1.8}.art-note{position:absolute;bottom:15px;font-size:7px;color:#6e8389;letter-spacing:1px}.steps{max-width:1296px;margin:0 auto 55px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:30px;gap:30px}.steps>div{border-right:1px solid var(--line)}.steps>div:last-child{border:0}.steps span{font-size:10px;color:var(--accent);letter-spacing:1.5px}.steps p{font-size:13px;color:var(--muted);line-height:1.9}footer{border-top:1px solid var(--line);padding:23px 5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;gap:15px}footer .muted{font-size:9px}.gamebar{height:60px;display:flex;align-items:center;gap:25px;padding:0 3%;font-size:12px}.gamebar b{margin-left:auto;color:var(--accent)}#sourceBadge{color:var(--muted)}#timer{font-variant-numeric:tabular-nums;font-size:20px}#playarea{height:calc(100vh - 215px);min-height:480px;position:relative;background:#0b1419}#panorama,#sphere{position:absolute;width:100%;height:100%;inset:0;border:0}#sphere{cursor:grab}.view-hint{position:absolute;left:20px;bottom:20px;font-size:10px;pointer-events:none;background:#102027cb;padding:12px;border-radius:5px}.stage-message{position:absolute;inset:0;z-index:4;background:#111c22ed;display:grid;place-items:center;text-align:center;padding:20px}.stage-message p{color:var(--muted);font-size:13px;max-width:500px;line-height:1.8}.stage-message .outline{margin:10px auto}.stage-message .quiet{display:block;margin:auto}#mapPanel{position:absolute;right:22px;bottom:22px;width:370px;background:var(--panel);border:1px solid #556b6b;border-radius:9px;box-shadow:0 15px 60px #0006;overflow:hidden;z-index:5}#mapPanel .primary{margin:10px;width:calc(100% - 20px)}.maphead{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;font-size:11px}.maphead button{background:#35464d;border-radius:3px;margin-left:5px;font-size:18px;width:28px;height:27px}#guessMap{width:100%;height:245px;display:block;cursor:crosshair;touch-action:none}.map-credit{display:block;background:#16252c;font-size:8px;padding:4px 9px;color:#a9b7b8}.map-credit a{text-decoration:none}#result{padding:25px 5%;background:var(--panel)}.resultrow{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.resultrow h2{font-size:26px;margin:0}.resultrow p{font-size:12px;color:var(--muted);margin:5px 0}.resultrow b{font-size:32px;color:var(--accent)}.resultrow button{margin-left:auto}.round-history{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.round-history>div{background:var(--bg);padding:15px;border-radius:6px;font-size:12px}.round-history span{display:block;color:var(--muted);margin-top:8px}dialog{border:1px solid #526369;border-radius:12px;padding:25px;background:var(--panel);color:var(--ink);width:min(580px,94vw);max-height:90vh}dialog::backdrop{background:#071116c9;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0;font-size:23px}.dialog-head button{background:transparent;font-size:28px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:20px 0}.tabs button{background:transparent;padding:12px 14px;color:var(--muted);border-bottom:2px solid transparent}.tabs .active{color:var(--accent);border-color:var(--accent)}dialog p{font-size:13px;line-height:1.8}label{display:block;font-size:12px;line-height:1.8}input:not([type=checkbox]),select{width:100%;padding:12px;margin:8px 0 15px;border:1px solid #526369;background:var(--bg);color:var(--ink);border-radius:5px}.check{display:flex;align-items:center;gap:7px}.check input{accent-color:var(--accent)}.small{font-size:11px}details{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:12px;line-height:1.8}summary{cursor:pointer}details a{color:var(--accent)}ol{padding-left:22px}li{margin:10px 0}code{overflow-wrap:anywhere}pre{white-space:pre-wrap;font-size:11px;background:var(--bg);padding:12px;border-radius:5px}.options{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.filepick{border:1px dashed var(--accent);border-radius:6px;padding:20px;text-align:center;cursor:pointer;color:var(--accent)}.filepick input{font-size:11px;margin:12px 0 0!important}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:99;background:var(--accent);color:var(--dark);padding:14px 20px;border-radius:6px;max-width:90vw;font-size:12px;box-shadow:0 5px 35px #0006}@media(min-width:1450px){.steps{margin-left:calc((100vw - 1296px)/2);margin-right:calc((100vw - 1296px)/2)}}@media(max-width:1440px){.steps{margin-left:5%;margin-right:5%}}@media(max-width:850px){header{height:75px}.edition{display:none}header>.quiet{margin-left:auto}.hero{padding-top:40px;gap:0;min-height:initial}.art{min-height:350px}h1{font-size:72px}.facts{gap:22px}.primary{padding:15px}.art-caption{bottom:25px}.steps{margin-top:40px}.lead{font-size:13px}.art-note{font-size:5px}}@media(max-width:600px){.hero{grid-template-columns:1fr}.hero-copy{z-index:1}h1{font-size:78px;letter-spacing:-4px}.art{min-height:280px;max-height:320px;margin-top:20px;border-radius:20px}.art svg{max-width:360px}.art-caption{bottom:15px}.art-note{display:none}.facts{margin-top:30px;justify-content:space-between}.steps{grid-template-columns:1fr;gap:15px}.steps>div{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;align-items:center}.steps p{font-size:11px}footer{font-size:8px}footer>span:first-child .muted{display:none}#mapPanel{width:calc(100% - 24px);right:12px;bottom:12px}#guessMap{height:170px}#playarea{height:calc(100dvh - 140px);min-height:580px}#mapPanel .primary{padding:12px}.view-hint{bottom:auto;top:10px;left:10px;font-size:8px}.gamebar{gap:12px;font-size:10px}.gamebar b{font-size:10px}#sourceBadge{display:none}.resultrow button{width:100%;margin:0}.stage-message{align-items:start;padding-top:65px}.stage-message p{max-width:95%}}

.pano-credit{position:absolute;top:15px;left:20px;z-index:2;background:#102027cc;padding:8px 11px;border-radius:4px;font-size:9px;color:#c6d1d0;pointer-events:none}@media(max-width:600px){.pano-credit{top:45px;left:10px;font-size:8px;max-width:90%}.stage-message{padding-top:90px}}

.party-main{background:#567f77;color:#fff}.party-main:hover:enabled{background:#648f86}#party{max-width:1400px;margin:auto;padding:20px 4% 50px}.party-top{display:flex;align-items:center;gap:20px;justify-content:space-between}.party-top h2{font-size:22px}.party-top .eyebrow{font-size:10px}#partyClock{font-size:27px;color:var(--accent);font-variant-numeric:tabular-nums;margin-left:auto}#partyNotice{color:#edab84;font-size:12px}#partyLobby{padding:20px 0 30px}.invite-row{display:flex;gap:12px;max-width:850px;align-items:center}.invite-row input{margin:0;font-size:12px}.invite-row .primary{white-space:nowrap}#partyLobbyHint{font-size:13px;color:var(--muted)}#partyStage{position:relative;height:65vh;min-height:500px;border-radius:10px;overflow:hidden;background:#0a1519}#partySphere{position:absolute;inset:0;width:100%;height:100%;cursor:grab}#partyLoad{position:absolute;inset:0;background:#112026df;display:grid;place-items:center;text-align:center;pointer-events:none;font-size:13px;padding:25px}.party-map-panel{position:absolute;bottom:16px;right:16px;background:var(--panel);width:350px;border:1px solid #526369;border-radius:8px;overflow:hidden;box-shadow:0 8px 25px #0006}#partyMap{width:100%;height:210px;display:block;touch-action:none;cursor:crosshair}#partySend{margin:10px;width:calc(100% - 20px);padding:13px}.party-score{margin-top:25px;border:1px solid var(--line);border-radius:9px;padding:20px;background:var(--panel)}.party-score h3{font-size:14px;margin:0 0 15px}.party-score table{border-collapse:collapse;width:100%;font-size:12px}.party-score td,.party-score th{text-align:left;padding:13px 8px;border-bottom:1px solid var(--line)}.party-score th{font-size:10px;color:var(--muted);font-weight:500}.party-score td:last-child{color:var(--accent);font-weight:bold}.party-score small{color:var(--accent);font-size:9px}.player-state{display:block;font-size:10px;color:var(--muted);margin-top:4px}#partyResults{padding:20px 0}#partyResults h2{font-size:24px}#partyDialog hr{border:0;border-top:1px solid var(--line);margin:24px 0}#partyDialog .primary{width:100%}@media(max-width:600px){.invite-row{flex-direction:column;align-items:stretch}.party-top h2{font-size:14px}.party-top .eyebrow{font-size:8px}.party-top{gap:8px}#partyClock{font-size:22px}.party-top .outline{padding:10px;font-size:10px}#partyStage{height:680px;min-height:0}.party-map-panel{width:calc(100% - 20px);bottom:10px;right:10px}#partyMap{height:190px}.party-score{padding:12px}.party-score td,.party-score th{font-size:10px;padding:10px 4px}#partyStage .pano-credit{top:10px;left:10px;font-size:7px}#party .lead{font-size:17px}}

.lobby-time-fields{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.lobby-time-fields label{flex:1;min-width:150px}.lobby-time-fields input{width:100%;box-sizing:border-box}.lobby-time-settings{margin:18px 0;padding:16px;border:1px solid #ffffff20;border-radius:10px}.room-code{font-size:1.3em;font-weight:750;letter-spacing:.16em;color:var(--accent,#e7ad72)}

/* In-scene HUD: keep the street visible around compact framed information. */
#playarea{height:calc(100dvh - 96px);min-height:500px}
#playarea>.gamebar{position:absolute;left:18px;top:18px;z-index:7;height:auto;max-width:calc(100% - 36px);padding:13px 16px;gap:18px;border:1px solid #82989380;border-radius:12px;background:#132026ed;box-shadow:0 5px 20px #0003;flex-wrap:wrap}
#playarea>.gamebar b{margin-left:0;font-size:15px}#playarea>.gamebar #sourceBadge{font-size:10px}
#playarea>.pano-credit{top:auto;bottom:12px;left:18px}#playarea>.view-hint{bottom:48px;left:18px}
#party.party-in-game{max-width:none;padding:0}
.party-in-game #partyStage{height:calc(100dvh - 96px);min-height:540px;border-radius:0}
#partyStage>.party-top{position:absolute;left:18px;top:18px;z-index:7;background:#132026ed;border:1px solid #82989380;border-radius:12px;padding:12px 14px;gap:18px;max-width:calc(100% - 380px);box-shadow:0 5px 20px #0003}
#partyStage .party-top h2{font-size:11px;font-weight:500;color:var(--muted);margin:5px 0 0}#partyStage .party-top .eyebrow{margin:0;font-size:11px;letter-spacing:0;color:var(--ink)}
#partyTotal{color:var(--accent);font-size:15px;white-space:nowrap}#partyStage #partyClock{font-size:24px;margin:0}#partyStage #partyExit{font-size:11px;padding:9px 12px}
#partyStage>.party-score{position:absolute;right:18px;top:18px;z-index:7;width:320px;max-width:calc(100% - 36px);max-height: min(38%,330px);overflow:auto;margin:0;padding:12px;background:#132026ed;border:1px solid #82989380;border-radius:12px;box-shadow:0 5px 20px #0003;overscroll-behavior:contain}
.party-score>summary{font-size:12px;font-weight:700;list-style-position:inside}.party-score:not([open]){width:auto!important}.party-score>table{margin-top:10px}
#partyStage .party-score td,#partyStage .party-score th{padding:7px 4px;font-size:11px}#partyStage .party-score td:nth-child(2){overflow-wrap:anywhere;max-width:130px}#partyStage .party-score th{font-size:9px}
#partyStage>.pano-credit{top:auto;bottom:12px;left:18px;font-size:8px;max-width:calc(100% - 360px)}
.party-in-game>#partyNotice:empty{display:none}.party-in-game>#partyNotice:not(:empty){position:fixed;left:18px;bottom:12px;z-index:15;max-width:80%;padding:10px;background:#132026ed;border-radius:7px}
#soundToggle{display:grid;place-items:center;width:50px;height:50px;min-width:50px;flex-shrink:0;padding:0;margin-left:12px;background:var(--accent);color:var(--dark);border:1px solid #ffd4a9;border-radius:14px;box-shadow:0 3px 12px #0004;transition:background .15s ease,box-shadow .15s ease}
#soundToggle svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#soundToggle:hover{background:#f7c99f;box-shadow:0 0 0 3px #e5ad7b30}#soundToggle[aria-pressed=true]{background:#263c44;color:#e5ad7b;border-color:#e5ad7b}#soundToggle .sound-off{display:none}#soundToggle[aria-pressed=true] .sound-off{display:block}#soundToggle[aria-pressed=true] .sound-waves{display:none}
@media(max-width:850px){#playarea,.party-in-game #partyStage{height:calc(100dvh - 75px)}}
@media(max-width:600px){#playarea>.gamebar{left:10px;top:10px;max-width:calc(100% - 20px);padding:10px 12px;gap:16px}#playarea>.gamebar b{font-size:13px}#playarea>.pano-credit{left:10px;bottom:8px;max-width:calc(100% - 225px)}#playarea>.view-hint{display:none}
#partyStage>.party-top{left:10px;top:10px;max-width:calc(100% - 20px);width:calc(100% - 20px);gap:10px;padding:10px}.party-top>div{min-width:0;flex:1}#partyStage .party-top h2{font-size:9px}#partyStage .party-top .eyebrow{font-size:10px}#partyTotal{font-size:11px}#partyStage #partyClock{font-size:19px}#partyStage #partyExit{font-size:10px;padding:8px}#partyStage>.party-score{right:10px;top:96px;width:195px;max-height:24%;padding:9px}#partyStage .party-score td,#partyStage .party-score th{font-size:9px;padding:5px 3px}#partyStage .party-score .player-state{font-size:8px}#partyStage .party-score>summary{font-size:10px}#partyStage>.pano-credit{left:10px;max-width:calc(100% - 225px)}
header{gap:10px;padding:0 12px}header>.quiet{margin-left:0}#soundToggle{width:46px;height:46px;min-width:46px;border-radius:12px;margin-left:auto}header .brand{font-size:21px}header .brandmark{width:30px;height:34px;line-height:30px}header #settingsBtn{padding:6px;font-size:11px}}
@media(prefers-reduced-motion:reduce){#soundToggle{transition:none}}

/* Give the score HUD priority; keep the mode label in the site header. */
header>#sourceBadge{display:none}
body:has(#game:not([hidden])) header>#sourceBadge{display:block;margin-left:auto;color:#c5d2d1;font-size:11px;font-weight:600;letter-spacing:0}
body:has(#game:not([hidden])) header>.edition{display:none}
#playarea>.gamebar{gap:22px;padding:14px 18px;background:#132026f2;border-color:#a4bab78c}
#playarea>.gamebar #roundLabel{font-size:15px;font-weight:800;color:#fff;letter-spacing:.02em}
#playarea>.gamebar #total{font-size:20px;font-weight:800;color:#ffc28b;font-variant-numeric:tabular-nums}
#partyStage .party-top #partyRound{font-size:14px;font-weight:800;color:#fff}
#partyStage #partyTotal{font-size:18px;font-weight:800;color:#ffc28b}
#partyStage #partyClock{font-weight:800}
@media(max-width:600px){header{position:relative}body:has(#game:not([hidden])) header>#sourceBadge{position:absolute;left:13px;bottom:3px;margin:0;max-width:calc(100% - 90px);font-size:9px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#playarea>.gamebar{gap:18px;padding:12px 14px}#playarea>.gamebar #roundLabel{font-size:14px}#playarea>.gamebar #total{font-size:18px}
#partyStage .party-top #partyRound{font-size:12px}#partyStage #partyTotal{font-size:14px}}

#playarea>.gamebar #soloExit{padding:9px 12px;font-size:12px;font-weight:700;color:var(--ink);border-color:#829893;border-radius:7px}
@media(max-width:600px){#playarea>.gamebar{gap:12px;padding:10px 12px}#playarea>.gamebar #soloExit{font-size:11px;padding:8px 10px}}

body.showing-summary{overflow:hidden}body.showing-summary>main:not(#journeySummary),body.showing-summary>footer{display:none!important}body.showing-summary header>#sourceBadge{display:none!important}
#journeySummary{position:relative;height:calc(100dvh - 96px);min-height:450px;background:#22353c;overflow:hidden}
#journeyMap{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px}
#journeySidebar{position:absolute;top:18px;bottom:18px;left:18px;width:360px;max-width:calc(100% - 36px);overflow:auto;padding:23px;background:#132026f2;border:1px solid #82989390;border-radius:14px;box-shadow:0 8px 35px #0005;overscroll-behavior:contain}
#journeySidebar h1{font-size:32px;font-weight:800;line-height:1.2;letter-spacing:-1px;margin:10px 0 20px;color:#fff}.journey-eyebrow{font-size:11px;font-weight:700;color:var(--muted);margin:0}
.journey-all{width:100%;font-weight:700;margin-bottom:14px}.journey-all[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.journey-round{padding:14px 0;border-top:1px solid #82989340}.journey-round-select{padding:0 0 8px;background:none;color:var(--ink);font-size:14px;font-weight:800;text-align:left}.journey-round-select[aria-pressed=true]{color:var(--accent)}.journey-round>a{font-size:11px;color:var(--accent);display:inline-block;margin-top:9px;text-underline-offset:3px}.journey-player-result{display:grid;grid-template-columns:1fr auto;gap:5px 10px;font-size:12px;padding:5px 0}.journey-player-result>span{overflow-wrap:anywhere;min-width:0}.journey-player-result>strong{color:var(--accent)}.journey-player-result>small{grid-column:1/-1;color:#c0cccb;font-size:11px}.journey-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.journey-actions .primary{padding:12px 16px}.journey-ranking{display:grid;gap:8px;padding-bottom:18px;font-size:12px}.journey-ranking>div{display:flex;justify-content:space-between;gap:15px}.journey-ranking span{overflow-wrap:anywhere}.journey-ranking strong{color:var(--accent)}
.journey-map-tools{position:absolute;right:18px;top:18px;display:flex;gap:6px}.journey-map-tools>button{background:#132026ed;font-size:22px;padding:5px;width:42px;height:42px}.journey-credit{position:absolute;right:0;bottom:0;max-width:100%;font-size:9px}.showing-summary .result-map-label{max-width:250px}.showing-summary .result-map-marker{max-height:240px;overflow:auto}
@media(max-width:850px){#journeySummary{height:calc(100dvh - 75px)}}
@media(max-width:700px){#journeySidebar{top:auto;bottom:10px;left:10px;width:calc(100% - 20px);max-width:none;max-height:38%;padding:16px}#journeySidebar h1{font-size:26px;margin:6px 0 12px}.journey-actions{position:sticky;bottom:-16px;background:#132026;padding:10px 0;margin-bottom:-8px}.journey-map-tools{top:10px;right:10px}.journey-credit{top:0;bottom:auto;right:auto;left:0;max-width:calc(100% - 110px);font-size:8px}.showing-summary .result-map-label{max-width:180px;font-size:10px}}

.profile-control{position:relative;margin-left:6px;flex-shrink:0;max-width:200px}#profileButton{display:flex;align-items:center;gap:9px;width:100%;min-height:46px;padding:9px 12px;background:#23383e;border:1px solid #829893;border-radius:10px;color:var(--ink);font-size:13px;font-weight:800}#profileButton:hover,#profileButton[aria-expanded=true]{border-color:var(--accent);background:#2d464d}#profileButton svg{width:20px;height:20px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}#profileName{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#profileMenu{position:absolute;z-index:60;right:0;top:calc(100% + 8px);min-width:180px;padding:6px;background:var(--panel);border:1px solid #829893;border-radius:10px;box-shadow:0 8px 25px #0005}#profileMenu button{display:block;width:100%;text-align:left;background:none;border-radius:6px;padding:12px;font-size:13px;font-weight:700;white-space:nowrap}#profileMenu button:hover{background:#ffffff12}#nicknameDialog{width:min(420px,calc(100vw - 28px))}#nicknameDialog .primary{width:100%}#nicknameDialog .dialog-head h2{font-size:22px}#nicknameDialog p{font-size:12px}
.language-label{display:flex;justify-content:space-between;gap:12px;align-items:baseline;max-width:270px}.language-label>span{color:var(--muted);font-size:11px}.home-map-language #mapLanguage{width:270px}
@media(max-width:1100px){header>.edition{display:none}header>.brand{margin-right:auto}.profile-control{max-width:170px}}
@media(max-width:600px){header{gap:7px;padding:0 10px}header>.brand{font-size:18px;gap:5px;letter-spacing:-.5px}header .brandmark{width:26px;min-width:26px;height:30px;line-height:27px;margin-right:2px}header #settingsBtn{position:absolute;right:10px;top:77px;z-index:7;background:#132026ed;border:1px solid #829893;border-radius:6px;font-size:10px;padding:6px}body:has(#game:not([hidden])) header #settingsBtn{display:none}#soundToggle{width:40px;height:40px;min-width:40px;margin-left:0;border-radius:10px}#soundToggle svg{width:24px;height:24px}.profile-control{margin-left:0;max-width:105px}#profileButton{min-height:40px;padding:7px;gap:5px;font-size:11px}#profileButton svg{width:16px;height:16px}#profileName{max-width:56px}#profileMenu{min-width:160px}.language-label{max-width:270px}}

/* One viewport: the game fills the available space beneath the header. */
:root{--header-height:96px}html,body{height:100%;height:100dvh;overflow:hidden}body{display:flex;flex-direction:column}body>header{width:100%;height:var(--header-height);flex:0 0 var(--header-height)}body>main{flex:1;min-height:0}#home,#party{overflow:auto;overscroll-behavior:contain}#game{overflow:hidden}#playarea{height:100%!important;min-height:0!important}#game>#result{display:none}#party.party-in-game{overflow:hidden;position:relative;width:100%;margin:0}#party.party-in-game>#partyStage{height:100%;min-height:0}#party.party-in-game>#partyResults{display:none}#party.party-in-game>#partyResume:not([hidden]){position:absolute;top:90px;left:18px;z-index:10}#journeySummary{height:auto;min-height:0;flex:1}
#profileMenu>#best{font-size:11px;color:var(--muted);line-height:1.6;margin:6px;padding:5px 6px 12px;border-bottom:1px solid var(--line)}#playarea>.gamebar{padding-bottom:32px}#playarea>.gamebar #gameBest{position:absolute;left:18px;bottom:10px;font-size:10px;font-weight:600;color:#bdccca;line-height:1.2;margin:0}.stage-message{overflow:auto}
@media(max-width:850px){:root{--header-height:75px}}
@media(max-height:500px){#playarea>.gamebar{top:8px;left:8px;padding:8px 12px 28px;gap:8px 14px}#playarea>.gamebar #roundLabel{font-size:12px}#playarea>.gamebar #total{font-size:16px}.baidu-web-ready{top:12px}.round-actions:has(.round-feedback){bottom:12px}.round-feedback{padding:5px 10px;font-size:10px}.round-feedback strong{font-size:14px}}

#journeySidebar .journey-actions{display:grid;grid-template-columns:1fr;gap:8px;position:static;inset:auto;padding:0;margin:0 0 16px;background:none}#journeySidebar .journey-actions:has(.primary){grid-template-columns:1fr 1fr}#journeySidebar .journey-actions button{min-height:46px;width:100%;padding:12px 10px;font-size:12px;font-weight:800;line-height:1.4;text-align:center;justify-content:center}
.nickname-language{margin:18px 0 4px}.nickname-language .language-label{max-width:none}.nickname-language select{margin-top:6px}

#partyDialog{width:min(680px,calc(100vw - 24px))}.room-choices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:22px}.room-choice{display:flex;flex-direction:column;min-width:0}.room-choice+.room-choice{border-left:1px solid var(--line);padding-left:24px}.room-choice h3{font-size:15px;font-weight:800;margin:0 0 16px;line-height:1.4}.room-choice-fields{flex:1;min-width:0}.room-choice-fields label{min-height:44px;display:flex;align-items:flex-end;line-height:1.5}.room-choice-fields input{margin:8px 0 10px;font-size:12px}.room-choice-fields .muted{font-size:10px;line-height:1.5;margin:0 0 16px}.room-choice>button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1.4;padding:12px 10px;text-align:center;font-weight:800}.room-choice-fields #roomCode{min-width:0}#joinStatus:empty{display:none}
@media(max-width:480px){#partyDialog{padding:16px}#partyDialog .dialog-head h2{font-size:19px}.room-choices{gap:12px;margin-top:16px}.room-choice+.room-choice{padding-left:12px}.room-choice h3{font-size:13px;min-height:37px;margin-bottom:8px}.room-choice-fields label{font-size:11px;min-height:34px}.room-choice-fields input{font-size:11px;padding:10px 7px}.room-choice>button{font-size:11px;padding:10px 5px;min-height:50px}.room-choice-fields .muted{font-size:9px}}
