:root{color-scheme:light;--ground: #edf1f1;--surface: #fbfdfd;--surface-2: #f1f5f5;--ink: #0f1a1c;--ink-soft: #5c6c6e;--ink-faint: #86999a;--line: #dce4e4;--line-soft: #e7eded;--accent: #1e4a52;--accent-ink: #fbfdfd;--accent-wash: #e2eef0;--btn-line: #8fb6bd;--stuck: #b04a66;--stuck-wash: #f4e4e8;--work: #8a6219;--work-wash: #f4ebda;--stable: #2e7a60;--stable-wash: #dfefe8;--gold: #9c7826;--gold-wash: #f3ead5;--paper: #fbfaf5;--radius: 20px;--radius-sm: 14px;--shadow: 0 18px 44px -24px rgba(15, 40, 45, .4), 0 2px 6px -2px rgba(15, 40, 45, .1);--tap: 56px;--fig-navy: #1e4a52;--fig-navy-ink: #13272b;--fig-teal: #2fc7b6;--fig-teal-deep: #17a895;--fig-teal-wash: #e3f6f3;--fig-orange: #f2833c;--fig-orange-deep: #e0702b;--fig-orange-wash: #fdeee4}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:Onest,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.app{height:100%;max-width:520px;margin:0 auto;background:var(--surface);display:flex;flex-direction:column;position:relative}@media (min-width: 560px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.topbar{padding:calc(env(safe-area-inset-top) + 12px) 18px 12px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.brand{font-family:Unbounded,Onest,sans-serif;font-weight:700;font-size:15px;letter-spacing:-.02em}.brand span{color:var(--accent)}.topbar-note{font-size:12.5px;color:var(--ink-faint)}.screen{flex:1;min-height:0;overflow-y:auto;padding:18px 18px 28px;display:flex;flex-direction:column;gap:18px;-webkit-overflow-scrolling:touch}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}h2.title{font-family:Unbounded,Onest,sans-serif;font-weight:500;font-size:21px;line-height:1.2;letter-spacing:-.02em;margin:2px 0 0;text-wrap:balance}.lead{margin:0;font-size:14px;color:var(--ink-soft)}.title-date{color:var(--fig-teal-deep)}.stack{display:flex;flex-direction:column;gap:10px}.tabbar{flex:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{padding:10px 4px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--ink-faint);min-height:var(--tap);transition:color .14s}.tabbar button[data-on=true]{color:var(--fig-navy);box-shadow:inset 0 3px 0 var(--fig-navy)}.tabbar .dot{width:22px;height:22px;border-radius:8px;background:var(--surface-2);display:grid;place-items:center;font-size:12px;transition:background .14s,transform .14s}.tabbar button[data-on=true] .dot{background:var(--fig-teal-wash);transform:translateY(-1px)}.tabbar .badge{position:absolute;transform:translate(14px,-10px);background:#e0b54a;color:#2b2006;font-size:10px;line-height:1;padding:3px 5px;border-radius:99px;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip-date{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.chip{padding:9px 14px;border-radius:99px;background:var(--surface);border:1.5px solid #cfe0e2;font-size:14px;font-weight:500;color:var(--fig-navy);transition:background .12s,color .12s,transform .08s}.chip:active{transform:scale(.96)}.chip[data-on=true]{background:var(--fig-teal);border-color:var(--fig-teal-deep);color:var(--fig-navy-ink);font-weight:700}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 360px){.grid{grid-template-columns:1fr}}.tag{min-height:72px;padding:14px;border-radius:var(--radius-sm);background:var(--fig-orange-wash);border:1.5px solid #f8dcc8;color:#6e3512;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:15px;font-weight:600;line-height:1.25;position:relative;overflow:hidden;transition:transform .09s ease,border-color .14s,background .14s}.tag:active{transform:scale(.955)}.tag .freq{font-size:11.5px;font-weight:500;color:var(--ink-faint)}.tag[data-on=true]{background:var(--fig-orange);border-color:var(--fig-orange-deep);color:var(--fig-navy-ink);animation:pop .3s ease}.tag[data-on=true] .freq{color:#13272bb3}@keyframes pop{0%{transform:scale(.94)}45%{transform:scale(1.035)}to{transform:scale(1)}}.tag[data-fixed=true]{background:var(--accent-wash);border-color:var(--accent-wash);border-style:dashed;border-color:#b9d6db;color:var(--accent);opacity:.85}.tag[data-fixed=true] .freq{color:var(--accent);opacity:.7}.tag[data-fixed=true]:active{transform:none}.tag[data-shake=true]{animation:nudge .34s ease}@keyframes nudge{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media (prefers-reduced-motion: reduce){.tag[data-on=true],.tag[data-shake=true]{animation:none}}.dtabs{display:flex;justify-content:space-between;gap:2px;overflow-x:auto;scrollbar-width:none;border-bottom:1.5px solid var(--line);margin:0 -2px}.dtabs::-webkit-scrollbar{display:none}.dtab{flex:none;padding:10px 4px 11px;font-size:14.5px;font-weight:600;color:var(--ink-faint);position:relative;white-space:nowrap}.dtab[data-on=true]{color:var(--fig-navy)}.dtab[data-on=true]:after{content:"";position:absolute;left:2px;right:2px;bottom:-1.5px;height:3.5px;border-radius:3px 3px 0 0;background:var(--fig-navy)}.pills{display:flex;flex-wrap:wrap;gap:8px}.pill{min-height:38px;padding:7px 13px;border-radius:99px;border:1.5px solid #cfe0e2;background:var(--surface);font-size:14px;font-weight:500;color:var(--fig-navy);transition:background .12s,border-color .12s,transform .08s}.pill:active{transform:scale(.96)}.pill[data-on=true]{background:var(--fig-teal);border-color:var(--fig-teal-deep);color:var(--fig-navy-ink);font-weight:700}.pill-group{gap:6px}.pill-group-title{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.more{align-self:flex-start;padding:8px 4px;font-size:14px;font-weight:600;color:var(--fig-navy);text-decoration:underline;text-underline-offset:3px}.habits{gap:8px}.habits-title,.tags-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.tags-title[data-tone=element]{display:flex;justify-content:space-between;align-items:baseline;gap:8px;text-transform:none;letter-spacing:0;font-size:15px;font-weight:700;color:var(--ink)}.tags-picked{font-size:12.5px;font-weight:600;color:#8a4418;white-space:nowrap}.tags-block[data-panel=true]{padding:14px;border-radius:16px;background:#fffaf6;box-shadow:inset 0 0 0 1.5px #f6d3bb}.tags-block{scroll-margin-top:16px}.tags-hint{display:flex;gap:14px;align-items:center;padding:18px 16px;border:1.5px dashed #9fc0c5;border-radius:var(--radius-sm);background:#f2f7f7}.tags-hint svg{flex:none}.tags-hint-title{font-weight:700;font-size:15.5px}.tags-hint-sub{margin-top:3px;font-size:13.5px;line-height:1.35;color:#3f5052}.hpills{display:flex;flex-wrap:wrap;gap:8px}.hpill{min-height:44px;padding:9px 14px 9px 11px;border-radius:99px;border:1.5px dashed #e9b995;background:var(--fig-orange-wash);font-size:14.5px;font-weight:600;color:#8a4418;display:inline-flex;align-items:center;gap:6px;transition:background .12s,transform .08s}.hpill span{font-size:13px;opacity:.8}.hpill:active{transform:scale(.96)}.hpill[data-on=true]{background:var(--fig-orange);border:1.5px solid var(--fig-orange-deep);color:var(--fig-navy-ink)}.hpill[data-fixed=true]{background:var(--accent-wash);border-color:#b9d6db;color:var(--accent);opacity:.85}.hpill[data-shake=true]{animation:nudge .34s ease}.caught{position:sticky;bottom:0;margin:0 -18px -28px;padding:14px 18px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--surface) 68%,transparent);display:flex;align-items:center;justify-content:space-between;gap:12px}.caught-n{font-family:Unbounded,Onest,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;transition:transform .2s}.caught-n[data-bump=true]{transform:scale(1.18);color:#c4621f}.caught-label{font-size:12.5px;color:var(--ink-faint);line-height:1.25}.btn{min-height:var(--tap);padding:0 20px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:15.5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .08s}.btn:active{transform:scale(.98)}.btn[data-variant=ghost]{background:var(--surface);color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--btn-line)}.btn[data-variant=quiet]{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--btn-line);min-height:48px;font-size:14.5px;font-weight:600}.btn:disabled{opacity:.42;pointer-events:none}.card{background:var(--surface);border:1.5px solid #e2e9e9;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-title{font-weight:600;font-size:16px;line-height:1.25}.card-sub{font-size:12.5px;color:var(--ink-soft)}.card-explain{font-size:13px;color:var(--ink-soft);margin:0}.status{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:99px;white-space:nowrap;flex:none}.status[data-state=working]{background:var(--fig-teal-wash);color:#0e6b60}.status[data-state=stuck],.status[data-state=again]{background:var(--gold-wash);color:#7a5a14}.status[data-state=stable],.status[data-state=closed]{background:var(--fig-teal);color:#0b3b36}.el-tag{display:inline-block;margin-right:8px;padding:2px 9px;border-radius:99px;box-shadow:inset 0 0 0 1.5px #a9d9d2;color:var(--fig-navy);font-size:12.5px;font-weight:600;vertical-align:2px;white-space:nowrap}.eyebrow[data-tone=good]{color:#0e6b60}.eyebrow[data-tone=ask]{color:#7a5a14}.ask-card{background:var(--gold-wash);border:1px solid #ecdcb4;gap:12px}.ask-say{display:flex;align-items:center;gap:10px}.ask-say .konek{flex:none}.ask-q{font-size:14.5px;font-weight:600;line-height:1.35}.dots{display:flex;align-items:center;gap:6px}.dot{width:9px;height:9px;border-radius:99px;background:#d6e0e1;flex:none}.dot[data-on=true]{background:var(--fig-orange)}.dot[data-none=true]{background:transparent;box-shadow:inset 0 0 0 1.5px #dbe3e4}.dots-label{margin-left:6px;font-size:12px;color:var(--ink-soft)}.habit-row{background:var(--surface);border:1px solid var(--line-soft);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.habit-name{font-weight:600;font-size:15px}.habit-trend{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.habit-num{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:#3f5052}.habit-num[data-better=true]{color:#0e6b60}.habit-row{border:1.5px dashed #e9b995;background:#fffaf6}.habit-name{display:flex;align-items:center;gap:8px}.habit-mark{color:#c4621f;font-size:14px}.habit-sub{font-size:11.5px;color:var(--ink-soft)}.paper{background:var(--surface);border:1.5px solid #e2e9e9;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px}.paper-group-title{font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.paper-line{display:flex;gap:10px;font-size:15px;line-height:1.4;padding-bottom:10px;border-bottom:1px solid #eef2f2}.paper-line:last-child{border-bottom:none;padding-bottom:0}.paper-el{flex:none;align-self:flex-start;margin-right:0}.paper-note{color:var(--ink-soft);font-size:13.5px}.retract{font-size:12px;font-weight:600;color:var(--stuck);background:var(--stuck-wash);border-radius:8px;padding:4px 9px;align-self:center;white-space:nowrap}.retract.fix{color:var(--accent);background:var(--accent-wash)}.paper-memory{font-size:11px;font-weight:700;color:var(--ink-soft);background:var(--surface-2);border-radius:99px;padding:2px 7px;align-self:center;white-space:nowrap}.stretch-hero{background:linear-gradient(160deg,var(--accent) 0%,#10414c 100%);color:var(--accent-ink);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:6px}.stretch-value{font-family:Unbounded,Onest,sans-serif;font-size:54px;font-weight:700;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stretch-unit{margin-left:6px;font-size:20px;font-weight:500;opacity:.7}.stretch-delta{font-size:14px;font-weight:600;opacity:.92}.spark{display:flex;align-items:flex-end;gap:5px;height:56px;margin-top:8px}.spark i{flex:1;background:#cdeee9;border-radius:4px 4px 0 0;min-height:4px}.spark i:last-child{background:var(--fig-teal)}.celebrate{position:absolute;top:0;right:0;bottom:0;left:0;background:#091a1e8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;z-index:20;animation:fade .22s ease}@keyframes fade{0%{opacity:0}}.celebrate-box{background:var(--surface);border-radius:26px;padding:30px 24px 24px;text-align:center;display:flex;flex-direction:column;gap:12px;max-width:340px;width:100%;animation:rise .34s cubic-bezier(.2,.9,.3,1.2)}@keyframes rise{0%{transform:translateY(18px) scale(.94);opacity:0}}.celebrate-mark{width:76px;height:76px;border-radius:50%;background:var(--fig-teal);color:#0b3b36;display:grid;place-items:center;margin:0 auto;font-size:34px}.celebrate-title{font-family:Unbounded,Onest,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.02em}.celebrate-sub{font-size:14.5px;color:var(--ink-soft);margin:0}.empty{text-align:center;padding:36px 18px;color:var(--ink-faint);font-size:14.5px;line-height:1.5}.divider{height:1px;background:var(--line-soft);margin:4px 0}.row{display:flex;align-items:center;gap:10px}.actions{display:flex;gap:8px;margin-top:2px}.actions .btn{flex:1;min-width:0;padding:0 8px;font-size:14px;min-height:48px;text-align:center}.grow{flex:1}.field{width:100%;min-height:var(--tap);padding:14px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--surface);font-size:16px}.field:focus{outline:none;border-color:var(--accent)}.toast{gap:10px;position:absolute;left:50%;bottom:calc(152px + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--ink);color:var(--surface);padding:11px 16px;border-radius:99px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:12px;z-index:30;animation:rise .2s ease;box-shadow:var(--shadow)}.toast button{color:#7fd0c4;font-weight:700;font-size:14px}.avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:16px;flex:none}.swatch{width:40px;height:40px;border-radius:12px;border:3px solid transparent;transition:transform .08s}.swatch:active{transform:scale(.92)}.swatch[data-on=true]{border-color:var(--ink)}.role-card{text-align:left;cursor:pointer;border:1.5px solid var(--line-soft);transition:border-color .14s,background .14s}.role-card[data-on=true]{border-color:var(--accent);background:var(--accent-wash)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:14px 10px;text-align:center;display:flex;flex-direction:column;gap:4px}.stat-n{font-family:Unbounded,Onest,sans-serif;font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.stat-l{font-size:11.5px;color:var(--ink-faint);line-height:1.25}.konek{display:grid;place-items:center;flex:none}.konek svg{display:block;width:100%;height:100%;transform-origin:50% 92%}.konek[data-pose=head] svg,.konek[data-pose=head] .konek-eye{animation:none}.konek[data-pose=stand] svg,.konek[data-pose=tilt] svg,.konek[data-pose=sit] svg{animation:konek-breathe 4.2s ease-in-out infinite}.konek[data-pose=joy] svg{animation:konek-hop .62s cubic-bezier(.3,1.4,.5,1) 1}.konek .konek-eye{transform-box:fill-box;transform-origin:center;animation:konek-blink 6.5s ease-in-out infinite}@keyframes konek-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes konek-hop{0%{transform:translateY(10px) scale(.94)}45%{transform:translateY(-14px) scale(1.04)}to{transform:translateY(0) scale(1)}}@keyframes konek-blink{0%,90%,to{transform:scaleY(1)}94%{transform:scaleY(.08)}}@media (prefers-reduced-motion: reduce){.konek svg,.konek .konek-eye{animation:none!important}}.empty .konek{margin:4px auto 14px}.empty .btn{margin:16px auto 0;display:inline-flex;width:auto}.brand{display:flex;align-items:center;gap:8px}.recall-head{display:flex;align-items:center;gap:12px}.newword-invite,.newword-ask,.newword-saved{display:flex;gap:12px;align-items:center;padding:14px;border-radius:var(--radius-sm);background:var(--accent-wash)}.newword-body{flex-grow:1;display:flex;flex-direction:column;gap:10px;min-width:0}.newword-say{font-weight:700;color:var(--accent)}.newword-hint{font-size:13.5px;color:var(--ink-soft);margin-top:2px}.newword-input{width:100%;min-height:var(--tap);box-sizing:border-box;padding:0 14px;border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:17px}.newword-input:focus{outline:none;border-color:var(--accent)}.newword-actions{display:flex;gap:8px}.newword-actions .btn{flex-grow:1}.paper-own{margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--fig-orange-wash);color:#8a4418;font-size:11.5px;font-weight:700;white-space:nowrap}.diary-row{display:flex;align-items:center;gap:12px;width:100%;min-height:68px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);text-align:left}.diary-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.diary-cta{font-size:12.5px;font-weight:600;color:var(--accent);background:var(--accent-wash);padding:6px 11px;border-radius:99px;white-space:nowrap}.diary-grades{font-family:Unbounded,Onest,sans-serif;font-size:15px;font-weight:700;color:var(--fig-navy);white-space:nowrap}.silent-row{width:100%;min-height:44px;text-align:left;font-size:15px}.teaser{text-align:left;background:var(--surface-2);border-color:transparent}.teaser-line{font-size:14.5px;line-height:1.4}.teaser-more{font-size:13px;font-weight:600;color:var(--accent)}.back{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--fig-navy);flex:none}.review-name{margin:0;font-size:20px}.review-line{display:flex;align-items:baseline;gap:10px;padding:6px 0}.review-tag{display:block;font-weight:600;font-size:15px}.review-tag[data-habit=true]{color:#8a4418}.review-quote{display:block;font-size:13.5px;font-style:italic;color:var(--ink-soft);margin-top:2px}.grade-card{background:var(--surface)}.training-name{font-weight:700;font-size:16px;text-align:left;min-height:36px}.training-change{font-size:12.5px;font-weight:600;color:var(--accent);margin-left:6px}.grade-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.grade-btn{min-height:48px;border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);font-size:16px;font-weight:600;color:var(--fig-navy)}.grade-btn[data-on=true]{background:var(--fig-teal);color:#0b3b36;box-shadow:none;font-weight:700}.coach-review{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius);background:var(--accent-wash)}.coach-review-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px;font-weight:600}.coach-review-value{font-family:Unbounded,Onest,sans-serif;font-size:22px;font-weight:700;color:var(--fig-navy)}.coach-review-note{font-size:14px;line-height:1.45;font-style:italic;color:var(--fig-navy)}.grade-chips{display:flex;flex-wrap:wrap;gap:6px}.grade-chip{font-size:13px;padding:5px 9px;border-radius:8px;background:var(--fig-teal-wash);color:#0e6b60}.week-grid{display:grid;grid-template-columns:72px repeat(7,minmax(0,1fr));gap:4px;align-items:center}.week-head{font-size:11.5px;color:var(--ink-soft);text-align:center}.week-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-cell{height:22px;border-radius:6px}.week-cell[data-k=wrote]{background:var(--fig-teal)}.week-cell[data-k=graded]{background:var(--line)}.week-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--ink-soft)}.week-legend span{display:inline-flex;align-items:center;gap:6px}.week-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pill-add{background:var(--fig-teal-wash);box-shadow:inset 0 0 0 1.5px var(--fig-teal-deep);color:#0e6b60;font-weight:700}.quiet-toggle{min-height:40px;padding:6px 4px;font-size:13.5px;font-weight:600;color:var(--accent)}.floor-jumps{scroll-margin-top:16px;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius-sm);background:var(--accent-wash)}.rep-pill[data-in=true]{background:var(--fig-teal-wash);box-shadow:inset 0 0 0 1.5px #bfdcd8;font-weight:600}.timeline-row{align-items:baseline;padding:6px 0;font-size:14.5px;font-weight:600}.timeline-date{width:56px;flex:none;font-size:13px;font-weight:500;color:var(--ink-soft)}.rank-ladder{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.rank-step{padding:8px 13px;border-radius:99px;font-size:14px;font-weight:500}.rank-step[data-k=past]{background:var(--surface-2);color:var(--ink-faint)}.rank-step[data-k=now]{background:var(--accent);color:var(--accent-ink);font-weight:700}.rank-step[data-k=ahead]{border:1.5px dashed var(--btn-line);padding:6.5px 11.5px;color:var(--accent)}.day-chip{display:inline-flex;align-items:center;gap:6px}.day-chip[data-state=done]{background:var(--fig-teal-wash);color:#0e6b60}.day-chip[data-state=unread]{background:var(--gold-wash);color:#6f5413;font-weight:600}.day-chip[data-on=true]{background:var(--fig-navy);color:var(--accent-ink)}.day-count{min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:#e0b54a;color:#2b2006;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.day-done{font-weight:700;color:var(--fig-teal-deep)}.day-chip[data-on=true] .day-done{color:var(--fig-teal)}.parent-grade{gap:2px;padding:4px 0;font-size:14.5px;font-weight:600}.who{max-width:55%;padding:5px 11px;border-radius:99px;font-size:13px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .2s,color .2s,box-shadow .2s}.who[data-k=pending]{background:var(--gold-wash);box-shadow:inset 0 0 0 1.5px #e0b54a;color:#5a4210;font-weight:600}.who[data-k=offline]{background:repeating-linear-gradient(135deg,#f3ead5 0,#f3ead5 6px,#e8d9b0 6px,#e8d9b0 12px);box-shadow:inset 0 0 0 1.5px #d9a93c;color:#5a4210;font-weight:600}.sheet-back{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#0f1a1c47;display:flex;align-items:flex-end;animation:fade .15s ease}.sheet{width:100%;background:var(--surface);border-radius:20px 20px 0 0;padding:12px 20px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;animation:rise .2s ease}.sheet-grip{align-self:center;width:36px;height:4px;border-radius:99px;background:var(--line)}.sheet-title{font-weight:700;font-size:17px}.sheet-text{font-size:14.5px;line-height:1.45;color:var(--ink-soft)}.count{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#e0b54a;color:#2b2006;font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.tick{width:18px;height:18px;border-radius:99px;background:var(--fig-teal);color:#0b3b36;font-size:11px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.pip{width:6px;height:6px;border-radius:99px;background:#b8c6c7}.pip[data-k=has]{width:8px;height:8px;background:var(--fig-teal)}.seg{display:grid;padding:3px;border-radius:12px;background:#e2e9e9}.seg-btn{min-height:42px;padding:6px 8px;border-radius:9px;font-size:14.5px;font-weight:600;color:#4a5a5c;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;transition:background .15s,color .15s}.seg-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seg-btn[data-on=true]{background:var(--surface);color:var(--fig-navy);font-weight:700;box-shadow:0 1px 3px #0f282d1f}.days{display:grid;gap:6px}.day{padding:7px 0 8px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;transition:background .15s,color .15s}.day:active{transform:scale(.96)}.day-wd{font-size:11px;color:var(--ink-soft)}.day-n{font-weight:700;font-size:17px;line-height:1.25}.day-mark{height:18px;display:inline-flex;align-items:center;justify-content:center}.day[data-empty=true] .day-n{color:#9aa9aa}.day[data-on=true]{background:var(--fig-navy);box-shadow:none;color:var(--accent-ink)}.day[data-on=true] .day-wd,.day[data-on=true] .day-n{color:var(--accent-ink)}.day[data-on=true] .day-wd{opacity:.8}.day[data-on=true] .pip{background:#fbfdfd80}.day-more{font-size:18px;color:var(--accent);font-weight:700;justify-content:center}.dtabs[data-few=true]{justify-content:flex-start;gap:22px}.diary-row[data-wait=true]{background:var(--gold-wash);box-shadow:inset 0 0 0 1px #ecdcb4}.diary-wait{font-size:12.5px;font-weight:600;color:#7a5a14;white-space:nowrap}.grade-badge{padding:6px 11px;border-radius:9px;background:var(--fig-teal);color:#0b3b36;font-weight:700;font-size:14px;white-space:nowrap}.ladder{display:grid;grid-template-columns:repeat(var(--n, 9),minmax(0,1fr))}.ladder-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:44px;padding:0;font-size:11px;color:var(--ink-soft);white-space:nowrap}.ladder-step:before{content:"";position:absolute;top:11.5px;right:50%;width:100%;height:3px;background:var(--line)}.ladder-step:first-child:before{display:none}.ladder-step[data-k=past]:before,.ladder-step[data-k=now]:before{background:var(--fig-teal)}.ladder-dot{position:relative;z-index:1;width:12px;height:12px;margin-top:7px;border-radius:99px;background:var(--surface);box-shadow:inset 0 0 0 2px #b8c6c7}.ladder-step[data-k=past] .ladder-dot{background:var(--fig-teal);box-shadow:none}.ladder-step[data-k=now] .ladder-dot{width:18px;height:18px;margin-top:4px;background:var(--fig-navy);box-shadow:0 0 0 4px var(--fig-teal-wash)}.ladder-step[data-k=now] .ladder-label{color:var(--fig-navy);font-weight:700}.ladder-next{padding:10px 12px;border-radius:12px;background:var(--surface-2);font-size:13.5px;line-height:1.4}.grade-badge[data-soft=true]{background:var(--fig-teal-wash);color:#0e6b60}.grade-badges{display:flex;flex-wrap:wrap;gap:6px}.card[data-wait=true]{background:var(--gold-wash);border-color:#ecdcb4}.head-with-day{display:flex;align-items:flex-end;gap:12px}.day-badge{flex:none;width:46px;padding:5px 0 6px;pointer-events:none}.day-badge[data-past=true]{background:var(--fig-teal-wash);box-shadow:inset 0 0 0 1.5px var(--fig-teal)}.pill-n{font-weight:700}.stretch-hero{background:var(--surface);color:var(--ink);border:1.5px solid #e2e9e9;border-radius:16px}.stretch-hero .eyebrow{color:var(--ink-soft)!important}.stretch-value{color:var(--fig-navy)}.stretch-unit{color:var(--ink-soft)}.stretch-delta{align-self:flex-start;padding:5px 10px;border-radius:10px;background:var(--fig-teal-wash);color:#0e6b60;font-size:13px;line-height:1.35;font-weight:700;opacity:1}.coach-review{background:var(--surface-2);border-radius:16px}.tag[data-fresh=true]{border-color:#e0b54a}.tag[data-fresh=true] .freq{color:#7a5a14;font-weight:700}.word-news{display:flex;align-items:center;gap:10px;padding:10px 8px 10px 12px;border-radius:14px;background:var(--gold-wash);box-shadow:inset 0 0 0 1px #ecdcb4;font-size:13.5px;line-height:1.4}.word-news .konek{flex:none}.word-news-x{flex:none;width:40px;height:40px;border-radius:10px;color:#7a5a14;font-size:16px}.word-el{align-self:flex-start}.word-option{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:12px 14px;border-radius:12px;background:var(--fig-orange-wash);color:#6e3512;font-size:15px;font-weight:600;text-align:left}.word-option:active{transform:scale(.98)}.word-option:disabled{opacity:.5}.word-option-sub{font-size:12px;font-weight:500;color:#8a4418;white-space:nowrap}.word-err{margin:0;padding:10px 12px;border-radius:12px;background:var(--gold-wash);color:#5a4210;font-size:14px;line-height:1.4}.word-inbox{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:var(--gold-wash);box-shadow:inset 0 0 0 1px #ecdcb4}.word-inbox-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:15px}.word-row{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px;border-radius:12px;background:var(--surface);text-align:left}.word-row-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700;font-size:15px}.word-row-sub{font-size:12.5px;color:var(--ink-soft)}.word-row-sub[data-many=true]{color:#0e6b60;font-weight:700}.paper-own[data-group=true]{background:var(--fig-teal-wash);color:#0e6b60}.word-inbox:not([data-open=true]){padding:4px 14px}button.word-inbox-head{width:100%;min-height:44px;text-align:left;color:inherit}.word-inbox-right{display:inline-flex;align-items:center;gap:8px;color:#7a5a14}.hints{display:flex;flex-direction:column;gap:6px}.hints-say{font-size:13px;font-weight:700;color:#8a4418}.word-option[data-mine=true]{background:var(--surface);box-shadow:inset 0 0 0 1.5px #f6d3bb}
