:root{color-scheme:dark;--bg-night: #05101a;--bg-ocean: #0b2235;--panel: rgba(9, 24, 39, .84);--panel-border: rgba(147, 190, 220, .18);--text-main: #f4f4e6;--text-soft: #aac8d8;--mint: #5bf2bf;--gold: #ffd25f;--coral: #ff7d6b;--shadow: 0 24px 60px rgba(1, 7, 15, .45)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at top left,rgba(91,242,191,.2),transparent 32%),radial-gradient(circle at 82% 18%,rgba(255,210,95,.18),transparent 24%),linear-gradient(150deg,var(--bg-night),var(--bg-ocean));color:var(--text-main);font-family:Trebuchet MS,Gill Sans,sans-serif}body:before{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:28px 28px;content:"";top:0;right:0;bottom:0;left:0;opacity:.35;pointer-events:none;position:fixed}button,input{font:inherit}.screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.app-shell{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) 400px;min-height:100vh;padding:24px;position:relative}.main-column,.sidebar-column{display:flex;flex-direction:column;gap:24px}.panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--panel);border:1px solid var(--panel-border);border-radius:24px;box-shadow:var(--shadow);position:relative}.rules-modal-backdrop{align-items:center;background:#02080eb3;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;overflow-y:auto;padding:24px;position:fixed;z-index:20}.rules-modal{display:flex;flex-direction:column;max-height:min(84vh,820px);max-width:760px;overflow:hidden;padding:28px;width:min(100%,760px)}.rules-modal-heading{align-items:flex-start;margin-bottom:18px}.rules-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:10px}.rules-doc-title,.rules-doc-section,.rules-paragraph{margin:0}.rules-doc-title{font-family:Georgia,Times New Roman,serif;font-size:1.4rem;margin-bottom:18px;overflow-wrap:anywhere}.rules-doc-section{color:var(--gold);font-size:1rem;letter-spacing:.04em;margin-bottom:10px;margin-top:22px;overflow-wrap:anywhere;text-transform:uppercase}.rules-paragraph{color:var(--text-soft);line-height:1.6;overflow-wrap:anywhere}.rules-list{color:var(--text-main);display:grid;gap:10px;line-height:1.55;margin:0;padding-left:22px}.rules-list li{overflow-wrap:anywhere}.gate-panel,.content-panel,.score-panel,.top-banner,.flash-panel{padding:28px}.eyebrow{color:var(--mint);letter-spacing:.18em;margin:0 0 8px;text-transform:uppercase}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,Times New Roman,serif}h1{font-size:clamp(2.2rem,4vw,3.5rem)}h2{font-size:clamp(1.8rem,3vw,2.6rem)}h3{font-size:1.05rem}.support-copy{color:var(--text-soft);line-height:1.55;margin-top:10px;max-width:62ch}.top-banner{align-items:center;display:flex;justify-content:space-between}.banner-meta,.action-row,.game-summary,.controls-strip,.section-heading{align-items:center;display:flex;gap:12px}.section-heading{justify-content:space-between;margin-bottom:24px}.banner-meta,.action-row,.game-summary{flex-wrap:wrap;justify-content:flex-end}.meta-pill,.status-badge{border-radius:999px;display:inline-flex;font-size:.9rem;font-weight:700;gap:6px;letter-spacing:.02em;padding:9px 14px;text-transform:capitalize}.meta-pill{background:#ffffff12;color:var(--text-soft)}.meta-pill-active{background:#5bf2bf1f;color:var(--mint)}.status-badge{background:#ffffff14;color:var(--text-main)}.status-waiting{background:#ffd25f1f;color:var(--gold)}.status-ready,.status-alive{background:#5bf2bf24;color:var(--mint)}.status-dead{background:#ff7d6b24;color:var(--coral)}.stack-form,.inline-form{display:flex;gap:12px}.stack-form{flex-direction:column;margin-top:24px}.text-input{background:#ffffff12;border:1px solid rgba(255,255,255,.08);border-radius:16px;color:var(--text-main);min-height:52px;outline:none;padding:0 16px}.text-input::placeholder{color:#eaf2fa73}.text-input:focus{border-color:#5bf2bfa6;box-shadow:0 0 0 4px #5bf2bf24}.primary-button,.ghost-button,.game-card{border:0;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}.primary-button,.ghost-button{border-radius:16px;min-height:48px;padding:0 18px}.primary-button{background:linear-gradient(135deg,var(--mint),#83ffd4);box-shadow:0 14px 30px #5bf2bf38;color:#022a21;font-weight:800}.ghost-button{background:#ffffff14;color:var(--text-main)}.primary-button:hover,.ghost-button:hover,.game-card:hover{transform:translateY(-1px)}.empty-state,.flash-panel,.result-banner{background:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:18px}.flash-panel{color:var(--gold)}.result-banner{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.empty-copy{color:var(--text-soft)}.game-grid,.player-list,.score-list{display:grid;gap:14px}.game-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.game-card,.player-card,.score-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:20px;text-align:left}.game-card{padding:18px}.game-card-top,.player-card-top,.score-header,.player-identity{align-items:center;display:flex;justify-content:space-between}.game-card p,.player-card p,.score-card p{color:var(--text-soft);margin-top:10px}.player-card,.score-card{padding:16px}.score-card{padding:18px 18px 16px}.player-identity{gap:10px;justify-content:flex-start}.score-header{gap:12px}.score-total{color:var(--gold);font-size:.92rem;font-weight:700}.score-game{color:var(--text-main);font-size:.98rem}.score-stats{align-items:baseline;color:var(--text-soft);display:flex;flex-wrap:wrap;gap:8px;line-height:1.45;margin-top:10px}.score-date-subscript{color:#aac8d8b3;font-family:inherit;font-size:.72rem;margin-left:auto;position:relative;top:.22em;white-space:nowrap}.snake-swatch{border-radius:999px;box-shadow:0 0 0 4px #ffffff0f;display:inline-block;height:12px;width:12px}.bot-pill{background:#ffd25f24;border-radius:999px;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:4px 8px;text-transform:uppercase}.game-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 280px}.board-wrap{background:#040a118c;border:1px solid rgba(255,255,255,.05);border-radius:24px;overflow:hidden;padding:18px}.game-canvas{border-radius:18px;display:block;image-rendering:pixelated;max-width:100%;width:100%}.controls-strip{color:var(--text-soft);font-size:.92rem;justify-content:space-between;margin-top:14px}.compact-player-list{align-content:start}.controls-strip,.game-card p{font-family:Courier New,monospace}@media(max-width:980px){.app-shell,.game-layout{grid-template-columns:1fr}.sidebar-column{order:-1}}@media(max-width:720px){.app-shell,.screen{padding:16px}.gate-panel,.content-panel,.score-panel,.top-banner,.flash-panel,.rules-modal{padding:20px}.rules-modal-backdrop{align-items:stretch;padding:12px}.rules-modal{max-height:none;width:100%}.section-heading,.top-banner,.result-banner,.inline-form,.controls-strip{align-items:stretch;flex-direction:column}.banner-meta,.action-row,.game-summary{justify-content:flex-start}}
