@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--bg: #0f1114;--panel: #1a1d22;--text: #f7f6f2;--muted: #a8acb3;--accent: #59a6a2;--accent-strong: #2e6fda;--success: #2f8f4d;--error: #d6453a;--stroke: #202225;--guess: #f7e7a3}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,IBM Plex Sans,Helvetica Neue,sans-serif;background:radial-gradient(circle at top,var(--panel) 0%,var(--bg) 55%);color:var(--text);min-height:100vh;height:100vh;overflow:hidden;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:0;transition:opacity .4s ease}html[data-weather=clear] body:before{opacity:.18;background:radial-gradient(circle at 20% 15%,rgba(255,215,150,.35),transparent 55%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.12),transparent 60%)}html[data-weather=clouds] body:before{opacity:.22;background:linear-gradient(140deg,rgba(160,178,200,.35),transparent 65%)}html[data-weather=rain] body:before{opacity:.35;background-image:repeating-linear-gradient(120deg,rgba(90,166,255,.2),rgba(90,166,255,.2) 1px,transparent 1px,transparent 6px);animation:rain-shift 4s linear infinite}html[data-weather=storm] body:before{opacity:.4;background:linear-gradient(160deg,rgba(60,60,90,.6),transparent 70%);animation:storm-flash 6s ease-in-out infinite}html[data-weather=snow] body:before{opacity:.3;background-image:radial-gradient(rgba(210,230,255,.6) 1px,transparent 1px);background-size:18px 18px;animation:snow-fall 10s linear infinite}html[data-weather=fog] body:before{opacity:.4;background:linear-gradient(0deg,rgba(200,210,220,.3),transparent 70%)}html[data-weather=wind] body:before{opacity:.3;background-image:repeating-linear-gradient(20deg,rgba(200,230,255,.2),rgba(200,230,255,.2) 2px,transparent 2px,transparent 10px);animation:wind-shift 5s linear infinite}.page{padding:32px;display:grid;gap:20px;min-height:100vh;height:100vh;grid-template-rows:auto 1fr;position:relative;z-index:1}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-start}.brand{display:grid;gap:6px;max-width:min(680px,100%)}.brand-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.brand-date{color:var(--muted);font-size:.95rem;text-transform:none}.brand-button{padding:0;border:none;background:none;color:inherit;cursor:pointer;text-align:left}.topbar-right{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:flex-end}.topbar-actions{display:grid;grid-template-columns:auto auto;grid-template-areas:"today calendar" "weekly streak";gap:10px 14px;justify-items:start;align-items:start}.topbar-button{border:none;background:var(--accent);color:#0e1116;font-weight:600;padding:10px 16px;border-radius:12px;cursor:pointer}.calendar-icon-button{border:1px solid rgba(255,255,255,.12);background:#0b0c0f99;color:var(--text);font-weight:600;padding:10px 14px;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;gap:10px}.topbar-play-today{grid-area:today}.topbar-play-weekly{grid-area:weekly}.topbar-calendar{grid-area:calendar;justify-self:end}.topbar-streak{grid-area:streak;justify-self:end}.calendar-icon{width:16px;height:16px;border:1px solid currentColor;border-radius:4px;position:relative}.calendar-icon:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:currentColor;opacity:.5;border-top-left-radius:4px;border-top-right-radius:4px}.calendar-icon:after{content:"";position:absolute;top:7px;left:3px;right:3px;height:1px;background:currentColor;opacity:.35}.topbar-button:hover{filter:brightness(1.05)}.topbar-button:disabled{opacity:.55;cursor:not-allowed;filter:none}button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calendar-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.calendar-toggle-button{border:1px solid rgba(255,255,255,.08);background:#0b0c0f99;color:var(--text);border-radius:10px;padding:6px 8px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-toggle-button.active{border-color:#59a6a2cc;box-shadow:0 0 0 2px #59a6a233}.calendar-toggle-button:disabled{opacity:.5;cursor:not-allowed}.status-stack{display:grid;gap:6px;justify-items:end}.status-badge{font-size:.7rem;padding:4px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.12em}.status-badge.offline{background:#d6453a2e;color:#f3b4ad;border:1px solid rgba(214,69,58,.4)}.status-badge.warn{background:#e1a95429;color:#f4d7a0;border:1px solid rgba(225,169,84,.4)}.streak-card{display:grid;gap:4px;background:#111318a6;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px 14px;min-width:160px;width:100%}.calendar-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.calendar-tab{border:1px solid rgba(255,255,255,.08);background:#0b0c0f99;color:var(--text);border-radius:10px;padding:6px 8px;font-size:.75rem;cursor:pointer}.calendar-tab.active{background:var(--accent);border-color:var(--accent);color:#0e1116;font-weight:600}.calendar-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--success)}.calendar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a0d8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:flex-end;align-items:flex-start;padding:32px;z-index:50}.calendar-panel{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;width:min(520px,90vw);display:grid;gap:12px;grid-template-rows:auto auto 1fr;box-shadow:0 24px 60px #00000073;height:min(80vh,640px);max-height:calc(100vh - 64px);overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center}.icon-button{border:1px solid rgba(255,255,255,.1);background:#0b0c0f99;color:var(--text);width:32px;height:32px;border-radius:8px;cursor:pointer;display:grid;place-items:center;font-size:1.1rem}.calendar-body{display:grid;gap:12px;min-height:0}.calendar-month{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-month-label{font-weight:600;text-transform:none}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);gap:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-day{position:relative;border:1px solid rgba(255,255,255,.08);background:#0a0c1099;color:var(--text);border-radius:10px;padding:8px 6px;min-height:56px;cursor:pointer;display:grid;align-content:start;gap:6px}.calendar-day.has-level{border-color:#62b4ff73;background:#0e141ebf;box-shadow:0 0 0 1px #62b4ff1f}.calendar-day.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.calendar-day.muted{opacity:.35}.calendar-day.today{border-color:#fff6}.calendar-day.done{border-color:#2f8f4d99}.calendar-day.skeleton{background:#ffffff0a;border-color:transparent;cursor:default}.calendar-day-label{font-size:.9rem}.calendar-dot{width:6px;height:6px;border-radius:50%;background:#ffffff26}.calendar-dot.active{background:#4da3ff}.calendar-dot.done{background:#35c46a}.calendar-dot.empty{background:#ffffff26}.calendar-popup{position:absolute;inset:auto 6px 6px 6px;background:#0f1218f2;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;display:grid;gap:6px;z-index:2}.calendar-popup-button{border:none;background:#ffffff14;color:var(--text);padding:6px 8px;border-radius:8px;cursor:pointer;font-size:.8rem}.calendar-popup-button:disabled{opacity:.5;cursor:not-allowed}.calendar-week-list{display:grid;gap:8px;max-height:none;height:100%;overflow-y:auto;padding-right:4px}.calendar-week{display:grid;gap:6px;background:#0a0c1099;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px;position:relative}.calendar-week.disabled{opacity:.6}.calendar-week.current{border-color:#fff6}.calendar-week.done{border-color:#2f8f4d99}.calendar-week.skeleton{background:#ffffff0a;border-color:transparent;min-height:48px}.calendar-week-button{border:none;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:0;gap:8px}.calendar-week-button:disabled{cursor:not-allowed;opacity:.5}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--muted);margin:0 0 8px}h1{margin:0;font-size:clamp(2rem,3vw,3.2rem)}.subtitle{margin:8px 0 0;color:var(--muted);max-width:min(640px,100%)}.game-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:18px;align-items:start;min-height:0;height:100%}.side-panel{display:grid;gap:16px;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;padding-right:6px}.panel-card{background:var(--panel);padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.06);display:grid;gap:12px}.panel-card.panel-primary{box-shadow:0 0 0 1px #59a6a226}.section-header,.action-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.action-card{gap:14px}.action-progress{display:flex;flex-wrap:wrap;gap:8px 12px}.progress-item,.action-status{white-space:nowrap}.action-feedback{min-height:20px}.options-card{gap:10px}.options-toggle{background:none;border:none;padding:0;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.options-body{display:grid;gap:16px}.options-section{display:grid;gap:10px}.value.start{color:#2e6fda;font-weight:600}.value.target,.value.urgent{color:#d6453a;font-weight:600}.value.dim{color:transparent}.value.is-perfect{color:#7fe1a7;font-weight:600}.guess-form{display:grid;gap:8px}.suggestions{display:none;flex-direction:column;gap:6px;background:#0f1114;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px}.suggestions.is-open{display:flex}.suggestion{background:transparent;border:none;text-align:left;padding:8px 10px;border-radius:8px;color:var(--text);cursor:pointer;font-size:.9rem}.suggestion:hover{background:#59a6a233}.suggestion.empty{cursor:default;color:var(--muted)}.guess-form input{background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;color:var(--text);font-size:.95rem}.guess-form input.input-error{border-color:#d6453acc;box-shadow:0 0 0 2px #d6453a33}.guess-form input:disabled{opacity:.6}.submit{background:var(--accent);color:#0f1114;border:none;border-radius:10px;padding:10px 12px;font-weight:600;cursor:pointer}.submit:disabled{opacity:.6;cursor:default}.new-game-button{width:100%;border:none;background:var(--accent-strong);color:#fff;padding:12px 14px;border-radius:12px;font-weight:600;cursor:pointer}.new-game-button:disabled{opacity:.6;cursor:not-allowed}.config-button{width:100%;border:1px solid rgba(255,255,255,.1);background:#0b0c0fb3;color:var(--text);padding:12px 14px;border-radius:12px;font-weight:600;cursor:pointer}.feedback{min-height:18px;font-size:.85rem;color:var(--muted)}.feedback.good{color:#7fe1a7}.feedback.bad{color:#ff7f73}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.stat{display:grid;gap:4px;font-size:.9rem}.stats-grid{display:grid;gap:8px}.stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.85rem}.stat-inline{display:inline-flex;align-items:baseline;gap:6px;font-size:.9rem}.guess-history{margin-top:8px}.guess-history-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.guess-history-item{padding:4px 8px;border-radius:999px;font-size:.8rem;background:#ffffff14}.guess-history-item.good{color:var(--success);border:1px solid rgba(47,143,77,.5)}.guess-history-item.near{color:var(--guess);border:1px solid rgba(247,231,163,.4)}.guess-history-item.bad{color:var(--error);border:1px solid rgba(214,69,58,.5)}.ranking-lists{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.ranking-list{margin:4px 0 0;padding-left:16px;color:var(--muted);display:grid;gap:4px}.achievements{display:grid;gap:8px}.achievement-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0f111499;font-size:.85rem}.achievement{padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:.85rem}.achievement.unlocked{border-color:#59a6a299;color:var(--text);background:#59a6a21a}.modal-actions{display:flex;flex-wrap:wrap;gap:10px}.muted{color:var(--muted);font-size:.85rem}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}.value{font-weight:600}.rule-chip{background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;font-size:.9rem}.rule-chip.good{border-color:#2f8f4db3;background:#2f8f4d26}.rule-chip.bad{border-color:#d6453ab3;background:#d6453a26}.mission{display:grid;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0f111499}.mission.done{border-color:#2f8f4d80;background:#2f8f4d1f}.mission-title{font-weight:600}.badge{align-self:start;display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#59a6a233;color:var(--text);font-size:.75rem;border:1px solid rgba(89,166,162,.5)}.badge.success{border-color:#2f8f4d99;background:#2f8f4d33;color:#7fe1a7}.powerups{display:grid;gap:8px}.powerup-button{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;color:var(--text);cursor:pointer}.powerup-button:disabled{opacity:.45;cursor:default}.theme-grid{display:grid;gap:8px}.theme-button{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;color:var(--text);cursor:pointer}.theme-button.active{border-color:#59a6a299;background:#59a6a226}.theme-button.locked{opacity:.7}.theme-button:disabled{opacity:.5;cursor:default}.lock{color:var(--muted);font-size:.75rem}.scope-buttons{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.scope-button{background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 8px;color:var(--text);cursor:pointer;font-size:.8rem}.scope-button.active{border-color:#59a6a299;background:#59a6a226}.scope-button:disabled{opacity:.45;cursor:default}.group-controls{display:grid;gap:8px}.group-controls input{background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 10px;color:var(--text)}.group-row{display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.group-row input{background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 10px;color:var(--text)}.ghost{background:transparent;border:1px dashed rgba(255,255,255,.2);color:var(--muted);border-radius:10px;padding:8px 10px;cursor:pointer;font-size:.8rem}.ghost:disabled{opacity:.5;cursor:default}.history-list{margin:0;padding-left:0;list-style:none;display:grid;gap:8px;color:var(--muted)}.history-item{display:grid;gap:2px}.history-index{font-size:.75rem;color:var(--muted)}.history-main{font-size:.85rem;color:var(--text)}.reset{background:var(--accent-strong);color:#fff;border:none;border-radius:10px;padding:10px 12px;cursor:pointer}.path-list{margin:0;padding-left:0;list-style:none;color:var(--muted);display:grid;gap:6px;max-height:180px;overflow:auto}.guess-item{color:var(--guess)}.shortest-list{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:6px;max-height:180px;overflow:auto}.map-wrap{position:relative;background:var(--panel);border-radius:22px;padding:18px;min-height:0;height:100%;overflow:hidden}.map-wrap.timed-mode .prompt{top:58px}.map-timer{position:absolute;top:16px;left:16px;background:#14161ad9;border:1px solid rgba(255,255,255,.08);padding:6px 10px;border-radius:12px;font-weight:600;font-size:.9rem;z-index:4}.map-timer.urgent{color:var(--error);border-color:#d6453a99}.countdown-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#080a0ebf;z-index:5;font-size:4rem;font-weight:700}.countdown-value{color:var(--text);text-shadow:0 12px 24px rgba(0,0,0,.6)}.countdown-active .map,.countdown-active .prompt,.countdown-active .map-controls{opacity:0;pointer-events:none}.map-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:linear-gradient(135deg,#0c0f14eb,#06080cf5);color:var(--muted);font-size:.95rem;z-index:3}.map-wrap.fog{background:linear-gradient(135deg,#1c1f24,#101316)}.prompt{position:absolute;top:16px;left:16px;background:#14161ad9;padding:8px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);font-size:.9rem;display:grid;gap:4px}.map-controls{position:absolute;top:16px;right:16px;display:grid;gap:8px}.map-controls button{background:#14161ad9;color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 10px;cursor:pointer}.route{font-weight:600}.status{color:var(--muted);font-size:.85rem}.map{width:100%;height:100%}.outline{fill:none;stroke:#f7f6f2;stroke-width:2.2;opacity:.85}.initials{pointer-events:none}.initial{fill:#f7f6f2;font-size:.55rem;font-weight:600;text-transform:uppercase;paint-order:stroke;stroke:#0f1114e6;stroke-width:3px}.comarca{fill:var(--accent);stroke:var(--stroke);stroke-width:1.4;transition:fill .15s ease,stroke .15s ease,opacity .15s ease;cursor:default}.comarca.is-hidden{fill:transparent;stroke:transparent}.comarca.is-hidden.is-outline{fill:transparent;stroke:#ffffff8c;stroke-width:1.4}.comarca.is-hidden.is-neighbor{fill:transparent;stroke:#ffffffb3;stroke-width:2;stroke-dasharray:6 4}.comarca.is-hidden.is-hint{fill:#2e6fda66;stroke:#2e6fda;stroke-width:2.2}.comarca.is-guessed{fill:var(--guess);animation:pop .35s ease;transform-box:fill-box;transform-origin:center}.comarca.is-start{fill:#2e6fda}.comarca.is-target{fill:#d6453a}.comarca.is-current{stroke:#f7f6f2;stroke-width:2.4}.comarca.is-error{animation:flash .45s ease;stroke:var(--error);stroke-width:2.4}.comarca.is-neighbor{fill:transparent;stroke:#ffffffb3;stroke-width:2;stroke-dasharray:6 4}.comarca.is-hint{fill:#2e6fda80;stroke:#2e6fda;stroke-width:2.2}.comarca.is-replay{fill:#59a6a28c;stroke:#59a6a2;stroke-width:2.2}.comarca.is-reveal{fill:#e1a954a6;stroke:#e1a954;stroke-width:2.2}@keyframes flash{0%{fill:var(--error)}to{fill:var(--accent)}}@keyframes pop{0%{transform:scale(.92)}to{transform:scale(1)}}.hint-buttons{display:grid;gap:8px}.mode-buttons{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.mode-buttons.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-button{background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 10px;color:var(--text);cursor:pointer;text-align:center;font-size:.85rem}.mode-button.active{border-color:#59a6a299;background:#59a6a233}.mode-button.done{border-color:#2f8f4d99;background:#2f8f4d33}.difficulty-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.difficulty-button{display:grid;gap:4px;background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 10px;color:var(--text);cursor:pointer;text-align:left;font-size:.85rem}.difficulty-button.active{border-color:#59a6a299;background:#59a6a22e}.difficulty-button.locked{opacity:.7}.difficulty-button:disabled{opacity:.45;cursor:default}.difficulty-button .price{color:var(--muted);font-size:.72rem}.level-select{background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 10px;color:var(--text)}.toggle-row{display:flex;align-items:center;gap:8px;font-size:.85rem}.toggle-row input{accent-color:var(--accent)}.range-row{display:grid;gap:6px}.range-row input[type=range]{width:100%}.hint-button{background:#111318;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px;color:var(--text);cursor:pointer;text-align:left}.hint-button.active{border-color:#59a6a299;background:#59a6a226}.hint-button:disabled{opacity:.5;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08090cbf;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal{background:#15181e;border-radius:18px;padding:22px;max-width:520px;width:min(520px,100%);max-height:90vh;overflow-y:auto;display:grid;gap:12px;border:1px solid rgba(255,255,255,.08)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.config-modal{max-width:640px}.config-content{display:grid;gap:12px}.modal .path-list,.modal .shortest-list{max-height:140px}.modal h2{margin:0}.modal-subtitle{margin:0;color:var(--muted);font-size:.9rem}.modal-section,.modal-metrics{display:grid;gap:8px}.gauss-chart{display:grid;gap:6px}.gauss-path{fill:none;stroke:var(--accent);stroke-width:2}.gauss-marker{stroke:var(--accent-strong);stroke-width:2;stroke-dasharray:4 4}.gauss-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}@keyframes rain-shift{0%{background-position:0 0}to{background-position:-120px 240px}}@keyframes snow-fall{0%{background-position:0 -200px}to{background-position:0 200px}}@keyframes wind-shift{0%{background-position:0 0}to{background-position:120px 0}}@keyframes storm-flash{0%,to{opacity:.35}50%{opacity:.55}}.error-boundary{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--bg);padding:24px}.error-card{background:var(--panel);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;width:min(420px,90vw);display:grid;gap:12px}.error-card pre{background:#00000059;padding:10px;border-radius:10px;font-size:.75rem;color:var(--muted)}@media (max-width: 900px){body{height:auto;overflow:auto}.page{padding:20px;height:auto;min-height:100vh}.topbar{align-items:flex-start}.topbar-right{width:100%;justify-content:flex-start}.topbar-actions{width:100%;grid-template-columns:1fr;grid-template-areas:"today" "weekly" "calendar" "streak";justify-items:start}.status-stack{justify-items:start}.calendar-overlay{padding:20px;justify-content:center}.calendar-panel{width:100%;max-width:none}.stats{grid-template-columns:1fr}.mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.difficulty-grid{grid-template-columns:1fr}.scope-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.group-row,.game-layout{grid-template-columns:1fr}.side-panel{height:auto;max-height:none;overflow:visible;padding-right:0}.ranking-lists{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
