:root{--bg:#f3f0e6;--card-bg:#fff;--chip-bg:#efe9d8;--text-primary:#2a2620;--text-secondary:#5b5648;--text-muted:#8a8574;--text-faint:#a8a290;--tagline:#7a7461;--step-text:#3d3a2e;--border:#dedacb;--border-light:#e2decd;--checkbox-border:#c4bfac;--accent-green:#5b7b65;--on-accent:#faf8f2;--amber:#e8a33d;--on-amber:#3d2a0a;--brick:#c1523d;--ai-purple:#8b6cc9;--ai-purple-soft:#efe8fa}[data-theme=dark]{--bg:#1e1c17;--card-bg:#2a2620;--chip-bg:#332f26;--text-primary:#f3f0e6;--text-secondary:#c9c4b4;--text-muted:#9b9583;--text-faint:#6e6a5c;--tagline:#a39c89;--step-text:#e8e4d6;--border:#454037;--border-light:#3a362b;--checkbox-border:#55503f;--accent-green:#6b8f76;--on-accent:#faf8f2;--amber:#e8a33d;--on-amber:#2a1d08;--brick:#d97862;--ai-purple:#b39ce6;--ai-purple-soft:#362c48}*{box-sizing:border-box}html[data-textsize=large]{zoom:1.18}[data-contrast=true]{--bg:#fff;--card-bg:#fff;--chip-bg:#e8e8e8;--text-primary:#000;--text-secondary:#000;--text-muted:#1a1a1a;--text-faint:#333;--tagline:#000;--step-text:#000;--border:#000;--border-light:#000;--checkbox-border:#000;--accent-green:#0a5c2b;--on-accent:#fff;--amber:#7a4a00;--on-amber:#fff;--brick:#8a0000;--ai-purple:#5b3fa0;--ai-purple-soft:#fff}[data-theme=dark][data-contrast=true]{--bg:#000;--card-bg:#000;--chip-bg:#1a1a1a;--text-primary:#fff;--text-secondary:#fff;--text-muted:#eee;--text-faint:#ccc;--tagline:#fff;--step-text:#fff;--border:#fff;--border-light:#fff;--checkbox-border:#fff;--accent-green:#5fe38a;--on-accent:#000;--amber:#ffcf5c;--on-amber:#000;--brick:#ff8080;--ai-purple:#c9b3ff;--ai-purple-soft:#000}[data-contrast=true] *{border-width:2px!important}[data-playful=true]{--accent-green:#2fa84f;--amber:#ff9f1c;--brick:#ff5d5d;--chip-bg:#fff2d6}[data-theme=dark][data-playful=true]{--accent-green:#4cc873;--amber:#ffb648;--brick:#ff7a7a;--chip-bg:#3a2f1a}html,body{background:var(--bg);margin:0;padding:0;transition:background .2s}input::placeholder{color:var(--text-faint)}.step-row{transition:opacity .3s}.checkbox-btn{transition:transform .15s,background .15s,border-color .15s}.checkbox-btn:active{transform:scale(.9)}.pulse{animation:.5s pulseGrow}@keyframes pulseGrow{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-icon{animation:1s linear infinite spin}.task-add-btn:hover{background:#4c6a55!important}.breakdown-btn:hover{background:var(--chip-bg)!important}.delete-btn:hover{color:var(--brick)!important}.step-focus-btn:hover{background:var(--chip-bg)!important}.add-step-btn:hover,.regen-btn:hover{color:var(--text-secondary)!important}.move-btn:hover{background:var(--chip-bg)!important}.tab-btn{transition:color .15s,border-color .15s}.template-chip:hover{background:var(--chip-bg)!important}@media (max-width:480px){.fh-container{padding-left:16px!important;padding-right:16px!important}.fh-title{font-size:28px!important}}.mic-pulse{animation:1.1s ease-in-out infinite micPulse}@keyframes micPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(420px)rotate(340deg)}}@keyframes celebrationPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.milestone-current{box-shadow:0 0 0 0 var(--amber);animation:1.8s ease-out infinite milestonePulse}@keyframes milestonePulse{0%{box-shadow:0 0 #e8a33d80}70%{box-shadow:0 0 0 6px #e8a33d00}to{box-shadow:0 0 #e8a33d00}}.point-pop{pointer-events:none;font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:500;animation:.9s ease-out forwards pointPopFloat}@keyframes pointPopFloat{0%{opacity:0;transform:translate(-50%)}20%{opacity:1;transform:translate(-50%,-6px)}to{opacity:0;transform:translate(-50%,-28px)}}.sparkle-pulse{animation:1.1s ease-in-out infinite sparklePulse}@keyframes sparklePulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.step-reveal{animation:.4s both stepReveal}@keyframes stepReveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.breakdown-loading-pill{animation:1.8s ease-in-out infinite breakdownGlow}@keyframes breakdownGlow{0%,to{box-shadow:0 0 #8b6cc940}50%{box-shadow:0 0 0 5px #8b6cc900}}
