:root{--bg: #f5f6fb;--bg-2: #eceef7;--surface: #ffffff;--surface-2: #f8f9fd;--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--faint: #94a3b8;--line: #e4e7f1;--line-2: #d6dbea;--brand: #5b4bff;--brand-2: #7c6dff;--brand-soft: #eeecff;--brand-ink: #3a2bd9;--danger: #e11d48;--danger-soft: #ffe4e9;--warn: #b45309;--warn-soft: #fef3c7;--ok: #059669;--ok-soft: #d1fae5;--shadow-1: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 1px rgba(15, 23, 42, .03);--shadow-2: 0 10px 30px -12px rgba(30, 27, 75, .18), 0 2px 6px rgba(15, 23, 42, .05);--shadow-3: 0 30px 80px -20px rgba(30, 27, 75, .35), 0 8px 20px rgba(15, 23, 42, .08);--r-sm: 8px;--r: 12px;--r-lg: 18px;--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Bricolage Grotesque", "Inter", ui-sans-serif, system-ui, sans-serif;--hour: 52px;--side: 372px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0a0c16;--bg-2: #0f1222;--surface: #12152a;--surface-2: #161a33;--ink: #e9ebf8;--ink-2: #c7cbe4;--muted: #8f96bd;--faint: #646b93;--line: #232849;--line-2: #2d3359;--brand: #8b7dff;--brand-2: #a196ff;--brand-soft: #231f4d;--brand-ink: #c3bcff;--danger: #fb7185;--danger-soft: #3b1422;--warn: #fbbf24;--warn-soft: #3a2a0a;--ok: #34d399;--ok-soft: #0c3326;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 10px 30px -12px rgba(0, 0, 0, .6), 0 2px 6px rgba(0, 0, 0, .35);--shadow-3: 0 30px 80px -20px rgba(0, 0, 0, .8), 0 8px 20px rgba(0, 0, 0, .4);color-scheme:dark}}:root[data-theme=dark]{--bg: #0a0c16;--bg-2: #0f1222;--surface: #12152a;--surface-2: #161a33;--ink: #e9ebf8;--ink-2: #c7cbe4;--muted: #8f96bd;--faint: #646b93;--line: #232849;--line-2: #2d3359;--brand: #8b7dff;--brand-2: #a196ff;--brand-soft: #231f4d;--brand-ink: #c3bcff;--danger: #fb7185;--danger-soft: #3b1422;--warn: #fbbf24;--warn-soft: #3a2a0a;--ok: #34d399;--ok-soft: #0c3326;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 10px 30px -12px rgba(0, 0, 0, .6), 0 2px 6px rgba(0, 0, 0, .35);--shadow-3: 0 30px 80px -20px rgba(0, 0, 0, .8), 0 8px 20px rgba(0, 0, 0, .4);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.icon{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100dvh;max-width:1680px;margin:0 auto}.topbar{display:flex;align-items:center;gap:12px;padding:14px 20px 10px}.brand{display:flex;align-items:center;gap:10px;font:700 19px/1 var(--display);letter-spacing:-.02em;white-space:nowrap}.brand-mark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;font:800 13px/1 var(--display);background:linear-gradient(135deg,var(--brand),#b06bff);box-shadow:0 6px 16px -6px var(--brand)}.brand-mark small{display:block;font-size:8px;letter-spacing:.08em;opacity:.85;margin-bottom:1px}.nav{display:flex;align-items:center;gap:6px;margin-left:18px}.period{font:700 19px/1 var(--display);letter-spacing:-.02em;margin-left:6px;white-space:nowrap}.spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;font-weight:600;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1);transition:background .15s,border-color .15s,transform .08s;white-space:nowrap}.btn:hover{border-color:var(--line-2);background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--brand);border-color:transparent;color:#fff;box-shadow:0 6px 16px -8px var(--brand)}.btn.primary:hover{background:var(--brand-2)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.ghost:hover{background:var(--bg-2)}.btn.danger{color:var(--danger)}.btn.icon-only{width:36px;padding:0}.btn.sm{height:30px;padding:0 10px;font-size:13px;border-radius:8px}.btn[disabled]{opacity:.55;cursor:default}.seg{display:inline-flex;padding:3px;border-radius:11px;background:var(--bg-2);border:1px solid var(--line)}.seg button{height:30px;padding:0 12px;border-radius:8px;font-weight:600;font-size:13px;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.goals-link{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600;font-size:13px;box-shadow:var(--shadow-1)}.goals-link .ring{width:26px;height:26px}.goals-link:hover{border-color:var(--line-2)}.jot-wrap{padding:0 20px 14px;position:relative;z-index:20}.jot{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);transition:border-color .15s,box-shadow .15s}.jot:focus-within{border-color:color-mix(in oklab,var(--brand) 55%,var(--line));box-shadow:0 0 0 4px color-mix(in oklab,var(--brand) 14%,transparent),var(--shadow-2)}.jot-row{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 16px}.jot-spark{color:var(--brand);flex:none}.jot-field{position:relative;flex:1;min-width:0;height:44px}.jot-field input,.jot-mirror{position:absolute;inset:0;width:100%;border:0;padding:0;font-size:17px;line-height:44px;font-weight:500;letter-spacing:-.005em;white-space:pre;overflow:hidden}.jot-field input{background:transparent;outline:none;color:var(--ink);caret-color:var(--brand);z-index:1}.jot-field input::placeholder{color:var(--faint);font-weight:400}.jot-mirror{color:transparent;pointer-events:none}.jot-mirror mark{color:transparent;border-radius:5px;padding:3px 0;box-decoration-break:clone}.jot-mirror mark.date{background:color-mix(in oklab,var(--brand) 18%,transparent);box-shadow:inset 0 -2px 0 var(--brand)}.jot-mirror mark.repeat,.jot-mirror mark.duration{background:color-mix(in oklab,#0ea5a4 18%,transparent);box-shadow:inset 0 -2px #0ea5a4}.jot-mirror mark.location{background:color-mix(in oklab,#d97706 16%,transparent);box-shadow:inset 0 -2px #d97706}.jot-mirror mark.kind{background:color-mix(in oklab,var(--muted) 18%,transparent)}.kbd{display:inline-flex;align-items:center;height:22px;min-width:22px;padding:0 6px;border-radius:6px;border:1px solid var(--line-2);border-bottom-width:2px;color:var(--muted);font:600 11px/1 var(--font);justify-content:center;background:var(--surface-2)}.jot-preview{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px 12px;border-top:1px dashed var(--line);animation:rise .18s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(-3px)}}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:600;background:var(--bg-2);color:var(--ink-2);border:1px solid transparent;white-space:nowrap}.chip .icon{width:14px;height:14px}.chip.kind-event{background:var(--brand-soft);color:var(--brand-ink)}.chip.kind-task{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.title{border-radius:6px;background:transparent;color:var(--ink);font-size:14px;padding-left:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis}button.chip{border:1px dashed var(--line-2);background:transparent;color:var(--muted)}button.chip:hover{color:var(--ink);border-color:var(--brand)}.jot-hint{font-size:12.5px;color:var(--muted);width:100%}.jot-examples{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 12px}.jot-examples button{font-size:12.5px;color:var(--muted);padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2)}.jot-examples button:hover{color:var(--ink);border-color:var(--line-2)}.jot-mirror mark.deadline{background:color-mix(in oklab,var(--danger) 16%,transparent);box-shadow:inset 0 -2px 0 var(--danger)}.chip.kind-deadline{background:var(--danger-soft);color:var(--danger)}.chip.guess{background:transparent;border:1px dashed color-mix(in oklab,var(--warn) 55%,transparent);color:var(--warn);font-weight:600;font-size:12px}.mic-btn{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--brand);transition:background .15s,color .15s,border-color .15s,transform .1s}.mic-btn:hover{border-color:var(--brand);background:var(--brand-soft)}.mic-btn:active{transform:scale(.94)}.mic-btn .icon{width:19px;height:19px}.mic-btn.live{background:var(--brand);border-color:var(--brand);color:#fff;animation:mic-pulse 1.4s ease-out infinite}@keyframes mic-pulse{0%{box-shadow:0 0 color-mix(in oklab,var(--brand) 45%,transparent)}to{box-shadow:0 0 0 12px color-mix(in oklab,var(--brand) 0%,transparent)}}.jot.voice-on{border-color:color-mix(in oklab,var(--brand) 55%,var(--line));box-shadow:0 0 0 4px color-mix(in oklab,var(--brand) 14%,transparent),var(--shadow-2)}.vl{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-top:1px dashed var(--line);animation:rise .18s ease-out}.vl-wave{display:inline-flex;align-items:center;gap:3px;height:18px;flex:none}.vl-wave i{width:3px;height:100%;border-radius:2px;background:var(--brand);animation:vl-bar .9s ease-in-out infinite}.vl-wave i:nth-child(2){animation-delay:.15s}.vl-wave i:nth-child(3){animation-delay:.3s}.vl-wave i:nth-child(4){animation-delay:.45s}@keyframes vl-bar{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.vl-text{flex:1;min-width:0;font-size:13.5px;color:var(--ink-2)}.vl-text b{color:var(--brand-ink)}.vl-actions{display:inline-flex;gap:6px;flex:none}.vc{padding:14px 16px 12px;border-top:1px dashed var(--line);animation:rise .18s ease-out}.vc-head{display:flex;align-items:center;gap:10px;min-width:0}.vc-head .chip{flex:none}.vc-title{font:700 19px/1.25 var(--display);letter-spacing:-.01em;color:var(--ink);min-width:0;overflow-wrap:anywhere}.vc-saved{margin-top:4px;font-size:12.5px;color:var(--muted)}.vc-rows{display:grid;gap:2px;margin:12px 0 0;padding:10px 12px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}.vc-row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;align-items:baseline;padding:3px 0}.vc-row dt{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.vc-row dd{margin:0;font-size:15px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.vc-guess{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;border:1px dashed color-mix(in oklab,var(--warn) 55%,transparent);color:var(--warn);font-size:11.5px;font-weight:600;vertical-align:1px}.vc-warn{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.vc>.jot-hint{margin-top:8px}.vc-ask{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}.vc-q{font:800 20px/1.2 var(--display);letter-spacing:-.015em;color:var(--ink)}.vc-status{display:flex;align-items:center;gap:7px;margin-top:3px;font-size:12.5px;color:var(--muted)}.vc-dot{width:8px;height:8px;border-radius:999px;background:var(--danger);animation:vc-blink 1.1s ease-in-out infinite}@keyframes vc-blink{50%{opacity:.25}}.vc-actions{display:flex;gap:8px}.vc-foot{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}.vc-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:4px 0;font-size:12.5px;font-weight:600;color:var(--muted)}.vc-link:hover{color:var(--ink)}.vc-link .icon{width:14px;height:14px}.main{display:grid;grid-template-columns:minmax(0,1fr) var(--side);gap:16px;padding:0 20px 20px;min-height:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);min-height:0;display:flex;flex-direction:column;overflow:hidden}.side{display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding-bottom:4px;scrollbar-width:thin}.side .panel{flex:none}.panel-h{display:flex;align-items:center;gap:8px;padding:14px 16px 6px}.panel-h h2{margin:0;font:700 15px/1.2 var(--display);letter-spacing:-.01em}.panel-h .count{font-size:12px;font-weight:700;color:var(--muted);background:var(--bg-2);padding:2px 7px;border-radius:999px}.panel-b{padding:4px 16px 14px}.today-hero{padding:16px 16px 12px;background:radial-gradient(120% 120% at 100% 0%,color-mix(in oklab,var(--brand) 16%,transparent) 0%,transparent 60%),var(--surface)}.today-hero .dow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.today-hero .date{font:800 28px/1.05 var(--display);letter-spacing:-.03em;margin-top:2px}.today-hero .sum{color:var(--muted);font-size:13.5px;margin-top:6px}.next-up{margin-top:12px;display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;width:100%}.next-up:hover{border-color:var(--line-2)}.next-up .bar{width:4px;align-self:stretch;border-radius:4px}.next-up .lbl{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.next-up .t{font-weight:700;margin-top:1px}.next-up .when{margin-left:auto;text-align:right;font-weight:700;font-size:13px;white-space:nowrap}.next-up .when small{display:block;color:var(--muted);font-weight:600}.sched{list-style:none;margin:0;padding:0}.sched li{display:grid;grid-template-columns:62px 4px 1fr;gap:10px;align-items:start;padding:7px 6px;border-radius:10px;cursor:pointer}.sched li:hover{background:var(--surface-2)}.sched .time{font-size:12.5px;font-weight:600;color:var(--muted);padding-top:1px;white-space:nowrap}.sched .bar{border-radius:4px;align-self:stretch;min-height:18px}.sched .title{font-weight:600;font-size:14px;line-height:1.3}.sched .meta{font-size:12.5px;color:var(--muted)}.sched li.past{opacity:.5}.sched li.now .time{color:var(--brand)}.empty{color:var(--muted);font-size:13.5px;padding:10px 6px}.tasks{list-style:none;margin:0;padding:0}.task{display:flex;align-items:flex-start;gap:10px;padding:6px;border-radius:10px;position:relative}.task:hover{background:var(--surface-2)}.check{flex:none;width:22px;height:22px;margin-top:1px;border-radius:7px;border:2px solid var(--line-2);display:grid;place-items:center;color:#fff;transition:background .15s,border-color .15s,transform .12s}.check:hover{border-color:var(--ok)}.check:active{transform:scale(.88)}.task.done .check{background:var(--ok);border-color:var(--ok)}.check .icon{width:14px;height:14px;stroke-width:3;opacity:0;transform:scale(.5);transition:opacity .15s,transform .2s cubic-bezier(.3,1.6,.5,1)}.task.done .check .icon{opacity:1;transform:scale(1)}.task .body{flex:1;min-width:0}.task .t{font-size:14.5px;line-height:1.35;padding-top:2px;word-break:break-word;outline:none;border-radius:4px}.task.done .t{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--faint)}.task .due{font-size:12px;font-weight:600;color:var(--muted)}.task .due.late{color:var(--danger)}.task .acts{display:flex;gap:2px;opacity:0;transition:opacity .12s}.task:hover .acts,.task:focus-within .acts{opacity:1}@media(hover:none){.task .acts{opacity:1}}.task .acts button{width:28px;height:28px;border-radius:8px;color:var(--faint);display:grid;place-items:center}.task .acts button:hover{background:var(--bg-2);color:var(--ink)}.task .acts .icon{width:16px;height:16px}.add-task{display:flex;align-items:center;gap:10px;padding:6px;color:var(--muted)}.add-task input{flex:1;border:0;outline:0;background:transparent;font-size:14.5px;padding:4px 0}.add-task .plus{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;border:2px dashed var(--line-2)}.add-task .plus .icon{width:13px;height:13px}.task-group{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding:12px 6px 4px;display:flex;align-items:center;gap:8px}.task-group button{margin-left:auto;text-transform:none;letter-spacing:0;font-size:12px;color:var(--brand);font-weight:600}.progress{height:6px;border-radius:999px;background:var(--bg-2);overflow:hidden;margin:4px 0}.progress>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ok),#34d399);transition:width .4s cubic-bezier(.3,1.2,.5,1)}.goals-card{padding:14px 16px;display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit}.goals-card:hover{background:var(--surface-2)}.ring-wrap{position:relative;width:54px;height:54px;flex:none}.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-wrap .pct{position:absolute;inset:0;display:grid;place-items:center;font:800 13px/1 var(--display)}.goals-card .lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.goals-card .t{font-weight:700;font-size:14px;line-height:1.3;margin-top:2px}.goals-card .m{font-size:12.5px;color:var(--muted);margin-top:2px}.cal{display:flex;flex-direction:column;min-height:0;flex:1}.dow-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line)}.dow-row div{padding:10px 10px 8px;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}.month{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;overflow-y:auto;scrollbar-width:thin}.mday{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 6px 4px;min-width:0;display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:background .12s;overflow:hidden;position:relative}.mday:nth-child(7n){border-right:0}.mday:hover{background:var(--surface-2)}.mday.out{background:color-mix(in oklab,var(--bg) 55%,var(--surface))}.mday.out .dnum{color:var(--faint)}.mday.drop{background:var(--brand-soft)}.dnum{font-size:13px;font-weight:700;width:26px;height:26px;display:grid;place-items:center;border-radius:999px;margin-bottom:1px}.mday.today .dnum{background:var(--brand);color:#fff}.mday.picked:not(.today) .dnum{background:var(--brand-soft);color:var(--brand-ink)}.pill{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.25;padding:2px 6px;border-radius:6px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;text-align:left;width:100%}.pill .dot{width:7px;height:7px;border-radius:99px;flex:none}.pill .tm{color:var(--muted);font-weight:600;flex:none}.pill .tt{overflow:hidden;text-overflow:ellipsis}.pill.allday{color:#fff}.pill:hover{filter:brightness(.97);background-color:var(--bg-2)}.pill.allday:hover{filter:brightness(1.06)}.more{font-size:11.5px;font-weight:700;color:var(--muted);padding:1px 6px;text-align:left}.more:hover{color:var(--brand)}.task-dot{position:absolute;top:9px;right:8px;font-size:10.5px;font-weight:700;color:var(--ok);display:flex;align-items:center;gap:3px}.task-dot .icon{width:11px;height:11px;stroke-width:3}.week{display:flex;flex-direction:column;min-height:0;flex:1}.wk-head{display:grid;grid-template-columns:56px repeat(var(--cols, 7),minmax(0,1fr));border-bottom:1px solid var(--line);padding-right:var(--sbw, 0px)}.wk-head .hd{padding:10px 8px 8px;text-align:left;cursor:pointer;border-left:1px solid transparent}.wk-head .hd .d{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}.wk-head .hd .n{font:800 22px/1.1 var(--display);letter-spacing:-.02em}.wk-head .hd.today .d,.wk-head .hd.today .n{color:var(--brand)}.wk-allday{display:grid;grid-template-columns:56px repeat(var(--cols, 7),minmax(0,1fr));border-bottom:1px solid var(--line);padding-right:var(--sbw, 0px);min-height:30px}.wk-allday .lab{font-size:10.5px;font-weight:700;color:var(--faint);padding:8px 6px;text-align:right}.wk-allday .cell{border-left:1px solid var(--line);padding:3px;display:flex;flex-direction:column;gap:2px;min-width:0}.wk-scroll{flex:1;overflow-y:auto;min-height:0;position:relative;scrollbar-width:thin}.wk-grid{display:grid;grid-template-columns:56px repeat(var(--cols, 7),minmax(0,1fr));position:relative;height:calc(var(--hour) * 24)}.hours{position:relative}.hours span{position:absolute;right:8px;transform:translateY(-50%);font-size:11px;font-weight:600;color:var(--faint);white-space:nowrap}.col{position:relative;border-left:1px solid var(--line);background-image:linear-gradient(to bottom,var(--line) 1px,transparent 1px);background-size:100% var(--hour);touch-action:pan-y}.col.today{background-color:color-mix(in oklab,var(--brand) 4%,transparent)}.col .half{position:absolute;left:0;right:0;border-top:1px dashed color-mix(in oklab,var(--line) 70%,transparent);pointer-events:none}.ev{position:absolute;border-radius:8px;padding:4px 7px;font-size:12px;line-height:1.25;overflow:hidden;cursor:pointer;border:1px solid var(--surface);user-select:none;touch-action:none;display:flex;flex-direction:column;text-align:left;transition:box-shadow .12s}.ev:hover{box-shadow:var(--shadow-2);z-index:3}.ev .t{font-weight:700;overflow:hidden;text-overflow:ellipsis}.ev .m{opacity:.85;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev.compact{flex-direction:row;gap:5px;align-items:center;white-space:nowrap;padding-top:1px;padding-bottom:1px}.ev.dragging{opacity:.9;box-shadow:var(--shadow-3);z-index:10;cursor:grabbing}.ev.past{opacity:.6}.ev .grip{position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize}.now-line{position:absolute;left:-1px;right:0;height:2px;background:var(--danger);z-index:4;pointer-events:none}.now-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:99px;background:var(--danger)}.ghost-slot{position:absolute;left:3px;right:3px;border-radius:8px;background:color-mix(in oklab,var(--brand) 22%,transparent);border:1.5px dashed var(--brand);pointer-events:none;font-size:12px;font-weight:700;color:var(--brand-ink);padding:3px 7px;z-index:5}.agenda{overflow-y:auto;flex:1;padding:6px 10px 20px;scrollbar-width:thin}.ag-day{display:grid;grid-template-columns:74px 1fr;gap:10px;padding:12px 6px;border-bottom:1px solid var(--line)}.ag-day:last-child{border-bottom:0}.ag-date{padding-top:4px}.ag-date .d{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}.ag-date .n{font:800 26px/1 var(--display);letter-spacing:-.03em}.ag-date .r{font-size:11.5px;font-weight:700;color:var(--brand);margin-top:3px}.ag-day.today .ag-date .d,.ag-day.today .ag-date .n{color:var(--brand)}.ag-items{display:flex;flex-direction:column;gap:6px;min-width:0}.ag-item{display:grid;grid-template-columns:4px 1fr auto;gap:12px;padding:10px 12px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);text-align:left;width:100%;min-width:0}.ag-item:hover{border-color:var(--line-2)}.ag-item .bar{border-radius:4px}.ag-item .t{font-weight:700;font-size:14.5px;overflow:hidden;text-overflow:ellipsis}.ag-item .m{font-size:12.5px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.ag-item .m span{display:inline-flex;align-items:center;gap:4px}.ag-item .m .icon{width:13px;height:13px}.ag-item .tm{font-size:13px;font-weight:700;white-space:nowrap;text-align:right}.ag-item .tm small{display:block;color:var(--muted);font-weight:600}.ag-task{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2);padding:2px 4px}.ag-task.done{color:var(--faint);text-decoration:line-through}.ag-task .check{width:18px;height:18px;border-radius:6px}.scrim{position:fixed;inset:0;background:#0a0c1e6b;backdrop-filter:blur(3px);z-index:50;display:grid;place-items:center;padding:20px;animation:fade .15s ease-out}@keyframes fade{0%{opacity:0}}.modal{width:min(560px,100%);max-height:min(92dvh,860px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-3);animation:pop .18s cubic-bezier(.2,1.2,.4,1)}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.modal-h{display:flex;align-items:center;gap:10px;padding:16px 16px 0 20px}.modal-h .swatch{width:12px;height:12px;border-radius:4px}.modal-h .kind{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.modal-b{padding:8px 20px 4px}.modal-f{display:flex;align-items:center;gap:8px;padding:14px 20px 18px;position:sticky;bottom:0;background:linear-gradient(to top,var(--surface) 70%,transparent)}.title-input{width:100%;border:0;outline:0;background:transparent;font:800 24px/1.2 var(--display);letter-spacing:-.02em;padding:6px 0 10px;border-bottom:2px solid var(--line)}.title-input:focus{border-bottom-color:var(--brand)}.field{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}.field:last-child{border-bottom:0}.field>.icon{color:var(--muted);margin-top:9px}.field .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inp,.sel,.txt{height:36px;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:0 10px;outline:none;min-width:0;transition:border-color .12s,box-shadow .12s}.inp:focus,.sel:focus,.txt:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 15%,transparent)}.inp.wide{flex:1;min-width:180px}.txt{width:100%;height:auto;min-height:70px;padding:8px 10px;resize:vertical;line-height:1.45}.toggle{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;cursor:pointer;user-select:none}.toggle input{appearance:none;width:36px;height:22px;border-radius:99px;background:var(--line-2);position:relative;transition:background .15s;cursor:pointer;margin:0}.toggle input:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:99px;background:#fff;box-shadow:var(--shadow-1);transition:transform .18s cubic-bezier(.3,1.3,.5,1)}.toggle input:checked{background:var(--brand)}.toggle input:checked:after{transform:translate(14px)}.swatches{display:flex;gap:8px}.swatches button{width:26px;height:26px;border-radius:99px;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}.rem-chips{display:flex;gap:6px;flex-wrap:wrap}.rem-chips button{height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);font-size:13px;font-weight:600;color:var(--muted)}.rem-chips button[aria-pressed=true]{background:var(--brand-soft);color:var(--brand-ink);border-color:color-mix(in oklab,var(--brand) 40%,transparent)}.status-line{font-size:12.5px;color:var(--muted);margin-top:6px;display:flex;align-items:center;gap:6px}.status-line .icon{width:14px;height:14px}.status-line.ok{color:var(--ok)}.status-line.bad{color:var(--danger)}.raw{font-size:12px;color:var(--faint);margin-top:8px}.choice{padding:18px 20px 20px}.choice h3{margin:0 0 4px;font:700 18px/1.2 var(--display)}.choice .btns{display:flex;flex-direction:column;gap:8px;margin-top:14px}.set-sec{padding:14px 0;border-bottom:1px solid var(--line)}.set-sec:last-child{border-bottom:0}.set-sec h3{margin:0 0 4px;font:700 15px/1.2 var(--display)}.set-sec p{margin:4px 0 10px;color:var(--muted);font-size:13.5px}.copy-row{display:flex;gap:8px}.copy-row .inp{flex:1;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.health{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600}.health .led{width:9px;height:9px;border-radius:99px;background:var(--faint)}.health.ok .led{background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}.health.bad .led{background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:80;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:14px;background:#151833;color:#fff;box-shadow:var(--shadow-3);font-size:14px;font-weight:500;max-width:calc(100vw - 32px);animation:toast .22s cubic-bezier(.2,1.3,.4,1)}.toast.error{background:#9f1239}.toast button{color:#c3bcff;font-weight:700;padding:6px 10px;border-radius:8px}.toast button:hover{background:#ffffff1a}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}}.banner{margin:0 20px 12px;padding:10px 14px;border-radius:var(--r);background:var(--warn-soft);color:var(--warn);font-size:13.5px;font-weight:600;display:flex;gap:8px;align-items:center}.signin{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(60% 50% at 50% 0%,color-mix(in oklab,var(--brand) 18%,transparent),transparent 70%),var(--bg)}.signin-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-3);padding:28px 24px 24px}.signin-card h1{font:800 28px/1.1 var(--display);letter-spacing:-.03em;margin:18px 0 6px}.signin-card p{color:var(--muted);margin:0 0 18px}.signin-card form{display:flex;flex-direction:column;gap:10px}.signin-card .inp{height:46px;font-size:16px}.signin-card .code{letter-spacing:.4em;text-align:center;font:800 24px/1 var(--display)}.signin-card .btn{height:46px}.err{color:var(--danger);font-size:13.5px;font-weight:600}.tabbar{display:none}@media(max-width:1100px){:root{--side: 320px}}@media(max-width:900px){.app{grid-template-rows:auto minmax(0,1fr) auto auto}.app{width:100%;overflow-x:hidden}.topbar{padding:12px 12px 8px;gap:6px;flex-wrap:wrap;row-gap:10px}.topbar .seg{order:10;width:100%}.topbar .seg button{flex:1}.nav{margin-left:0}.period{font-size:17px}.hide-m{display:none!important}.main{grid-template-columns:minmax(0,1fr);padding:0 12px 8px;grid-row:2}.main[data-tab=today]>.cal-panel,.main[data-tab=calendar]>.side,.main[data-tab=tasks]>.cal-panel{display:none}.main[data-tab=tasks] .side>:not(.tasks-panel),.main[data-tab=today] .side>.tasks-panel{display:none}.jot-wrap{grid-row:3;padding:6px 12px 8px}.jot{box-shadow:var(--shadow-3)}.jot-examples{display:none}.jot-field input,.jot-mirror{font-size:16px}.vl{flex-wrap:wrap}.vl-text{flex-basis:calc(100% - 40px)}.vl-actions{width:100%;justify-content:flex-end}.vc-actions{width:100%}.vc-actions .btn{flex:1;justify-content:center;height:46px}.kbd{display:none}.tabbar{grid-row:4;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:color-mix(in oklab,var(--surface) 92%,transparent);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 7px;font-size:11px;font-weight:700;color:var(--faint)}.tabbar button[aria-selected=true]{color:var(--brand)}.tabbar .icon{width:21px;height:21px}.side{gap:12px}.mday{min-height:0;padding:4px 2px 2px}.pill{padding:1px 3px;font-size:10.5px;gap:3px}.pill .tm{display:none}.dow-row div{padding:8px 4px 6px;text-align:center;font-size:10.5px}.dnum{font-size:12px;width:22px;height:22px;margin:0 auto 1px}.task-dot{display:none}.wk-head .hd .n{font-size:17px}.wk-head .hd{padding:8px 4px 6px;text-align:center}.scrim{place-items:end stretch;padding:0}.modal{width:100%;border-radius:22px 22px 0 0;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);animation:sheet .24s cubic-bezier(.2,1,.3,1)}@keyframes sheet{0%{transform:translateY(40px);opacity:0}}.toast{bottom:calc(150px + env(safe-area-inset-bottom))}.banner{margin:0 12px 8px}.ag-day{grid-template-columns:54px 1fr}}@media(max-width:420px){.seg button{padding:0 9px}.brand-name{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.task .body{text-align:left;border-radius:8px;padding:0}.task .body:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.task .meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:1px}.task .when{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--brand-ink);font-variant-numeric:tabular-nums}.task .when .icon{width:12px;height:12px}.task .acts .pick-time{width:auto;padding:0 9px;gap:4px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:var(--brand-ink);background:var(--brand-soft);border-radius:999px;white-space:nowrap}.task .acts .pick-time:hover{background:color-mix(in oklab,var(--brand) 22%,var(--surface));color:var(--brand-ink)}.task .acts .pick-time .icon{width:13px;height:13px}.task:has(.pick-time) .acts{opacity:1}.task:has(.pick-time) .acts button:not(.pick-time){opacity:0}.task:hover .acts button,.task:focus-within .acts button{opacity:1!important}.task.leaving{animation:task-leave .22s ease-in forwards}.task.leaving .check{background:var(--ok);border-color:var(--ok)}.task.leaving .check .icon{opacity:1;transform:scale(1)}@keyframes task-leave{to{opacity:0;transform:translate(10px)}}.done-list .task .t{color:var(--faint)}.ev-check{flex:none;display:inline-block;vertical-align:-2px;margin-right:5px;border-radius:50%;border:2px solid currentColor;opacity:.75;cursor:pointer;transition:background .15s,opacity .15s,transform .12s}.ev-check:hover,.ev-check:focus-visible{opacity:1;background:color-mix(in oklab,currentColor 25%,transparent);outline:none}.ev-check:active{transform:scale(.85)}.ev.task{border-left-style:dashed!important}.pill.task .ev-check{margin-right:4px;color:var(--muted)}.ag-item.task .ev-check{margin:0 2px 0 0;color:var(--brand);align-self:center}.ts .ts-title{font:800 24px/1.2 var(--display);letter-spacing:-.02em;margin:4px 0 2px;text-wrap:balance}.ts .ts-meta{color:var(--muted);font-size:14px}.ts .ts-label{margin:18px 0 8px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.ts-now{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;border-radius:12px;background:var(--brand-soft);color:var(--brand-ink);font-variant-numeric:tabular-nums}.ts-now .icon{width:16px;height:16px}.ts-now span{flex:1}.ts-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ts-slot{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:12px 12px 11px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);text-align:left;transition:border-color .12s,background .12s,transform .12s,box-shadow .12s}.ts-slot:hover{border-color:var(--brand);background:var(--brand-soft);box-shadow:var(--shadow-1)}.ts-slot:active{transform:scale(.97)}.ts-slot:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ts-slot .d{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.ts-slot .t{font:800 20px/1.15 var(--display);font-variant-numeric:tabular-nums;color:var(--ink)}.ts-slot .r{font-size:12px;color:var(--muted)}.ts-custom .inp[type=date]{max-width:150px}.ts-plan{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ts-plan li{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-variant-numeric:tabular-nums}.ts-plan .n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--brand-soft);color:var(--brand-ink)}.ts-plan .d{font-weight:700}.ts-plan .t{color:var(--muted)}@media(max-width:520px){.ts-slots{grid-template-columns:1fr}.ts-slot{flex-direction:row;align-items:baseline;gap:10px}.ts-slot .t{font-size:18px}.ts-custom .inp[type=date]{max-width:none;flex:1}}.jr-head{padding:18px 20px 6px}.jr-head h2{margin:0 0 4px;font:800 20px/1.25 var(--display);letter-spacing:-.01em}.jr-head p{margin:0;font-size:13px}.jr-left{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 20px 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,#d97706 12%,var(--surface));font-size:13px}.jr-left span{flex:1 1 180px}.jr-list{list-style:none;margin:10px 0 0;padding:0 20px;display:grid;gap:8px}.jr-row{display:flex;gap:10px;align-items:flex-start;padding:10px 8px 10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.jr-row.has-fix{border-color:color-mix(in srgb,#e11d48 45%,var(--line))}.jr-n{flex:none;width:20px;font-size:12px;font-weight:700;color:var(--muted);padding-top:5px}.jr-main{flex:1;min-width:0;display:grid;gap:5px}.jr-top{display:flex;align-items:center;gap:8px;min-width:0}.jr-title{font-size:15px;overflow-wrap:anywhere}.jr-when{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;color:var(--muted)}.jr-when .icon{width:13px;height:13px}.jr-src{justify-self:start;max-width:100%;border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--muted);text-align:left;cursor:text;overflow-wrap:anywhere}.jr-src .icon{width:12px;height:12px;vertical-align:-2px}.jr-edit{width:100%}.jr-issues{display:flex;flex-wrap:wrap;gap:6px}.jr-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:14px 20px 18px;position:sticky;bottom:0;background:linear-gradient(to top,var(--surface) 70%,transparent)}.jr-issues .chip{height:auto;min-height:26px;padding:4px 10px;white-space:normal;line-height:1.3}.jr-row>.btn{flex:none}
