:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--font-serif:"Songti SC", "STSong", "Noto Serif CJK SC", serif;--bg:#f5efe5;--bg-deep:#d9cdbd;--surface:#fffdf9e6;--surface-solid:#fffdf9;--surface-soft:#f1e9dd;--surface-muted:#e9e0d3;--ink:#2e2822;--ink-soft:#4f453d;--muted:#81756a;--faint:#a79a8e;--line:#e4d8ca;--line-strong:#d6c8b9;--primary:#a65339;--primary-strong:#87412c;--primary-wash:#f3ded4;--sage:#687b64;--sage-strong:#50644d;--sage-wash:#e4eadf;--gold:#ad7b43;--gold-wash:#f2e5d1;--danger:#9d4f44;--nav-bg:#faf7f2ab;--nav-border:#ffffffc7;--nav-active:#332e29;--nav-active-ink:#fffaf5;--nav-idle:#90847a;--shadow-sm:0 8px 26px #422f2012;--shadow-md:0 17px 48px #422f201f;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,PingFang SC,Hiragino Sans GB,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171411;--bg-deep:#0c0a09;--surface:#231e1ae6;--surface-solid:#231e1a;--surface-soft:#2c2621;--surface-muted:#382f28;--ink:#f1e9df;--ink-soft:#d2c6b9;--muted:#a99b8e;--faint:#756a60;--line:#3a322b;--line-strong:#4b4036;--primary:#d27e60;--primary-strong:#e3987d;--primary-wash:#3f2a22;--sage:#91a88a;--sage-strong:#abc0a4;--sage-wash:#293427;--gold:#d2a368;--gold-wash:#3d3020;--danger:#db8b7c;--nav-bg:#1d1916b8;--nav-border:#ffffff1a;--nav-active:#f0e8de;--nav-active-ink:#211c18;--nav-idle:#a99b8f;--shadow-sm:0 8px 26px #00000029;--shadow-md:0 17px 48px #00000042}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171411;--bg-deep:#0c0a09;--surface:#231e1ae6;--surface-solid:#231e1a;--surface-soft:#2c2621;--surface-muted:#382f28;--ink:#f1e9df;--ink-soft:#d2c6b9;--muted:#a99b8e;--faint:#756a60;--line:#3a322b;--line-strong:#4b4036;--primary:#d27e60;--primary-strong:#e3987d;--primary-wash:#3f2a22;--sage:#91a88a;--sage-strong:#abc0a4;--sage-wash:#293427;--gold:#d2a368;--gold-wash:#3d3020;--danger:#db8b7c;--nav-bg:#1d1916b8;--nav-border:#ffffff1a;--nav-active:#f0e8de;--nav-active-ink:#211c18;--nav-idle:#a99b8f;--shadow-sm:0 8px 26px #00000029;--shadow-md:0 17px 48px #00000042}*{box-sizing:border-box}html{background:radial-gradient(circle at 20% 5%, #ffffff5c, transparent 32rem), var(--bg-deep);min-width:320px;min-height:100%}body{background:radial-gradient(circle at 14% 0%, #ffffff57, transparent 34rem), var(--bg-deep);min-width:320px;min-height:100dvh;color:var(--ink);overscroll-behavior-y:none;margin:0}:root[data-theme=dark] body{background:radial-gradient(circle at 18% 0%, #d27e6012, transparent 28rem), var(--bg-deep)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body{background:radial-gradient(circle at 18% 0%, #d27e6012, transparent 28rem), var(--bg-deep)}}button,input,textarea{color:inherit;font:inherit}button{-webkit-tap-highlight-color:transparent;cursor:pointer}button,input,textarea{outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:3px}h1,h2,h3,p{margin-top:0}.skip-link{z-index:200;background:var(--ink);color:var(--bg);border-radius:12px;padding:10px 16px;text-decoration:none;transition:transform .18s;position:fixed;top:10px;left:50%;transform:translate(-50%,-160%)}.skip-link:focus{transform:translate(-50%)}.app-shell{background:radial-gradient(circle at 88% 7%, #a6533914, transparent 18rem), radial-gradient(circle at 0% 43%, #687b640f, transparent 20rem), var(--bg);width:100%;max-width:520px;min-height:100dvh;box-shadow:var(--shadow-md);margin:0 auto;position:relative;overflow-x:clip}.storage-error-banner{z-index:30;padding:max(10px, var(--safe-top)) 16px 10px;background:color-mix(in srgb, var(--danger) 92%, #2c1714);color:#fff;text-align:center;font-size:11px;line-height:1.5;position:sticky;top:0}.main-stage{width:100%;min-height:100dvh;padding:max(20px, calc(var(--safe-top) + 16px)) 16px max(154px, calc(var(--safe-bottom) + 140px))}.screen{width:100%;animation:.24s both screen-in}@keyframes screen-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;margin:4px 0 20px;display:flex}.page-eyebrow,.micro-label,.sheet-eyebrow{color:var(--muted);letter-spacing:.075em;font-size:11px;font-weight:730}.page-eyebrow{margin:0 0 6px}.page-header h1{font-family:var(--font-serif);letter-spacing:-.035em;margin:0;font-size:clamp(28px,7vw,34px);font-weight:650;line-height:1.16}.icon-button{border:1px solid var(--line);background:var(--surface);width:46px;height:46px;color:var(--ink-soft);border-radius:16px;flex:none;place-items:center;padding:0;transition:transform .16s,background-color .16s;display:grid;box-shadow:0 4px 14px #3c2a1d0a}.icon-button:active{transform:scale(.95)}.page-header-actions{align-items:center;gap:7px;display:flex}.today-return{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--muted);border-radius:999px;padding:0 11px;font-size:10px;font-weight:680}.baseline-card,.metric-card,.chart-card,.source-card,.settings-group,.project-card,.install-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px)}.baseline-card{background:radial-gradient(circle at 88% 5%, #a653391f, transparent 48%), var(--surface);border-radius:26px;padding:20px}.baseline-top{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.baseline-top .micro-label{margin:0 0 4px}.baseline-top strong{letter-spacing:-.045em;font-size:29px;line-height:1.2;display:block}.baseline-top p:last-child{color:var(--muted);margin:5px 0 0;font-size:12px}.status-pill,.count-pill,.deadline-pill{background:var(--surface-soft);min-height:28px;color:var(--ink-soft);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 9px;font-size:10px;font-weight:720;display:inline-flex}.status-pill-sage{background:var(--sage-wash);color:var(--sage-strong)}.progress-track{background:var(--surface-soft);border-radius:999px;height:6px;margin-top:16px;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--primary);height:100%;transition:width .26s;display:block}.baseline-note{border-top:1px solid var(--line);color:var(--ink-soft);align-items:flex-start;gap:8px;margin:12px 0 0;padding-top:12px;font-size:11px;line-height:1.6;display:flex}.status-dot{background:var(--primary);border-radius:50%;flex:none;width:7px;height:7px;margin-top:5px}.status-dot.is-sage{background:var(--sage)}.status-dot.is-gold{background:var(--gold)}.section-title-row{justify-content:space-between;align-items:flex-end;gap:16px;margin:25px 2px 17px;display:flex}.section-title-row .micro-label{margin:0 0 4px}.section-title-row h2,.chart-head h2,.settings-group h2,.install-card h2{letter-spacing:-.015em;margin:0;font-size:17px}.quiet-meta,.chart-caption{color:var(--muted);font-size:10px}.timeline-add-event{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--primary);border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:10px;font-weight:700;display:inline-flex}.timeline{margin-left:66px;padding:2px 0 4px;position:relative}.timeline:before{background:var(--line-strong);content:"";width:1px;position:absolute;top:15px;bottom:16px;left:-18px}.timeline-item{width:100%;color:inherit;text-align:left;background:0 0;border:0;margin:0 0 14px;padding:0;display:block;position:relative}.timeline-time{width:42px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:10px;position:absolute;top:17px;left:-68px}.timeline-node{z-index:1;border:2px solid var(--bg);background:var(--surface-muted);width:9px;height:9px;box-shadow:0 0 0 1px var(--line-strong);border-radius:50%;position:absolute;top:19px;left:-22px}.timeline-node.is-complete,.note-item .timeline-node{background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.timeline-card{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:18px;padding:14px 15px;display:block;box-shadow:0 5px 18px #39281c0a}button.timeline-card{text-align:left;width:100%;display:block}.event-card{min-width:0;padding:13px 14px;transition:background-color .16s,transform .16s}.event-card:active{background:var(--surface-soft);transform:scale(.985)}.schedule-card{background:linear-gradient(145deg, #687b6414, transparent 66%), var(--surface);border-style:dashed}.event-title{min-width:0;color:var(--ink);letter-spacing:-.012em;text-overflow:ellipsis;font-size:14px;font-weight:680;line-height:1.4;overflow:hidden}.event-meta,.event-context{color:var(--muted);text-overflow:ellipsis;margin-top:6px;font-size:9px;line-height:1.5;display:block;overflow:hidden}.event-context{color:var(--faint);margin-top:3px}.timeline-parallel-grid{min-width:0;min-height:68px;position:relative}.timeline-positioned-card{width:calc(50% - 4px);min-width:0;position:absolute}.timeline-parallel-axis{z-index:2;pointer-events:none;position:absolute;inset:0}.parallel-start-time{width:42px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:9px;line-height:1;position:absolute;left:-68px;transform:translateY(-50%)}.parallel-start-node{border:2px solid var(--bg);background:var(--primary);width:9px;height:9px;box-shadow:0 0 0 1px var(--primary);border-radius:50%;position:absolute;left:-22px;transform:translateY(-50%)}.timeline-positioned-card.lane-0{left:0}.timeline-positioned-card.lane-1{right:0}.timeline-parallel-grid .event-card{height:100%;min-height:0;padding:9px 10px;overflow:hidden}.timeline-parallel-grid .event-title{font-size:12px}.timeline-parallel-grid .timeline-card-top{align-items:flex-start}.timeline-parallel-grid .quality-tag{padding:3px 5px;font-size:8px}.timeline-parallel-grid .event-meta{margin-top:4px;font-size:8px}.timeline-parallel-grid .event-context{display:none}.event-editor-hint{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.form-error{background:color-mix(in srgb, var(--danger) 10%, var(--surface-solid));color:var(--danger);border-radius:10px;margin:0;padding:9px 10px;font-size:10px;line-height:1.5}.timeline-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.timeline-card h3{letter-spacing:-.012em;margin:0;font-size:14px;font-weight:680}.timeline-card p{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.55}.quality-tag{background:var(--primary-wash);color:var(--primary-strong);border-radius:999px;flex:none;padding:4px 7px;font-size:9px;font-weight:740}.quality-tag.is-normal{background:var(--surface-soft);color:var(--muted)}.note-card{background:linear-gradient(135deg, #a6533917, transparent 70%), var(--surface);border-style:dashed}.note-item-night .note-card{background:linear-gradient(135deg, #687b6421, transparent 70%), var(--surface)}.note-label{color:var(--primary);letter-spacing:.07em;font-size:9px;font-weight:760;display:block}.note-item-night .note-label{color:var(--sage-strong)}.note-copy{color:var(--ink-soft);font-family:var(--font-serif);margin-top:7px;font-size:13px;line-height:1.7;display:block}.note-edit{color:var(--faint);margin-top:8px;font-size:9px;display:block}.now-marker{color:var(--primary);align-items:center;gap:9px;margin:3px 0 18px -28px;padding-left:24px;font-size:10px;font-weight:760;display:flex;position:relative}.now-marker:before{background:var(--primary);content:"";width:25px;height:1px;position:absolute;left:0}.now-marker i{background:var(--primary);border-radius:50%;width:5px;height:5px}.timeline-item.is-future .timeline-card{opacity:.78;border-style:dashed}.start-fab{z-index:55;left:auto;right:max(18px,50vw - 242px);bottom:calc(max(12px, var(--safe-bottom)) + 96px);background:var(--primary);color:#fffaf6;border:0;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;transition:transform .16s,box-shadow .16s;display:grid;position:fixed;box-shadow:0 13px 28px #76392640}.start-fab:active{transform:scale(.93);box-shadow:0 6px 16px #76392633}.bottom-nav{z-index:60;right:0;bottom:max(12px, var(--safe-bottom));border:1px solid var(--nav-border);background:var(--nav-bg);-webkit-backdrop-filter:blur(27px)saturate(1.35);border-radius:28px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:min(100vw - 32px,488px);height:84px;padding:6px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 40px #2b1f1629,inset 0 1px #ffffff94}.nav-item{min-width:0;color:var(--nav-idle);background:0 0;border:0;border-radius:19px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px;font-size:10px;font-weight:650;transition:color .17s,background-color .17s,transform .17s;display:flex}.nav-item:active{transform:scale(.95)}.nav-item.is-active{background:var(--nav-active);color:var(--nav-active-ink);box-shadow:0 5px 16px #231b162e}.nav-item svg{flex:none}.today-summary{background:var(--surface-soft);color:var(--muted);border-radius:17px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:13px 15px;font-size:11px;display:flex}.today-summary strong{color:var(--ink)}.source-card{border-radius:23px;margin-bottom:14px;padding:16px}.source-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.source-title{align-items:flex-start;gap:9px;display:flex}.source-title .status-dot{margin-top:5px}.source-title>span:last-child{flex-direction:column;gap:4px;display:flex}.source-title strong{font-size:14px}.source-title small{color:var(--muted);font-size:10px;font-weight:450}.task-list{margin-top:4px}.task-row{border-top:1px solid var(--line);grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;display:grid}.task-row>div,.task-copy{min-width:0}.task-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;line-height:1.45;display:block;overflow:hidden}.task-copy{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.task-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;display:block;overflow:hidden}.task-row.is-done strong{color:var(--muted);text-decoration:line-through}.task-check{border:1.5px solid var(--line-strong);color:#fffaf5;background:0 0;border-radius:50%;place-items:center;width:21px;height:21px;padding:0;display:grid}.task-check:has(svg){border-color:var(--sage);background:var(--sage)}.task-check.is-checked{border-color:var(--sage);background:var(--sage)}.task-start{border:1px solid var(--line);background:var(--surface-solid);min-height:34px;color:var(--primary);border-radius:11px;padding:0 11px;font-size:10px;font-weight:740}.category-strip{scrollbar-width:none;gap:7px;margin:7px -16px 4px;padding:0 16px 3px;display:flex;overflow-x:auto}.category-strip::-webkit-scrollbar{display:none}.category-chip{border:1px solid var(--line);background:var(--surface-solid);min-height:32px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:10px;font-weight:660;display:inline-flex}.category-chip b{opacity:.72;font-size:9px}.category-chip.is-active{border-color:var(--nav-active);background:var(--nav-active);color:var(--nav-active-ink)}.category-chip.is-ghost{background:0 0;border-style:dashed}.category-caption{color:var(--muted);margin:9px 0 0;font-size:9px}.review-source{background:linear-gradient(145deg, var(--sage-wash), transparent 72%), var(--surface)}.review-metrics{grid-template-columns:repeat(2,1fr);gap:7px;margin:5px 0 10px;display:grid}.review-metrics>button{min-width:0;min-height:58px;color:var(--ink);text-align:left;background:#ffffff42;border:0;border-radius:13px;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;transition:background-color .16s;display:flex}.review-metrics>button:active{background:#ffffff6b}.review-metrics>button>span{gap:3px;min-width:0;display:grid}.review-metrics strong{font-size:17px;line-height:1.2;display:block}.review-metrics small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.review-metrics svg{color:var(--faint);flex:none}.review-list-sheet{gap:12px;display:grid}.review-list-caption{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.review-task-list{border:1px solid var(--line);border-radius:17px;overflow:hidden}.review-list-item{border:0;border-top:1px solid var(--line);background:var(--surface-solid);width:100%;min-height:64px;color:var(--ink);text-align:left;grid-template-columns:34px minmax(0,1fr) auto 16px;align-items:center;gap:10px;padding:10px 12px;display:grid}.review-list-item:first-child{border-top:0}.review-list-item:active{background:var(--surface-soft)}.review-list-icon{background:var(--sage-wash);width:34px;height:34px;color:var(--sage-strong);border-radius:11px;place-items:center;display:grid}.review-list-copy{gap:4px;min-width:0;display:grid}.review-list-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:660;overflow:hidden}.review-list-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.review-due-pill{background:var(--primary-wash);color:var(--primary-strong);border-radius:999px;padding:4px 7px;font-size:8px;font-weight:730}.review-list-item>svg{color:var(--faint)}.review-list-empty{text-align:center;padding:22px 14px}.learning-detail{gap:16px;display:grid}.learning-summary{grid-template-columns:1fr 1fr;gap:8px;display:grid}.learning-summary>span{background:var(--surface-soft);color:var(--muted);border-radius:14px;gap:5px;padding:12px;font-size:9px;display:grid}.learning-summary strong{color:var(--ink);font-size:13px}.learning-history-head{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.learning-history-head h3{margin:0;font-size:14px}.learning-history-head span{color:var(--faint);font-size:9px}.learning-history{gap:0;margin:0;padding:0 0 0 18px;list-style:none;display:grid;position:relative}.learning-history:before{background:var(--line-strong);content:"";width:1px;position:absolute;top:11px;bottom:15px;left:4px}.learning-history li{grid-template-columns:70px minmax(0,1fr);align-items:start;gap:10px;min-height:58px;padding:8px 0;display:grid;position:relative}.learning-history li>i{border:2px solid var(--surface-solid);background:var(--sage);width:9px;height:9px;box-shadow:0 0 0 1px var(--sage);border-radius:50%;position:absolute;top:15px;left:-18px}.learning-history time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px;font-size:10px}.learning-history div{gap:4px;display:grid}.learning-history strong{font-size:11px;font-weight:650}.learning-history small{color:var(--muted);font-size:9px}.learning-start-button{width:100%}.new-plan-button{border:1px dashed var(--line-strong);width:100%;min-height:50px;color:var(--primary);background:#ffffff29;border-radius:18px;justify-content:center;align-items:center;gap:7px;margin-bottom:16px;font-size:12px;font-weight:730;display:flex}.project-list{gap:15px;display:grid}.project-card{border-radius:24px;padding:18px;position:relative;overflow:hidden}.project-card:before{background:var(--primary);content:"";border-radius:0 0 999px 999px;height:3px;position:absolute;top:0;left:18px;right:18px}.project-card.tone-sage:before{background:var(--sage)}.project-card.tone-gold:before{background:var(--gold)}.project-card.tone-sage .progress-track>span{background:var(--sage)}.project-card.tone-gold .progress-track>span{background:var(--gold)}.project-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-top .micro-label{margin:1px 0 5px}.project-top h2{letter-spacing:-.02em;margin:0;font-size:17px;line-height:1.35}.deadline-pill{flex:none;margin-top:2px}.project-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:10px;display:flex}.project-meta strong{color:var(--ink)}.baseline-pill{background:var(--primary-wash);color:var(--primary-strong);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;padding:10px 11px;font-size:10px;display:flex}.baseline-pill.is-done{background:var(--sage-wash);color:var(--sage-strong)}.module-stack{border-top:1px solid var(--line);margin-top:11px}.module-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:43px;color:var(--ink-soft);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:9px;padding:0;display:grid}.module-row:last-child{border-bottom:0}.module-row>span:first-child{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:660;overflow:hidden}.module-progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.module-row svg{color:var(--faint)}.goal-list{gap:12px;display:grid}.goal-card{--goal-accent:var(--primary);--goal-mix:13%;background:var(--surface-solid);border:0;border-radius:18px;padding:16px;box-shadow:0 4px 16px #00000005}.goal-card.accent-violet{--goal-accent:#7e57c2;--goal-mix:13%}.goal-card.accent-neutral{--goal-accent:#73777d;--goal-mix:7%}.goal-card.accent-terracotta{--goal-accent:var(--primary);--goal-mix:13%}.goal-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.goal-card-head>div:first-child{min-width:0}.goal-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.goal-title-row h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:680;line-height:24px}.goal-status{background:var(--surface-soft);background:color-mix(in srgb, var(--goal-accent) var(--goal-mix), var(--surface-solid));min-height:24px;color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:9px;font-weight:670;display:inline-flex}.goal-status.is-overdue{background:color-mix(in srgb, var(--danger) 13%, var(--surface-solid));color:var(--danger)}.goal-deadline{color:var(--muted);margin:8px 0 0;font-size:12px;font-weight:420;line-height:1.55}.goal-ring{flex:0 0 56px;place-items:center;width:56px;height:56px;display:grid;position:relative}.goal-ring svg{width:56px;height:56px;overflow:visible;transform:rotate(-90deg)}.goal-ring circle{fill:none;stroke-width:4px}.goal-ring-track{stroke:var(--surface-soft)}.goal-ring-value{stroke:var(--goal-accent);stroke-linecap:round;stroke-dasharray:var(--ring-circumference);stroke-dashoffset:var(--ring-offset);animation:.6s ease-in-out both ring-draw}.goal-ring span{color:var(--ink-soft);font-size:10px;font-weight:740;position:absolute}@keyframes ring-draw{0%{stroke-dashoffset:var(--ring-circumference)}to{stroke-dashoffset:var(--ring-offset)}}.goal-progress-block{margin-top:12px}.goal-progress-labels{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.goal-progress-labels strong{color:var(--ink-soft);font-weight:680}.goal-progress-track{background:var(--surface-muted);border-radius:999px;height:5px;margin-top:8px;overflow:hidden}.goal-progress-track>span{border-radius:inherit;background:var(--goal-accent);height:100%;transition:width .3s;display:block}.milestone-track{height:20px;margin:11px 8px 0;position:relative}.milestone-line,.milestone-line-fill{border-radius:999px;height:1px;position:absolute;top:9px;left:0}.milestone-line{background:var(--surface-muted);width:100%}.milestone-line-fill{background:var(--goal-accent);opacity:.72}.milestone-node{z-index:2;background:0 0;border:0;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;display:grid;position:absolute;top:3px;transform:translate(-50%)}.milestone-node>i{border:1.5px solid var(--surface-solid);background:var(--surface-muted);width:8px;height:8px;box-shadow:0 0 0 1px var(--line-strong);border-radius:50%;transition:transform .2s ease-in-out,background-color .2s ease-in-out}.milestone-node:last-of-type>i{background:#ffa726;box-shadow:0 0 0 1px #ffa726}.milestone-node.is-active>i{background:var(--goal-accent);box-shadow:0 0 0 1px var(--goal-accent);transform:scale(1.28)}.milestone-bubble{border:1px solid var(--line);background:var(--surface-solid);width:max-content;max-width:140px;color:var(--muted);text-align:left;border-radius:9px;flex-direction:column;gap:2px;padding:7px 9px;font-size:9px;line-height:1.4;display:flex;position:absolute;bottom:27px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #291d141c}.milestone-bubble b{color:var(--ink);font-size:10px}.milestone-node:first-of-type .milestone-bubble{left:-4px;right:auto;transform:none}.milestone-node:last-of-type .milestone-bubble{left:auto;right:-4px;transform:none}.milestone-labels{color:var(--faint);justify-content:space-between;align-items:center;padding:0 2px;font-size:9px;display:flex}.goal-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.goal-metric{border:.5px solid var(--line);background:var(--surface-soft);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:61px;padding:8px 5px;display:flex}.goal-metric.is-highlight{background:var(--surface-soft);background:color-mix(in srgb, var(--goal-accent) var(--goal-mix), var(--surface-solid));border-color:#0000}.goal-metric span{width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.4;overflow:hidden}.goal-metric strong{width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;line-height:1.35;overflow:hidden}.goal-metric.is-highlight strong{color:var(--goal-accent)}.goal-insight{background:color-mix(in srgb, var(--goal-accent) 5%, var(--surface-soft));color:var(--ink-soft);border-radius:8px;align-items:flex-start;gap:7px;margin:12px 0 0;padding:9px 10px;font-size:11px;font-weight:520;line-height:1.5;display:flex}.goal-insight .status-dot{background:#ffa726;margin-top:4px}.goal-edit-project{width:100%;min-height:38px;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:7px;margin-top:7px;padding:0 2px;font-size:10px;display:flex}.goal-edit-project svg:last-child{color:var(--faint);margin-left:auto}.goal-modules{border-top:1px solid var(--line);margin-top:12px}.goal-modules-head{min-height:42px;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-weight:680;display:flex}.goal-modules-head small{color:var(--faint);font-size:9px;font-weight:450}.goal-modules-actions{align-items:center;gap:8px;display:flex}.goal-modules-actions button{border:1px solid var(--line);background:var(--surface-soft);width:30px;height:30px;color:var(--primary);border-radius:10px;place-items:center;padding:0;display:grid}.goal-module-row{border:0;border-top:1px solid var(--line);width:100%;min-height:47px;color:var(--ink-soft);text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:9px;padding:6px 0;transition:background-color .16s,padding .16s;display:grid}.goal-module-row:active{background:var(--surface-soft);border-radius:8px;padding-left:6px;padding-right:6px}.goal-module-copy{gap:6px;min-width:0;display:grid}.goal-module-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:640;overflow:hidden}.goal-module-copy>i{background:var(--surface-muted);border-radius:999px;height:3px;overflow:hidden}.goal-module-copy>i>span{border-radius:inherit;background:var(--goal-accent);height:100%;display:block}.goal-module-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.goal-module-row>svg{color:var(--faint)}.module-editor-summary{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.module-editor-summary>div{flex-direction:column;gap:3px;display:flex}.module-editor-summary span{color:var(--muted);font-size:10px}.module-editor-summary strong{letter-spacing:-.04em;font-size:25px}.inline-editor{gap:7px;display:grid}.inline-editor>label{color:var(--muted);font-size:9px;font-weight:650}.inline-editor>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.inline-editor input,.inline-task-form input{border:1px solid var(--line);background:var(--bg);min-width:0;height:43px;color:var(--ink);border-radius:12px;padding:0 12px;font-size:12px}.inline-editor button{background:var(--primary);color:#fffaf6;border:0;border-radius:12px;min-width:58px;font-size:10px;font-weight:720}.inline-editor button:disabled{cursor:default;opacity:.38}.inline-task-form{grid-template-columns:minmax(0,1fr) 67px 43px;gap:7px;display:grid}.inline-task-form input[type=number]{text-align:center;padding-left:8px;padding-right:5px}.inline-task-form button{background:var(--primary);color:#fffaf6;border:0;border-radius:12px;place-items:center;width:43px;height:43px;padding:0;display:grid}.inline-empty{color:var(--muted);margin:0;padding:16px 0;font-size:10px}.danger-link{color:var(--danger);background:0 0;border:0;justify-self:start;padding:6px 0;font-size:10px}.project-delete-link{justify-self:center;margin-top:2px}.empty-card{border:1px dashed var(--line-strong);text-align:center;background:#ffffff26;border-radius:20px;justify-items:center;gap:10px;padding:30px 20px;display:grid}.empty-card>span{background:var(--primary-wash);width:45px;height:45px;color:var(--primary);border-radius:15px;place-items:center;display:grid}.empty-card h2{margin:2px 0 0;font-size:16px}.empty-card p{max-width:250px;color:var(--muted);margin:0;font-size:11px;line-height:1.7}.segmented-control{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:3px;margin-bottom:14px;padding:4px;display:grid}.segmented-control button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:11px;padding:0;font-size:11px;font-weight:690}.segmented-control button.is-active{background:var(--surface-solid);color:var(--ink);box-shadow:0 3px 12px #2e201614}.metric-card{border-radius:24px;margin-bottom:14px;padding:19px}.metric-card .micro-label{margin-bottom:5px}.metric-card>strong{letter-spacing:-.05em;font-size:31px;display:block}.metric-card>p:not(.micro-label){color:var(--muted);margin:6px 0 0;font-size:10px}.chart-card{border-radius:23px;margin-bottom:14px;padding:17px}.chart-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:17px;display:flex}.chart-head .micro-label{margin:0 0 4px}.donut-layout{align-items:center;gap:22px;display:flex}.donut-chart{background:conic-gradient(var(--primary) 0 42%, var(--sage) 42% 69%, var(--gold) 69% 86%, var(--surface-muted) 86% 100%);border-radius:50%;flex:none;place-items:center;width:112px;height:112px;display:grid}.stats-donut{animation:.6s ease-out both donut-reveal}@keyframes donut-reveal{0%{opacity:0;transform:rotate(-18deg)scale(.92)}to{opacity:1;transform:rotate(0)scale(1)}}.donut-chart:before{background:var(--surface-solid);content:"";border-radius:50%;grid-area:1/1;width:69px;height:69px}.donut-chart span{z-index:1;color:var(--ink-soft);grid-area:1/1;font-size:15px;font-weight:720}.chart-legend{flex:1;gap:10px;margin:0;padding:0;list-style:none;display:grid}.chart-legend li{color:var(--muted);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:10px;display:grid}.chart-legend b{color:var(--ink-soft);font-weight:650}.chart-empty{color:var(--muted);margin:0;font-size:10px;line-height:1.7}.legend-dot{border-radius:50%;width:7px;height:7px}.dot-primary{background:var(--primary)}.dot-sage{background:var(--sage)}.dot-gold{background:var(--gold)}.dot-neutral{background:var(--surface-muted)}.bar-chart{border-bottom:1px solid var(--line);align-items:stretch;gap:7px;height:128px;padding-top:8px;display:flex}.bar-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:7px;min-width:0;display:flex}.bar-column i{background:var(--surface-muted);border-radius:6px 6px 2px 2px;width:100%;max-width:20px;min-height:8px;display:block}.bar-column i.is-strong{background:linear-gradient(to top, var(--primary), var(--gold))}.bar-column small{color:var(--muted);white-space:nowrap;font-size:8px}.bar-chart.is-dense{gap:3px}.bar-chart.is-dense .bar-column small{font-size:7px}.insight-card{border:1px solid var(--line);background:linear-gradient(145deg, var(--sage-wash), transparent 72%), var(--surface);border-radius:23px;align-items:flex-start;gap:14px;padding:17px;display:flex}.insight-icon{background:var(--sage);color:#fff;border-radius:14px;flex:none;place-items:center;width:43px;height:43px;font-size:12px;font-weight:770;display:grid}.insight-card .micro-label{margin-bottom:4px}.insight-card h3{margin:0;font-size:15px}.insight-card p:last-child{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.6}.settings-screen{gap:14px;display:grid}.settings-screen .page-header{margin-bottom:4px}.settings-group{border-radius:22px;padding:16px;overflow:hidden}.settings-group>h2{margin:0 0 11px}.theme-picker{background:var(--surface-soft);border-radius:15px;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;display:grid}.theme-picker button{min-height:51px;color:var(--muted);background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:5px;padding:5px;font-size:10px;font-weight:680;display:flex}.theme-picker button.is-active{background:var(--surface-solid);color:var(--ink);box-shadow:0 4px 13px #30221714}.setting-row{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 0;display:flex}.setting-row:nth-of-type(2){border-top:0}.setting-row>span:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.setting-row strong{font-size:12px;font-weight:650}.setting-row small{color:var(--muted);font-size:9px}.setting-value{color:var(--muted);flex:none;align-items:center;gap:3px;font-size:10px;display:flex}.settings-group-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.settings-group-head h2{margin:0}.settings-group-head p{color:var(--muted);margin:5px 0 0;font-size:9px}.interval-list{flex-wrap:wrap;gap:7px;display:flex}.interval-list span,.interval-list button{background:var(--surface-soft);min-width:48px;min-height:35px;color:var(--ink-soft);border:0;border-radius:11px;place-items:center;padding:0 9px;font-size:10px;font-weight:670;display:grid}.interval-list button{border:1px dashed var(--line-strong);min-width:35px;color:var(--primary);background:0 0}.interval-editor{gap:13px;display:grid}.interval-editor>p{color:var(--muted);margin:0;font-size:10px;line-height:1.65}.interval-edit-list{gap:7px;display:grid}.interval-edit-row{grid-template-columns:26px minmax(0,1fr) 38px;align-items:center;gap:8px;display:grid}.interval-edit-row>span{background:var(--surface-soft);width:25px;height:25px;color:var(--muted);border-radius:8px;place-items:center;font-size:9px;font-weight:700;display:grid}.interval-edit-row label{border:1px solid var(--line);background:var(--bg);border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:0 11px;display:flex}.interval-edit-row input{width:55px;min-width:0;color:var(--ink);text-align:center;background:0 0;border:0;font-size:15px;font-weight:680}.interval-edit-row small{color:var(--muted);font-size:9px}.interval-edit-row>button{background:var(--surface-soft);width:38px;height:38px;color:var(--muted);border:0;border-radius:11px;place-items:center;padding:0;display:grid}.add-interval-button{border:1px dashed var(--line-strong);min-height:42px;color:var(--primary);background:0 0;border-radius:13px;justify-content:center;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.primary-button:disabled{cursor:default;opacity:.42}.storage-track,.data-card .storage-track{background:var(--surface-soft);border-radius:999px;height:6px;overflow:hidden}.storage-track span{border-radius:inherit;background:var(--sage);width:27%;height:100%;display:block}.data-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;display:grid}.data-actions button{border:1px solid var(--line);background:var(--surface-soft);min-height:44px;color:var(--ink-soft);border-radius:13px;justify-content:center;align-items:center;gap:7px;font-size:10px;font-weight:690;display:flex}.data-feedback{color:var(--sage-strong);margin:10px 0 0;font-size:10px;line-height:1.55}.storage-warning{color:var(--danger);margin:9px 0 0;font-size:10px;line-height:1.55}.storage-detail{color:var(--muted);margin:8px 0 0;font-size:9px;line-height:1.55}.reset-data-link{margin-top:9px}.import-restore-button{width:100%;margin-top:10px}.install-card{background:linear-gradient(145deg, var(--primary-wash), transparent 72%), var(--surface);border-radius:22px;gap:14px;padding:17px;display:flex}.install-mark{background:var(--primary);color:#fffaf6;border-radius:14px;flex:none;place-items:center;width:43px;height:43px;display:grid}.install-card .micro-label{margin:0 0 5px}.install-card h2{font-size:14px}.install-card p:last-child{color:var(--muted);margin:6px 0 0;font-size:9px;line-height:1.7}.clear-data-card{background:linear-gradient(145deg, color-mix(in srgb, var(--danger) 8%, transparent), transparent 72%), var(--surface)}.clear-data-card>p{color:var(--muted);margin:0 0 14px;font-size:10px;line-height:1.75}.clear-data-button{border:1px solid color-mix(in srgb, var(--danger) 38%, var(--line));background:color-mix(in srgb, var(--danger) 8%, var(--surface-solid));width:100%;min-height:47px;color:var(--danger);border-radius:14px;font-size:11px;font-weight:720}.version-line{color:var(--faint);text-align:center;margin:5px 0 0;font-size:9px}.sheet-layer{z-index:100;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);background:#1b151161;border:0;animation:.18s both backdrop-in;position:absolute;inset:0}.bottom-sheet{z-index:1;width:min(100%,520px);max-height:min(86dvh,760px);padding:9px 20px max(20px, calc(var(--safe-bottom) + 16px));border:1px solid var(--line);background:var(--surface-solid);border-bottom:0;border-radius:29px 29px 0 0;animation:.26s cubic-bezier(.22,.8,.25,1) both sheet-in;position:relative;overflow-y:auto;box-shadow:0 -20px 60px #1f171133}.sheet-handle{background:var(--line-strong);border-radius:999px;width:38px;height:4px;margin:0 auto 15px}.sheet-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:19px;display:flex}.sheet-eyebrow{margin:0 0 5px}.sheet-header h2{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:25px;font-weight:650}.sheet-body{padding-bottom:2px}.confirm-layer{z-index:130;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.confirm-backdrop{-webkit-backdrop-filter:blur(4px);background:#19130f6b;border:0;animation:.18s both backdrop-in;position:absolute;inset:0}.confirm-card{z-index:1;width:min(100%,488px);margin-bottom:max(0px, var(--safe-bottom));border:1px solid var(--line);background:var(--surface-solid);border-radius:25px;padding:22px;animation:.23s cubic-bezier(.22,.8,.25,1) both sheet-in;position:relative;box-shadow:0 24px 80px #1c130d42}.confirm-symbol{background:var(--primary-wash);width:44px;height:44px;color:var(--primary);border-radius:14px;place-items:center;margin-bottom:14px;display:grid}.confirm-card.is-danger .confirm-symbol{background:color-mix(in srgb, var(--danger) 13%, var(--surface-solid));color:var(--danger)}.confirm-card h2{font-family:var(--font-serif);letter-spacing:-.025em;margin:0;font-size:23px;font-weight:650}.confirm-description{color:var(--muted);margin-top:9px;font-size:11px;line-height:1.8}.confirm-actions{grid-template-columns:1fr 1.1fr;gap:9px;margin-top:20px;display:grid}.confirm-actions button{border-radius:14px;min-height:48px;font-size:11px;font-weight:710}.confirm-cancel{border:1px solid var(--line);background:var(--surface-soft);color:var(--ink-soft)}.confirm-submit{background:var(--primary);color:#fffaf6;border:0}.confirm-submit.is-danger{background:var(--danger)}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}.quick-start-grid{gap:9px;display:grid}.mode-card{border:1px solid var(--line);background:var(--bg);text-align:left;border-radius:18px;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:72px;padding:12px;display:grid}.mode-icon{background:var(--primary-wash);width:44px;height:44px;color:var(--primary);border-radius:14px;place-items:center;display:grid}.mode-icon-sage{background:var(--sage-wash);color:var(--sage-strong)}.mode-card>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.mode-card strong{font-size:13px}.mode-card small{color:var(--muted);font-size:10px}.mode-chevron{color:var(--faint)}.temporary-event{width:100%;min-height:48px;color:var(--muted);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:0 4px;font-size:11px;display:flex}.temporary-event>span{align-items:center;gap:8px;display:flex}.note-editor textarea,.simple-form input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink)}.note-editor textarea{resize:vertical;min-height:160px;font-family:var(--font-serif);border-radius:17px;padding:15px;font-size:15px;line-height:1.8}.note-editor textarea::placeholder,.simple-form input::placeholder{color:var(--faint)}.editor-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.editor-footer>span{color:var(--faint);font-size:9px}.primary-button,.secondary-button{border:0;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:45px;padding:0 18px;font-size:11px;font-weight:730;display:inline-flex}.primary-button{background:var(--primary);color:#fffaf6}.secondary-button{border:1px dashed var(--line-strong);background:var(--surface-soft);width:100%;color:var(--primary)}.simple-form{gap:14px;display:grid}.simple-form label{color:var(--muted);gap:7px;font-size:10px;font-weight:650;display:grid}.simple-form input{height:49px;color:var(--ink);border-radius:14px;padding:0 13px;font-size:13px}.simple-form select{border:1px solid var(--line);appearance:none;background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) calc(100% - 17px) 21px / 5px 5px no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) calc(100% - 12px) 21px / 5px 5px no-repeat, var(--bg);width:100%;height:49px;color:var(--ink);border-radius:14px;padding:0 36px 0 13px;font-size:13px}.simple-form .primary-button{margin-top:4px}.form-hint{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.color-field{gap:8px;display:grid}.color-field>span{color:var(--muted);font-size:10px;font-weight:650}.project-color-picker{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;gap:11px;padding:11px;display:grid}.project-color-swatches{flex-wrap:wrap;gap:9px;display:flex}.project-color-swatches button{border:3px solid var(--surface-solid);width:32px;height:32px;box-shadow:0 0 0 1px var(--line);border-radius:50%;padding:0;transition:transform .16s,box-shadow .16s;position:relative}.project-color-swatches button.is-selected{box-shadow:0 0 0 2px var(--surface-solid), 0 0 0 4px var(--ink-soft);transform:scale(1.06)}.project-color-swatches button span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.project-custom-color{border-top:1px solid var(--line);min-height:37px;color:var(--muted);align-items:center;gap:8px;padding-top:9px;font-size:9px;font-weight:650;display:flex}.project-custom-color input{border:1px solid var(--line);background:var(--surface-solid);border-radius:8px;width:34px;height:27px;padding:2px}.project-custom-color code{color:var(--faint);margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.switch-row{border:1px solid var(--line);background:var(--surface-soft);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:flex}.switch-row>span{gap:4px;display:grid}.switch-row strong{color:var(--ink-soft);font-size:11px}.switch-row small{color:var(--muted);font-size:9px}.switch-row>i{background:var(--surface-muted);border-radius:999px;flex:none;width:40px;height:24px;transition:background-color .18s;position:relative}.switch-row>i:after{background:var(--surface-solid);content:"";border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 5px #00000029}.switch-row.is-on>i{background:var(--sage)}.switch-row.is-on>i:after{transform:translate(16px)}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.calendar-card{grid-template-columns:repeat(7,1fr);gap:6px;padding:8px 0;display:grid}.calendar-nav{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;margin-bottom:5px;display:grid}.calendar-nav button{border:1px solid var(--line);background:var(--surface-soft);width:42px;height:42px;color:var(--muted);border-radius:13px;place-items:center;padding:0;display:grid}.calendar-nav button:first-child svg{transform:rotate(180deg)}.calendar-nav strong{text-align:center;font-size:13px}.calendar-weekday,.calendar-day{width:100%;min-height:39px;color:var(--ink-soft);background:0 0;border:0;border-radius:11px;place-items:center;padding:0;font-size:10px;display:grid}.calendar-weekday{min-height:28px;color:var(--muted);font-weight:680}.calendar-day{color:var(--ink-soft)}.calendar-day.is-today,.calendar-day.is-selected{background:var(--primary);color:#fffaf6;font-weight:740}.calendar-day.is-today.is-selected{box-shadow:0 0 0 2px var(--bg), 0 0 0 3px var(--primary)}.calendar-day.is-empty{pointer-events:none}.calendar-today-button{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:43px;color:var(--primary);border-radius:13px;margin-top:8px;font-size:11px;font-weight:700}.module-editor{gap:14px;display:grid}.module-editor-meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.module-editor-meta strong{color:var(--ink);font-size:17px}.detail-task-list{border-top:1px solid var(--line)}.detail-task{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;min-height:58px;padding:0;display:grid}.detail-task>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.detail-task-copy{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;gap:4px;padding:0;display:flex}.detail-task strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.detail-task small{color:var(--muted);font-size:9px}.detail-task>svg{color:var(--faint)}.detail-task.is-done .detail-task-copy strong{color:var(--muted);text-decoration:line-through}.detail-delete{width:34px;height:34px;color:var(--faint);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.detail-delete:active{background:var(--surface-soft);color:var(--danger)}.placeholder-panel{justify-items:start;gap:13px;padding:3px 0 6px;display:grid}.placeholder-icon{background:var(--surface-soft);width:48px;height:48px;color:var(--primary);border-radius:15px;place-items:center;display:grid}.placeholder-panel p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.timer-start-sheet{gap:15px;display:grid}.timer-mode-picker{grid-template-columns:1fr 1fr;gap:8px;display:grid}.timer-mode-picker button{border:1px solid var(--line);background:var(--surface-soft);min-height:64px;color:var(--muted);text-align:left;border-radius:16px;align-items:center;gap:10px;padding:11px;display:flex}.timer-mode-picker button.is-active{border-color:color-mix(in srgb, var(--primary) 42%, var(--line));background:var(--primary-wash);color:var(--primary-strong)}.timer-mode-picker button>span{gap:3px;display:grid}.timer-mode-picker strong{color:var(--ink);font-size:11px}.timer-mode-picker small{color:var(--muted);font-size:9px}.timer-duration-editor{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;gap:10px;padding:12px;display:grid}.timer-duration-editor>div:first-child{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.timer-duration-editor>div:first-child strong{color:var(--ink);font-size:12px}.timer-duration-controls{grid-template-columns:40px minmax(0,1fr) 40px;gap:7px;display:grid}.timer-duration-controls button,.timer-duration-controls input{border:1px solid var(--line);background:var(--surface-solid);height:42px;color:var(--ink);border-radius:12px}.timer-duration-controls button{font-size:20px}.timer-duration-controls input{text-align:center;min-width:0;padding:0 8px;font-size:20px;font-weight:650}.timer-duration-presets{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.timer-duration-presets button{background:var(--surface-solid);min-height:31px;color:var(--muted);border:1px solid #0000;border-radius:10px;font-size:9px;font-weight:680}.timer-duration-presets button.is-active{border-color:color-mix(in srgb, var(--primary) 38%, var(--line));background:var(--primary-wash);color:var(--primary)}.timer-group-tabs{border:1px solid var(--line);background:var(--surface-soft);border-radius:15px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;display:grid}.timer-group-tabs button{min-width:0;min-height:42px;color:var(--muted);background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:5px;padding:4px;font-size:9px;font-weight:680;display:flex}.timer-group-tabs button.is-active{background:var(--surface-solid);color:var(--ink);box-shadow:0 3px 12px #30221714}.timer-group-tabs b{background:var(--surface-muted);min-width:18px;height:18px;color:var(--muted);border-radius:999px;place-items:center;font-size:8px;display:grid}.quick-temporary-task{border:1px dashed var(--line-strong);width:100%;min-height:58px;color:var(--ink);text-align:left;background:#ffffff1f;border-radius:16px;grid-template-columns:34px minmax(0,1fr) 17px;align-items:center;gap:9px;padding:8px 11px;display:grid}.quick-temporary-task.is-selected{border-style:solid;border-color:color-mix(in srgb, var(--primary) 36%, var(--line));background:color-mix(in srgb, var(--primary) 7%, var(--surface-solid))}.quick-temporary-task>span:nth-child(2){gap:4px;min-width:0;display:grid}.quick-temporary-task strong{font-size:11px}.quick-temporary-task small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.quick-temporary-task>i{border:1.5px solid var(--line-strong);border-radius:50%;width:16px;height:16px}.quick-temporary-task.is-selected>i{border:4px solid var(--primary)}.timer-task-picker{border:1px solid var(--line);border-radius:17px;overflow:hidden}.timer-task-picker-head{border-bottom:1px solid var(--line);background:var(--surface-soft);min-height:38px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-size:10px;font-weight:650;display:flex}.timer-task-picker-head small{font-size:9px;font-weight:450}.timer-task-search{border:1px solid var(--line);background:var(--bg);width:calc(100% - 20px);height:40px;color:var(--ink);border-radius:12px;margin:10px;padding:0 12px;font-size:11px}.timer-task-options{scrollbar-width:none;max-height:242px;overflow-y:auto}.timer-task-options::-webkit-scrollbar{display:none}.timer-task-empty{color:var(--muted);text-align:center;margin:0;padding:18px 12px;font-size:10px}.timer-task-options>button{border:0;border-top:1px solid var(--line);background:var(--surface-solid);width:100%;min-height:57px;color:var(--ink);text-align:left;grid-template-columns:34px minmax(0,1fr) 17px;align-items:center;gap:9px;padding:8px 11px;display:grid}.timer-task-options>button:first-child{border-top:0}.timer-task-options>button.is-selected{background:color-mix(in srgb, var(--primary) 9%, var(--surface-solid))}.timer-task-options>button>span:nth-child(2){gap:4px;min-width:0;display:grid}.timer-task-options strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.timer-task-options small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.timer-task-options>button>i{border:1.5px solid var(--line-strong);border-radius:50%;place-items:center;width:16px;height:16px;display:grid}.timer-task-options>button.is-selected>i{border:4px solid var(--primary);background:var(--surface-solid)}.timer-task-icon{background:var(--surface-soft);width:34px;height:34px;color:var(--muted);border-radius:11px;place-items:center;display:grid}.timer-task-options>button.is-selected .timer-task-icon{background:var(--primary-wash);color:var(--primary)}.timer-temp-title{color:var(--muted);gap:7px;font-size:9px;font-weight:650;display:grid}.timer-temp-title input{border:1px solid var(--line);background:var(--bg);height:45px;color:var(--ink);border-radius:13px;padding:0 12px;font-size:12px}.timer-start-summary{min-height:42px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:0 3px;font-size:10px;display:flex}.timer-start-summary span{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timer-start-summary strong{color:var(--primary);flex:none}.timer-start-button{border-radius:16px;width:100%;min-height:50px}.timer-view{z-index:90;background:radial-gradient(circle at 50% 30%, #a653391a, transparent 18rem), radial-gradient(circle at 8% 90%, #687b6414, transparent 18rem), var(--bg);width:100%;max-width:520px;color:var(--ink);flex-direction:column;margin:0 auto;display:flex;position:fixed;inset:0;overflow:hidden}.timer-view-head{min-height:calc(72px + var(--safe-top));padding:max(20px, calc(var(--safe-top) + 10px)) 20px 10px;justify-content:space-between;align-items:flex-end;display:flex}.timer-mode-label{border:1px solid var(--line);min-height:32px;color:var(--muted);background:#ffffff2e;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:650;display:inline-flex}.timer-close{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--muted);border-radius:14px;place-items:center;padding:0;display:grid}.timer-main{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:12px 24px 20px;display:flex}.timer-orbit{background:conic-gradient(from -90deg, var(--primary) 0 var(--timer-progress), var(--surface-muted) var(--timer-progress) 360deg);border-radius:50%;place-items:center;width:min(70vw,278px);height:min(70vw,278px);animation:.36s both timer-arrive;display:grid;position:relative;box-shadow:0 25px 70px #63392621,0 0 0 8px #ffffff29}.timer-orbit:before{background:var(--bg);content:"";border-radius:50%;width:calc(100% - 11px);height:calc(100% - 11px);position:absolute}.timer-orbit-inner{z-index:1;background:radial-gradient(circle at 36% 26%, #ffffff61, transparent 58%), var(--surface);text-align:center;border:1px solid #ffffff6b;border-radius:50%;place-content:center;width:calc(100% - 36px);height:calc(100% - 36px);display:grid;position:relative;box-shadow:inset 0 1px #ffffff8a}.timer-orbit-inner span{color:var(--muted);letter-spacing:.12em;font-size:10px;font-weight:680}.timer-orbit-inner strong{font-variant-numeric:tabular-nums;letter-spacing:-.055em;margin:5px 0;font-size:clamp(43px,13vw,59px);font-weight:450;line-height:1.1}.timer-orbit-inner small{color:var(--faint);font-size:9px}@keyframes timer-arrive{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.timer-task-copy{text-align:center;max-width:330px;margin-top:27px}.timer-task-copy p{color:var(--primary);margin:0 0 7px;font-size:10px;font-weight:700}.timer-task-copy h1{font-family:var(--font-serif);letter-spacing:-.025em;margin:0;font-size:23px;font-weight:650}.timer-task-copy span{color:var(--muted);margin-top:7px;font-size:10px;display:block}.timer-controls{padding:14px 20px max(20px, calc(var(--safe-bottom) + 15px));grid-template-columns:1fr 1.2fr;gap:10px;display:grid}.timer-control{border-radius:17px;justify-content:center;align-items:center;gap:7px;min-height:54px;font-size:12px;font-weight:710;display:flex}.timer-control:disabled{opacity:.35}.timer-control-secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft)}.timer-control-primary{background:var(--primary);color:#fffaf6;border:0}.pause-bars{gap:3px;display:flex}.pause-bars i{background:currentColor;border-radius:2px;width:3px;height:15px}.quality-layer{z-index:2;-webkit-backdrop-filter:blur(14px);background:#19130f6b;align-items:flex-end;padding:16px;animation:.2s both backdrop-in;display:flex;position:absolute;inset:0}.quality-toast{width:100%;padding:24px 20px max(20px, calc(var(--safe-bottom) + 16px));border:1px solid var(--line);background:var(--surface-solid);border-radius:27px;animation:.28s cubic-bezier(.22,.8,.25,1) both sheet-in;box-shadow:0 -20px 60px #1e140e38}.quality-orbit{background:var(--primary-wash);width:48px;height:48px;color:var(--primary);border-radius:16px;place-items:center;margin-bottom:14px;display:grid}.quality-toast .micro-label{margin:0 0 5px}.quality-toast h2{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:26px;font-weight:650}.quality-toast>p:not(.micro-label){color:var(--muted);margin:8px 0 0;font-size:11px}.quality-complete-toggle{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;align-items:center;gap:10px;min-height:56px;margin-top:15px;padding:10px 11px;display:flex}.quality-complete-toggle input{width:19px;height:19px;accent-color:var(--primary)}.quality-complete-toggle span{gap:3px;display:grid}.quality-complete-toggle strong{font-size:11px}.quality-complete-toggle small{color:var(--muted);font-size:9px}.quality-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:20px;display:grid}.quality-actions button{border:1px solid var(--line);background:var(--surface-soft);min-height:76px;color:var(--ink);text-align:left;border-radius:17px;align-content:center;gap:5px;padding:12px;display:grid}.quality-actions button.is-efficient{background:var(--primary);color:#fffaf6;border-color:#0000}.quality-actions span{font-size:13px;font-weight:720}.quality-actions small{color:var(--muted);font-size:9px;line-height:1.45}.quality-actions .is-efficient small{color:#fffaf6b8}@media (width<=380px){.main-stage{padding-left:16px;padding-right:16px}.baseline-card,.source-card,.project-card{padding-left:15px;padding-right:15px}.page-header h1{font-size:27px}.category-strip{margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}.donut-layout{gap:16px}.donut-chart{width:100px;height:100px}.goal-metric span{font-size:10px}.goal-metric strong{font-size:13px}}@media (width>=700px){.app-shell{border-radius:34px;min-height:calc(100dvh - 36px);margin-top:18px;margin-bottom:18px}.main-stage{padding-top:30px}.bottom-nav{bottom:28px}.start-fab{bottom:128px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
