:root{color:#15201e;background:#f4f7f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}html{min-width:320px;min-height:100%;background:#f4f7f5}body{--bg: #f7f8f7;--text: #2f3d45;--muted: #748087;--panel: rgba(255, 255, 255, .9);--panel-soft: rgba(248, 251, 249, .82);--panel-border: #d9dfe0;--primary: #43515a;--primary-text: #ffffff;--secondary: #ffffff;--secondary-text: #46545d;--secondary-border: #cfd7d9;--accent: #5c6b74;--shadow: rgba(42, 52, 56, .12);margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.96),transparent 38%),linear-gradient(160deg,#f3f5f5fa,#fafbfaf5),var(--bg);color:var(--text)}body[data-theme=dark]{--bg: #101412;--text: #edf3ed;--muted: #aab8b1;--panel: rgba(23, 29, 27, .9);--panel-soft: rgba(31, 39, 36, .78);--panel-border: #34433e;--primary: #e9f2df;--primary-text: #13211d;--secondary: #1b2421;--secondary-text: #edf3ed;--secondary-border: #3d4d47;--accent: #ff8668;--shadow: rgba(0, 0, 0, .3);background:radial-gradient(circle at 50% 35%,rgba(64,77,74,.22),transparent 36%),linear-gradient(160deg,#0d1210fa,#141917f0),var(--bg)}html:has(body[data-theme=dark]){background:#101412}*{box-sizing:border-box}[hidden]{display:none!important}button,input{font:inherit}button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:7px;background:var(--primary);color:var(--primary-text);font-weight:850;letter-spacing:0;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{cursor:default;opacity:.62;transform:none}button svg{width:18px;height:18px;stroke-width:2.5}.secondary-button{border:1px solid var(--secondary-border);background:var(--secondary);color:var(--secondary-text)}.quiet-button{border:1px solid transparent;background:transparent;color:var(--muted);font-weight:800}.icon-button{position:fixed;top:18px;right:18px;z-index:20;width:44px;min-width:44px;padding:0;border:1px solid var(--secondary-border);background:var(--secondary);color:var(--secondary-text)}.help-button{right:70px}.profile-button{right:122px}.app-shell{min-height:100vh}.view{min-height:100vh;padding:22px}.view[hidden]{display:none}.auth-view,.setup-view{display:grid;place-items:center}.view-stack{display:grid;width:min(720px,100%);gap:14px}.view-stack.narrow{width:min(440px,100%)}.auth-stack{width:min(360px,100%);gap:36px}.brand-header{display:grid;justify-items:center;gap:20px}.eyebrow{display:block;margin-bottom:6px;color:var(--accent);font-size:.78rem;font-weight:950;text-transform:uppercase}h1,h2,h3{margin:0;letter-spacing:0}h1{color:var(--text);font-size:clamp(2.4rem,11vw,4.2rem);font-weight:400;line-height:1.08}h2{color:var(--text);font-size:clamp(1.6rem,7vw,2.6rem);line-height:1}h3{margin-bottom:12px;color:var(--muted);font-size:.78rem;font-weight:950;text-transform:uppercase}.panel{border:1px solid color-mix(in srgb,var(--panel-border),transparent 14%);border-radius:8px;background:color-mix(in srgb,var(--panel),transparent 32%);box-shadow:none}.brand-mark{width:clamp(168px,42vw,230px);height:clamp(168px,42vw,230px);overflow:visible}.mark-orbit,.mark-link,.mark-arc{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round}.mark-orbit{stroke-width:4}.mark-link{stroke-width:5}.mark-arc{stroke:color-mix(in srgb,var(--primary),transparent 38%);stroke-width:3}.mark-node{fill:var(--bg);stroke:var(--primary);stroke-width:5}.account-panel{display:grid;gap:22px;padding:0}.account-copy span{display:block;color:var(--muted);font-size:.8rem;font-weight:650;text-align:center;text-transform:uppercase}.account-copy strong{display:block;max-width:100%;margin-top:4px;overflow:hidden;color:var(--muted);font-size:.82rem;font-weight:800;text-align:center;text-overflow:ellipsis;white-space:nowrap}.account-copy strong[hidden]{display:none}.account-actions{position:relative;display:grid;gap:4px;padding:22px 0}.account-actions:before,.account-actions:after{content:"";position:absolute;left:50%;width:min(280px,100%);height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--muted),transparent 64%) 18%,color-mix(in srgb,var(--muted),transparent 64%) 82%,transparent);transform:translate(-50%)}.account-actions:before{top:0}.account-actions:after{bottom:0}.account-actions button{min-width:0;min-height:38px;padding:0 12px;border:0;border-radius:0;background:transparent;color:var(--accent);font-size:.82rem;font-weight:650;letter-spacing:.26em;text-transform:uppercase}.account-actions button:hover{transform:none;color:var(--text)}.account-actions button:disabled{opacity:.42}.nickname-form{display:grid;grid-column:1 / -1;gap:7px}.nickname-form[hidden]{display:none}.nickname-form label{color:var(--muted);font-size:.76rem;font-weight:950;text-transform:uppercase}.nickname-form div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.nickname-form input{min-width:0;height:44px;border:1px solid var(--secondary-border);border-radius:7px;background:var(--secondary);color:var(--secondary-text);font-weight:800;padding:0 11px}.nickname-form small{min-height:18px;color:var(--muted);font-size:.76rem;font-weight:750}.profile-card{gap:16px}.profile-actions{grid-template-columns:minmax(0,1fr) auto}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.screen-header h2{margin-left:auto}.select-panel{padding:18px 0;border-right:0;border-left:0;border-radius:0;background:transparent}.option-grid{display:grid;gap:10px}.option-grid.maps,.option-grid.difficulty{grid-template-columns:repeat(3,1fr)}.option-grid button{min-width:0;min-height:62px;padding:0 8px;flex-direction:column;gap:2px;border:1px solid color-mix(in srgb,var(--panel-border),transparent 10%);background:transparent;color:var(--text);font-weight:650;box-shadow:none}.option-grid.difficulty button{flex-direction:row}.option-grid button span{font-size:.86rem;line-height:1.1}.option-grid button strong{font-size:1rem;line-height:1}.option-grid button[data-active=true]{border-color:var(--primary);background:color-mix(in srgb,var(--primary),transparent 92%);color:var(--text)}.primary-wide{width:100%;min-height:52px;border:1px solid var(--primary);background:transparent;color:var(--text);text-transform:uppercase}.game-view{padding:0}.scene-panel{position:relative;width:100vw;height:100vh;overflow:hidden;background:linear-gradient(160deg,#fbfdfae0,#e5f1edad),var(--bg)}body[data-theme=dark] .scene-panel{background:linear-gradient(160deg,#171e1ceb,#232d29c7),var(--bg)}#sceneHost{width:100%;height:100%;cursor:grab;touch-action:none}#sceneHost:active{cursor:grabbing}#sceneHost canvas{display:block;width:100%;height:100%;touch-action:none}.game-hud,.status-pill,.game-actions{position:absolute;z-index:10;border:1px solid color-mix(in srgb,var(--panel-border),transparent 8%);border-radius:8px;background:color-mix(in srgb,var(--panel),transparent 16%);box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.game-hud{top:18px;left:18px;display:grid;width:max-content;max-width:calc(100vw - 190px);min-height:0;justify-items:start;gap:2px;padding:9px 11px}.game-hud strong,.game-hud span{color:var(--text);font-weight:900}.game-hud strong{max-width:100%;overflow:hidden;font-size:.86rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.game-hud span{min-width:0;color:var(--muted);font-size:.78rem;line-height:1.1;text-align:left}.status-pill{left:18px;right:18px;bottom:82px;min-height:44px;padding:11px 13px;color:var(--text);font-weight:850}.status-pill[data-tone=success]{color:#238552}body[data-theme=dark] .status-pill[data-tone=success]{color:#7ee0a0}.status-pill[data-tone=warn]{color:#a14732}body[data-theme=dark] .status-pill[data-tone=warn]{color:#ff9a82}.game-actions{left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:8px}.game-actions button{min-width:0;padding:0 10px;border:1px solid color-mix(in srgb,var(--secondary-border),transparent 8%);background:transparent;color:var(--text)}.game-actions button[hidden]{display:none}.next-puzzle-button{background:var(--accent);color:#fff}.game-actions[data-solved=true]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(130px,1.35fr)}.game-actions[data-solved=true] #resetButton,.game-actions[data-solved=true] #hintButton,.game-actions[data-solved=true] #checkButton{display:none}.modal-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--bg),transparent 24%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-overlay[hidden]{display:none}.modal-card{display:grid;width:min(440px,100%);gap:12px;max-height:min(760px,calc(100vh - 36px));overflow:auto;padding:20px;border:1px solid var(--panel-border);border-radius:8px;background:color-mix(in srgb,var(--panel),transparent 8%);box-shadow:0 20px 54px color-mix(in srgb,var(--shadow),transparent 30%)}.modal-card>span,.modal-card>small{color:var(--muted);font-weight:850}.modal-card>strong{color:var(--text);font-size:clamp(2.3rem,13vw,4.5rem);line-height:1}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal-leaderboard{margin:0;padding-left:22px}.modal-leaderboard li{margin-bottom:9px;color:var(--text);line-height:1.35}.modal-leaderboard li::marker{color:var(--accent);font-weight:900}.modal-leaderboard li span{display:inline-block;max-width:68%;overflow:hidden;color:var(--text);font-weight:800;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.modal-leaderboard li strong{float:right}.modal-leaderboard li small{display:block;margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:750}.modal-leaderboard li[data-current=true] span,.modal-leaderboard li[data-current=true] strong{color:var(--accent)}.help-card ul{margin:0;padding-left:20px;color:var(--text);line-height:1.55}@media(max-width:620px){.view{padding:14px}.option-grid.maps,.option-grid.difficulty{grid-template-columns:repeat(2,1fr)}.screen-header{align-items:stretch;flex-direction:column}.screen-header h2{margin-left:0}.game-hud{left:12px;top:12px;max-width:calc(100vw - 156px)}.status-pill{left:12px;right:12px;bottom:128px}.game-actions{left:12px;right:12px;bottom:12px;grid-template-columns:repeat(2,1fr)}.game-actions[data-solved=true]{grid-template-columns:1fr}}
