:root{color:#ecf2ef;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#182734;--surface-raised:#203240;--foreground:#ecf2ef;--muted:#a5b6bf;--border:#344652;--accent:#84d2e3;--player:#74c9e2;--player-fill:#24556b;--rival:#f8a18b;--rival-fill:#784a42;--gold:#edce84;--focus:#fff3ba;--radius:18px;background:#101c27;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button[hidden],[hidden]{display:none!important}button{touch-action:manipulation}a{color:inherit}.shell{max-width:1100px;margin:auto;padding:0 40px}.masthead{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;height:88px;display:flex}.brand{letter-spacing:.13em;align-items:center;gap:10px;font-size:12px;font-weight:800;text-decoration:none;display:flex}.brand-mark{color:var(--gold);font-size:31px;line-height:1}.text-button{color:var(--muted);text-underline-offset:4px;background:0 0;border:0;padding:10px 4px;font-size:12px;text-decoration:underline}.text-button:hover{color:var(--foreground)}.heading{justify-content:space-between;align-items:flex-end;gap:24px;margin:40px 0 28px;display:flex}.eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 15px;font-size:10px;font-weight:800}h1{letter-spacing:-.045em;margin:0;font-size:clamp(30px,4.2vw,49px);font-weight:750;line-height:1.07}h1 span{color:var(--accent)}.intro{color:var(--muted);margin:15px 0 0;font-size:14px;line-height:1.5}.legend{color:var(--muted);white-space:nowrap;gap:17px;padding-bottom:3px;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{font-size:14px;font-style:normal}.legend-player{color:var(--player)}.legend-opponent{color:var(--rival)}.legend-beacon{color:var(--gold)}.game-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:32px;display:grid}.arena{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:23px 25px 22px;position:relative;overflow:hidden}.scoreboard{justify-content:space-between;gap:12px;display:flex}.scoreboard>div:last-child{text-align:right}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:10px;display:block}.scoreboard strong{font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:22px;line-height:1.2}.territory-score{text-align:center}.score-divider{color:var(--border);font-weight:400}#player-tiles{color:var(--player)}#opponent-tiles{color:var(--rival)}.beacon-progress{background:var(--border);border-radius:3px;height:3px;margin:16px 0 14px;overflow:hidden}#beacon-fill{background:var(--gold);height:100%;transition:width .15s linear;display:block}.board-wrap{position:relative}.board{aspect-ratio:1.1022;background:radial-gradient(#edce8412 0,#0000 55%);width:100%;position:relative}.tile{width:14.2857%;height:18.1818%;color:var(--muted);background:var(--border);clip-path:polygon(50% 2%,98% 26%,98% 74%,50% 98%,2% 74%,2% 26%);isolation:isolate;border:0;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:0;transition:filter .15s;display:flex;position:absolute;transform:translate(-50%,-50%)}.tile:before{content:"";z-index:-1;background:var(--surface-raised);clip-path:polygon(50% 2%,98% 26%,98% 74%,50% 98%,2% 74%,2% 26%);position:absolute;inset:2px}.tile-player{background:var(--player-fill);color:#c9f2ff}.tile-player:before{background:var(--player-fill)}.tile-opponent{background:var(--rival-fill);color:#ffe0d6}.tile-opponent:before{background:var(--rival-fill)}.tile-symbol{min-height:12px;font-size:10px;line-height:1.2}.tile-count{font-variant-numeric:tabular-nums;font-size:clamp(13px,2.2vw,21px);line-height:1.2}.tile-order{color:var(--gold);font-size:10px;position:absolute;top:29%;right:22%}.tile-beacon{background:var(--gold)}.tile-beacon .tile-symbol{color:var(--gold);font-size:16px;line-height:1}.tile-beacon:before{inset:3px}.tile.is-neighbor{background:#b3c4c8}.tile.is-neighbor:before{inset:3px}.tile.is-selected{background:var(--focus);filter:brightness(1.14)}.tile.is-selected:before{inset:4px}.tile:focus-visible{background:var(--focus);filter:brightness(1.25);outline:0}.tile:focus-visible:before{inset:5px}.tile:not(:disabled):hover{filter:brightness(1.22)}.command-strip{align-items:flex-start;gap:9px;min-height:35px;margin:12px 0 0;display:flex}.command-dot{background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px;margin-top:6px}.command-strip p{color:var(--foreground);margin:0;font-size:12px;line-height:1.45}.game-status{color:var(--muted);min-height:16px;margin:6px 0 16px;font-size:11px;line-height:1.45}.round-actions{align-items:center;gap:12px;display:flex}.primary-button,.secondary-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:20px;min-height:43px;padding:11px 17px;font-size:12px;font-weight:750;display:inline-flex}.primary-button{background:var(--accent);color:#102733}.primary-button:hover{background:#b3e9f3}.secondary-button{border-color:var(--border);color:var(--foreground);background:0 0}.secondary-button:hover{background:var(--surface-raised)}#start-button{justify-content:space-between;width:100%}.pause-shade{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;background:#182734ed;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-shade>span{color:var(--gold);margin-bottom:12px;font-size:36px}.pause-shade>strong{font-size:24px}.pause-shade p{color:var(--muted);margin-bottom:22px;font-size:13px}.result-panel{border-top:1px solid var(--border);margin-top:5px;padding-top:18px}.result-panel .eyebrow{margin-bottom:8px}.result-panel h2{letter-spacing:-.04em;margin:0;font-size:26px}.result-panel>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.6}.result-panel .primary-button{justify-content:space-between;width:100%}.field-guide{padding-top:2px}.settings{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:21px}.settings label{color:var(--muted);margin:16px 0 7px;font-size:11px;display:block}.settings select{width:100%;color:var(--foreground);background:var(--surface-raised);border:1px solid var(--border);border-radius:7px;padding:11px 10px;font-size:12px}.settings select:disabled{opacity:.65}.settings-note,.small-note{color:var(--muted);margin:13px 0 0;font-size:10px;line-height:1.55}.how-to{padding:27px 5px 0}.how-to ol{margin:0;padding:0;list-style:none}.how-to li{gap:13px;margin:19px 0;display:flex}.how-to li>span{color:var(--accent);font-variant-numeric:tabular-nums;padding-top:3px;font-size:10px}.how-to strong{font-size:12px;font-weight:700}.how-to li p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.tip{color:var(--muted);border-top:1px solid var(--border);margin:21px 0;padding-top:15px;font-size:10px;line-height:1.7}.feedback{padding:5px}.feedback>p:not(.eyebrow){color:var(--muted);font-size:11px}.feedback .eyebrow{margin-bottom:8px}.feedback-options{flex-wrap:wrap;gap:7px;display:flex}.feedback-options button{color:var(--muted);border:1px solid var(--border);background:0 0;border-radius:6px;min-height:34px;padding:8px 9px;font-size:10px}.feedback-options button:hover{border-color:var(--accent);color:var(--foreground)}footer{color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;gap:20px;margin-top:35px;padding:23px 0;font-size:10px;display:flex}.consent-banner{border:1px solid var(--border);background:var(--surface-raised);border-radius:12px;justify-content:space-between;align-items:center;gap:25px;max-width:900px;margin:0 auto 25px;padding:18px 22px;display:flex}.consent-banner strong{font-size:12px}.consent-banner p{color:var(--muted);max-width:480px;margin:5px 0 0;font-size:11px;line-height:1.6}.consent-banner>div:last-child{flex:none;gap:8px;display:flex}.consent-banner button{min-height:38px;padding:9px 12px;font-size:11px}dialog{background:var(--surface);color:var(--foreground);border:1px solid var(--border);border-radius:16px;width:calc(100% - 32px);max-width:560px;padding:25px}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05111dcc}.dialog-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.dialog-heading h2{letter-spacing:-.03em;margin:0;font-size:23px}dialog p{color:var(--muted);font-size:13px;line-height:1.7}.dialog-actions{flex-wrap:wrap;gap:10px;display:flex}dialog .small-note{font-size:11px}@media (width<=780px){.shell{padding:0 22px}.masthead{height:70px}.heading{margin-top:28px}.game-layout{grid-template-columns:minmax(0,1fr);gap:25px}.field-guide{grid-template-columns:1fr 1fr;gap:20px;display:grid}.how-to{padding-top:5px}.feedback{grid-column:1/-1;padding-top:0}.arena{justify-self:center;width:100%;max-width:600px}.tile-count{font-size:clamp(16px,3.8vw,23px)}.consent-banner{flex-direction:column;align-items:stretch;gap:15px}.consent-banner>div:last-child{justify-content:flex-end}.legend{gap:11px;font-size:10px}}@media (width<=480px){.shell{padding:0 16px}.masthead{height:60px}.brand{letter-spacing:.1em;gap:6px;font-size:9px}.brand-mark{font-size:25px}.masthead .text-button{font-size:10px}.heading{margin:23px 0 19px;display:block}.heading .eyebrow{margin-bottom:11px;font-size:9px}h1{font-size:34px}.intro{margin-top:11px;font-size:12px}.legend{margin-top:15px}.arena{border-radius:14px;padding:16px 12px 17px}.scoreboard{padding:0 3px}.stat-label{letter-spacing:.08em;font-size:8px}.scoreboard strong{font-size:20px}.beacon-progress{margin:13px 3px}.board-wrap{margin:0 3px}.command-strip{margin-top:14px}.command-strip p{font-size:11px}.game-status{font-size:10px}.tile-count{font-size:17px}.tile-symbol{font-size:9px}.tile-beacon .tile-symbol{font-size:13px}.tile-order{font-size:9px;right:18%}.field-guide{grid-template-columns:1fr;gap:23px}.settings{padding:18px}.settings .eyebrow{margin-bottom:13px}.settings label{margin-top:12px}.how-to{padding:0 3px}.how-to ol{gap:0;display:grid}.how-to li{margin:11px 0}.tip{margin-bottom:0}.feedback{grid-column:auto;padding:0 3px}.feedback-options button{min-height:38px;font-size:11px}.consent-banner{gap:12px;padding:16px}.consent-banner>div:last-child{justify-content:stretch}.consent-banner button{flex:1}footer{margin-top:27px;line-height:1.7;display:block}footer span{margin-bottom:4px;display:block}.round-actions .text-button{font-size:11px}.dialog-heading h2{font-size:20px}dialog{padding:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
