:root{--paper:#f4f8f1;--surface:#fff;--ink:#1e3a2c;--ink-soft:#55735f;--leaf:#4e9f6b;--leaf-bright:#7bc96f;--leaf-deep:#2f6b4a;--sun:#ffc84a;--sun-deep:#d9a536;--coral:#f2704e;--alert:#c2452f;--sky:#6fb9de;--night:#14281f;--night-2:#1e3a2b;--moon:#eaf3ea;--moon-soft:#a3c0ae;--r-ctl:999px;--r-panel:32px;--r-card:24px;--r-media:18px;--r-chip:12px;--font-round:ui-rounded, "SF Pro Rounded", "PingFang SC", system-ui, sans-serif;--font-body:-apple-system, "PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0;font-size:17px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.screen{max-width:560px;min-height:100dvh;padding:calc(var(--safe-top) + 18px) 20px calc(var(--safe-bottom) + 24px);flex-direction:column;margin:0 auto;display:flex}.screen--center{text-align:center;justify-content:center;align-items:center;gap:18px}.screen__title{font-family:var(--font-round);margin:0;font-size:32px;line-height:1.1}.screen__sub{color:var(--ink-soft);max-width:24em;margin:0;font-size:15px;line-height:1.6}.stack{flex-direction:column;gap:12px;width:100%;max-width:320px;margin-top:8px;display:flex}.problems{text-align:left;color:var(--alert);margin:0;padding-left:18px;font-size:13px;line-height:1.6}.topbar{justify-content:space-between;align-items:center;min-height:44px;margin-bottom:18px;display:flex}.brand{font-family:var(--font-round);letter-spacing:-.01em;align-items:center;gap:8px;font-size:21px;font-weight:700;display:flex}.daychip{border:2px solid var(--ink);border-radius:var(--r-ctl);background:var(--surface);height:36px;color:var(--ink);font-family:var(--font-round);box-shadow:0 2px 0 var(--ink);align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:700;display:inline-flex}.banner,.onboarding{background:var(--surface);border:2px solid var(--ink);border-radius:var(--r-card);box-shadow:0 3px 0 var(--ink);margin-bottom:16px;padding:16px}.onboarding{background:#fff6dc;justify-content:space-between;align-items:center;gap:14px;display:flex}.onboarding strong,.banner strong{font-family:var(--font-round);font-size:16px}.onboarding p,.banner p{color:var(--ink-soft);margin:4px 0 0;font-size:13px;line-height:1.6}.onboarding .btn{flex:none;width:auto;padding:0 16px}.banner__actions{gap:10px;margin-top:12px;display:flex}.banner__actions .btn{flex:1;width:auto;padding:0 14px}.today__head{margin-bottom:18px}.today__head h1{font-family:var(--font-round);letter-spacing:-.02em;margin:0;font-size:34px;line-height:1.05}.today__head p{color:var(--ink-soft);margin:6px 0 0;font-size:14px}.tasks{flex-direction:column;gap:12px;display:flex}.task{-webkit-appearance:none;appearance:none;border:2px solid var(--ink);border-radius:var(--r-card);background:var(--surface);width:100%;color:var(--ink);text-align:left;box-shadow:0 3px 0 var(--ink);align-items:center;gap:14px;padding:13px 15px;transition:transform .12s,box-shadow .12s;display:flex}.task:active{box-shadow:0 0 0 var(--ink);transform:translateY(3px)}.task--locked{cursor:default}.task--locked .task__title{color:var(--ink-soft)}.task--locked .task__icon{background:#dce6dd}.task__icon{width:52px;height:52px;color:var(--ink);background:var(--paper);border-radius:16px;flex:none;place-items:center;display:grid}.task__icon--sky{background:var(--sky)}.task__icon--leaf{background:var(--leaf-bright)}.task__icon--coral{background:var(--coral)}.task__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.task__title{font-family:var(--font-round);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;line-height:1.2;overflow:hidden}.task__meta{color:var(--ink-soft);font-size:13px}.task__trailing{flex:none;align-items:center;display:flex}.task__lock{color:var(--ink-soft);opacity:.6}.pips{gap:5px;display:inline-flex}.pips i{border-radius:var(--r-ctl);border:2px solid var(--ink);background:var(--paper);width:9px;height:9px;display:block}.pips i.is-on{background:var(--leaf-bright)}.today__foot{margin-top:auto;padding-top:22px}.growth{justify-content:flex-start;align-items:center;gap:12px;margin-bottom:14px;display:flex}.growth__leaves{gap:10px;display:flex}.leaf path{fill:var(--paper);stroke:var(--ink);stroke-width:3px}.leaf--on path{fill:var(--leaf-bright)}.growth__label{color:var(--ink-soft);font-size:12px}.btn{border-radius:var(--r-ctl);background:var(--sun);width:100%;min-height:60px;color:var(--ink);font-family:var(--font-round);box-shadow:0 4px 0 var(--sun-deep);border:0;font-size:20px;font-weight:700;transition:transform .12s,box-shadow .12s}.btn:active:not(:disabled){box-shadow:0 0 0 var(--sun-deep);transform:translateY(4px)}.btn:disabled{opacity:.55;box-shadow:none}.btn--secondary{background:var(--surface);border:2px solid var(--ink);min-height:48px;box-shadow:0 3px 0 var(--ink);font-size:16px}.btn--secondary:active:not(:disabled){box-shadow:0 0 0 var(--ink)}.btn--ghost{min-height:44px;box-shadow:none;color:var(--ink-soft);background:0 0;font-size:15px;font-weight:500}.ghostbtn{color:var(--ink-soft);background:0 0;border:0;padding:8px;font-size:15px}.ghostbtn:disabled{opacity:.4;cursor:default}.player{background:var(--night);min-height:100dvh;color:var(--moon);position:relative;overflow:hidden}.player__back{top:calc(var(--safe-top) + 12px);z-index:5;border-radius:var(--r-ctl);width:44px;height:44px;color:var(--moon);background:#14281fa6;border:0;place-items:center;display:grid;position:absolute;left:14px}.player__stage{justify-content:center;align-items:center;min-height:100dvh;display:flex}.player__video{background:#0d1d15;width:100%;max-height:100dvh;display:block}.player__video--empty{min-height:240px;color:var(--moon-soft);place-items:center;font-size:14px;display:grid}.player__toggle{z-index:4;border-radius:var(--r-ctl);background:var(--sun);width:72px;height:72px;color:var(--ink);opacity:0;pointer-events:none;border:0;place-items:center;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9);box-shadow:0 0 0 10px #ffc84a1a}.player__toggle.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.player__foot{z-index:3;padding:12px 20px calc(var(--safe-bottom) + 20px);flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.player__seek{left:20px;right:20px;bottom:calc(var(--safe-bottom) + 96px);z-index:4;border-radius:var(--r-ctl);opacity:0;pointer-events:none;background:#a3c0ae40;height:4px;transition:opacity .18s;position:absolute}.player__seek:before{content:"";position:absolute;top:-14px;bottom:-14px;left:0;right:0}@media (hover:hover) and (pointer:fine){.player:hover .player__seek,.player__seek.is-scrubbing{opacity:1;pointer-events:auto;cursor:ew-resize}}.player__seek-fill{border-radius:var(--r-ctl);background:var(--sun);width:0;height:100%;position:relative}.player__seek-fill:after{content:"";background:var(--sun);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;right:-5px;transform:translateY(-50%);box-shadow:0 0 0 2px #14281f59}.player .pips i{border-color:var(--moon-soft);background:0 0}.player .pips i.is-on{background:var(--sun);border-color:var(--sun)}.player__title{color:var(--moon-soft);font-size:13px}.player__sheet{z-index:6;padding:24px 20px calc(var(--safe-bottom) + 24px);background:var(--surface);color:var(--ink);border-radius:var(--r-panel) var(--r-panel) 0 0;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -18px 40px #00000059}.player__sheet h2{font-family:var(--font-round);margin:0;font-size:26px}.player__sheet p{color:var(--ink-soft);text-align:center;margin:0;font-size:14px}.player__sheet .btn{width:100%;min-height:56px}.screen--record{padding-bottom:calc(var(--safe-bottom) + 20px)}.rctop{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.rctop__step{font-family:var(--font-round);font-size:15px;font-weight:700}.rctop__meta{color:var(--ink-soft);margin:4px 0 0;font-size:13px}.iconbtn{border:2px solid var(--ink);border-radius:var(--r-ctl);background:var(--surface);width:40px;height:40px;color:var(--ink);box-shadow:0 2px 0 var(--ink);place-items:center;display:grid}.target{border:2px solid var(--ink);background:var(--coral);box-shadow:0 4px 0 var(--ink);text-align:center;border-radius:26px;margin-bottom:28px;padding:32px 22px}.target__label{color:var(--ink);opacity:.9;margin-bottom:10px;font-size:13px;display:block}.target__sentence{font-family:var(--font-round);letter-spacing:-.01em;color:var(--ink);font-size:clamp(32px,9vw,44px);font-weight:700;line-height:1.12;display:block}.micwrap{flex-direction:column;align-items:center;gap:16px;margin-bottom:auto;display:flex}.mic{border:2px solid var(--ink);border-radius:var(--r-ctl);background:var(--sun);width:104px;height:104px;color:var(--ink);box-shadow:0 5px 0 var(--sun-deep);place-items:center;transition:transform .12s,box-shadow .12s;display:grid}.mic:active:not(:disabled){box-shadow:0 1px 0 var(--sun-deep);transform:translateY(4px)}.mic:disabled{opacity:.5}.mic.is-recording{background:var(--coral);box-shadow:0 5px 0 var(--alert)}.mic__stop{background:#fff;border-radius:8px;width:30px;height:30px}.mic__hint{color:var(--ink-soft);font-size:13px}.wave{align-items:center;gap:5px;height:34px;display:flex}.wave i{border-radius:var(--r-ctl);background:var(--coral);width:5px;animation:.9s ease-in-out infinite wave;display:block}@keyframes wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.2)}}.notice{border:2px solid var(--ink);color:var(--ink-soft);background:#fff6dc;border-radius:16px;margin:0 0 16px;padding:10px 14px;font-size:14px}.notice--error{color:var(--alert);background:#fdebe6}.record__actions{flex-direction:column;gap:10px;margin-top:22px;display:flex}.record__audio{width:100%;height:40px}.record__row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.faces{justify-content:center;gap:22px;margin:18px 0 6px;display:flex}.face{border:2px solid var(--ink);border-radius:var(--r-ctl);background:var(--surface);width:46px;height:46px;box-shadow:0 2px 0 var(--ink);place-items:center;display:grid}.face.is-on{background:var(--sun)}.record__foot{margin-top:16px}.parent__hero{margin:8px 0 22px}.parent__label{color:var(--ink-soft);margin:0 0 4px;font-size:13px}.parent__hero h1{font-family:var(--font-round);margin:0;font-size:30px;line-height:1.1}.parent__meta{color:var(--ink-soft);margin:6px 0 0;font-size:14px}.parent__card{border:2px solid var(--ink);border-radius:var(--r-card);background:var(--surface);box-shadow:0 3px 0 var(--ink);margin-bottom:16px;padding:20px}.parent__card--muted{background:#edf3ea}.parent__card h2{font-family:var(--font-round);margin:0 0 8px;font-size:18px}.parent__card p{color:var(--ink-soft);margin:0 0 14px;font-size:14px;line-height:1.6}.parent__status{color:var(--leaf-deep);margin:10px 0 0;font-size:13px}@media (orientation:landscape) and (max-height:560px){.player__stage{min-height:100dvh}.player__video{object-fit:contain}.player__foot{left:50%;right:auto;bottom:calc(var(--safe-bottom) + 10px);border-radius:var(--r-ctl);background:#14281f8c;flex-direction:row;gap:12px;padding:7px 14px;transform:translate(-50%)}.player__seek{left:15%;right:15%;bottom:calc(var(--safe-bottom) + 64px)}.player__title{display:none}.player__sheet{border-radius:28px;width:min(344px,82vw);padding:18px 22px 20px;bottom:50%;left:50%;right:auto;transform:translate(-50%,50%);box-shadow:0 26px 54px #00000080}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
