:root{--bg:#0f1115;--bg-elevated:#171a21;--border:#2a2e38;--text:#e7e6e3;--text-dim:#9a9fae;--text-faint:#666b7a;--accent:#ff6a3d;--accent-dim:#ff6a3d24;--accent-border:#ff6a3d66;--gold:#f3c04c;--sans:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-height:100svh;margin:0}h1,h2,h3,p,ol,ul{margin:0}button{font-family:inherit}.app-shell{border-inline:1px solid var(--border);flex-direction:column;max-width:480px;min-height:100svh;margin:0 auto;display:flex}.loading{color:var(--text-dim);margin:auto}.app-content{flex-direction:column;flex:1;padding:20px 16px 12px;display:flex;overflow-y:auto}.today-screen{flex-direction:column;gap:14px;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px;font-size:12px;font-weight:600}section{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:16px}.identity-card .identity-statement{color:var(--text);font-size:16px;font-style:italic;line-height:1.45}.hero-card{align-items:center;gap:12px;display:flex}.hero-card__info{flex:1;min-width:0}.rank-title{color:var(--gold);font-size:20px;font-weight:700;line-height:1.2}.xp-row{color:var(--text-dim);justify-content:space-between;margin:4px 0 8px;font-size:12px;display:flex}.progress-track{background:var(--border);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--gold);border-radius:999px;height:100%}.hero-card__score{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.hero-card__score-value{color:var(--accent);font-size:26px;font-weight:800;line-height:1}.hero-card__score-max{color:var(--text-faint);font-size:13px;font-weight:600}.hero-card__score .eyebrow{text-align:center;white-space:nowrap;margin:4px 0 0;font-size:9px}.mission-card{border-color:var(--accent-border);background:linear-gradient(180deg, var(--accent-dim), var(--bg-elevated) 60%)}.mission-category{color:var(--text-dim);margin-bottom:4px;font-size:12px}.mission-name{font-size:19px;font-weight:700}.mission-description{color:var(--text-dim);margin-top:6px;font-size:13px}.beliefs-list{color:var(--text-dim);counter-reset:belief;flex-direction:column;gap:6px;font-size:14px;list-style:none;display:flex}.beliefs-list li{counter-increment:belief;padding-left:22px;position:relative}.beliefs-list li:before{content:counter(belief);background:var(--accent-dim);width:16px;height:16px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;top:0;left:0}.today-secondary{flex-direction:column;gap:10px;display:flex}.today-secondary section{padding:12px 14px}.identity-card--compact .identity-statement{font-size:13px;line-height:1.4}.nav-shell{border-top:1px solid var(--border);background:var(--bg-elevated);display:flex}.nav-tab{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 4px 12px;font-size:11px;display:flex}.nav-tab span:first-child{font-size:18px}.nav-tab--active{color:var(--accent)}.nav-tab:disabled{opacity:.45;cursor:default}.protocol-screen{flex-direction:column;flex:1;gap:10px;display:flex}.protocol-progress-label{color:var(--text-faint);text-align:right;font-size:12px}.protocol-clear-card{text-align:center;margin:auto 0}.mission-card--milestone{text-align:center;border-color:var(--accent-border);background:linear-gradient(180deg, var(--accent-dim), var(--bg-elevated) 60%)}.task-controls,.reflection-controls{flex-direction:column;gap:10px;margin-top:16px;display:flex}.btn-primary{background:var(--accent);color:#1a0d06;cursor:pointer;border:none;border-radius:10px;padding:14px;font-size:16px;font-weight:700}.btn-primary:active{opacity:.85}.btn-ghost{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:10px;padding:10px;font-size:13px}.mission-cta{width:100%;margin-top:14px}.reflection-input{background:var(--bg);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:10px;padding:10px;font-family:inherit;font-size:14px}.toast-card{text-align:center;background:var(--bg-elevated);border:1px solid var(--accent-border);border-radius:14px;margin:auto 0;padding:32px 20px}.toast-headline{color:var(--accent);font-size:28px;font-weight:800}.toast-body{color:var(--text-dim);margin-top:10px;font-size:15px;line-height:1.4}.week-meter__row{justify-content:space-between;gap:6px;display:flex}.week-meter__col{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.week-cell{aspect-ratio:1;background:var(--border);border-radius:6px;width:100%}.week-cell--empty{background:var(--bg);border:1px dashed var(--border)}.week-cell--zero{background:var(--border)}.week-cell--low{background:color-mix(in srgb, var(--accent) 35%, var(--bg-elevated))}.week-cell--mid{background:color-mix(in srgb, var(--accent) 65%, var(--bg-elevated))}.week-cell--high{background:var(--accent)}.week-cell--today{outline:2px solid var(--gold);outline-offset:1px}.week-meter__label{color:var(--text-faint);font-size:10px}.settings-screen{flex-direction:column;gap:14px;display:flex}.settings-edit-btn{width:100%;margin-top:12px}.missions-list{flex-direction:column;gap:8px;margin:12px 0;display:flex}.mission-input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px;font-family:inherit;font-size:14px}.settings-future-card{opacity:.6}.wizard{flex-direction:column;gap:6px;display:flex}.wizard-input,.wizard-draft{margin-top:12px}.ninja-avatar{display:inline-block}.ninja-avatar__figure{transform-box:fill-box;transform-origin:50% 60%;animation:2.8s ease-in-out infinite ninja-bob}.ninja-avatar__tail{transform-box:fill-box;transform-origin:15% 35%;animation:2.2s ease-in-out infinite ninja-tail-flutter}.ninja-avatar__brow{transform-box:fill-box;transition:transform .4s}.ninja-avatar__brow--left{transform-origin:100%}.ninja-avatar__brow--right{transform-origin:0}.ninja-avatar__eyelid{transform-box:fill-box;transform-origin:50%;opacity:0;transition:opacity .4s}.ninja-avatar--steady .ninja-avatar__brow--left,.ninja-avatar--steady .ninja-avatar__brow--right{transform:rotate(0)}.ninja-avatar--good .ninja-avatar__brow--left{transform:rotate(-6deg)translateY(-1px)}.ninja-avatar--good .ninja-avatar__brow--right{transform:rotate(6deg)translateY(-1px)}.ninja-avatar--thriving .ninja-avatar__brow--left{transform:rotate(-12deg)translateY(-2px)}.ninja-avatar--thriving .ninja-avatar__brow--right{transform:rotate(12deg)translateY(-2px)}.ninja-avatar--thriving .ninja-avatar__figure{animation-name:ninja-bob-energetic;animation-duration:1.1s}.ninja-avatar--thriving .ninja-avatar__tail{animation-duration:.8s}.ninja-avatar--thriving{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 55%, transparent))}.ninja-avatar--drift .ninja-avatar__brow--left{transform:rotate(10deg)translateY(2px)}.ninja-avatar--drift .ninja-avatar__brow--right{transform:rotate(-10deg)translateY(2px)}.ninja-avatar--drift .ninja-avatar__eyelid{opacity:1}.ninja-avatar--drift .ninja-avatar__figure{animation-name:ninja-bob-slow;animation-duration:3.8s}.ninja-avatar--drift .ninja-avatar__tail{animation-duration:4.5s}.ninja-avatar--drift{filter:saturate(.55)brightness(.85)}@keyframes ninja-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(.5deg)}}@keyframes ninja-bob-energetic{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-6px)rotate(1.5deg)}}@keyframes ninja-bob-slow{0%,to{transform:translateY(2px)rotate(-7deg)}50%{transform:translateY(3px)rotate(-7deg)}}@keyframes ninja-tail-flutter{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}.ninja-avatar__sparkles circle{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite sparkle-twinkle}.ninja-avatar__sparkles circle:nth-child(2){animation-delay:.3s}.ninja-avatar__sparkles circle:nth-child(3){animation-delay:.6s}@keyframes sparkle-twinkle{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}.ninja-avatar__fist{transform-box:fill-box;transform-origin:50%;animation:.7s ease-in-out infinite fist-pump}@keyframes fist-pump{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.ninja-avatar__figure,.ninja-avatar__tail,.ninja-avatar__sparkles circle,.ninja-avatar__fist{animation:none}}
