:root{--sky-top:#4fb8ff;--sky-bottom:#bfe9ff;--ink:#23324a;--ink-soft:#5a6b86;--paper:#fff;--paper-2:#f3f6fb;--line:#d7deea;--gold:#ffb81f;--gold-dark:#d98a00;--green:#3fbf4a;--green-dark:#268f30;--red:#ec4b3f;--red-dark:#b72c22;--blue:#2f8cf0;--blue-dark:#1b62b3;--board:#2f6fb5;--board-edge:#1f4f86;--board-glow:#58a8ff;--shadow:0 6px 0 #14285040, 0 12px 24px #14285033;--radius:18px;--font-display:"Lilita One", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:var(--font-body);color:var(--ink);background:linear-gradient(180deg, var(--sky-top), var(--sky-bottom));-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}button{font:inherit;cursor:pointer;border:0}.display{font-family:var(--font-display);letter-spacing:.02em}.btn{--c:var(--green);--cd:var(--green-dark);font-family:var(--font-display);color:#fff;background:var(--c);box-shadow:0 5px 0 var(--cd), 0 8px 14px #0003;text-shadow:0 2px #0003;border-radius:14px;padding:10px 22px;font-size:18px;transition:transform 80ms,box-shadow 80ms,filter .15s}.btn:hover{filter:brightness(1.07)}.btn:active{box-shadow:0 1px 0 var(--cd), 0 3px 6px #0003;transform:translateY(4px)}.btn:disabled{filter:grayscale(.8)opacity(.6);cursor:default}.btn.red{--c:var(--red);--cd:var(--red-dark)}.btn.blue{--c:var(--blue);--cd:var(--blue-dark)}.btn.gold{--c:var(--gold);--cd:var(--gold-dark)}.btn.ghost{--c:#fff;--cd:#c3cede;color:var(--ink);text-shadow:none}.btn.small{border-radius:10px;padding:6px 12px;font-size:14px}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:scale(.7)translateY(30px)}}@keyframes pop{0%{opacity:0;transform:scale(.2)translateY(20px)}}.tile{cursor:pointer;padding:2px;position:absolute}.tile-content{padding:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.face{background:var(--paper);border-radius:8px;flex-direction:column;align-items:center;width:100%;height:100%;transition:filter .2s,opacity .2s;display:flex;overflow:hidden;box-shadow:inset 0 -4px #1e3c6e2e}.fit-text{text-align:center;flex-direction:column;align-items:center;line-height:1.02;display:flex}.fit-line{white-space:nowrap}.face.prop .band{background:var(--band);text-align:center;justify-content:center;align-items:center;width:100%;min-height:36px;padding:3px 5px 5px;display:flex;box-shadow:inset 0 -3px #0000001f}.tile.reversed .face.prop .band{padding:5px 5px 3px;box-shadow:inset 0 3px #0000001f}.face.prop .name{color:#fff;text-shadow:0 1px #0000004d}.face.prop .body{flex:1;justify-content:center;align-items:center;display:flex}.face.prop .price{color:var(--ink);white-space:nowrap;padding:3px 0 7px;font-size:12px;font-weight:900;line-height:1}.face.prop.owned{background:color-mix(in srgb, var(--owner) 30%, white);box-shadow:inset 0 0 0 3px var(--owner), inset 0 -5px 0 color-mix(in srgb, var(--owner) 70%, black)}.face.prop.owned .price{color:#fff;background:var(--owner);text-align:center;width:100%}.tile.reversed .face.prop{flex-direction:column-reverse}.tile.reversed .face.prop .price{padding:7px 0 3px}.face.special{background:#fff7e0;justify-content:center;gap:4px}.face.special.tax{background:#ffe9e6}.special-label{color:var(--ink)}.tile.reversed .face.special{flex-direction:column-reverse}.face.corner{background:linear-gradient(135deg,#fff,#e8f1ff);justify-content:center}.corner-art{flex-direction:column;align-items:center;display:flex;transform:rotate(-45deg)}.corner-label{color:var(--ink);margin-top:2px}.tile.dimmed .face{filter:brightness(.55)saturate(.6)}.tile.pickable .face{animation:.9s ease-in-out infinite alternate pick-pulse}.tile.selected .face{box-shadow:inset 0 0 0 4px var(--red), 0 0 18px var(--red)}@keyframes pick-pulse{0%{box-shadow:inset 0 0 0 3px #ffe36b,0 0 6px #ffe36b}to{box-shadow:inset 0 0 0 4px #ffb81f,0 0 22px #ffe36b}}.stage{perspective:2400px;perspective-origin:50% 30%;position:absolute;inset:0;overflow:hidden}.board{transform-style:preserve-3d;transform-origin:50%;position:absolute;top:53%;left:50%}.board-top{background:radial-gradient(circle at 50% 50%, var(--board-glow) 0%, color-mix(in srgb, var(--board-glow) 45%, var(--board)) 55%, var(--board) 100%);box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--board-glow) 45%, white);border-radius:14px;position:absolute;inset:0}.slab-side{background:linear-gradient(var(--board-edge), color-mix(in srgb, var(--board-edge) 75%, black));position:absolute}.slab-bottom{transform-origin:50% 0;border-radius:0 0 10px 10px;width:100%;height:26px;top:100%;left:0;transform:rotateX(-90deg)}.slab-right{transform-origin:0;background:linear-gradient(90deg, color-mix(in srgb, var(--board-edge) 75%, var(--board)), color-mix(in srgb, var(--board-edge) 90%, black));width:26px;height:100%;top:0;left:100%;transform:rotateY(90deg)}.board-center{pointer-events:none;position:absolute}.center-art{transform:translate(-50%, -50%) translate(var(--logo-shift,92px), var(--logo-shift,92px)) rotate(-45deg);position:absolute;top:50%;left:50%}.board.compact .center-art{display:none}.logo{color:#fff;text-shadow:0 4px 0 var(--board-edge), 0 8px 16px #0003;opacity:.92}.bb-anchor{width:0;height:0;transform-style:preserve-3d;pointer-events:none;position:absolute;top:0;left:0}.bb{transform-origin:0 0;position:absolute;top:0;left:0;transform:rotate(-45deg)rotateX(-55deg)translateZ(3px)}.bb-inner{flex-direction:column;align-items:center;line-height:0;display:flex;position:absolute;bottom:0;left:0;transform:translate(-50%)}.token{transition:transform .22s ease-out}.token.flying{transition:transform .6s cubic-bezier(.45,0,.3,1)}.token-shadow{pointer-events:none;background:radial-gradient(#0009,#0000 70%);border-radius:50%;width:32px;height:32px;transition:transform .22s ease-out,opacity .3s;position:absolute;top:-16px;left:-16px}.pawn-hop{animation:.23s ease-out hop}.pawn-glow{animation:1.1s ease-in-out infinite alternate glow}@keyframes glow{0%{opacity:.45}to{opacity:.95}}@keyframes hop{0%{transform:translateY(0)}45%{transform:translateY(-18px)}to{transform:translateY(0)}}.structure-pop{flex-direction:column;align-items:center;animation:.45s cubic-bezier(.3,1.6,.5,1) pop;display:flex}.host-badge{font-family:var(--font-display);color:var(--gold-dark);background:#fff;border-radius:999px;align-items:center;gap:1px;margin-bottom:2px;padding:1px 5px 1px 2px;font-size:11px;line-height:1;display:flex;box-shadow:0 2px #0003}.dice{perspective:600px;gap:18px;display:flex}.dice.thrown{animation:.9s cubic-bezier(.2,.8,.3,1) throw}@keyframes throw{0%{transform:translateY(-80px)scale(.6)}40%{transform:translateY(10px)scale(1.05)}60%{transform:translateY(-14px)}80%{transform:translateY(0)}}.die-wrap{--s:54px;--h:27px;width:var(--s);height:var(--s)}.die{width:100%;height:100%;transform-style:preserve-3d;position:relative}.die.tumble{animation:.95s cubic-bezier(.15,.7,.25,1) tumble}@keyframes tumble{0%{transform:var(--from)}to{transform:var(--to)}}.die-core{background:#e3e9f2;position:absolute;inset:1px}.die-face{backface-visibility:hidden;background:radial-gradient(circle at 40% 35%,#fff 55%,#eef2f8 100%);border-radius:12px;position:absolute;inset:0;box-shadow:inset 0 0 5px 1px #96a5be59}.pip{background:radial-gradient(circle at 35% 35%,#4a5870,#1d2638);border-radius:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;position:absolute}.pip.red{background:radial-gradient(circle at 35% 35%,#ff7a6e,#c9261b);width:15px;height:15px;margin:-7.5px 0 0 -7.5px}.roll{pointer-events:auto;flex-direction:column;align-items:center;gap:10px;display:flex}.gauge{opacity:.75;border-radius:999px;width:220px;height:22px;transition:opacity .2s;display:flex;position:relative;overflow:visible;box-shadow:0 0 0 3px #fff,0 4px 10px #00000040}.gauge.live{opacity:1}.zone{font-family:var(--font-display);color:#fff;text-shadow:0 1px #0000004d;flex:1;justify-content:center;align-items:center;font-size:11px;display:flex}.zone.low{background:#6cc6ff;border-radius:999px 0 0 999px}.zone.mid{background:#7ed957}.zone.high{background:#ff8a5c;border-radius:0 999px 999px 0}.marker{width:8px;height:34px;box-shadow:0 0 0 2px var(--ink), 0 2px 6px #0006;background:#fff;border-radius:4px;margin-left:-4px;position:absolute;top:-6px}.roll-btn{touch-action:none;border-radius:20px;padding:14px 34px;font-size:24px;animation:1.4s ease-in-out infinite breathe}.roll-btn.held{box-shadow:0 1px 0 var(--cd);animation:none;transform:translateY(4px)scale(.97)}@keyframes breathe{50%{transform:scale(1.06)}}.center-hud{pointer-events:none;z-index:5;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-62%)}.turn-chip{color:#fff;background:var(--c);text-shadow:0 1px #0000004d;border-radius:999px;padding:5px 16px;font-size:17px;box-shadow:0 0 0 3px #fff,0 4px 10px #00000040}.dice-sum{color:#fff;text-shadow:0 3px #1f4f86;align-items:center;gap:8px;font-size:30px;animation:1.3s ease-out both sum-in;display:flex}.double{background:var(--red);text-shadow:none;border-radius:8px;padding:2px 8px;font-size:16px}@keyframes sum-in{0%,70%{opacity:0;transform:scale(.5)}85%{transform:scale(1.2)}to{opacity:1}}.turn-timer{background:#ffffff4d;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:14px}.turn-timer.urgent{color:var(--red);background:#fff;animation:.6s ease-in-out infinite breathe}@media (width<=760px){.center-hud{transform:translate(-50%,-62%)scale(.7)}}.event-log{--gap:16px;right:var(--gap);background:var(--paper);width:clamp(240px,22vw,320px);color:var(--ink);box-shadow:0 0 0 3px #fff9, var(--shadow);z-index:5;border-radius:16px;flex-direction:column;display:flex;position:absolute;bottom:114px;overflow:hidden}.event-log.open{z-index:8}.log-toggle{background:var(--paper-2);border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;align-items:center;gap:6px;padding:9px 12px 7px 14px;display:flex}.log-toggle:hover{background:#e9eff8}.log-title{flex:1;font-size:15px;line-height:1}.log-hint{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.log-chevron{color:var(--ink-soft);transition:transform .2s;transform:rotate(180deg)}.event-log.open .log-chevron{transform:none}.log-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;margin:0;padding:6px 8px 8px;list-style:none;overflow-y:auto}.event-log.open .log-list{max-height:min(360px,100vh - 330px)}.log-entry{color:var(--ink-soft);align-items:flex-start;gap:8px;padding:5px 4px;font-size:13px;font-weight:700;line-height:1.3;animation:.3s ease-out log-in;display:flex}.log-entry+.log-entry{border-top:1px solid var(--paper-2)}.log-entry:first-child{color:var(--ink)}.log-chip{color:#fff;background:var(--c);text-shadow:0 1px #0003;border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-top:-1px;font-size:12px;line-height:1;display:flex;box-shadow:inset 0 -2px #0000002e}.log-text{overflow-wrap:anywhere;min-width:0}.log-name{color:color-mix(in srgb, var(--c) 72%, black);font-weight:900}.log-empty{color:var(--ink-soft);padding:10px 14px 12px;font-size:13px;font-weight:700}@keyframes log-in{0%{opacity:0;transform:translateY(-4px)}}@media (width<=1100px){.event-log{width:240px}}@media (width<=1100px),(height<=820px){.event-log:not(.open) .log-entry:not(:first-child){display:none}}@media (width<=760px){.event-log{border-radius:14px;width:auto;bottom:78px;left:12px;right:12px}.log-toggle{padding:7px 10px 6px 12px}.log-title{font-size:13px}.log-list{padding:4px 6px 6px}.log-entry{font-size:12px}.event-log:not(.open) .log-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-log.open .log-list{max-height:45vh}}.panel{background:var(--paper);border-radius:var(--radius);min-width:200px;box-shadow:0 0 0 3px var(--c), var(--shadow);z-index:6;align-items:center;gap:10px;padding:10px 14px 10px 10px;transition:transform .25s,box-shadow .25s;display:flex;position:absolute}.panel.bl{bottom:16px;left:16px}.panel.tl{top:76px;left:16px}.panel.tr{top:76px;right:16px}.panel.br{bottom:16px;right:16px}.panel.active{box-shadow:0 0 0 4px var(--c), 0 0 0 8px #fff, 0 0 30px #fff, var(--shadow);transform:scale(1.06)}.panel.bankrupt{filter:grayscale();opacity:.6}.avatar{color:#fff;background:var(--c);text-shadow:0 2px #00000040;border-radius:14px;flex:none;justify-content:center;align-items:center;width:52px;height:52px;font-size:28px;display:flex;box-shadow:inset 0 -5px #0003}.pname{align-items:center;gap:6px;font-size:15px;font-weight:900;display:flex}.bot-tag{background:var(--paper-2);color:var(--ink-soft);border-radius:5px;padding:1px 5px;font-size:9px;font-weight:900}.cash{color:var(--green-dark);font-size:22px;line-height:1.05}.bankrupt .cash{color:var(--red-dark);font-size:18px}.worth{color:var(--ink-soft);font-size:11px;font-weight:800}.status{gap:4px;min-height:0;margin-top:2px;display:flex}.chip{background:var(--paper-2);border-radius:999px;align-items:center;gap:2px;padding:1px 6px 1px 3px;font-size:11px;font-weight:900;display:inline-flex}.float{pointer-events:none;-webkit-text-stroke:1px #00000026;font-size:22px;animation:1.6s ease-out forwards float-up;position:absolute;top:-6px;right:12px}.float.up{color:var(--green)}.float.down{color:var(--red)}.panel.tl .float,.panel.tr .float{animation-name:float-down;top:auto;bottom:-10px}@keyframes float-up{0%{opacity:0;transform:translateY(10px)scale(.6)}15%{opacity:1;transform:translateY(-8px)scale(1.15)}to{opacity:0;transform:translateY(-40px)}}@keyframes float-down{0%{opacity:0;transform:translateY(-10px)scale(.6)}15%{opacity:1;transform:translateY(8px)scale(1.15)}to{opacity:0;transform:translateY(40px)}}@media (width<=760px){.panel{gap:6px;width:calc(50% - 20px);min-width:0;padding:6px 8px 6px 6px}.panel.tl,.panel.tr{top:62px}.panel.bl,.panel.br{bottom:10px}.panel.tl,.panel.bl{left:12px}.panel.tr,.panel.br{right:12px}.panel.active{transform:none}.avatar{border-radius:10px;width:34px;height:34px;font-size:18px}.cash{font-size:17px}.worth{display:none}}.toasts{z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(92vw,460px);display:flex;position:absolute;top:66px;left:50%;transform:translate(-50%)}.toast{color:var(--ink);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:999px;padding:8px 18px;font-size:15px;font-weight:900;animation:.3s cubic-bezier(.3,1.5,.5,1) toast-in}.toast.good{background:var(--green);color:#fff}.toast.bad{background:var(--red);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px)scale(.8)}}.market-badges{gap:6px;display:flex}.badge{color:#fff;box-shadow:var(--shadow);text-shadow:0 1px #00000040;border-radius:999px;padding:5px 12px;font-size:14px;animation:.4s cubic-bezier(.3,1.6,.5,1) pop}.badge.jackpot{background:linear-gradient(var(--gold), var(--gold-dark))}.badge.boom{background:var(--green)}.badge.crash{background:var(--red)}@media (width<=760px){.badge{padding:4px 8px;font-size:11px}}.topbar{z-index:7;pointer-events:none;align-items:center;gap:12px;display:flex;position:absolute;top:12px;left:16px;right:16px}.topbar>*{pointer-events:auto}.brand{color:#fff;text-shadow:0 3px #1f6fc4,0 6px 12px #0003;font-size:28px}.round-pill{color:var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:999px;margin:0 auto;padding:5px 16px;font-size:18px}.round-pill span{color:var(--ink-soft);font-size:14px}.tools{gap:8px;display:flex}@media (width<=760px){.brand{display:none}.round-pill{margin:0;font-size:14px}.tools{gap:5px;margin-left:auto}.tools .btn.small{padding:5px 8px;font-size:12px}}.modal-backdrop{z-index:30;background:#0f234659;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fade-in;display:flex;position:absolute;inset:0}.modal-backdrop.passive{pointer-events:none;background:0 0}.modal-backdrop.passive .modal{opacity:.95;transform:scale(.85)}.modal{background:var(--paper);border-radius:24px;width:min(420px,100%);max-height:calc(100vh - 32px);animation:.35s cubic-bezier(.3,1.5,.5,1) modal-in;overflow:auto;box-shadow:0 0 0 4px #fff,0 10px #14285040,0 24px 50px #0a1e3c66}.modal-title{background:var(--accent);color:#fff;text-align:center;text-shadow:0 2px #0003;padding:12px 16px 10px;font-size:26px;box-shadow:inset 0 -5px #00000026}.modal-body{padding:16px 18px 20px}.modal-actions{justify-content:center;gap:10px;margin-top:16px;display:flex}.modal-actions .btn{flex:1}.modal-note{text-align:center;color:var(--ink-soft);font-size:14px;font-weight:800}.modal-big{text-align:center;font-family:var(--font-display);color:var(--ink);font-size:34px}.go-hero{flex-direction:column;align-items:center;animation:.6s cubic-bezier(.3,1.6,.5,1) pop;display:flex}.go-name{text-shadow:0 3px #0000001f;font-size:34px}.go-rank{counter-reset:rank;margin:14px 0 0;padding:0;list-style:none}.go-rank li{counter-increment:rank;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;font-weight:900;display:flex}.go-rank li:before{content:counter(rank);font-family:var(--font-display);color:var(--ink-soft);width:16px}.go-rank li:nth-child(odd){background:var(--paper-2)}.go-dot{border-radius:50%;width:14px;height:14px}.go-pname{flex:1}.rent-table{border-collapse:collapse;width:100%;font-size:14px;font-weight:800}.rent-table th{text-align:left;text-transform:uppercase;color:var(--ink-soft);padding:4px 8px;font-size:11px}.rent-table td{border-top:1px solid var(--line);padding:5px 8px}.rent-table td:not(:first-child),.rent-table th:not(:first-child){text-align:right}.rent-table tr.current td{background:#fff4cc}.rent-table tfoot td{color:var(--ink-soft);border:0;padding-top:8px;font-size:11px;text-align:left!important}.modal.rules{width:min(520px,100%)}.rules dl{flex-direction:column;gap:10px;margin:0;display:flex}.rules dt{color:var(--blue-dark);font-size:17px}.rules dd{color:var(--ink-soft);margin:0;font-size:14px;font-weight:700}.levels{justify-content:center;gap:8px;display:flex}.level{background:var(--paper-2);max-width:96px;box-shadow:inset 0 0 0 2px var(--line), 0 3px 0 var(--line);color:var(--ink);border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px;transition:transform .12s,background .12s;display:flex}.level:disabled{cursor:default}.level.on{box-shadow:inset 0 0 0 3px var(--gold), 0 3px 0 var(--gold-dark);background:#fff6d6;transform:translateY(-3px)}.level-art{justify-content:center;align-items:flex-end;height:62px;display:flex}.level-name{font-family:var(--font-display);font-size:14px}.level-cost{color:var(--green-dark);font-size:13px;font-weight:900}.build-sum{background:var(--paper-2);border-radius:12px;justify-content:space-around;margin-top:14px;padding:10px;display:flex}.build-sum>div{flex-direction:column;align-items:center;display:flex}.build-sum span{text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:900}.build-sum b{font-family:var(--font-display);font-size:20px;font-weight:400}.resort-offer{flex-direction:column;align-items:center;gap:6px;display:flex}.chance-card{width:260px;height:340px;transform-style:preserve-3d;animation:.8s cubic-bezier(.3,1.3,.5,1) forwards card-flip;position:relative}.chance-back,.chance-front{backface-visibility:hidden;border-radius:22px;position:absolute;inset:0;box-shadow:0 0 0 5px #fff,0 16px 40px #00000059}.chance-back{background:repeating-linear-gradient(45deg,#ffb81f 0 16px,#ffc94d 16px 32px);justify-content:center;align-items:center;display:flex}.chance-front{text-align:center;border-top:60px solid var(--green);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;transform:rotateY(180deg)}.chance-front.bad{border-top-color:var(--red)}.chance-who{color:#fff;font-weight:900;position:absolute;top:-44px}.chance-title{font-size:30px;line-height:1}.chance-text{color:var(--ink-soft);font-size:16px;font-weight:800}@keyframes card-flip{0%{transform:rotateY(0)scale(.6)translateY(80px)}to{transform:rotateY(180deg)scale(1)}}.banner{z-index:25;width:min(92vw,480px);box-shadow:0 0 0 4px var(--gold), var(--shadow);text-align:center;background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:12px 18px;animation:.3s cubic-bezier(.3,1.5,.5,1) modal-in;display:flex;position:absolute;top:64px;left:50%;transform:translate(-50%)}.banner.bad{box-shadow:0 0 0 4px var(--red), var(--shadow)}.banner-title{font-size:21px}.banner-sub{color:var(--ink-soft);font-size:13px;font-weight:800}.map-cards{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.map-card{background:var(--paper-2);color:var(--ink);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:8px 6px 10px;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:inset 0 0 0 2px #0000}.map-card:disabled{cursor:default}.map-card.on{box-shadow:inset 0 0 0 3px var(--gold);background:#fff6d6;transform:translateY(-2px)}.map-swatch{background:linear-gradient(var(--s1), var(--s2));border-radius:10px;justify-content:center;align-items:center;width:100%;height:44px;display:flex}.map-swatch span{background:var(--b);width:30px;height:30px;box-shadow:0 5px 0 var(--e);border-radius:6px;transform:rotateX(50deg)rotate(45deg)}.map-name{text-align:center;font-size:13px;line-height:1.1}.map-detail{background:var(--paper-2);color:var(--ink-soft);border-radius:12px;margin-top:10px;padding:10px 12px;font-size:13px;font-weight:700}.map-tagline{color:var(--ink);font-weight:900}.map-detail ul{margin:6px 0 0;padding-left:18px}.rules-editor{flex-direction:column;gap:8px;display:flex}.presets{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.presets button{background:var(--paper-2);color:var(--ink-soft);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:900}.presets button.on{background:var(--blue);color:#fff}.presets .custom{color:var(--gold-dark);font-size:12px;font-weight:900}.rules-editor details{background:var(--paper-2);border-radius:14px;padding:4px 12px}.rules-editor summary{cursor:pointer;color:var(--ink);padding:6px 0;font-size:16px}.knobs{flex-direction:column;gap:8px;padding:4px 0 10px;display:flex}.knob{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.knob-label{flex-direction:column;font-size:14px;font-weight:800;display:flex}.knob-label small{color:var(--ink-soft);font-size:11px;font-weight:700}.knob .seg{background:#fff}.knob .seg button{padding:5px 9px;font-size:12.5px}.knob .seg button.on{background:var(--blue);color:#fff;box-shadow:none}.toggle{background:#cfd7e4;border-radius:999px;flex:none;width:46px;height:26px;transition:background .15s;position:relative}.toggle span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 2px 3px #0003}.toggle.on{background:var(--green)}.toggle.on span{transform:translate(20px)}.rules-editor.readonly button{cursor:default}.rules-editor.readonly .seg button:not(.on),.rules-editor.readonly .presets button:not(.on){opacity:.5}.knob .seg{flex-wrap:wrap}.setup{justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0;overflow:auto}.setup-card{background:#fff;border-radius:28px;width:min(460px,100%);padding:26px 24px 24px;animation:.5s cubic-bezier(.3,1.5,.5,1) modal-in;box-shadow:0 0 0 5px #fff,0 12px #14285033,0 30px 60px #0a1e3c4d}.setup-title{text-align:center;color:var(--gold);text-shadow:0 4px 0 var(--gold-dark), 0 8px 16px #00000026;margin:0;font-size:56px;font-weight:400;line-height:1}.setup-tag{text-align:center;color:var(--ink-soft);margin:8px 0 18px;font-weight:800}.seats{flex-direction:column;gap:8px;display:flex}.seat{background:var(--paper-2);box-shadow:inset 4px 0 0 var(--c);border-radius:14px;align-items:center;gap:8px;padding:6px;display:flex}.seat-color{background:var(--c);border-radius:10px;flex:none;width:34px;height:34px;box-shadow:inset 0 -4px #0003}.seat input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;border-radius:8px;flex:1;padding:6px;font-size:16px;font-weight:900}.seat input:focus{outline:2px solid var(--c);background:#fff}.seat-kind{border-radius:10px;min-width:72px;padding:7px 12px;font-size:13px;font-weight:900}.seat-kind.human{background:var(--c);color:#fff}.seat-kind.bot{color:var(--ink-soft);box-shadow:inset 0 0 0 2px var(--line);background:#fff}.seat-remove{width:28px;height:28px;color:var(--ink-soft);background:0 0;border-radius:8px;font-size:20px;line-height:1}.seat-remove:hover{color:var(--red);background:#fff}.seat-add{border:2px dashed var(--line);color:var(--ink-soft);background:0 0;border-radius:14px;padding:10px;font-weight:900}.seat-add:hover{border-color:var(--blue);color:var(--blue)}.seg{background:var(--paper-2);border-radius:12px;padding:3px;display:flex}.seg button{color:var(--ink-soft);background:0 0;border-radius:9px;padding:6px 12px;font-weight:900}.seg button.on{color:var(--ink);box-shadow:0 2px 0 var(--line);background:#fff}.setup-play{flex:1;font-size:26px}.setup-card.menu{flex-direction:column;gap:12px;display:flex}.setup-card.menu .setup-tag{margin-bottom:4px}.field{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:13px;font-weight:900;display:flex}.field input,.code-input{font:inherit;color:var(--ink);background:var(--paper-2);border:2px solid #0000;border-radius:12px;outline:none;padding:10px 12px;font-size:17px;font-weight:900}.field input:focus,.code-input:focus{border-color:var(--blue);background:#fff}.menu-main{flex-direction:column;align-items:center;padding:14px;font-size:24px;display:flex}.menu-main small{font-family:var(--font-body);text-shadow:none;opacity:.9;font-size:12px;font-weight:800}.menu-online{background:var(--paper-2);border-radius:16px;flex-direction:column;gap:8px;padding:12px;display:flex}.menu-section{color:var(--ink-soft);font-size:16px}.join-row{gap:8px;display:flex}.code-input{min-width:0;font-family:var(--font-display);letter-spacing:.3em;text-align:center;background:#fff;flex:1;font-weight:400}.link-btn{color:var(--blue-dark);background:0 0;align-self:center;padding:4px;font-weight:900;text-decoration:underline}.setup-card.wide{width:min(920px,100%);max-height:calc(100vh - 32px);overflow:auto}.setup-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.setup-head h2{flex:1;margin:0;font-size:28px;font-weight:400}.setup-cols{grid-template-columns:1fr 1fr;gap:20px;display:grid}.setup-cols h3{align-items:baseline;gap:8px;margin:14px 0 8px;font-size:18px;font-weight:400;display:flex}.setup-cols h3 small{font-family:var(--font-body);color:var(--ink-soft);font-size:12px;font-weight:800}@media (width<=760px){.setup-cols{grid-template-columns:1fr;gap:0}}.seat.away{opacity:.55}.seat-name{flex:1;align-items:center;gap:6px;min-width:0;padding:6px;font-weight:900;display:flex}.seat-name em{text-transform:uppercase;color:var(--ink-soft);background:#fff;border-radius:6px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:900}span.seat-kind{text-align:center}.room-code{letter-spacing:.15em;color:var(--blue-dark);background:#eaf4ff;border-radius:14px;flex-direction:column;align-items:center;padding:8px 14px 6px;font-size:30px;line-height:1;display:flex}.room-code small{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-top:2px;font-size:10px;font-weight:900}.lobby-banner{color:var(--red-dark);background:#ffe9e6;border-radius:10px;padding:8px 12px;font-weight:900}.lobby-wait{text-align:center;color:var(--ink-soft);margin-top:18px;font-size:18px}.color-row{gap:8px;margin-top:10px;display:flex}.swatch{border-radius:8px;width:28px;height:28px;box-shadow:inset 0 -3px #0003}.swatch.on{outline:3px solid var(--ink);outline-offset:2px}.swatch:disabled{opacity:.25;cursor:default}.setup-card.wide .setup-play{width:100%;margin-top:18px}.setup-cols>section{min-width:0}@media (width<=760px){.setup-card.wide{padding:18px 14px}.setup-head h2{font-size:22px}}.sky{pointer-events:none;position:absolute;inset:0;overflow:hidden}.cloud{opacity:.75;background:#fff;border-radius:999px;width:220px;height:64px;animation:linear infinite drift;position:absolute}.cloud:before,.cloud:after{content:"";background:#fff;border-radius:50%;position:absolute}.cloud:before{width:100px;height:100px;top:-50px;left:30px}.cloud:after{width:70px;height:70px;top:-30px;left:110px}.cloud.c0{animation-duration:90s;animation-delay:-20s;top:8%}.cloud.c1{animation-duration:120s;animation-delay:-70s;top:30%;transform:scale(.6)}.cloud.c2{opacity:.5;animation-duration:100s;animation-delay:-45s;top:62%}.cloud.c3{animation-duration:140s;animation-delay:-10s;top:82%}.cloud.c4{opacity:.55;animation-duration:110s;animation-delay:-95s;top:18%}@keyframes drift{0%{left:-260px}to{left:110%}}
