:root{--paper:#f3e9cd;--ink:#29271f;--yellow:#f4d84c;--red:#d94b39;--line:#38352c}
.inLobby .gameColumn:before{content:'함께 만드는, 더 재밌는 길!';display:block;height:230px;background:#f2e6c9 url('./art/party-sketch.png') center 52%/cover;border:3px solid #33372d;box-shadow:4px 5px #2225;padding:24px;font-weight:1000;font-size:25px;text-shadow:1px 1px #fff;box-sizing:border-box}.inLobby .paperPanel{margin-top:12px}.inLobby #playPanel{min-height:210px}.inLobby .flowStrip{display:none}.score{display:flex;gap:6px;align-items:center}.scoreFace{width:36px;height:40px}.scoreFace svg{width:100%;height:100%}.scoreBody{min-width:105px;position:relative}.score .fill{transition:width 1.2s cubic-bezier(.2,.7,.2,1)}.scoreDelta{position:absolute;right:0;top:-10px;color:#598837;font-weight:1000;opacity:0;transition:.3s}.scoreDelta.show{opacity:1;transform:translateY(-8px)}.draftGrid .itemCard{border:1px solid #bbaa84;text-align:center}.itemCard.claimed{opacity:.4}.inLobby .characterCard svg{height:105px}.inLobby .characterGrid{grid-template-columns:repeat(4,1fr)}.inLobby .characterCard{padding:7px}.inLobby .paperPanel{border-radius:5px 10px 7px 4px}
body{background:#454943;color:var(--ink);font-family:'Segoe Print','Malgun Gothic',system-ui,sans-serif}
button,input{font:inherit}button{border:2px solid var(--line);border-radius:2px 5px 3px 1px;background:#f8f1db;color:var(--ink);box-shadow:2px 3px 0 #302e2560;transform:none}button:hover{transform:translateY(-2px) rotate(-.4deg);filter:none;background:#fff5bd}button:disabled{opacity:.45;cursor:default;transform:none}button:focus-visible,input:focus-visible{outline:3px solid #ce553d;outline-offset:3px}
.homeScreen{max-width:1680px;margin:auto;min-height:100dvh;padding:24px 3vw 35px;background:#ede3c9 url('./art/party-sketch.png') center/cover no-repeat;border:12px solid #4b4b43;position:relative}
.homeTop{max-width:none}.brandMark{font-size:17px;letter-spacing:1px}.brandMark small{font-size:8px}.brandMark i{color:var(--red)}.serverPill{background:#faf4df;border-radius:2px;box-shadow:2px 3px #332e2960;padding:7px 11px;letter-spacing:0}
.homeHero{margin:32px 0 0;display:grid;grid-template-columns:minmax(360px,1fr) 320px;gap:7vw;align-items:start;max-width:none}.heroCopy h1{font:1000 clamp(66px,7vw,112px)/.87 'Segoe Print',Impact,sans-serif;letter-spacing:-5px;margin:20px 0 14px;transform:rotate(-3deg);text-shadow:2px 1px #fff8,-1px -1px #29271f}.heroCopy h1 span{font-size:.65em;color:#dfb924}.heroCopy h1 em{color:#d54532}.heroCopy .tagline{font-size:22px;font-weight:900;color:#302e26;margin:24px 0}.eyebrow{font-size:11px;color:#575142;letter-spacing:1px}
.menuPaper{width:310px;padding:18px 20px;background:#f8f0d9e8;border:1px solid #796f57;box-shadow:3px 5px 0 #473a2833;position:relative}.menuPaper:before,.roomShelf:before,.modernModal:before,.paperPanel:before{content:'';position:absolute;top:-12px;left:32%;width:86px;height:24px;background:#c9b38599;transform:rotate(-6deg);border:1px solid #b49b6244}.nameField{margin:0 0 10px}.nameField span{font-size:11px;letter-spacing:0}.nameField input,.modernModal input{border:1px solid #79705b;border-radius:1px;padding:10px;background:#fffaf0;color:#29271f}.primaryBig{background:var(--yellow);border:2px solid #353128;border-radius:2px;box-shadow:3px 4px #574d3744;padding:12px 14px;width:100%;font-size:15px}.menuPaper small{display:block;font-size:10px;margin-top:16px;color:#6e6553}.codeJoin{display:flex;gap:5px;margin-top:12px}.codeJoin input{width:0;flex:1;min-width:0;padding:8px;border:1px dashed #92856b;background:#fff9e6;border-radius:0}.codeJoin button{margin:0;padding:7px 12px}
.roomShelf{min-height:270px;margin-top:180px;padding:20px;background:#f7efd9ef;border:2px solid #4e4738;border-radius:2px;box-shadow:5px 7px #302e2944;transform:rotate(1deg);position:relative}.shelfHead{padding-bottom:10px;border-bottom:2px dashed #b6a88b}.shelfHead h2{font-size:22px}.iconBtn{border-radius:3px;width:34px;height:34px;padding:0}.publicRooms{overflow-x:hidden;max-height:210px;margin:10px 0 0}.roomCard{margin:0;border:1px solid #c9bda1;border-radius:1px;padding:12px 8px;gap:8px;min-width:0;background:#fff9e8}.roomCard .roomMeta{min-width:0;align-items:flex-start}.roomMeta b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.roomMeta small{font-size:9px}.emptyRooms{padding:28px 8px;font-size:13px;color:#746851}.roomStatus{background:#7b9b56}.modal{backdrop-filter:blur(4px);background:#29271fd0}.modernModal,.settingsbox,.editorbox{border:2px solid #39362d;border-radius:3px;background:#f4ead0;color:#29271f;box-shadow:8px 10px #12141066}.modalX{box-shadow:none}.switchRow input{width:auto}.settingsbox input{width:auto}
#app{background:#484c46;min-height:100dvh;padding:12px;color:#29271f}#app header{height:60px;background:#f4ead0;border:2px solid #37362f;box-shadow:3px 4px #2226;color:#29271f;padding:0 16px}#app header button{background:#e8dcc0;color:#29271f;border:1px solid #71664f;border-radius:1px;box-shadow:2px 2px #3333}#roomTitle{font-size:16px;letter-spacing:0}#phase{background:#f5d54e;border-radius:1px;font-size:12px;color:#29271f}#timer{font-size:24px;font-weight:1000}#ping{font:10px monospace;color:#736a55}
#scorebar{background:#ede3c8;color:#29271f;border:1px solid #7c7058;margin:10px 0;padding:10px 14px;gap:20px}.score{font-size:12px;min-width:120px}.score b{color:#332f26}.track{background:#d6c9ac;border:1px solid #554c3d;border-radius:5px;height:9px}
#app main{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:14px;max-width:1800px;padding:0;align-items:start}.gamewrap{align-self:start;width:100%;background:#ecdfbd;border:3px solid #2f302a;border-radius:2px;box-shadow:4px 6px #25272266;overflow:hidden}#game{width:100%;height:auto;display:block;border-radius:0;background:#c8dce0}.gamewrap:after{display:none}#phaseBanner{top:12px;left:14px;transform:rotate(-1deg);font:900 16px 'Segoe Print','Malgun Gothic',sans-serif;letter-spacing:0;color:#29271f;background:#faf0d5;border:2px solid #4a4437;border-radius:1px;box-shadow:2px 3px #332e2950;padding:9px 15px}#controlsHint{position:relative;left:auto;bottom:auto;margin:0;padding:10px 14px;background:#f3e7c8;color:#393429;border:0;border-top:2px solid #64583d;border-radius:0;font-size:12px;transform:none}
#app aside{background:#f4ead0;border:2px solid #3e3c31;border-radius:2px;box-shadow:4px 6px #26292366;padding:16px;max-height:calc(100vh - 165px);overflow:auto;transform:none}#app aside:before{display:none}#app aside h3{font-size:17px;letter-spacing:-.5px;margin-top:12px}.lobbyCountdown{border:1px dashed #807451;background:#fff4c1;padding:11px;border-radius:1px;font-size:13px;margin-bottom:12px}.lobbyCountdown.active{background:#f4d84c}.mapBtn{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:8px;width:100%;border:1px solid #8d8064;border-radius:1px;background:#fff8e3;margin:0 0 8px;padding:7px;align-items:center;text-align:left;box-shadow:1px 2px #453d2b33}.mapBtn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapBtn.chosen{outline:2px solid #d3a935;background:#fff1a8}.mapThumb{width:54px;height:34px;border:1px solid #443e32}.mapBtn span{font-size:10px;white-space:nowrap}.readyWalkHint{border:0;border-top:1px dashed #a79a7c;border-radius:0;background:transparent;padding:10px 0;font-size:11px}.advanced{display:block;border-radius:0;border:1px solid #b2a589;font-size:11px;overflow:hidden}.advanced>summary{padding:8px;cursor:pointer}.advanced[open]{padding:8px}.advanced button{max-width:100%}#startBtn{width:100%;margin:3px 0;background:#f4d84c;border-radius:1px;box-shadow:2px 3px #39372c55;font-size:13px;padding:10px}#info{margin-top:12px;padding-top:8px}.player{background:#fff8e4;border-radius:0;border-bottom:1px solid #bbaf93;border-left-width:4px;padding:8px;display:flex;align-items:center;gap:8px}.player small{font-size:10px}.player span{font-size:9px;background:#d6deb4;border-radius:1px}.avatar{width:40px;height:44px;flex:none}.playerText{min-width:0;flex:1}.playerText b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block}.playerText small{margin:2px 0}.rosterEmpty{border-bottom:1px dashed #c2b799;color:#948a75;padding:12px;font-size:12px}.paperPanel{position:relative;border:2px solid #514937;background:#f3e8cb;padding:16px;margin-top:14px;box-shadow:3px 4px #29291e44}.paperPanel h2{font-size:20px;margin:0 0 12px}.characterGrid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.characterCard{padding:4px;margin:0;background:#fff9e7;box-shadow:1px 2px #453d2b44;min-width:0;position:relative}.characterCard svg{width:100%;height:72px;display:block}.characterCard small{display:block;font-size:11px}.characterCard.selected{background:#fff09c;border:2px solid #b68d16;outline:2px solid #f0d351}.characterCard.taken{opacity:.4}.characterCard .owner{font-size:8px;overflow:hidden;white-space:nowrap}.stageNote{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.stageNote small{font-size:11px;color:#776c55}.gameColumn{min-width:0}.flowStrip{display:flex;gap:8px;align-items:center;font-size:11px;padding:10px 0;color:#f7ebcc}.flowStrip span{padding:5px 10px;border:1px solid #ffffff25}.flowStrip .current{background:#f1d349;color:#302c20;border-color:#302c20;font-weight:900}
.draftGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.itemCard{margin:0;padding:10px;background:#fff8df}.itemCard strong{display:block;font-size:14px}.itemCard small{font-size:10px;display:block;margin-top:4px}.itemIcon{font-size:24px;display:block;margin-bottom:6px}.roundRows{display:grid;gap:6px}.roundRow{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:8px;border-bottom:1px dashed #9d8d6a}.roundRow small{display:block;color:#7c7057;font-size:11px}.roundRow strong{font-size:23px}.resultTitle{font-size:24px;margin:5px 0}.phaseHelp{font-size:13px;line-height:1.6}.feed{background:#f5ead0;color:#29271f;border-radius:0;transform:none;font-size:12px}#toast{border-radius:1px;background:#fff2c5;max-width:90vw;text-align:center;z-index:200}#leaveBtn{font-size:11px}.homeFooter{position:absolute;right:30px;bottom:20px;font-size:12px;font-weight:900;color:#302c22;transform:rotate(-5deg);background:#fff4d9c9;padding:10px}
@media(min-width:1350px){.homeHero{grid-template-columns:1fr 360px}.homeScreen{padding:35px 5vw}.roomShelf{margin-top:235px}.heroCopy h1{font-size:118px}.menuPaper{width:330px}}
@media(max-width:950px){#app main{grid-template-columns:minmax(0,1fr) 245px}.characterGrid{grid-template-columns:repeat(4,1fr)}.homeHero{grid-template-columns:1fr 280px;gap:25px}.homeScreen{padding:20px}.roomShelf{margin-top:150px}.heroCopy h1{font-size:78px}#mobile{display:none}}
@media(max-width:700px){.homeScreen{border-width:6px;background-position:62% top;min-height:100vh}.homeHero{grid-template-columns:1fr;margin-top:25px}.heroCopy h1{font-size:72px}.menuPaper{width:min(310px,100%)}.roomShelf{margin-top:20px;min-height:200px}.homeFooter{display:none}#app{padding:6px 6px 75px}#app main{grid-template-columns:1fr}#app header{padding:8px;height:auto;flex-wrap:wrap;gap:6px}#roomTitle{font-size:12px}#ping{display:none}.characterCard svg{height:65px}.flowStrip{font-size:9px;gap:3px}.flowStrip span{padding:5px}#phaseBanner{font-size:11px;padding:5px}.stageNote{align-items:start;flex-direction:column}#mobile{display:flex;z-index:10}#mobile button{padding:12px 24px;background:#f5d34d}#scorebar{margin:6px 0}.heroCopy .tagline{font-size:18px}.homeTop .brandMark{font-size:12px}.serverPill{font-size:9px}}

/* Build 43 — rough paper edges + playful placement */
:root{--paper-cut:polygon(0.2% 1.2%,3.4% .3%,8% 1%,13% .2%,19% .9%,25% .25%,31% .8%,37% .15%,43% .75%,49% .1%,56% .9%,63% .2%,70% .75%,77% .1%,84% .85%,91% .2%,97% .9%,99.7% 3%,99.2% 11%,99.8% 19%,99.1% 28%,99.8% 37%,99.15% 46%,99.7% 55%,99.1% 65%,99.8% 74%,99.15% 83%,99.7% 92%,98.8% 99%,91% 99.4%,84% 98.8%,76% 99.6%,68% 98.9%,60% 99.6%,52% 98.8%,44% 99.5%,36% 98.9%,28% 99.7%,20% 98.8%,12% 99.5%,4% 98.8%,.3% 97%,.8% 88%,.15% 78%,.9% 68%,.2% 58%,.8% 48%,.15% 38%,.8% 28%,.2% 18%,.8% 9%)}
.menuPaper,.roomShelf,.paperPanel,#app aside,#app header,.modernModal,#scorebar{clip-path:var(--paper-cut)}
.menuPaper,.roomShelf,.paperPanel,#app aside,.modernModal{filter:drop-shadow(5px 7px 0 #29251f55)}
.paperPanel:after,.roomShelf:after,.menuPaper:after{content:'';position:absolute;inset:5px;pointer-events:none;border:1px dashed #51483540;clip-path:var(--paper-cut)}
.itemCard{position:relative;border:2px solid #6c604b!important;clip-path:polygon(1% 3%,97% 0,100% 94%,95% 100%,3% 98%,0 8%);transition:transform .09s ease,background .09s ease;min-height:138px;text-align:left}
.itemCard:hover:not(:disabled){transform:translateY(-4px) rotate(-.6deg);background:#fff1a9!important;box-shadow:4px 5px 0 #463d2c55}.itemCard:active:not(:disabled){transform:translateY(1px) rotate(.4deg)}.itemCard:disabled{cursor:not-allowed}.itemCard.claimed{opacity:.38;filter:grayscale(.35)}
.itemCard em{display:block;margin-top:7px;font-size:10px;font-style:normal;font-weight:900;color:#a04c39;letter-spacing:.5px}.itemArt{width:64px;height:54px;object-fit:contain;float:right;margin-left:5px}
body[data-phase="placement"] #game{cursor:crosshair}body[data-phase="partybox"] #game{cursor:pointer}
#controlsHint{font-weight:800;letter-spacing:.1px}
@media(max-width:700px){.draftGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.itemCard{min-height:110px;padding:7px}.itemArt{width:45px;height:40px}.itemCard strong{font-size:11px}.itemCard small{font-size:9px}}

/* 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}

/* V48 cinematic round ending */
body[data-phase="scoring"] #playPanel,
body[data-phase="gameover"] #playPanel{display:none!important}

/* V50 centered Party Box selector */
.partyOverlay{position:fixed;inset:0;z-index:120;background:#2e3939;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.partyOverlay.hidden{display:none}
.partyBoard{width:min(1120px,96vw);max-height:94dvh;overflow:hidden;background:#f2e6c8;border:3px solid #2d2a24;box-shadow:12px 14px 0 #171a18;clip-path:var(--paper-cut);padding:22px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px}
.partyBoardHead{text-align:center}.partyBoardHead span{font:900 12px system-ui;letter-spacing:3px;color:#a4523c}.partyBoardHead h2{font:1000 clamp(25px,4vw,42px) system-ui;margin:3px 0}.partyBoardHead small{font-weight:800;color:#6d624e}
.partyTabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.partyTabs button{border:2px solid #504736;background:#fff7dc;padding:9px 13px;font-weight:900;box-shadow:2px 3px 0 #504736;cursor:pointer}.partyTabs button.active{background:#f3d654;transform:translateY(2px);box-shadow:1px 1px 0 #504736}.partyTabs small{margin-left:5px;opacity:.65}
.partyCards{overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:3px}.partyPick{position:relative;min-height:132px;border:2px solid #554b39;background:#fff9e7;padding:12px;display:grid;grid-template-columns:76px 1fr;gap:10px;text-align:left;clip-path:polygon(1% 2%,98% 0,100% 95%,96% 100%,2% 98%,0 7%);cursor:pointer}.partyPick img{width:72px;height:72px;object-fit:contain;align-self:center}.partyPick strong,.partyPick small,.partyPick em{display:block}.partyPick strong{font-size:16px}.partyPick small{font-size:11px;color:#6c6252;margin:5px 0}.partyPick em{font-style:normal;font-size:10px;font-weight:900;color:#a14e3c}.partyPick:not(:disabled):hover{background:#fff0a4;transform:translateY(-3px)}.partyPick.taken{background:color-mix(in srgb,var(--owner) 22%,#fff9e7);opacity:.78}.partyPick i{position:absolute;right:7px;top:6px;background:var(--owner);border:1px solid #39332a;padding:4px 6px;font-size:10px;font-style:normal;font-weight:900}
.partyLive{border-top:2px dashed #84765c;padding-top:10px}.partyLive>b{display:block;text-align:center;margin-bottom:8px}.partyLiveRows{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.partyLiveRows>div{display:grid;grid-template-columns:10px auto auto;align-items:center;gap:6px;background:#fff7df;border:1px solid #81745b;padding:6px 9px}.partyLiveRows span{width:9px;height:9px;border-radius:50%;background:var(--p)}.partyLiveRows em{font-style:normal;font-size:11px;color:#8a533d;font-weight:900}
body[data-phase="partybox"] .gamewrap,body[data-phase="partybox"] #scorebar,body[data-phase="partybox"] #killfeed,body[data-phase="partybox"] #app aside,body[data-phase="partybox"] .flowStrip{visibility:hidden}
@media(max-width:700px){.partyOverlay{padding:6px}.partyBoard{width:100%;max-height:100dvh;padding:11px;gap:8px}.partyBoardHead h2{font-size:24px}.partyTabs{gap:4px}.partyTabs button{font-size:11px;padding:7px 9px}.partyCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.partyPick{grid-template-columns:52px 1fr;min-height:100px;padding:7px}.partyPick img{width:48px;height:48px}.partyPick strong{font-size:12px}.partyPick small{font-size:9px}.partyPick em{font-size:9px}.partyLiveRows>div{font-size:10px;padding:4px 6px}}

/* 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)}
.inLobby .gameColumn:before{content:'설계하고, 망치고, 살아남아라.'}

/* V52: one shared random board, all choices visible */
.partyTabs{display:none!important}
.partyBoard{grid-template-rows:auto minmax(0,1fr) auto}
.partyCards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.partyPick{min-height:142px}
.partyPick.choosing{transform:scale(.98);filter:brightness(.95)}
.partyPick.mine{box-shadow:0 0 0 3px var(--owner),4px 6px 0 #28231f40!important}
.partyCat{position:absolute;left:8px;top:7px;background:#403b34;color:#f5e8c6;font:900 9px system-ui;padding:3px 6px;clip-path:var(--rough-paper)}
@media(max-width:700px){.partyCards{grid-template-columns:repeat(2,minmax(0,1fr))}.partyPick{min-height:112px}}

/* V53 2.5D illustration pass */
.partyPick img,.itemArt{filter:drop-shadow(0 6px 5px #1d1d1a38);transform:translateY(-1px)}
.partyPick{background:linear-gradient(150deg,#fff8e5,#eadbb8 72%,#d3bf96)!important}
.partyPick:before{content:"";position:absolute;inset:4px;pointer-events:none;background:linear-gradient(135deg,#ffffff55,transparent 32%,#4a3b2b12 72%);clip-path:inherit}

/* V54 reliable Party Box + dimensional framing */
.partyOverlay{touch-action:manipulation}
.partyPick{pointer-events:auto!important;touch-action:manipulation;isolation:isolate}
.partyPick>*{pointer-events:none}
.partyPick.choosing{opacity:.68;transform:scale(.975);filter:saturate(.75)}
.partyPick:not(:disabled){cursor:pointer}
.partyPick:not(:disabled):active{transform:translateY(2px) scale(.985)}
.partyPick img{background:radial-gradient(circle at 40% 35%,#ffffffb0,#d9cba800 64%);border-radius:14px;padding:4px;box-sizing:border-box}
.partyLiveRows>div.me{box-shadow:0 0 0 2px var(--p) inset;font-weight:900}

/* V56 large art/UI pass */
body{background:radial-gradient(circle at 18% 14%,#fff6dd 0,#f4e8c6 16%,#d7d0b4 38%,#8ea39f 100%)}
.menuPaper,.paperPanel,.roomShelf,.modernModal,.partyBoard{background:linear-gradient(180deg,#fffaf0,#efe1bd 58%,#d7c39c)!important;position:relative;overflow:hidden}
.menuPaper::before,.paperPanel::before,.roomShelf::before,.modernModal::before,.partyBoard::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff90,transparent 26%,#7a634312 74%);pointer-events:none}
#phaseBanner,#controlsHint,#serverPill{backdrop-filter:blur(5px)}
#serverPill{background:linear-gradient(180deg,#fff5d8,#e8d8b0)!important;box-shadow:0 8px 24px #28211b14}
.homeFooter{background:linear-gradient(180deg,#fff5dc,#ebd8b1);padding:10px 16px;border-radius:18px;box-shadow:0 10px 30px #2a231d20;font-weight:900;letter-spacing:.08em}
#mapGallery,.paperPanel,#playPanel{box-shadow:0 16px 40px #28211e1f!important}
.partyOverlay{background:radial-gradient(circle at 50% 18%,#4a6a73 0,#304249 42%,#1f272b 100%)}
.partyBoard{width:min(1180px,96vw)!important;max-height:min(92vh,980px);padding:18px 18px 14px;border-radius:28px;box-shadow:0 24px 70px #0b1014a0!important}
.partyBoardHead{background:linear-gradient(180deg,#fff6dd,#ecd9af);padding:14px 16px;border-radius:20px;margin-bottom:10px}
.partyBoardHead h2{font-size:34px;letter-spacing:-.02em}
.partyCards{gap:14px!important;padding:6px!important}
.partyPick{min-height:152px;border-radius:22px!important;clip-path:none!important;background:linear-gradient(145deg,#fffdf4,#f1e1bf 70%,#d7c099)!important;box-shadow:0 12px 24px #261f1922!important;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease,background .12s ease}
.partyPick:before{display:none!important}
.partyPick:hover:not(:disabled){transform:translateY(-4px) scale(1.01);box-shadow:0 18px 28px #2019142f!important;filter:saturate(1.05)}
.partyPick.pending,.partyPick.mine{box-shadow:0 0 0 3px var(--owner),0 18px 30px #221c1630!important}
.partyPick.pending i{background:#f5d56b!important}
.partyPick i{border-radius:999px;padding:5px 9px!important;box-shadow:0 3px 0 #00000024}
.partyPick strong{font-size:18px;line-height:1.05}
.partyPick small{font-size:12px;line-height:1.35}
.partyPick em{font-size:11px;letter-spacing:.02em}
.partyPick img,.portraitArt{filter:drop-shadow(0 10px 12px #1a171238)!important}
.partyLive{background:linear-gradient(180deg,#fff6e0,#e9d7b2);border-radius:18px;padding:12px 14px;box-shadow:inset 0 1px 0 #fff9ec}
.partyLiveRows>div{background:#fff9eb;border-radius:14px;padding:8px 10px;box-shadow:0 4px 14px #271e180f}
@media(max-width:700px){.partyBoard{padding:10px;border-radius:18px}.partyBoardHead h2{font-size:24px}.partyPick{min-height:118px;border-radius:16px!important}}

/* V57 full presentation pass */
.homeScreen{background:
 radial-gradient(circle at 72% 16%,#d8fbf1 0 8%,transparent 9%),
 linear-gradient(160deg,#4d747b 0,#78aaa5 34%,#c6d8bd 64%,#e7d8b4 100%)!important;
 border:0!important;overflow:hidden}
.homeScreen:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#ffffff18,transparent 28%,#263d4216 70%)}
.homeTop{position:relative;z-index:4}.brandMark{color:#fff7df;text-shadow:0 3px 0 #2c424866}.brandMark small{color:#d9e9de}.serverPill{border-radius:999px!important;background:#f7eccb!important;color:#35505a;font-weight:1000}
.homeHero{grid-template-columns:minmax(350px,.9fr) minmax(430px,1.2fr) 330px!important;gap:2.6vw!important;align-items:center!important;margin-top:20px!important}
.heroCopy{position:relative;z-index:3}.heroCopy h1{color:#fff6d6!important;text-shadow:0 4px 0 #344e55,0 9px 22px #1d323648!important;transform:none!important;letter-spacing:-6px!important}.heroCopy h1 em{color:#ef7b5d!important}.heroCopy h1 span{color:#f2d56b!important}.heroCopy .tagline{color:#f8f0d5!important;text-shadow:0 2px 0 #3d575a88}
.menuPaper{border-radius:24px!important;clip-path:none!important;background:linear-gradient(155deg,#fffbed,#e8d9b8)!important;box-shadow:0 18px 36px #1c2d313e!important}.menuPaper:before{display:none!important}
.nameField input,.codeJoin input{border-radius:12px!important;border:0!important;box-shadow:inset 0 0 0 2px #7a725f28;background:#fffdf3!important}.primaryBig{border-radius:15px!important;background:linear-gradient(#f7de6e,#e7bc43)!important;box-shadow:0 5px 0 #987b30,0 11px 20px #44381720!important}
.roomShelf{margin-top:0!important;align-self:center;border-radius:24px!important;clip-path:none!important;background:linear-gradient(160deg,#294c56e8,#1f3c45e8)!important;color:#f6edcf!important;box-shadow:0 22px 55px #182b3270!important;transform:none!important;min-height:330px}.roomShelf:before{display:none!important}.roomCard{border-radius:16px!important;clip-path:none!important;background:linear-gradient(150deg,#f9efd2,#dfcc9f)!important;color:#31484f!important;margin-bottom:8px!important;box-shadow:0 6px 16px #08101435!important}.shelfHead{border-bottom:1px solid #d9cda942!important}.shelfHead h2{color:#fff2ca!important}
.homeDiorama{height:520px;position:relative;isolation:isolate;filter:drop-shadow(0 24px 26px #1832383d);overflow:visible}.homeDiorama:before{content:"";position:absolute;left:4%;right:4%;bottom:4%;height:18%;background:#37636b22;filter:blur(24px);border-radius:50%}
.dCloud{position:absolute;background:linear-gradient(#fbf9e9,#cce0d8);border-radius:50px;opacity:.9;box-shadow:0 8px 0 #395e651a}.dCloud:before,.dCloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.dCloud:before{width:54px;height:54px;left:18px;bottom:4px}.dCloud:after{width:74px;height:68px;left:54px;bottom:1px}.dCloud.c1{width:132px;height:35px;left:2%;top:16%}.dCloud.c2{width:150px;height:42px;right:1%;top:30%;transform:scale(.8)}.dCloud.c3{width:120px;height:32px;left:42%;bottom:8%;transform:scale(.7);opacity:.55}
.dPlatform{position:absolute;height:40px;background:linear-gradient(#c79a65,#8f6648 55%,#664a3b);border-radius:5px 5px 8px 8px;box-shadow:0 10px 0 #2b3d4147}.dPlatform:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(#cbdc7d,#7da75d);border-radius:5px}.dPlatform:after{content:"";position:absolute;inset:12px 8px 6px;background:repeating-linear-gradient(0deg,#e6bd8220 0 2px,transparent 2px 8px)}.dPlatform i{position:absolute;left:16%;right:12%;bottom:-12px;height:14px;background:#5d4637;clip-path:polygon(0 0,100% 0,91% 100%,16% 80%)}.dPlatform.p1{width:210px;left:6%;bottom:20%}.dPlatform.p2{width:180px;right:2%;top:24%}.dPlatform.p3{width:150px;left:49%;top:48%}
.dFan{position:absolute;right:12%;top:7%;width:82px;height:82px;background:linear-gradient(145deg,#79929a,#3c525a);border-radius:15px;box-shadow:9px 9px 0 #2d3e43}.dFan:before{content:"";position:absolute;inset:10px;border:6px solid #9fb1b0;border-radius:50%;box-shadow:inset 0 0 0 3px #35474d}.dFan span{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;background:#edcf68;border-radius:50%;z-index:2}.dFan b,.dFan b:before,.dFan b:after{position:absolute;content:"";left:50%;top:50%;width:8px;height:28px;margin:-28px -4px 0;background:linear-gradient(#d7dfd7,#758b8e);border-radius:9px;transform-origin:4px 28px}.dFan b{animation:dspin 1.05s linear infinite}.dFan b:before{transform:rotate(120deg);margin:0;left:0;top:0}.dFan b:after{transform:rotate(240deg);margin:0;left:0;top:0}@keyframes dspin{to{transform:rotate(360deg)}}
.dSaw{position:absolute;left:42%;top:33%;width:72px;height:72px;border-radius:50%;background:repeating-conic-gradient(#d4d7cf 0 6deg,#667276 6deg 12deg);box-shadow:0 7px 0 #344a50}.dSaw:after{content:"";position:absolute;inset:20px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#e9e6d7,#596469 70%);box-shadow:inset 0 0 0 4px #374247}
.dArrow{position:absolute;left:3%;top:41%;color:#ef7655;font-size:35px;filter:drop-shadow(0 3px 0 #6d4338);animation:fly 1.8s ease-in-out infinite}@keyframes fly{50%{transform:translateX(36px)}}
.dRope{position:absolute;left:66%;top:20%;width:3px;height:155px;background:repeating-linear-gradient(#69584a 0 7px,#c7b08b 7px 12px);transform:rotate(18deg);transform-origin:top}
.dMascot{position:absolute;width:90px;height:122px;filter:drop-shadow(0 10px 7px #19313635);animation:bob 1.8s ease-in-out infinite}.dMascot .body{position:absolute;left:25px;top:55px;width:44px;height:51px;border-radius:48% 50% 42% 45%;background:linear-gradient(145deg,#d99464,#955e48);box-shadow:inset 8px 7px #f3bd8b55}.dMascot .head{position:absolute;left:20px;top:12px;width:56px;height:52px;border-radius:48% 52% 46% 54%;background:linear-gradient(145deg,#e7ae7b,#a16a50);box-shadow:inset 9px 8px #ffd3a644}.dMascot .head:before,.dMascot .head:after{content:"";position:absolute;top:18px;width:12px;height:15px;background:#fffaf0;border-radius:50%;box-shadow:inset 0 -2px #d9ccb7}.dMascot .head:before{left:11px}.dMascot .head:after{right:11px}.dMascot .head i:before,.dMascot .head i:after{content:"";position:absolute;top:23px;width:5px;height:7px;background:#342d29;border-radius:50%}.dMascot .head i:before{left:15px}.dMascot .head i:after{right:15px}.dMascot u{position:absolute;top:98px;width:13px;height:24px;background:#714c3f;border-radius:8px;transform-origin:top}.dMascot u:nth-of-type(1){left:28px;transform:rotate(7deg)}.dMascot u:nth-of-type(2){left:52px;transform:rotate(-9deg)}.dMascot .ear{position:absolute;top:0;width:14px;height:31px;background:#9b674f;border-radius:70% 20% 60% 20%;z-index:-1}.dMascot .ear.e1{left:27px;transform:rotate(-22deg)}.dMascot .ear.e2{left:59px;transform:rotate(24deg)}.dMascot.horse{left:20%;top:22%;transform:rotate(-5deg)}.dMascot.bird{right:19%;bottom:17%;animation-delay:-.7s}.dMascot.bird .body{background:linear-gradient(145deg,#f1e7c8,#c7b99a)}.dMascot.bird .head{background:linear-gradient(145deg,#fff4d5,#d8c9a8)}.dMascot.bird .comb{position:absolute;left:43px;top:3px;width:12px;height:18px;background:#d9574f;border-radius:50% 50% 35% 35%;box-shadow:-9px 4px #e46f60}.dMascot.bird .ear{display:none}.dMascot.bird .head:after{box-shadow:none}@keyframes bob{50%{transform:translateY(-12px) rotate(2deg)}}
body.inLobby #app main{grid-template-columns:minmax(0,1fr)!important;max-width:1540px;margin:auto}body.inLobby #app aside{display:none!important}body.inLobby .gamewrap{width:min(100%,1500px);margin:auto;border-radius:24px!important;overflow:hidden;box-shadow:0 28px 65px #13282c4a!important}body.inLobby #scorebar{max-width:1450px;margin:8px auto}body.inLobby #phaseBanner{top:12px;left:50%;transform:translateX(-50%);right:auto;border-radius:999px;padding:8px 17px!important;background:#f7edceec!important;color:#31464a!important}body.inLobby #controlsHint{bottom:15px;left:50%;transform:translateX(-50%);right:auto;border-radius:999px;background:#263f47dd!important;color:#fff3d1!important;padding:8px 16px!important}
@media(max-width:1100px){.homeHero{grid-template-columns:1fr 1fr!important}.roomShelf{grid-column:1/-1;width:min(760px,100%);justify-self:center}.homeDiorama{height:430px}}
@media(max-width:700px){.homeHero{grid-template-columns:1fr!important}.homeDiorama{height:330px;order:2}.roomShelf{order:3}.heroCopy{order:1}.dMascot{transform:scale(.8)}body.inLobby #controlsHint{width:max-content;max-width:92vw;font-size:10px}}
