:root{color-scheme:dark;--bg: #120d09;--panel: rgba(39, 27, 17, .78);--panel-solid: #24180f;--border: rgba(255, 222, 176, .13);--border-strong: rgba(255, 200, 130, .3);--text: #f7ecdc;--muted: #b7a48a;--accent: #f0b45f;--accent-strong: #e08b2d;--good: #8fd6a1;--bad: #ee8b8b;--radius: 18px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 18% -10%,rgba(224,139,45,.18),transparent 45%),radial-gradient(circle at 85% 0%,rgba(240,180,95,.1),transparent 40%),radial-gradient(circle at 50% 120%,rgba(122,74,34,.24),transparent 55%),var(--bg);color:var(--text)}button,input{font:inherit}.shell{width:min(1120px,100%);margin:0 auto;padding:2.25rem 1.5rem 3rem}h1,h2{font-family:ui-serif,Georgia,Times New Roman,serif;font-weight:600;letter-spacing:.01em}h1{margin:0;font-size:1.45rem}h2{margin:0;font-size:1.05rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.brand{display:flex;align-items:center;gap:.85rem}.brand-mark{display:inline-block;width:2.4rem;height:2.4rem;flex:none;border-radius:50%;border:.2rem solid #8a5326;background:radial-gradient(circle at 32% 28%,#f3c984,transparent 38%),radial-gradient(circle at 50% 50%,#c98a45,#9a5f2c 72%);box-shadow:inset 0 -.2rem .35rem #3c1e0873,0 .35rem .8rem #0006;position:relative}.brand-mark:before,.brand-mark:after{content:"";position:absolute;width:.3rem;height:.3rem;border-radius:50%;background:#54300f}.brand-mark:before{top:30%;left:26%}.brand-mark:after{bottom:26%;right:28%}.brand-mark-large{width:4.5rem;height:4.5rem;border-width:.35rem}.brand-mark-large:before,.brand-mark-large:after{width:.55rem;height:.55rem}.room-code{display:inline-block;margin-top:.15rem;font-size:.78rem;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:.75rem}.status{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--muted);white-space:nowrap}.status:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--muted)}.status[data-status=open]:before{background:var(--good);box-shadow:0 0 .6rem #8fd6a180}.status[data-status=connecting]:before,.status[data-status=reconnecting]:before{background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.status[data-status=closed]:before{background:var(--bad)}@keyframes pulse{50%{opacity:.3}}.panel{background:linear-gradient(160deg,rgba(255,240,215,.045),transparent 55%),var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1rem 2.5rem #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.panel-head .muted{font-size:.76rem}.muted{color:var(--muted)}.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.25rem;align-items:start}.play{display:grid;gap:1.25rem;min-width:0}.counter-panel{display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding:2.1rem 1.5rem 1.8rem;position:relative;overflow:hidden}.counter-panel:before{content:"";position:absolute;inset:-40% 20% auto;height:60%;background:radial-gradient(circle,rgba(240,180,95,.16),transparent 70%);pointer-events:none}.cookie{width:clamp(11.5rem,27vw,15.5rem);aspect-ratio:1;border-radius:50%;border:.6rem solid #8a5326;background:radial-gradient(circle at 30% 26%,#f6d79c 0%,transparent 34%),radial-gradient(circle at 72% 76%,#a8642b 0%,transparent 42%),radial-gradient(circle at 50% 45%,#d99a52,#b0713a 62%,#9a5f2c);box-shadow:inset 0 -.9rem 1.4rem #502a0c59,0 1rem #6b3f1c,0 1.4rem 2rem #0006;cursor:pointer;position:relative;transition:transform 70ms ease,box-shadow 70ms ease,filter .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}.cookie:hover:not(:disabled){filter:brightness(1.04)}.cookie:active:not(:disabled){transform:translateY(.55rem) scale(.985);box-shadow:inset 0 -.5rem 1rem #502a0c66,0 .4rem #6b3f1c,0 .6rem 1rem #00000059}.cookie:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cookie:disabled{filter:grayscale(.7) brightness(.7);cursor:not-allowed}.cookie-chip{position:absolute;border-radius:50%;background:#54300f;box-shadow:inset 0 .1rem .15rem #00000080;opacity:.85}.chip-a{width:1.1rem;height:1.1rem;top:24%;left:27%}.chip-b{width:.8rem;height:.8rem;top:42%;right:24%}.chip-c{width:1.3rem;height:1.3rem;bottom:24%;left:36%}.chip-d{width:.6rem;height:.6rem;bottom:32%;right:33%}.counter{text-align:center;position:relative}.counter strong{display:block;font-family:ui-serif,Georgia,serif;font-size:clamp(2.6rem,6vw,3.8rem);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.counter span{display:block;margin-top:.3rem;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.rate{margin:0;font-size:.88rem;color:var(--accent);font-variant-numeric:tabular-nums}.buildings,.leaderboard{padding:1.25rem}.building-list{display:grid;gap:.55rem}.building{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.75rem .95rem;border-radius:12px;border:1px solid var(--border);background:#fff0d709;color:inherit;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.building:hover:not(:disabled){background:#fff0d713;border-color:var(--border-strong);transform:translateY(-1px)}.building:disabled{opacity:.45;cursor:not-allowed}.building-info{display:grid;gap:.12rem;min-width:0}.building-info strong{font-size:.92rem}.building-info small{color:var(--muted);font-size:.74rem}.building-rate{color:var(--accent)!important}.building-meta{display:grid;justify-items:end;gap:.1rem;flex:none}.building-count{font-family:ui-serif,Georgia,serif;font-size:1.25rem;font-variant-numeric:tabular-nums;line-height:1}.building-cost{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.building-cost:after{content:" cookies"}.roster{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.roster li{display:grid;grid-template-columns:1.2rem minmax(0,1fr) auto .55rem;align-items:center;gap:.55rem;padding:.5rem .55rem;border-radius:10px;font-size:.85rem}.roster li.self{background:#f0b45f1c;border:1px solid rgba(240,180,95,.2)}.roster li.offline{opacity:.55}.rank{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums;text-align:right}.player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-name em{margin-left:.4rem;padding:.05rem .35rem;border-radius:99px;background:#f0b45f2e;color:var(--accent);font-size:.62rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.player-score{color:var(--accent);font-variant-numeric:tabular-nums}.presence{width:.5rem;height:.5rem;border-radius:50%;background:#5b4a37}.presence[data-online=true]{background:var(--good);box-shadow:0 0 .5rem #8fd6a18c}.lobby-total{margin:1rem 0 0;padding-top:.85rem;border-top:1px solid var(--border);font-size:.76rem}.shell.landing{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.landing-head{display:grid;justify-items:center;gap:.7rem;text-align:center}.landing-head h1{font-size:clamp(2rem,5vw,2.8rem)}.landing-head p{margin:0;max-width:26rem;color:var(--muted);font-size:.95rem}.landing-card{width:min(440px,100%);display:grid;gap:1rem;padding:1.75rem}.field{display:grid;gap:.4rem}.field>span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}input{width:100%;padding:.72rem .8rem;border-radius:10px;border:1px solid var(--border);background:#0f0a0699;color:var(--text)}input::placeholder{color:#7d6c58}input:focus{border-color:var(--border-strong)}.primary,.ghost{border-radius:11px;padding:.78rem 1rem;cursor:pointer;transition:filter .12s ease,background .12s ease,transform .12s ease}.primary{border:0;background:linear-gradient(160deg,#f6c878,var(--accent-strong));color:#2b1803;font-weight:700}.primary:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.primary:disabled{opacity:.6;cursor:progress}.ghost{border:1px solid var(--border-strong);background:transparent;color:var(--text);font-size:.85rem}.ghost:hover{background:#f0b45f1a}.divider{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin:.15rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.join-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.notice{margin:0;padding:.65rem .8rem;border-radius:10px;border:1px solid rgba(238,139,139,.3);background:#ee8b8b1a;color:#ffc0c0;font-size:.82rem}.footnote{margin:.2rem 0 0;font-size:.74rem;text-align:center;line-height:1.5}.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);max-width:min(28rem,calc(100vw - 2rem));padding:.7rem 1rem;border-radius:12px;border:1px solid var(--border-strong);background:var(--panel-solid);box-shadow:0 1rem 2rem #00000073;font-size:.85rem;z-index:20}@media(max-width:900px){.game-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.shell{padding:1.5rem 1rem 2.5rem}.topbar{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:space-between}.cookie{width:10.5rem}.counter-panel{padding:1.6rem 1rem 1.4rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
