:root{--bg:#fff;--bg-2:#f6f5f1;--surface:#fff;--text:#1c1b19;--text-2:#6b6a64;--text-3:#76746b;--border:#0000001a;--border-2:#0000002e;--accent:#1c1b19;--danger:#a32d2d;--warn-bg:#faeeda;--warn-text:#854f0b;--surface-3:#efeee9;--accent-action:#e0912f;--accent-action-text:#231905;--goal:#6a5acd;--shadow-1:0 1px 2px #0000000f, 0 1px 1px #0000000a;--shadow-2:0 6px 20px #00000024;--radius:12px;--radius-sm:8px;color:var(--text);background:var(--bg-2);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#1a1a18;--bg-2:#121211;--surface:#232320;--text:#f3f1ea;--text-2:#a8a69d;--text-3:#8a887e;--border:#ffffff1f;--border-2:#ffffff38;--accent:#f3f1ea;--danger:#f09595;--warn-bg:#3a2c12;--warn-text:#f0c075;--surface-3:#2c2c28;--goal:#9b8cff;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 8px 28px #00000073}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;cursor:pointer}#root{background:var(--bg);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}.topbar{padding:calc(16px + env(safe-area-inset-top)) 18px 10px;justify-content:space-between;align-items:center;display:flex}.topbar h1{margin:0;font-size:19px;font-weight:600}.topbar .actions{color:var(--text-2);gap:16px;display:flex}.tabs{gap:6px;padding:0 18px 10px;display:flex}.tab{color:var(--text-2);background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:15px}.tab.active{background:var(--surface-3);color:var(--text);font-weight:600}.tab .count{opacity:.7;margin-left:6px;font-size:13px}.tab.inbox.has{color:var(--warn-text);background:var(--warn-bg)}.content{flex:1;padding:4px 14px 96px;overflow-y:auto}.axis-hint{color:var(--text-3);margin-left:20px;padding:2px 6px 8px;font-size:12px;display:flex}.axis-hint .right{margin-left:auto}.board-row{align-items:stretch;gap:6px;display:flex}.axis-y{flex-direction:column;flex:0 0 14px;justify-content:space-between;align-items:center;padding:22px 0;display:flex}.axis-y span{writing-mode:vertical-rl;color:var(--text-3);letter-spacing:2px;font-size:12px}.board{flex:1;grid-template-columns:1fr 1fr;gap:8px;min-width:0;display:grid}.quadrant{background:var(--bg-2);border-top:2px solid var(--qc,var(--border-2));border-radius:0 0 var(--radius-sm) var(--radius-sm);min-height:90px;padding:10px}.quadrant .head{font-size:14px;font-weight:600}.quadrant .head .n{color:var(--text-3);margin-left:6px;font-weight:400}.quadrant .sub{color:var(--text-3);margin:2px 0 8px;font-size:12px}.card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-sm);text-align:left;width:100%;box-shadow:var(--shadow-1);margin-bottom:6px;padding:8px 10px;font-size:14px;line-height:1.4;transition:transform .12s,background .12s;display:block}.card:active{background:var(--surface-3);transform:scale(.99)}.card:last-child{margin-bottom:0}.card .meta{color:var(--text-2);margin-top:4px;font-size:12px}.card-goal{color:var(--goal);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.inbox-goal{color:var(--goal);background:0 0;border:none;align-items:center;gap:3px;max-width:100%;margin:-2px 0 8px;padding:0;font-size:13px;display:inline-flex}.inbox-goal .go{color:var(--goal);font-size:16px;line-height:1}.goal-badge{color:var(--goal);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-weight:500;display:inline-flex}.goal-badge .go{font-size:16px;line-height:1}.card-wrap{margin-bottom:6px;position:relative}.card-wrap:last-child{margin-bottom:0}.card-wrap .card{margin-bottom:0;padding-right:38px}.card-check{border:.5px solid var(--border-2);background:var(--surface-3);width:30px;height:30px;color:var(--text-3);border-radius:50%;justify-content:center;align-items:center;font-size:15px;transition:background .12s,color .12s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.card-check:active{color:#fff;background:#1d9e75;border-color:#1d9e75}.empty{color:var(--text-3);padding:6px 2px;font-size:13px}.inbox-item{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);margin-bottom:10px;padding:12px 14px}.inbox-item .title{margin-bottom:10px;font-size:16px}.picker{flex-direction:column;gap:8px;display:flex}.picker .row{align-items:center;gap:8px;display:flex}.picker .label{color:var(--text-2);width:48px;font-size:13px}.seg{gap:6px;display:flex}.seg button{border:.5px solid var(--border-2);color:var(--text-2);background:0 0;border-radius:999px;padding:5px 12px;font-size:14px}.seg button.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}.quad-pick{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.quad-cell{text-align:left;border:.5px solid var(--border-2);border-left:3px solid var(--qc);border-radius:var(--radius-sm);color:var(--text);background:0 0;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:transform .12s,background .12s;display:flex}.quad-cell:active{transform:scale(.98)}.quad-cell.on{background:var(--surface-3);border-color:var(--qc)}.quad-cell .ql{font-size:15px;font-weight:600}.quad-cell .qd{color:var(--text-3);font-size:12px}.quad-hint{color:var(--text-3);margin:10px 0 6px;font-size:12px}.quad-edit{margin-bottom:16px}.quad-edit .field-label{color:var(--text-2);margin-bottom:6px;font-size:13px}.ai-pending{color:var(--text-2);align-items:center;gap:6px;margin:-2px 0 8px;font-size:13px;display:flex}.ai-pending .spinner{border:2px solid var(--border-2);border-top-color:var(--text-2);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin}.ai-retry{border:.5px solid var(--border-2);color:var(--warn-text);background:0 0;border-radius:999px;margin:-2px 0 8px;padding:5px 10px;font-size:13px}.ai-loading{background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius);margin-top:10px;padding:14px}.ai-loading-head{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.ai-loading-head .spinner{border:2px solid var(--border-2);border-top-color:var(--text-2);border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}.ai-loading-sub{color:var(--text-3);margin:8px 0 10px;font-size:13px;line-height:1.5}.ai-loading .progress{margin-top:2px}.ai-loading .progress-fill{transition:width .4s}.ai-loading-time{color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px}.ai-stream{margin:10px 0 6px}.ai-stream .ms-block.streaming{animation:1.4s ease-in-out infinite streampulse}@keyframes streampulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.ai-loading-head .spinner,.ai-stream .ms-block.streaming{animation:none}}.toast{left:50%;bottom:calc(86px + env(safe-area-inset-bottom));background:var(--surface-3);max-width:calc(100% - 28px);color:var(--text);border:.5px solid var(--border-2);box-shadow:var(--shadow-2);z-index:20;border-radius:999px;align-items:center;gap:14px;padding:11px 18px;font-size:14px;display:flex;position:fixed;transform:translate(-50%)}.toast-action{color:var(--accent-action);background:0 0;border:none;flex:none;padding:2px 0;font-size:14px;font-weight:600}.capture{width:100%;max-width:480px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 72%, transparent);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.capture .bar{background:var(--surface);border:.5px solid var(--border-2);border-radius:24px;align-items:flex-end;gap:6px;padding:7px 7px 7px 18px;display:flex}.capture textarea{color:var(--text);resize:none;background:0 0;border:none;outline:none;flex:1;min-width:0;max-height:132px;padding:7px 0;font-family:inherit;font-size:16px;line-height:1.4}.capture textarea::placeholder{color:var(--text-3)}.icon-btn{color:var(--text-2);background:0 0;border:none;border-radius:50%;padding:8px;font-size:20px;line-height:1}.add-btn{background:var(--accent-action);width:40px;height:40px;color:var(--accent-action-text);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:600;transition:opacity .15s,transform .15s;display:flex}.add-btn:disabled{background:var(--border-2);color:var(--text-3)}.capture-status{color:var(--text);background:var(--surface);border:.5px solid var(--border-2);border-radius:999px;align-items:center;gap:8px;width:fit-content;max-width:100%;margin:0 auto 8px;padding:8px 14px;font-size:14px;display:flex;box-shadow:0 4px 16px #0000002e}.capture-status .ok{color:#1d9e75;font-weight:700}.capture-status .status-view{color:var(--accent);background:0 0;border:none;padding:0 0 0 4px;font-size:14px;font-weight:600;text-decoration:underline}.capture-status .spinner{border:2px solid var(--border-2);border-top-color:var(--text-2);border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.attach-preview{background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius);box-shadow:var(--shadow-1);align-items:center;gap:10px;margin-bottom:8px;padding:8px 10px;display:flex}.attach-preview img{object-fit:cover;border-radius:var(--radius-sm);flex:none;width:44px;height:44px}.attach-info{color:var(--text-2);flex:1;min-width:0;font-size:13px;line-height:1.4}.attach-info .reading{align-items:center;gap:6px;display:inline-flex}.attach-info .spinner{border:2px solid var(--border-2);border-top-color:var(--text-2);border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite spin;display:inline-block}.attach-remove{color:var(--text-3);background:0 0;border:none;flex:none;padding:4px 6px;font-size:16px;line-height:1}.rec-status{color:var(--text);background:var(--surface);border:.5px solid var(--border-2);border-left:3px solid var(--danger);border-radius:var(--radius);box-shadow:var(--shadow-1);align-items:center;gap:8px;margin-bottom:8px;padding:9px 12px;font-size:14px;display:flex}.rec-status .rec-dot{background:var(--danger);border-radius:50%;flex:none;width:9px;height:9px;animation:1.2s ease-in-out infinite recpulse}.rec-status .rec-hint{color:var(--text-3);margin-left:auto;font-size:12px}@keyframes recpulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.rec-status .rec-dot{animation:none}}.attach-preview.voice .voice-ico{flex:none;font-size:20px}.attach-preview.voice .voice-audio{flex:1;min-width:0;height:34px}.attach-preview.voice .voice-dur{color:var(--text-2);flex:none;font-size:13px}.overlay{z-index:10;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:480px;max-height:88vh;padding:16px 18px calc(20px + env(safe-area-inset-bottom));overflow-y:auto}.sheet .grip{background:var(--border-2);border-radius:2px;width:36px;height:4px;margin:0 auto 14px}.sheet h2{margin:0 0 4px;font-size:18px;font-weight:600}.sheet .badge{color:var(--text-2);align-items:center;gap:6px;margin-bottom:16px;font-size:13px;display:inline-flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.timeline{border-left:2px solid var(--border);margin:8px 0 16px;padding-left:14px}.tl-item{padding-bottom:14px;position:relative}.tl-item:before{content:"";background:var(--text-3);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:-21px}.tl-item .body{font-size:15px;line-height:1.5}.tl-item .time{color:var(--text-3);margin-top:2px;font-size:12px}.tl-item.orig .body{font-weight:500}.memo-add{gap:8px;margin-bottom:18px;display:flex}.memo-add input{border:.5px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);outline:none;flex:1;padding:8px 12px;font-size:15px}.sheet-actions{gap:8px;display:flex}.sheet-actions.task-final{border-top:.5px solid var(--border);margin-top:4px;padding-top:16px}.btn{border:.5px solid var(--border-2);color:var(--text);border-radius:var(--radius-sm);background:0 0;flex:1;padding:11px;font-size:15px}.btn.primary{background:var(--accent-action);color:var(--accent-action-text);border-color:var(--accent-action)}.btn.danger{color:var(--danger);flex:none;padding:11px 16px}.search{border:.5px solid var(--border-2);background:var(--surface);width:100%;color:var(--text);border-radius:var(--radius-sm);outline:none;margin-bottom:12px;padding:9px 12px;font-size:15px}.done-item{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;font-size:15px;display:flex}.done-item .ck{color:var(--text-3)}.done-item .when{color:var(--text-3);margin-left:auto;font-size:12px}.blank{text-align:center;color:var(--text-3);padding:48px 20px;font-size:15px;line-height:1.6}.empty-lead{color:var(--text);margin:0 0 4px;font-size:16px;font-weight:600}.start-choice{text-align:left;flex-direction:column;gap:10px;margin-top:14px;display:flex}.choice-card{background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius);width:100%;color:var(--text);box-shadow:var(--shadow-1);align-items:center;gap:12px;padding:14px;transition:transform .12s,background .12s;display:flex}.choice-card:active{background:var(--surface-3);transform:scale(.99)}.choice-card .cc-ico{color:var(--accent-action);flex:none;font-size:22px}.choice-card .cc-title{font-size:15px;font-weight:600}.choice-card .cc-sub{color:var(--text-3);margin-top:2px;font-size:13px;line-height:1.45}.connect-card{background:var(--warn-bg);border:.5px solid var(--border-2);border-radius:var(--radius);margin-bottom:12px;padding:12px 14px}.connect-card-head{align-items:center;gap:10px;display:flex}.connect-card .connect-ico{color:var(--warn-text);flex:none;font-size:22px}.connect-card .connect-title{color:var(--text);font-size:14px;font-weight:600}.connect-card .connect-sub{color:var(--text-2);margin-top:2px;font-size:12px;line-height:1.4}.vis-row{border-top:.5px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.vis-row:first-of-type{border-top:none}.vis-label{color:var(--text);font-size:14px}.vis-sub{color:var(--text-3);margin-top:2px;font-size:12px;line-height:1.4}.vis-toggle{border:.5px solid var(--border-2);background:var(--surface-3);min-width:64px;color:var(--text-3);border-radius:999px;flex:none;padding:6px 12px;font-size:13px}.vis-toggle.on{color:#fff;background:#1d9e75;border-color:#1d9e75}.btn:disabled{opacity:.4;cursor:default}.icon-btn{background:0 0}.chip{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.chip.danger{color:#e2554a;background:#e24b4a29}.chip.warn{color:#c0851f;background:#ba751733}.chip.soon{color:#5a93d6;background:#378add29}.chip.normal{background:var(--bg-2);color:var(--text-2)}.attention{background:var(--surface);border:.5px solid var(--border);border-left:3px solid var(--warn-text);border-radius:var(--radius);box-shadow:var(--shadow-1);margin-bottom:12px;padding:10px 12px}.attention-head{align-items:center;gap:6px;margin-bottom:2px;font-size:14px;font-weight:600;display:flex}.attention-sub{color:var(--text-3);margin-bottom:4px;font-size:12px}.attention-item{border:none;border-top:.5px solid var(--border);text-align:left;width:100%;color:var(--text);background:0 0;align-items:center;gap:8px;padding:7px 0;font-size:14px;display:flex}.attention-item:first-of-type{border-top:none}.attention-item .t{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.attention-item .go{color:var(--text-3);flex:none;font-size:17px;line-height:1}.attention-item .who{color:#1d9e75;flex:none;font-size:13px;font-weight:500}.card-bell{opacity:.85;margin-right:4px;font-size:12px}.delegated-sec{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);border-left:3px solid #1d9e75;margin-bottom:12px;padding:10px 12px}.delegated-head{align-items:center;gap:6px;margin-bottom:2px;font-size:14px;font-weight:600;display:flex}.delegated-sub{color:var(--text-3);margin-bottom:4px;font-size:12px}.card .due-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.due-presets{flex-wrap:wrap;gap:6px;margin:8px 0 18px;display:flex}.due-presets button{border:.5px solid var(--border-2);color:var(--text-2);background:0 0;border-radius:999px;padding:6px 12px;font-size:14px}.due-presets button.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}.cal-head{justify-content:space-between;align-items:center;padding:4px 2px 12px;display:flex}.cal-head .m{font-size:16px;font-weight:600}.cal-nav{align-items:center;gap:2px;display:flex}.cal-nav button{color:var(--text-2);background:0 0;border:none;border-radius:8px;padding:5px 12px;font-size:16px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-dow{text-align:center;color:var(--text-3);padding-bottom:2px;font-size:12px}.cal-cell{min-height:46px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:5px 0 4px;display:flex}.cal-cell.empty{min-height:0}.cal-cell.sel{border-color:var(--accent)}.cal-cell .dnum{text-align:center;width:22px;height:22px;font-size:14px;line-height:22px}.cal-cell.today .dnum{background:var(--accent);color:var(--bg);border-radius:50%}.cal-dots{gap:3px;height:6px;display:flex}.cal-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.cal-legend{color:var(--text-2);justify-content:center;gap:16px;margin:12px 0 4px;font-size:13px;display:flex}.cal-legend span{align-items:center;gap:5px;display:inline-flex}.day-list{margin-top:14px}.day-list h3{margin:0 0 6px;font-size:15px;font-weight:600}.day-row{border:none;border-top:.5px solid var(--border);text-align:left;width:100%;color:var(--text);background:0 0;align-items:center;gap:8px;padding:9px 0;font-size:15px;display:flex}.day-row:first-of-type{border-top:none}.day-row .t{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.date-input{border:.5px solid var(--border-2);background:var(--surface);width:100%;color:var(--text);border-radius:var(--radius-sm);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;outline:none;margin:0 0 18px;padding:8px 12px;font-family:inherit;font-size:15px}@media (prefers-color-scheme:dark){.date-input{--lightningcss-light: ;--lightningcss-dark:initial}}.cal-dot.legend-overdue{background:#e2554a}.cal-scope{gap:6px;margin:16px 0 4px;display:flex}.cal-scope button{border:.5px solid var(--border-2);color:var(--text-2);background:0 0;border-radius:999px;flex:1;padding:8px;font-size:14px}.cal-scope button.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}.agenda-date{color:var(--text);margin:16px 0 2px;font-size:14px;font-weight:600}.agenda-date.danger{color:#e2554a}.title-view{cursor:text}.edit-hint{color:var(--text-3);vertical-align:middle;margin-left:8px;font-size:14px;font-style:normal}.title-edit{width:100%;color:var(--text);background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius-sm);outline:none;margin:0 0 4px;padding:6px 10px;font-family:inherit;font-size:18px;font-weight:600}.tl-item .body.editable{cursor:text}.cap-edit{width:100%;color:var(--text);background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius-sm);resize:vertical;outline:none;padding:8px 10px;font-family:inherit;font-size:15px;line-height:1.5}.goal-sec{background:var(--surface);border:.5px solid var(--border);border-left:3px solid var(--goal);border-radius:var(--radius);box-shadow:var(--shadow-1);margin-bottom:12px;padding:10px 12px}.goal-head{margin-bottom:8px;font-size:14px;font-weight:600}.goal-add{border:.5px dashed var(--border-2);width:100%;color:var(--text-2);border-radius:var(--radius-sm);background:0 0;padding:9px;font-size:14px}.goal-item{border-top:.5px solid var(--border);padding:6px 0}.goal-item:first-of-type{border-top:none}.goal-row{text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:2px 0;display:flex}.goal-area{color:var(--goal);background:color-mix(in srgb, var(--goal) 14%, transparent);border-radius:999px;flex:none;padding:2px 7px;font-size:12px;font-weight:600}.goal-row .goal-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:500;overflow:hidden}.goal-prog{color:var(--text-3);flex:none;font-size:13px}.goal-bar{background:var(--surface-3);border-radius:999px;height:4px;margin:6px 0 8px;overflow:hidden}.goal-bar>span{background:var(--goal);border-radius:999px;height:100%;transition:width .3s;display:block}.goal-stage-name{color:var(--text-2);margin-bottom:4px;font-size:12px}.goal-stage-empty{color:var(--text-3);padding:2px 0 4px;font-size:13px}.goal-step{align-items:center;gap:8px;padding:5px 0;font-size:14px;display:flex}.goal-step.done .gs-text{color:var(--text-3);text-decoration:line-through}.gs-text{flex:1;min-width:0}.gs-state{color:var(--text-3);flex:none;font-size:12px}.gs-state.ok{color:#1d9e75}.gs-adopt{border:.5px solid var(--goal);color:var(--goal);background:0 0;border-radius:999px;flex:none;padding:4px 12px;font-size:13px;font-weight:600}.goal-step-wrap{flex-direction:column;display:flex}.adopt-pop{background:var(--surface-3);border:.5px solid var(--border-2);border-radius:var(--radius-sm);margin:2px 0 8px;padding:10px}.adopt-label{color:var(--text-3);margin-bottom:6px;font-size:12px}.adopt-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.adopt-cell{text-align:left;border:.5px solid var(--border-2);border-left:3px solid var(--qc);border-radius:var(--radius-xs,6px);background:var(--surface);color:var(--text);flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;display:flex}.adopt-cell .al{font-size:14px;font-weight:600}.adopt-cell .ad{color:var(--text-3);font-size:12px}.adopt-later{width:100%;color:var(--text-2);background:0 0;border:none;margin-top:4px;padding:8px 0 2px;font-size:13px;text-decoration:underline}.gs-del{color:var(--text-3);background:0 0;border:none;flex:none;padding:2px 4px;font-size:14px}.goal-next{border:.5px solid var(--border-2);width:100%;color:var(--text-2);border-radius:var(--radius-sm);background:0 0;margin-top:6px;padding:7px;font-size:13px}.goal-create{padding:4px 0}.goal-areas{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.goal-chip{border:.5px solid var(--border-2);color:var(--text-2);background:0 0;border-radius:999px;padding:5px 12px;font-size:13px}.goal-chip.on{background:var(--goal);color:#fff;border-color:var(--goal)}.goal-create-row{gap:8px;display:flex}.goal-create-row input{border:.5px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);outline:none;flex:1;padding:8px 12px;font-size:16px}.goal-cancel{color:var(--text-3);background:0 0;border:none;padding:8px 2px 2px;font-size:13px}.goal-motive{width:100%;color:var(--text);background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius-sm);resize:none;outline:none;margin:0 0 14px;padding:8px 10px;font-family:inherit;font-size:14px;line-height:1.5}.goal-stages{flex-direction:column;gap:12px;margin-bottom:14px;display:flex}.goal-stage-block{border:.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.goal-stage-block.current{border-color:var(--goal)}.goal-stage-head{align-items:center;gap:8px;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.goal-stage-tag{color:var(--goal);background:color-mix(in srgb, var(--goal) 14%, transparent);border-radius:999px;padding:1px 7px;font-size:12px;font-weight:600}.goal-stage-tag.locked{color:var(--text-3);background:var(--surface-3)}.goal-stepadd{gap:6px;margin-top:6px;display:flex}.goal-stepadd input{border:.5px solid var(--border-2);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);outline:none;flex:1;padding:7px 10px;font-size:16px}.goal-stage-actions{gap:8px;margin-bottom:16px;display:flex}:focus-visible{outline:2px solid var(--accent-action);outline-offset:2px}button:focus-visible{outline:2px solid var(--accent-action);outline-offset:2px;border-radius:8px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-action);outline-offset:1px}.role-toggle{gap:6px;padding:0 18px 10px;display:flex}.role-toggle button{border:.5px solid var(--border-2);color:var(--text-2);background:0 0;border-radius:999px;flex:1;padding:7px;font-size:14px}.role-toggle button.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}.stat-row{color:var(--text-2);gap:16px;padding:2px 4px 12px;font-size:14px;display:flex}.cheer-banner{color:#1d9e75;border-radius:var(--radius-sm);background:#1d9e7524;margin-bottom:12px;padding:9px 12px;font-size:13px;line-height:1.5}.goal-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:14px}.goal-card-head{font-size:16px;font-weight:500}.goal-card-sub{color:var(--text-3);margin:3px 0 8px;font-size:13px}.progress{background:var(--bg-2);border-radius:999px;height:7px;overflow:hidden}.progress-fill{background:#1d9e75;border-radius:999px;height:100%}.mission-list{margin-top:12px}.mission{border-top:.5px solid var(--border);align-items:flex-start;gap:10px;padding:9px 0;display:flex}.mission:first-child{border-top:none}.mission-check{background:0 0;border:none;flex:none;padding:0;font-size:20px;line-height:1}.mission-check:disabled{cursor:default}.mission-title{font-size:15px;line-height:1.4}.mission.done .mission-title{color:var(--text-3);text-decoration:line-through}.mission-pts{color:#1d9e75;flex:none;font-size:13px}.mission-cam{border:.5px solid var(--border-2);color:var(--text-2);border-radius:var(--radius-sm);background:0 0;flex:none;padding:5px 10px;font-size:16px}.mission-photo{border-radius:8px;max-width:120px;margin-top:6px;display:block}.day-history{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.day-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.day-mark{border:1px solid var(--border-2);background:0 0;border-radius:50%;width:9px;height:9px}.day-cell.done .day-mark{background:#1d9e75;border-color:#1d9e75}.day-cell.today .day-mark{box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--text-3)}.day-cell.today.done .day-mark{box-shadow:0 0 0 2px var(--surface), 0 0 0 3px #1d9e75}.day-lbl{color:var(--text-3);font-size:9px;line-height:1}.label-row{color:var(--text-2);margin-bottom:6px;font-size:13px}.goal-make{margin-bottom:8px}.plan-card{background:var(--bg-2);border-radius:var(--radius);margin-top:12px;padding:12px}.plan-tag{color:#534ab7;margin-bottom:5px;font-size:12px;font-weight:500}.plan-title{margin-bottom:10px;font-size:16px;font-weight:500;line-height:1.4}.plan-missions{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.plan-mission{color:var(--text);font-size:14px}.coach-tip{color:#4a90d9;border-radius:var(--radius-sm);background:#378add1f;padding:8px 11px;font-size:13px;line-height:1.5}.goal-list-item{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:8px;padding:11px 13px;display:flex}.cheer-prompt{background:var(--bg-2);border-radius:var(--radius-sm);color:var(--text-2);margin-bottom:12px;padding:10px 12px;font-size:14px;line-height:1.5}.cheer-thread{flex-direction:column;gap:8px;min-height:40px;margin-bottom:14px;display:flex}.cheer-bubble{border-radius:14px;max-width:80%;padding:8px 12px;font-size:14px;line-height:1.4}.cheer-bubble.mine{color:var(--text);background:#378add2e;border-bottom-right-radius:3px;align-self:flex-end}.cheer-bubble.theirs{background:var(--bg-2);color:var(--text);border-bottom-left-radius:3px;align-self:flex-start}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.cheer-chip{border:.5px solid var(--border-2);color:var(--text);background:0 0;border-radius:999px;padding:6px 11px;font-size:13px}.week-bars{align-items:flex-end;gap:6px;display:flex}.week-col{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.week-count{color:var(--text-2);height:14px;font-size:12px}.week-bar-track{align-items:flex-end;width:18px;height:44px;display:flex}.week-bar{background:#1d9e75;border-radius:4px;width:18px}.week-label{color:var(--text-3);font-size:12px}.week-stats{color:var(--text-2);gap:16px;margin-top:12px;font-size:14px;display:flex}.review-line{color:var(--text);margin-top:12px;font-size:14px}.goal-item{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;overflow:hidden}.goal-item-head{align-items:center;gap:8px;padding:11px 13px;display:flex}.goal-missions{border-top:.5px solid var(--border);padding:8px 13px 12px}.em-row{align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.em-row .t{flex:1}.em-del{color:var(--text-3);background:0 0;border:none;flex:none;padding:2px 4px;font-size:15px}.em-edit{border:.5px solid var(--border-2);background:var(--bg-2);color:var(--text);border-radius:var(--radius-sm);outline:none;flex:1;padding:5px 8px;font-family:inherit;font-size:14px}.em-add{gap:6px;margin-top:8px;display:flex}.em-add input{border:.5px solid var(--border-2);background:var(--bg-2);color:var(--text);border-radius:var(--radius-sm);outline:none;flex:1;padding:7px 10px;font-size:14px}.autonomy-bar{background:#378add47;border-radius:999px;height:10px;margin-bottom:10px;overflow:hidden}.autonomy-fill{background:#1d9e75;border-radius:999px;height:100%}.badge-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.badge-cell{text-align:center;opacity:.35;flex-direction:column;align-items:center;gap:5px;display:flex}.badge-cell.earned{opacity:1}.badge-icon{background:var(--bg-2);width:46px;height:46px;color:var(--text-3);border-radius:50%;justify-content:center;align-items:center;font-size:22px;display:flex}.badge-cell.earned .badge-icon{color:#1d9e75;background:#1d9e7529}.badge-name{color:var(--text-2);font-size:13px;line-height:1.2}.badge-cell.earned .badge-name{color:var(--text);font-weight:500}.badge-desc{color:var(--text-3);font-size:12px;line-height:1.2}.onboard{background:var(--bg-2);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.onboard-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow-1);padding:28px 22px calc(24px + env(safe-area-inset-bottom))}.onboard-logo{text-align:center;letter-spacing:-.5px;font-size:26px;font-weight:700}.onboard-lead{color:var(--text);text-align:center;margin:12px 0 4px;font-size:17px;font-weight:600;line-height:1.5}.onboard-tag{color:var(--text-3);text-align:center;margin:0 0 18px;font-size:13px}.onboard-trust{color:var(--text-2);text-align:center;justify-content:center;align-items:center;gap:5px;margin:0 0 16px;font-size:13px;display:flex}.role-gloss{color:var(--text-3);text-align:center;margin:10px 0 2px;font-size:12px;line-height:1.5}.onboard-steps{justify-content:center;align-items:flex-start;gap:10px;margin:0 0 20px;display:flex}.ostep{flex-direction:column;flex:none;align-items:center;gap:5px;display:flex}.ostep .dot{border:1px solid var(--border-2);background:var(--surface);width:24px;height:24px;color:var(--text-3);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.ostep .lbl{color:var(--text-3);font-size:12px}.ostep.done .dot{background:var(--surface-3);color:var(--text-2);border-color:var(--border-2)}.ostep.on .dot{background:var(--accent-action);color:var(--accent-action-text);border-color:var(--accent-action)}.ostep.on .lbl{color:var(--text);font-weight:600}.onboard .seg{gap:8px;display:flex}.onboard .seg button{flex:1}.btn.block,.block{flex:none;width:100%;display:block}.linklike{text-align:center;width:100%;color:var(--text-2);background:0 0;border:none;padding:10px 0 0;font-size:14px;text-decoration:underline;display:block}.onboard-or{color:var(--text-3);align-items:center;gap:10px;margin:16px 0 10px;font-size:13px;display:flex}.onboard-or:before,.onboard-or:after{content:"";background:var(--border);flex:1;height:.5px}.invite-code{letter-spacing:4px;text-align:center;background:var(--surface-3);border-radius:var(--radius-sm);margin:4px 0 18px;padding:14px;font-size:28px;font-weight:700}.onboard-msg{color:var(--text-2);text-align:center;margin-top:14px;font-size:14px;line-height:1.5}.welcome-card{background:var(--surface-3);border-radius:var(--radius);color:var(--text-2);margin-bottom:18px;padding:13px 15px;font-size:14px;line-height:1.65}.wish-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{border:.5px solid var(--border-2);color:var(--text-2);background:0 0;border-radius:999px;padding:6px 11px;font-size:13px}.chip:active{background:var(--surface-3);transform:scale(.97)}.ms-block{margin-top:8px}.ms-head{align-items:center;gap:8px;margin:10px 0 4px;display:flex}.ms-num{background:var(--accent);width:18px;height:18px;color:var(--bg);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.ms-title{color:var(--text);background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius-sm);outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:14px;font-weight:600}.ms-title-text{color:var(--text);font-size:14px;font-weight:600}.task-type{border:.5px solid var(--border-2);background:var(--surface-3);color:var(--text-2);border-radius:999px;flex:none;padding:3px 8px;font-size:12px}.task-type.once{color:var(--text-3);background:0 0}.home-ms{margin-top:10px}.home-ms-head{align-items:center;gap:8px;margin:4px 0 6px;display:flex}.home-ms-head .ms-title-text{color:var(--text-2);flex:1;font-size:13px}.home-ms-count{color:var(--text-3);font-size:12px}.profile-row{margin-top:10px}.profile-chip{text-align:left;border:.5px dashed var(--border-2);width:100%;color:var(--text-2);border-radius:var(--radius-sm);background:0 0;padding:9px 12px;font-size:14px}.profile-chip:active{background:var(--surface-3)}.ms-aim-edit{width:100%;color:var(--text-2);background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius-sm);outline:none;margin:0 0 6px;padding:6px 10px;font-family:inherit;font-size:13px}.ms-aim-text{color:var(--text-2);margin:0 0 6px;padding-left:26px;font-size:13px;line-height:1.5}.ms-dur{color:var(--text-3);background:var(--surface-3);border-radius:999px;flex:none;padding:2px 8px;font-size:12px}.home-ms-aim{color:var(--text-3);margin:-2px 0 6px 26px;font-size:12px;line-height:1.4}.child-bar{flex-wrap:wrap;gap:6px;padding:0 0 10px;display:flex}.child-chip{border:.5px solid var(--border-2);color:var(--text-2);background:0 0;border-radius:999px;padding:5px 14px;font-size:14px}.child-chip.on{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}.child-chip.add{color:var(--text-3)}.child-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1);margin-bottom:10px;padding:12px 14px}.child-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.child-code{color:var(--text-2);align-items:center;margin-top:10px;font-size:14px;display:flex}.child-code b{letter-spacing:1px;color:var(--text)}.ms-clear{color:#1d9e75;margin:0 0 6px;padding-left:26px;font-size:12px;line-height:1.5}.task-done-hint{color:var(--text-3);font-size:12px;font-weight:400}.task-edit{margin-bottom:4px}.ms-aim-edit.task-done{width:calc(100% - 28px);margin:4px 0 0 28px;font-size:12px}.self-check{margin:8px 0 2px;padding-left:26px}.self-q{color:var(--text-2);margin:6px 0 4px;font-size:13px;line-height:1.5}.self-a{color:var(--text);background:var(--surface-3);border-radius:var(--radius-sm);cursor:text;padding:8px 10px;font-size:14px;line-height:1.5}.self-a.empty{color:var(--text-3);font-size:13px}.connect{text-align:center}.connect-qr{border-radius:var(--radius-sm);width:200px;height:200px;box-shadow:var(--shadow-1);background:#fff;margin:4px auto 0;padding:8px;display:block}.connect-qr-skel{background:var(--surface-3)}.admin-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);padding:14px 12px}.stat-value{font-size:24px;font-weight:700;line-height:1.1}.stat-label{color:var(--text-2);margin-top:4px;font-size:13px}.stat-hint{color:var(--text-3);margin-top:3px;font-size:12px}.search,.cap-edit,.em-edit,.ms-title,.memo-add input,.em-add input,.date-input,.goal-create-row input,.goal-stepadd input,.capture textarea,input,textarea,select{font-size:16px}.btn.tiny{border-radius:999px;flex:none;padding:5px 11px;font-size:13px}.btn.ghost{color:var(--text-3);background:0 0;border-color:#0000}.sched-nav{align-items:center;gap:8px;margin-bottom:8px;display:flex}.sched-date{text-align:center;flex-direction:column;flex:1;gap:1px;display:flex}.sched-date-main{color:var(--text);font-size:16px;font-weight:600}.sched-date-sub{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}.sched-hint{color:var(--text-3);margin:0 0 10px;font-size:12px;line-height:1.4}.sched-empty{text-align:center;color:var(--text-3);padding:34px 12px}.sched-empty>i{color:var(--text-3);opacity:.5;font-size:30px}.sched-empty p{margin:8px 0 0;font-size:14px}.sched-empty .sched-empty-sub{margin-top:2px;font-size:13px}.sched-list{margin:4px 0 14px}.sched-block{border-top:.5px solid var(--border);gap:12px;padding:11px 0;display:flex}.sched-block:first-child{border-top:none}.sched-block.proposed{border-left:2px solid var(--accent-action);padding-left:8px}.sched-time{font-variant-numeric:tabular-nums;flex-direction:column;flex:0 0 46px;align-items:flex-start;display:flex}.sched-start{color:var(--text);font-size:14px;font-weight:600}.sched-end{color:var(--text-3);font-size:12px}.sched-body{flex:1;min-width:0}.sched-title-row{align-items:center;gap:8px;display:flex}.sched-title{color:var(--text);flex:1;min-width:0;font-size:15px;line-height:1.35}.sched-mins{color:var(--text-3);flex:none;font-size:12px}.sched-block.done .sched-title{color:var(--text-3);text-decoration:line-through}.sched-block.proposed .sched-title{color:var(--text-2)}.sched-dot{background:var(--text-3);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.sched-dot.custom{background:var(--accent-action)}.sched-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.sched-badge{color:var(--text-3);background:var(--surface-3);border-radius:999px;align-items:center;gap:3px;padding:2px 9px;font-size:11px;display:inline-flex}.sched-form{background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius);flex-direction:column;gap:10px;margin-bottom:10px;padding:12px;display:flex}.sched-form-row{gap:10px;display:flex}.sched-form label{color:var(--text-2);flex-direction:column;flex:1;gap:4px;font-size:12px;display:flex}.sched-form input,.sched-form select{border:.5px solid var(--border-2);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);width:100%;padding:9px 10px}.sched-form .sched-form-full{width:100%}.sched-add{margin-top:4px}.sched-mode{width:fit-content;margin:0 auto 10px}.sched-week{flex-direction:column;gap:0;margin:4px 0 14px;display:flex}.week-day{text-align:left;width:100%;color:var(--text);border:none;border-top:.5px solid var(--border);background:0 0;border-radius:0;align-items:flex-start;gap:12px;padding:9px 6px;display:flex}.week-day:first-child{border-top:none}.week-day.today{background:var(--surface-3);border-radius:var(--radius-sm)}.week-day-head{flex-direction:column;flex:0 0 34px;align-items:center;gap:1px;display:flex}.week-wd{color:var(--text-3);font-size:12px}.week-day.today .week-wd{color:var(--accent-action);font-weight:600}.week-num{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.week-items{flex-wrap:wrap;flex:1;align-items:center;gap:5px;min-width:0;padding-top:1px;display:flex}.week-empty{color:var(--text-3);font-size:13px}.week-chip{background:var(--surface-3);color:var(--text-2);border-radius:999px;align-items:center;gap:3px;padding:2px 9px;font-size:12px;display:inline-flex}.week-chip.done{color:#1d9e75}.week-chip.done i{font-size:12px}.week-block{border:.5px solid var(--border-2);color:var(--text);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;display:inline-flex}.week-block.proposed{border-color:var(--accent-action);color:var(--text-2)}.week-block-time{color:var(--text-3);font-variant-numeric:tabular-nums}.pattern-section{border-top:.5px solid var(--border);padding-top:10px}.pattern-toggle{color:var(--text-2);background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:14px;display:flex}.pattern-row{align-items:center;gap:10px;padding:8px 0;display:flex}.pattern-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.pattern-wds{flex:none;gap:3px;display:flex}.wd-chip{border:.5px solid var(--border-2);width:26px;height:26px;color:var(--text-3);background:0 0;border-radius:50%;padding:0;font-size:12px}.wd-chip.on{background:var(--accent-action);color:var(--accent-action-text);border-color:var(--accent-action)}.sched-block.fixed{opacity:.72}.sched-block.fixed .sched-title{color:var(--text-2)}.sched-dot.fixed{background:var(--text-3);border-radius:2px}.sched-suggest{align-self:flex-start}.week-fixed{border:.5px dashed var(--border-2);color:var(--text-3);background:0 0;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;display:inline-flex}.fixed-row{align-items:center;gap:10px;padding:7px 0;font-size:14px;display:flex}.fixed-wd{text-align:center;color:var(--text-2);flex:0 0 20px;font-weight:600}.fixed-time{color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.fixed-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ai-plan{margin:0 0 12px}.ai-plan .btn.primary .spinner{border:2px solid #00000040;border-top-color:var(--accent-action-text);vertical-align:middle;border-radius:50%;width:13px;height:13px;margin-right:4px;animation:.7s linear infinite spin;display:inline-block}.ai-plan-err{color:var(--warn-text,var(--text-2));margin:8px 2px 0;font-size:13px;line-height:1.45}.ai-preview{background:var(--surface);border:.5px solid var(--border-2);border-radius:var(--radius);margin-top:10px;padding:12px}.ai-preview-head{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600}.ai-preview-day{border-top:.5px solid var(--border);align-items:flex-start;gap:10px;padding:6px 0;display:flex}.ai-preview-day:first-of-type{border-top:none}.ai-preview-wd{color:var(--text-2);flex:0 0 40px;padding-top:2px;font-size:13px;font-weight:600}.ai-preview-items{flex-wrap:wrap;flex:1;gap:5px;min-width:0;display:flex}.ai-preview-chip{background:var(--surface-3);color:var(--text);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;display:inline-flex}.ai-preview-note{color:var(--text-2);align-items:center;gap:7px;margin:10px 0 0;font-size:13px;display:flex}.ai-preview-note .spinner{border:2px solid var(--border-2);border-top-color:var(--text-2);border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite spin}.sched-month{margin:4px 0 8px}.month-wd-row{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.month-wd-row span{text-align:center;color:var(--text-3);font-size:11px}.month-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.month-cell{aspect-ratio:1;color:var(--text);border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:4px 0 2px;display:flex}.month-cell.other{opacity:.32}.month-cell.today{background:var(--surface-3)}.month-cell.today .month-num{color:var(--accent-action);font-weight:700}.month-num{font-variant-numeric:tabular-nums;font-size:13px;line-height:1}.month-marks{align-items:center;gap:3px;min-height:8px;display:flex}.month-done{background:#1d9e75;border-radius:50%;width:6px;height:6px;display:inline-block}.month-blk{color:var(--text-3);align-items:center;gap:2px;font-size:10px;line-height:1;display:inline-flex}.month-blk:before{content:"";background:var(--accent-action);border-radius:1px;width:5px;height:5px;display:inline-block}.month-legend{color:var(--text-3);justify-content:center;gap:16px;margin-top:6px;font-size:11px;display:flex}.month-legend .lg-done:before{content:"";vertical-align:middle;background:#1d9e75;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.month-legend .lg-blk:before{content:"";background:var(--accent-action);vertical-align:middle;border-radius:1px;width:5px;height:5px;margin-right:4px;display:inline-block}.month-legend .lg-due:before{content:"";background:var(--danger);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.month-due{background:var(--danger);border-radius:50%;width:6px;height:6px;display:inline-block}.due-banner{color:var(--danger);background:var(--surface-3);border-radius:var(--radius-sm);align-items:center;gap:6px;margin-bottom:10px;padding:8px 10px;font-size:13px;display:flex}.due-row{align-items:center;gap:10px;padding:7px 0;display:flex}.due-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.due-row.done .due-title{color:var(--text-3)}.due-input{border:.5px solid var(--border-2);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);flex:none;padding:6px 8px}.actual-row{color:var(--text-2);align-items:center;gap:6px;margin-top:7px;font-size:13px;display:flex}.actual-lbl{color:var(--text-3)}.actual-input{border:.5px solid var(--border-2);border-radius:var(--radius-sm);background:var(--bg);width:56px;color:var(--text);padding:4px 6px;font-size:14px}.actual-unit{color:var(--text-3)}.actual-gap{background:var(--surface-3);border-radius:999px;padding:1px 7px;font-size:12px}.actual-gap.over{color:var(--danger)}.actual-gap.under{color:#1d9e75}.est-row{align-items:center;gap:8px;padding:7px 0;display:flex}.est-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.est-input{border:.5px solid var(--border-2);border-radius:var(--radius-sm);background:var(--bg);width:60px;color:var(--text);flex:none;padding:6px 8px;font-size:14px}.est-unit{color:var(--text-3);flex:none;font-size:13px}.est-none{color:var(--text-3);flex:none;font-size:12px}.est-stat{color:#1d9e75;flex:none;font-size:12px}.est-pool{color:var(--text-2);background:var(--surface-3);border-radius:999px;flex:none;padding:2px 8px;font-size:12px}.est-pool-hint{color:var(--text-3);margin:-2px 0 0;font-size:12px}
