.login-page[data-v-0df134c0]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card[data-v-0df134c0]{width:100%;max-width:400px}.toggle[data-v-0df134c0]{margin-top:1rem;text-align:center}.link[data-v-0df134c0]{background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:underline}.layout[data-v-bb465be1]{min-height:100vh;display:flex}.sidebar[data-v-bb465be1]{width:200px;padding:1rem;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:1rem}.brand[data-v-bb465be1]{font-weight:700;font-size:1.1rem}.sidebar nav[data-v-bb465be1]{display:flex;flex-direction:column;gap:.5rem}.sidebar a[data-v-bb465be1]{text-decoration:none;color:var(--muted);padding:.4rem 0}.sidebar a.router-link-active[data-v-bb465be1]{color:var(--accent)}.logout[data-v-bb465be1]{margin-top:auto}.main[data-v-bb465be1]{flex:1;padding:1rem 1.5rem 5rem;max-width:900px}.bottom-nav[data-v-bb465be1]{display:none}.player[data-v-bb465be1]{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:.5rem 1rem;display:flex;align-items:center;gap:1rem}.player audio[data-v-bb465be1]{flex:1;max-width:480px}@media(max-width:768px){.sidebar[data-v-bb465be1]{display:none}.bottom-nav[data-v-bb465be1]{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;background:var(--surface);border-top:1px solid var(--border);padding:.6rem;z-index:10}.bottom-nav a[data-v-bb465be1]{text-decoration:none;color:var(--muted)}.bottom-nav a.router-link-active[data-v-bb465be1]{color:var(--accent)}.main[data-v-bb465be1]{padding-bottom:6rem}.player[data-v-bb465be1]{bottom:3rem}}.step-card[data-v-539c88b4]{margin-bottom:1.25rem}.step-title[data-v-539c88b4]{margin:0 0 1rem;font-size:1.1rem}.step-locked[data-v-539c88b4]{opacity:.55;pointer-events:none}.step-hint[data-v-539c88b4]{margin:0}.structure-box[data-v-539c88b4]{margin-top:1rem;padding:.75rem;border-radius:6px;background:var(--surface-2, rgba(255, 255, 255, .04))}.project-badge[data-v-539c88b4]{border-color:var(--accent);margin-bottom:.75rem}.save-hint[data-v-539c88b4]{margin-bottom:.5rem}.btn-row[data-v-539c88b4]{display:flex;flex-wrap:wrap;gap:.75rem}.row[data-v-539c88b4]{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end}.grow[data-v-539c88b4]{flex:1;min-width:200px}.check[data-v-539c88b4]{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.progress[data-v-539c88b4]{margin-top:.5rem}.loading-notice[data-v-539c88b4]{border-color:var(--accent);color:var(--text)}.ace-status[data-v-539c88b4]{border-color:#6b5b95}.grid[data-v-f50520aa]{display:grid;gap:1rem;margin-top:1rem}.track h3[data-v-f50520aa]{margin:0 0 .25rem}.actions[data-v-f50520aa]{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.error-text[data-v-f50520aa]{color:var(--danger);font-size:.85rem}.progress-msg[data-v-f50520aa]{font-size:.85rem;margin-top:.25rem}:root,[data-theme=dark]{color-scheme:dark;--bg: #0b0f14;--surface: #141b26;--border: #243044;--text: #e8eef7;--muted: #8b9cb3;--accent: #a855f7;--accent-dim: rgba(168, 85, 247, .15);--danger: #f87171;--ok: #4ade80}[data-theme=light]{color-scheme:light;--bg: #ffffff;--surface: #f5f5f5;--border: #e0e0e0;--text: #0a0a0a;--muted: #5c5c5c;--accent: #f01f01;--accent-dim: rgba(240, 31, 1, .1);--danger: #b81810;--ok: #15803d}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent)}button,input,textarea,select{font:inherit}.btn{background:var(--accent);color:#fff;border:none;padding:.55rem 1rem;border-radius:8px;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.muted{color:var(--muted);font-size:.9rem}input,textarea{width:100%;padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}label{display:block;margin-bottom:.35rem;font-size:.9rem}.field{margin-bottom:1rem}.error-banner{background:#f8717126;color:var(--danger);padding:.75rem;border-radius:8px;margin-bottom:1rem}.notice{background:var(--accent-dim);border:1px solid var(--border);padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}
