html,body,#root{min-height:100%;margin:0}html{background:var(--page-bg)}body{color:var(--text);background:var(--page-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}:root{--page-bg:#f8fafc;--text:#0f172a;--text-muted:#334155;--text-subtle:#475569;--surface:#fff;--surface-muted:#f8fafc;--surface-raised:#fff;--border:#cbd5e1;--border-soft:#e2e8f0;--overlay:#0009;--shadow:0 10px 22px #0f172a1f;--shadow-soft:0 1px 3px #0f172a29;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-text:#fff;--primary-subtle:#eff6ff;--primary-strong:#1d4ed8;--success:#047857;--success-fill:#059669;--success-subtle:#ecfdf5;--danger:#be123c;--danger-fill:#e11d48;--accent:#b45309;--accent-fill:#b45309;--accent-hover:#92400e;--accent-subtle:#fff7ed;--input-bg:#fff;--placeholder:#64748b;--focus-ring:#f59e0b;--app-shell-bg:radial-gradient(circle at top, #fbbf242e, transparent 30%), linear-gradient(180deg, #fff8eb 0%, #e2e8f0 100%);--app-shell-color:#fff8eb;--logo-tile-bg:#fff7ed;--logo-tile-border:#f59e0b;--hint-bg:#fffffff5;--board-border:#fff;--board-neutral-border:#64748b;--board-shadow:inset 0 0 0 6px #c9b083, inset 0 0 0 8px #9a7b48;--progress-track:#cbd5e1}[data-theme=dark]{--page-bg:#111827;--text:#f9fafb;--text-muted:#e5e7eb;--text-subtle:#d1d5db;--surface:#1f2937;--surface-muted:#111827;--surface-raised:#273449;--border:#6b7280;--border-soft:#4b5563;--overlay:#000000b8;--shadow:0 12px 26px #0006;--shadow-soft:0 1px 4px #00000059;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-subtle:#172554;--primary-strong:#93c5fd;--success:#6ee7b7;--success-fill:#047857;--success-subtle:#064e3b;--danger:#fecdd3;--danger-fill:#be123c;--accent:#fbbf24;--accent-fill:#b45309;--accent-hover:#92400e;--accent-subtle:#451a03;--input-bg:#111827;--placeholder:#d1d5db;--app-shell-bg:radial-gradient(circle at top, #f59e0b33, transparent 32%), linear-gradient(180deg, #243044 0%, #111827 100%);--app-shell-color:#111827;--hint-bg:#111827f5;--board-border:#1f2937;--board-neutral-border:#9ca3af;--progress-track:#4b5563}.app-shell{background:var(--app-shell-bg);background-color:var(--app-shell-color);color:var(--text)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.theme-card,.theme-panel{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-soft)}.theme-panel{box-shadow:var(--shadow)}.theme-muted-card{background:var(--surface-muted);border-color:var(--border);color:var(--text)}.theme-text{color:var(--text)}.theme-muted{color:var(--text-muted)}.theme-subtle{color:var(--text-subtle)}.theme-primary-text{color:var(--primary-strong)}.theme-success-text{color:var(--success-fill)}.theme-accent-text{color:var(--accent)}.theme-primary-button{background:var(--primary);color:var(--primary-text)}.theme-primary-button:hover,.theme-primary-button:active{background:var(--primary-hover)}.theme-accent-button{background:var(--accent-fill);color:#fff}.theme-accent-button:hover{background:var(--accent-hover)}.theme-disabled-button{color:#fff;background:#475569}[data-theme=dark] .theme-disabled-button{background:#374151}.theme-secondary-button,.theme-icon-button{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);color:var(--text-muted);align-items:center;font-weight:700;transition:background-color .15s,color .15s,border-color .15s;display:flex}.theme-secondary-button:hover,.theme-icon-button:hover{background:var(--surface-muted);color:var(--text)}.theme-icon-button{border-radius:9999px;flex:none;justify-content:center;width:32px;height:32px;padding:0}.theme-help-active{background:var(--primary);color:var(--primary-text)}.theme-input,.theme-select{background:var(--input-bg);border-color:var(--border);color:var(--text)}.theme-input::placeholder{color:var(--placeholder);opacity:1}.theme-hint,.theme-scene-label{background:var(--hint-bg);border-color:var(--border);color:var(--text)}.theme-progress-track{background:var(--progress-track)}.theme-logo-tile{background:var(--logo-tile-bg);border-color:var(--logo-tile-border)}.theme-logo-carpet{background:var(--logo-tile-bg);border:1px solid #92400e4d;border-radius:18%;padding:3%}.theme-overlay{background:var(--overlay)}.theme-assist-note{background:var(--primary-subtle);border-color:var(--primary-strong);color:var(--text)}.theme-achievement-note{background:var(--accent-subtle);border-color:var(--accent);color:var(--text)}.theme-board-overlay{background:#04785740}.theme-board-frame{box-shadow:var(--board-shadow)}
