*{box-sizing:border-box}:root{--font-mono:"SF Mono", "Menlo", "Consolas", monospace;--bg-page:#f1efe8;--bg-surface:#fff;--bg-surface-muted:#f6f5f0;--bg-surface-alt:#e3e1d8;--text-primary:#2c2c2a;--text-secondary:#5f5e5a;--text-muted:#6b6a63;--text-faint:#75746c;--text-on-accent:#fff;--border:#d3d1c7;--border-muted:#e3e1d8;--accent:#378adf;--accent-strong:#2c5a8a;--success:#2f7a3d;--success-strong:#639922;--success-bg:#eaf3de;--success-border:#97c459;--danger:#a32d2d;--danger-strong:#c94f4f;--danger-bg:#fbeaea;--danger-border:#e0b3b3;--warning:#a3792d;--warning-strong:#e0b31e;--warning-bg:#fdf3e0;--warning-border:#e8c27a;--info-bg:#eef3fb;--info-border:#b9cfe8;--button-bg:#2c2c2a;--branch-color:#8a6d4a;--leaf-color:#4a8f3c}[data-skin=scifi]{--bg-page:#0a0e17;--bg-surface:#10182b;--bg-surface-muted:#0d1422;--bg-surface-alt:#17203a;--text-primary:#e4f4ff;--text-secondary:#8fb8d9;--text-muted:#6b89a8;--text-faint:#7593b0;--text-on-accent:#05080f;--border:#24406b;--border-muted:#1b2f52;--accent:#00e5ff;--accent-strong:#00b8cc;--success:#39ff8a;--success-strong:#0c6;--success-bg:#0b2a1c;--success-border:#1f7a4d;--danger:#ff3d6e;--danger-strong:#ff5c85;--danger-bg:#2a0b16;--danger-border:#7a1f3a;--warning:#ffb400;--warning-strong:#fc3;--warning-bg:#2a1f0b;--warning-border:#7a5a1f;--info-bg:#0b1c2a;--info-border:#1f4a7a;--button-bg:#00e5ff;--branch-color:#4a8a7a;--leaf-color:#39ff8a}[data-skin=mind]{--bg-page:#f4f6fb;--bg-surface:#fff;--bg-surface-muted:#eceffa;--bg-surface-alt:#dfe3f5;--text-primary:#191919;--text-secondary:#4a4a4a;--text-muted:#707070;--text-faint:#757575;--text-on-accent:#fff;--border:#d4d8ec;--border-muted:#e6e9f7;--accent:#1300c1;--accent-strong:#0e0092;--success:#1a7a4a;--success-strong:#22a862;--success-bg:#e4f5ec;--success-border:#a6dcc0;--danger:#c1004f;--danger-strong:#e0006a;--danger-bg:#fbe4ee;--danger-border:#e8a8c6;--warning:#b3720a;--warning-strong:#e0910d;--warning-bg:#fbf0dc;--warning-border:#e8c988;--info-bg:#e6e2fb;--info-border:#b8a8e8;--button-bg:#1300c1;--branch-color:#6b5842;--leaf-color:#2e8b57}body{background:var(--bg-page);color:var(--text-primary);text-transform:capitalize;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-skin=scifi] body{font-family:var(--font-mono), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}[data-skin=scifi] .xp-card,[data-skin=scifi] .stat-hero,[data-skin=scifi] .reward-card,[data-skin=scifi] .achievement-card,[data-skin=scifi] .task-row{box-shadow:0 0 0 1px #00e5ff14,0 0 16px #00e5ff0d}[data-skin=scifi] button:not(.secondary){color:var(--text-on-accent);text-shadow:none;box-shadow:0 0 10px #00e5ff66}html[data-theme=dark]{background:var(--bg-page);filter:invert()hue-rotate(180deg)}html[data-theme=dark] img{filter:invert()hue-rotate(180deg)}html[data-theme=dark] .stamina-fill{filter:invert()hue-rotate(180deg);background:#ffe135!important}input,textarea,select,option{text-transform:none}button{text-transform:capitalize}.page{max-width:420px;min-height:100vh;padding:24px 20px;padding-bottom:calc(24px + 64px + env(safe-area-inset-bottom,0px));margin:0 auto}@media (min-width:768px){.page{max-width:800px}}@media (min-width:1200px){.page{max-width:min(1600px,96vw)}}@media (min-width:1024px){.dashboard-columns{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.two-col{grid-template-columns:2fr 1fr;align-items:start;gap:24px;display:grid}.two-col--even{grid-template-columns:1fr 1fr}}.sidebar-minimap.react-flow__panel{margin:0!important;position:static!important;inset:auto!important}h1{font-size:22px;font-weight:600}input{border:1px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text-primary);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:15px}input[type=checkbox],input[type=radio]{flex-shrink:0;width:16px;height:16px;margin:0;padding:0}button{background:var(--button-bg);width:100%;color:var(--text-on-accent);cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:600}button.secondary{color:var(--text-primary);border:1px solid var(--border);background:0 0;margin-top:8px}.error{color:var(--danger);margin-bottom:12px;font-size:13px}.xp-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:16px}.xp-card .stat-label{font-family:var(--font-mono);letter-spacing:.4px}.xp-bar-track{background:var(--bg-page);border-radius:6px;height:10px;margin-top:8px;overflow:hidden}.xp-bar-fill{background:var(--accent);border-radius:6px;height:100%;transition:width .2s}.task-row{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:flex}.task-row.done{color:var(--text-on-accent);border-width:0}.task-name{flex:1;font-size:14px}.task-name.done{opacity:.85;color:var(--text-on-accent);text-decoration:line-through}.task-xp-label{font-family:var(--font-mono);font-size:12px}.checkbox{border:2px solid var(--border);background:0 0;border-radius:50%;flex-shrink:0;width:22px;height:22px;padding:0}.checkbox.done{color:var(--text-on-accent);background:#ffffff40;border-color:#fff9}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin:24px 0 10px;font-size:13px;font-weight:600}.section-title:first-of-type{margin-top:4px}.stat-hero{background:var(--bg-surface);border:1px solid var(--border);text-align:center;border-radius:14px;margin-bottom:20px;padding:20px}.stat-hero .value{margin:4px 0 0;font-size:30px;font-weight:700}.stat-hero .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px}.reward-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:14px}.reward-card .top-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.reward-card .name{font-size:14px;font-weight:600}.reward-card .cost{color:var(--warning);font-size:12px;font-weight:600}.reward-card .actions{gap:8px;display:flex}.reward-card .actions button{padding:8px 12px;font-size:12px}.achievement-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.achievement-card.locked{background:var(--bg-surface-muted);border-color:var(--border-muted)}.achievement-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;font-size:32px;display:flex}.achievement-badge.unlocked{background:var(--success-strong);color:var(--text-on-accent)}.achievement-badge.locked{background:var(--bg-surface-alt);color:var(--text-faint)}.achievement-name{font-size:14px;font-weight:600}.achievement-name.locked{color:var(--text-faint)}.achievement-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.progress-track{background:var(--bg-surface-alt);border-radius:6px;height:8px;margin:10px 0 4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:6px;height:100%}.skeleton-card{border:1px solid var(--border);background:var(--bg-surface);border-radius:12px;flex-direction:column;gap:14px;max-width:640px;margin:24px auto;padding:20px;display:flex}.skeleton-row{align-items:center;gap:12px;display:flex}.skeleton-lines{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-block,.skeleton-bar{background:linear-gradient(90deg, var(--bg-surface-alt) 25%, var(--border-muted) 37%, var(--bg-surface-alt) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite skeleton-shimmer}.skeleton-block{border-radius:10px;flex-shrink:0;width:48px;height:48px}.skeleton-bar{width:100%;height:14px}.skeleton-bar--title{width:40%;height:22px}.skeleton-bar--wide{width:80%}.skeleton-bar--short{width:55%}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}@keyframes driftCloud{0%{transform:translate(0)}50%{transform:translate(40px)}to{transform:translate(0)}}@keyframes appearGently{0%,80%,to{opacity:0}90%{opacity:.8}}@keyframes fadeInOut{0%{opacity:0;transform:translateY(4px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}