*{box-sizing:border-box}:root{--font-primary:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SF Mono", "Menlo", "Consolas", monospace;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:20px;--font-size-xl:28px;--font-size-xxl:36px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--bg-page:#f1efe8;--bg-surface:#fff;--bg-surface-muted:#f6f5f0;--bg-surface-alt:#e3e1d8;--text-primary:#2f7a3d;--text-secondary:#2a6f38;--text-muted:#226535;--text-faint:#1f5f31;--text-on-accent:#fff;--border:#d3d1c7;--border-muted:#e3e1d8;--accent:#2c5a8a;--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:#7a5c1f;--warning-strong:#e0b31e;--warning-strong-text:#2c2c2a;--warning-bg:#fdf3e0;--warning-border:#e8c27a;--info-bg:#eef3fb;--info-border:#b9cfe8;--button-bg:#2c2c2a;--branch-color:#8a6d4a;--leaf-color:#4a8f3c;--water-color:#2f80d1;--nav-bg:#3a7a2e}:root:not([data-skin=scifi]):not([data-skin=mind])[data-text-theme=classic]{--text-primary:#2c2c2a;--text-secondary:#5f5e5a;--text-muted:#6b6a63;--text-faint:#75746c}[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-strong-text:#05080f;--warning-bg:#2a1f0b;--warning-border:#7a5a1f;--info-bg:#0b1c2a;--info-border:#1f4a7a;--button-bg:#00e5ff;--branch-color:#4a8a7a;--leaf-color:#39ff8a;--water-color:#2aa9ff;--nav-bg:#17203a}[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:#8a5808;--warning-strong:#e0910d;--warning-strong-text:#191919;--warning-bg:#fbf0dc;--warning-border:#e8c988;--info-bg:#e6e2fb;--info-border:#b8a8e8;--button-bg:#1300c1;--branch-color:#6b5842;--leaf-color:#2e8b57;--water-color:#1f78d1;--nav-bg:#268049}body{font-family:var(--font-primary);background:var(--bg-page);color:var(--text-primary);text-transform:capitalize;margin:0}[data-skin=scifi] body{font-family:var(--font-mono), var(--font-primary)}[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]:not([data-skin=scifi]){background:var(--bg-page);filter:invert()hue-rotate(180deg)}html[data-theme=dark]:not([data-skin=scifi]) img{filter:invert()hue-rotate(180deg)}html[data-theme=dark]:not([data-skin=scifi]) .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;margin:0 auto;padding:24px 20px}@media (min-width:768px){.page{max-width:800px}}@media (min-width:1200px){.page{max-width:min(1600px,96vw)}}.canopy-header-width{max-width:420px;margin:0 auto}@media (min-width:768px){.canopy-header-width{max-width:800px}}@media (min-width:1200px){.canopy-header-width{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;transition:box-shadow .15s,transform .1s,opacity .15s;box-shadow:0 2px 4px #00000026}button:hover:not(:disabled){box-shadow:0 3px 6px #0003}button:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 2px #00000026}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.secondary{color:var(--text-primary);border:1px solid var(--border);box-shadow:none;background:0 0;margin-top:8px}button.secondary:hover:not(:disabled){background:var(--bg-surface-muted);box-shadow:none}button.secondary:active:not(:disabled){background:var(--bg-surface-alt);box-shadow:none;transform:translateY(1px)}.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}.growth-fill{background:var(--leaf-color)}.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}.tier-pill{text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);background:var(--bg-surface-alt);border:1px solid var(--border-muted);border-radius:999px;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.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}}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.tree-tile:nth-child(2n) .tree-sign{margin-top:34px!important}.tree-tile:nth-child(2n) .tree-foot{margin-top:2px}