/* Compact scene-led layout: the playfield is the primary interface. */
html body{background:#252d38;color:#3e3840;font-family:ui-rounded,'Malgun Gothic',system-ui,sans-serif}
.heroCopy p.tagline{color:#e8deca}.menuPaper:before{display:none}#scorebar .score b{color:#f6e4bb}
button,input{font:inherit}button{border-radius:10px;border:2px solid #5d4b48;background:#f6e7c6;box-shadow:0 3px #57474355;transition:transform .12s,background .12s}button:hover{transform:translateY(-2px);background:#ffe8a2}button:active{transform:translateY(1px);box-shadow:none}button:focus-visible,input:focus-visible{outline:3px solid #e6b84e;outline-offset:3px}button:disabled{cursor:default;transform:none}
#join.homeScreen{margin:0;border:0;min-height:100vh;background:linear-gradient(90deg,#293347f2 0%,#293347c9 33%,#2933470a 70%),url('./art/mountain-workshop-v2.png') center/cover;color:#f9eccd;padding:28px 5vw;overflow:auto}
.homeTop{position:relative;padding:0;border:0;background:none}.brandMark{font-size:22px;color:#ffe5ac}.brandMark small{font-size:9px;letter-spacing:3px}.serverPill{background:#283c45ba;border:1px solid #e8dca333;color:#d9efcc;border-radius:30px;padding:10px 16px;font-size:11px}
.characterGrid,.inLobby .characterGrid{grid-template-columns:repeat(10,minmax(0,1fr))}
/* During a race the stage, clock and score are the interface. */
body[data-phase="run"] #app main{display:block}
body[data-phase="run"] #app aside,body[data-phase="run"] #playPanel,.flowStrip{display:none}
body[data-phase="run"] .gamewrap{max-width:min(100%,calc((100vh - 180px)*2));margin-inline:auto}
.homeHero{display:grid;grid-template-columns:minmax(330px,480px) minmax(260px,340px);gap:8vw;justify-content:space-between;align-items:end;min-height:77vh;padding:50px 0 20px}.heroCopy{width:auto}.heroCopy .eyebrow{font-size:12px;color:#c9d6cf;letter-spacing:2px}.heroCopy h1{font-size:clamp(65px,7.4vw,110px);line-height:.93;color:#f7eacc;letter-spacing:-5px;margin:24px 0 18px;transform:rotate(-2deg);text-shadow:0 6px #1d253433}.heroCopy h1 em{color:#edb456}.heroCopy h1 span{font-size:.45em;color:#cf8b79}.tagline{color:#e8deca;font-size:17px;margin-bottom:22px}
.menuPaper{padding:0;background:none;border:0;box-shadow:none;transform:none;max-width:360px}.nameField span{color:#d7d3c5;font-size:11px;letter-spacing:1px}.nameField input{border-radius:12px;border:1px solid #e1dcc055;background:#fff9e8;color:#423d42;padding:15px 18px;height:52px}.primaryBig,#openCreateBtn{width:100%;background:#ebba59;color:#3b3540;border:2px solid #f4d596;border-radius:12px;font-weight:900;padding:16px;margin:10px 0;font-size:16px;box-shadow:0 5px #1f293b55}.codeJoin{display:flex;gap:8px}.codeJoin input{border-radius:10px;border:1px solid #ddd4b755;background:#263346cc;color:#f7eacc;width:100%}.codeJoin button{white-space:nowrap;background:#e8ddc4}.menuPaper>small{color:#d8d7c7;font-size:11px}.libraryButton{background:transparent;color:inherit;font-size:12px;border:1px solid #bfb39877;border-radius:8px;padding:9px 12px;margin:12px 0 0;box-shadow:none}
.roomShelf{position:relative;inset:auto;width:auto;max-height:340px;overflow:auto;transform:rotate(1deg);border-radius:16px;background:#f3e6cceF;border:2px solid #c5b092;color:#463d40;padding:24px;box-shadow:8px 12px #24334144}.roomShelf:before{display:none}.roomShelf h2{font-size:20px;margin:8px 0}.emptyRooms{padding:35px 0;font-size:13px}.homeFooter{position:relative;bottom:auto;right:auto;background:none;border:0;color:#e9e0cd;font-size:12px;text-align:right;transform:none}
#app{padding:12px;max-width:1680px;margin:auto}#app header{border:0;border-radius:12px;background:#f0e4ca;padding:8px 15px;min-height:54px;box-shadow:0 4px #10182244}#app header button{padding:7px 12px;font-size:12px}#scorebar{background:none;border:0;box-shadow:none;padding:7px 3px;gap:12px;color:#f7eacb;min-height:54px}#scorebar .score{min-width:130px;padding:0;background:none;border:0}.track{height:7px;border:1px solid #e6d6b466;border-radius:8px;background:#1c273a}.scoreBody b{font-size:11px}.scoreFace{width:34px;height:44px}.scoreFace img{width:100%;height:100%;object-fit:contain}.scoreBody{min-width:90px}
#app main{grid-template-columns:minmax(0,1fr) 235px;gap:12px}.inLobby .gameColumn:before{display:none}.inLobby .flowStrip{display:none}.gamewrap{border-radius:14px;overflow:hidden;border:2px solid #75624f;box-shadow:0 8px 30px #09182655}#phaseBanner{top:13px;left:15px;font-size:13px;padding:9px 15px;background:#f6e7cbe8;border-radius:8px;border:0;box-shadow:0 3px #36313e22;transform:rotate(-1deg)}#controlsHint{background:#eadbbe;border:0;font-size:11px;padding:10px 15px}#app aside{border-radius:13px;padding:13px;background:#eaddc5;box-shadow:none;border:1px solid #b9a181;max-height:calc(100vh - 145px)}
.paperPanel,.inLobby .paperPanel{border:0;border-radius:12px;background:#eaddc5;margin-top:10px;padding:12px;box-shadow:none}.paperPanel:before{display:none}.paperPanel h2{font-size:16px;margin:0}.inLobby #playPanel{min-height:0}.stageNote{margin-bottom:8px}.stageNote small{font-size:10px}.characterGrid,.inLobby .characterGrid{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.characterCard,.inLobby .characterCard{border:1px solid #a48e7255;border-radius:9px;background:#f3e8d0;padding:3px;margin:0;box-shadow:none}.characterCard .portraitArt{width:100%;height:82px;object-fit:contain}.characterCard small{font-size:10px}.characterCard .owner{display:block;font-size:9px}.characterCard.selected{border:2px solid #b77c3e;outline:0;background:#f3d28c}.avatar img{width:100%;height:100%;object-fit:contain}.player{border-radius:8px;margin-bottom:6px}.playerText b{font-size:12px}.rosterEmpty{padding:8px;font-size:10px}.mapBtn{border-radius:8px;background:#f4ead4}.readyWalkHint{font-size:11px}.lobbyCountdown{border-radius:8px}.flowStrip{padding:4px 0 9px;font-size:10px}.flowStrip span{border-radius:20px}.flowStrip .current{background:#ebba59;border:0}
.draftGrid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.draftGrid .itemCard{border:0;border-radius:7px;background:#f3e7cc;padding:3px}.itemArt{width:100%;height:56px;object-fit:contain}.itemCard strong{font-size:10px;display:block}.itemCard small{font-size:9px;display:block}.itemCard.claimed{opacity:.35}.portraitArt{max-width:100%}
.libraryPanel{width:min(1060px,94vw);max-height:90vh;overflow:auto;border-radius:20px;background:#f1e4ca;padding:28px;box-shadow:0 25px 90px #1119;position:relative}.libraryPanel h2{font-size:28px;margin:8px 0}.libraryPanel p{font-size:13px;color:#75655f}.libraryGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.libraryGrid article{border:1px solid #bcaa8b;background:#fff5dd;border-radius:10px;text-align:center;padding:7px}.libraryGrid img{width:100%;height:90px;object-fit:contain}.libraryGrid b{display:block;font-size:12px}.libraryGrid small{display:block;font-size:10px;color:#79695f;margin:7px 0}.libraryClose{position:absolute;right:18px;top:14px;font-size:25px;padding:3px 12px}
@media(max-width:950px){#app main{grid-template-columns:minmax(0,1fr) 190px}#app aside{padding:8px}.characterCard .portraitArt{height:63px}.characterCard .owner{display:none}.homeHero{gap:25px}.libraryGrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.homeHero{display:flex;flex-direction:column;align-items:stretch;padding-top:30px}.roomShelf{max-height:250px}.heroCopy h1{font-size:72px}#app main{display:block}#app aside{margin-top:10px;max-height:none}.characterGrid,.inLobby .characterGrid{grid-template-columns:repeat(4,1fr)}.draftGrid{grid-template-columns:repeat(4,1fr)}.libraryGrid{grid-template-columns:repeat(3,1fr)}#app header{flex-wrap:wrap;font-size:12px}}
@media(min-width:701px){.characterGrid,.inLobby .characterGrid{grid-template-columns:repeat(10,minmax(0,1fr))}}

/* V45 physical lobby: the stage itself is the menu */
body.inLobby #app aside,
body.inLobby #playPanel,
body.inLobby #mapGallery,
body.inLobby .flowStrip{display:none!important}
body.inLobby #app main{display:block!important}
body.inLobby .gameColumn{width:100%!important;max-width:none!important}
body.inLobby .gamewrap{width:100%!important;max-width:none!important;margin:0!important}
body.inLobby #game{width:100%!important;max-width:none!important}
body[data-phase="partybox"] #touchPickup{display:none!important}

/* V51 visual finish: cut-paper UI instead of straight boxed borders */
:root{--rough-paper:polygon(1% 2%,18% 0,43% 1.5%,67% .4%,98% 2%,100% 24%,99% 56%,100% 94%,83% 100%,58% 98.5%,30% 100%,1% 97%,0 71%,1.2% 39%)}
button,.paperPanel,.roomShelf,.modernModal,.menuPaper,.partyBoard,.partyPick,.roomCard{border:0!important;clip-path:var(--rough-paper);box-shadow:0 1px 0 #443d3522,4px 6px 0 #2e2a2630!important}
button{outline:1px solid transparent}
.gamewrap{border:0!important;box-shadow:0 14px 34px #18262645!important}
#phaseBanner,#controlsHint{border:0!important;clip-path:var(--rough-paper);box-shadow:3px 4px 0 #312b2630!important}
.inLobby .gameColumn:before{display:none!important}
body.inLobby #app{background:linear-gradient(#445d68,#889b91 56%,#b8ab89)!important}
body.inLobby #app header{background:#304a52cc!important;backdrop-filter:blur(4px)}
