:root{color-scheme:light;--ink:#171310;--ink-2:#413a34;--ink-3:#7c7369;--ink-4:#aca49a;--fire:hsl(16 88% 52%);--wood:hsl(158 38% 40%);--water:hsl(212 78% 46%);--wood-ink:hsl(158 42% 28%);--now:hsl(212 78% 46%);--now-ink:hsl(212 65% 32%);--now-tint:hsl(212 85% 96.5%);--now-soft:hsl(212 80% 93%);--now-line:hsl(212 60% 80%);--error:#c0392b;--error-tint:hsl(6 80% 96%);--ok:hsl(158 44% 38%);--h:26;--s:86%;--paper:#ffffff;--paper-solid:#ffffff;--paper-2:hsl(35 20% 97.5%);--line:hsl(30 12% 84%);--line-soft:hsl(30 14% 90%);--line-strong:hsl(30 12% 70%);--fs-title:13px;--fs-lead:12px;--fs-body:11px;--fs-dense:10px;--fs-label:9px;--fs-micro:9px;--glass:hsl(40 25% 99% / .58);--glass-strong:hsl(40 25% 99% / .82);--glass-blur:20px;--glass-sat:170%;--glass-edge:hsl(0 0% 100% / .8);--glass-hi:inset 0 1px 0 hsl(0 0% 100% / .95),inset 0 0 0 .5px hsl(0 0% 100% / .45);--glass-lo:inset 0 -1px 0 hsl(30 15% 35% / .07);--glass-specular:linear-gradient(135deg,hsl(0 0% 100% / .6) 0%,hsl(0 0% 100% / .18) 36%,hsl(0 0% 100% / 0) 62%,hsl(0 0% 100% / .1) 100%);--lens:linear-gradient(180deg,hsl(0 0% 100% / .98),hsl(40 30% 98% / .85));--lens-shadow:0 1px 2px hsl(30 15% 25% / .1),0 6px 16px hsl(30 15% 25% / .08);--shadow-soft:0 1px 2px hsl(30 15% 20% / .05),0 6px 20px hsl(30 15% 20% / .06);--shadow-float:0 12px 36px hsl(30 15% 20% / .1);--shadow-modal:0 20px 60px hsl(30 15% 15% / .16);--r-pill:999px;--r-lg:24px;--r-md:16px;--r-sm:11px;--r-xs:8px;--sat:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--sab:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--sal:var(--safe-area-inset-left,env(safe-area-inset-left,0px));--sar:var(--safe-area-inset-right,env(safe-area-inset-right,0px));font-family:SF Pro Text,SF Pro Display,-apple-system,PingFang SC,Segoe UI,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-synthesis:none;font-size:11px;font-weight:400;line-height:1.4;color:var(--ink-2);-webkit-tap-highlight-color:transparent}[data-book=dream]{--h:8;--s:78%}[data-book=action]{--h:26;--s:86%}[data-book=thought]{--h:150;--s:36%}[data-book=settings]{--h:28;--s:16%}:root,[data-book]{--accent:hsl(var(--h) var(--s) 48%);--accent-deep:hsl(var(--h) var(--s) 39%);--accent-ink:hsl(var(--h) calc(var(--s) - 30%) 25%);--accent-soft:hsl(var(--h) var(--s) 58% / .14);--accent-tint:hsl(var(--h) 78% 95.5%);--accent-line:hsl(var(--h) 55% 82%);--accent-glow:0 6px 18px hsl(var(--h) var(--s) 50% / .22)}html,body{margin:0;padding:0;height:100%}body{background:#f3f1ed;color:var(--ink-2);overflow:hidden}body:before{content:"";position:fixed;inset:-12%;z-index:-1;pointer-events:none;background:radial-gradient(50% 50% at 6% 0%,hsl(22 72% 74% / .2),transparent 72%),radial-gradient(45% 45% at 96% 4%,hsl(32 55% 76% / .16),transparent 74%),radial-gradient(45% 50% at 88% 98%,hsl(150 26% 70% / .09),transparent 74%),linear-gradient(168deg,#faf9f6,#f3f1ed 60%,#efede8);filter:blur(40px) saturate(108%)}.glass{background:var(--glass-specular),var(--glass);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));border:1px solid var(--glass-edge);box-shadow:var(--glass-hi),var(--glass-lo),var(--shadow-soft)}.glass-strong{background:var(--glass-specular),var(--glass-strong);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));border:1px solid var(--glass-edge);box-shadow:var(--glass-hi),var(--glass-lo),var(--shadow-float)}.paper{background:var(--paper);border:1px solid var(--line-soft);box-shadow:var(--shadow-soft)}@media(prefers-reduced-transparency:reduce){body:before{filter:none;opacity:.35}.glass,.glass-strong{background:#fffdf9;backdrop-filter:none;-webkit-backdrop-filter:none}:root{--paper:#fffdf9}}@media(prefers-contrast:more){:root{--ink:#120b05;--ink-2:#241a10;--ink-3:#4f4032;--line:hsl(30 22% 62%);--line-strong:hsl(30 22% 50%);--paper:#fffdf9;--glass:#fffdf9;--glass-strong:#fffdf9}body:before{opacity:.2}.glass,.glass-strong{backdrop-filter:none;-webkit-backdrop-filter:none}}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--glass:hsl(40 60% 99% / .94);--glass-strong:#fffdf9}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root.font-lg{--fs-title:15px;--fs-lead:13px;--fs-body:12px;--fs-dense:11px;--fs-label:10px;--fs-micro:10px;font-size:12px}:root.font-lg .tab,:root.font-lg .toolbar .meta,:root.font-lg .toolbar label.pair,:root.font-lg .chip .lbl,:root.font-lg .panel-head,:root.font-lg .demo-tag,:root.font-lg .bweek small,:root.font-lg .bline .wd,:root.font-lg .legend,:root.font-lg .num,:root.font-lg .hdate,:root.font-lg .srow span,:root.font-lg .tag,:root.font-lg .pin-text small,:root.font-lg .read>div>span,:root.font-lg .history-list button span,:root.font-lg .zoom,:root.font-lg .date small,:root.font-lg .pprev-line i,:root.font-lg .yday-line i,:root.font-lg .sheet thead th span,:root.font-lg .sheet thead .group th,:root.font-lg .sheet .band th{font-size:10px}:root.font-lg .legend .num{width:12px;height:12px}:root.font-lg .seg,:root.font-lg .toolbar,:root.font-lg .toolbar input,:root.font-lg .toolbar select,:root.font-lg .cap,:root.font-lg .empty,:root.font-lg .sbody,:root.font-lg .hgo,:root.font-lg .pprev-line,:root.font-lg .chip,:root.font-lg .small,:root.font-lg .search.inline input,:root.font-lg .btn,:root.font-lg .check,:root.font-lg .history-list button,:root.font-lg .read{font-size:11px}:root.font-lg .nline.main .cell{font-size:13px}:root.font-lg .note-head .cell.nname{font-size:14px}:root.font-lg .drawer-head h2{font-size:13px}*,*:before,*:after{box-sizing:border-box}button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--now);outline-offset:2px}input,textarea,select{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;min-width:0}input:focus,textarea:focus,select:focus{outline:0;border-color:var(--now);box-shadow:0 0 0 3px var(--now-soft)}input::placeholder,textarea::placeholder{color:var(--ink-4)}textarea{resize:vertical;line-height:1.45}a{color:var(--water)}svg{flex:none}.muted{color:var(--ink-3)}.small{font-size:9.5px}h1,h2,h3,p{margin:0}#root{height:100%}.app{position:fixed;inset:0;display:flex;overflow:hidden}.app{flex-direction:column;padding:calc(8px + var(--sat)) 10px calc(10px + var(--sab)) 10px;gap:8px}.app .content{flex:1;min-height:0;display:flex;flex-direction:column}.app .segments,.app .tabbar{flex:none}.app.wide .tabbar{width:min(560px,100%);margin:0 auto}.app.wide .segments{width:min(760px,100%);margin:0 auto}.wide .body.spread{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;overflow:hidden}.wide .spread>.pg{min-height:0;overflow:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:8px}.wide .spread>.pg::-webkit-scrollbar{display:none}.wide .spread>.pg>.paper{flex:none}.wide .spread>.pg>.paper.dayform{flex:1}.tabbar{height:60px;border-radius:var(--r-pill);display:flex;padding:6px;gap:2px}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--r-pill);font-size:9px;color:var(--ink-3);transition:background .18s,color .18s,transform .12s cubic-bezier(.23,1,.32,1),box-shadow .18s}.tab:active{transform:scale(.95)}.tab.active{color:var(--accent-ink);background:var(--lens);box-shadow:var(--lens-shadow),var(--glass-hi)}.tab.active svg{color:var(--accent)}.tab.tab-icon{flex:0 0 44px;color:var(--ink-3)}.segments{height:28px;border-radius:var(--r-pill);display:flex;padding:3px;gap:2px;overflow-x:auto;scrollbar-width:none}.segments::-webkit-scrollbar{display:none}.seg{flex:1 0 auto;min-width:0;height:100%;padding:0 10px;border-radius:var(--r-pill);font-size:10px;color:var(--ink-2);white-space:nowrap;transition:background .18s,color .18s,box-shadow .18s,transform .12s cubic-bezier(.23,1,.32,1)}.seg:active{transform:scale(.97)}.seg.active{background:var(--lens);color:var(--accent-ink);font-weight:500;box-shadow:var(--lens-shadow),var(--glass-hi)}.page{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.toolbar{flex:none;height:28px;border-radius:var(--r-pill);display:flex;align-items:center;gap:4px;padding:0 6px;font-size:10px;color:var(--ink-2);overflow-x:auto;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.toolbar.right{width:max-content;margin-left:auto;padding:0 4px}.toolbar .ib{width:26px;height:26px}.toolbar .ib.accent{width:24px;height:24px;box-shadow:0 1px 3px hsl(var(--h) var(--s) 45% / .3),inset 0 1px #ffffff80,inset 0 -1px #0000001a}.toolbar .spacer{flex:1}.toolbar .meta{font-size:9px;color:var(--ink-3);padding:0 4px;white-space:nowrap}.toolbar input,.toolbar select{height:26px;padding:0 8px;border-radius:var(--r-pill);box-shadow:inset 0 1px #fffc;font-size:10px;background:#ffffffb3;border-color:transparent}.toolbar input[type=month],.toolbar input[type=date]{width:auto;min-width:104px}@media(max-width:392px){.toolbar .meta{display:none}}.toolbar label.pair{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--ink-3);white-space:nowrap}.toolbar label.pair input{width:64px}.toolbar strong{font-weight:500;padding:0 4px;white-space:nowrap}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--r-pill);background:#fff9;box-shadow:inset 0 1px #fffc;transition:transform .12s cubic-bezier(.23,1,.32,1);font-size:9.5px;color:var(--ink-2);white-space:nowrap;max-width:260px}.chip span:last-child{overflow:hidden;text-overflow:ellipsis}.chip .lbl{font-size:9px;color:var(--ink-3);flex:none}.chip.active{background:var(--accent);color:#fff}button.chip:active{transform:scale(.97)}.body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;border-radius:var(--r-md);scrollbar-width:none}.body::-webkit-scrollbar{display:none}.panel{border-radius:var(--r-md);overflow:hidden;flex:none}.panel-head{display:flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 12px;font-size:9px;font-weight:500;letter-spacing:.04em;color:var(--ink-3);border-bottom:1px solid var(--line-soft)}.panel-head .spacer{flex:1}.empty{padding:14px 12px;font-size:10px;color:var(--ink-4)}.popover .menu button svg{color:var(--ink-3)}.ib{width:30px;height:30px;border-radius:var(--r-pill);display:inline-grid;place-items:center;color:var(--ink-2);flex:none;transition:background .15s,transform .12s cubic-bezier(.23,1,.32,1)}.ib:hover{background:#fff9}.ib:active{transform:scale(.92)}.ib.accent{background:linear-gradient(180deg,hsl(var(--h) var(--s) 58%),var(--accent) 55%,var(--accent-deep));color:#fff;box-shadow:var(--accent-glow),inset 0 1px #ffffff8c,inset 0 -1px #0000001f}.ib.accent:hover{background:var(--accent-deep)}.ib.on{color:var(--accent);background:var(--accent-soft)}.save{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 8px;font-size:9px;color:var(--ink-3)}.save i{width:7px;height:7px;border-radius:50%;background:var(--ok);transition:background .2s}.save.busy i{background:var(--accent);animation:pulse 1s ease-in-out infinite}.save.error{color:var(--error)}.save.error i{background:var(--error)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--r-pill);transition:background .15s,transform .12s cubic-bezier(.23,1,.32,1);font-size:10.5px;font-weight:500;color:var(--ink-2);background:#fffc;border:1px solid var(--line);white-space:nowrap;transition:background .15s,transform .1s}.btn:hover{background:#fff}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(180deg,hsl(var(--h) var(--s) 58%),var(--accent) 55%,var(--accent-deep));color:#fff;border-color:transparent;box-shadow:var(--accent-glow),inset 0 1px #ffffff8c,inset 0 -1px #0000001f}.btn.primary:hover{background:var(--accent-deep)}.btn.quiet{background:transparent;border-color:transparent}.btn.quiet:hover{background:#fff9}.btn.danger{color:var(--error)}.btn-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.check{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;color:var(--ink-2);cursor:pointer}.check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.field{display:flex;flex-direction:column;gap:4px;font-size:9.5px;color:var(--ink-3);min-width:0}.field.full{grid-column:1 / -1}.field textarea{min-height:64px}@media(max-width:560px){.fields{grid-template-columns:1fr}}.scrim{position:fixed;inset:0;z-index:50;background:#281e154d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade .18s ease-out}.drawer{position:fixed;z-index:51;display:flex;flex-direction:column;background:var(--paper-solid);box-shadow:var(--shadow-modal);overflow:hidden}.drawer.narrow{left:0;right:0;bottom:0;max-height:92dvh;border-radius:var(--r-lg) var(--r-lg) 0 0;padding-bottom:var(--sab);animation:rise .26s cubic-bezier(.2,.8,.2,1)}.drawer.wide{left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,92vw);max-height:88dvh;border-radius:var(--r-lg);animation:pop .2s ease-out}.drawer.wide.roomy{width:min(960px,94vw)}.drawer-handle{flex:none;width:36px;height:4px;border-radius:2px;background:var(--line-strong);margin:8px auto 0}.drawer-head{flex:none;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line-soft)}.drawer-head>div{flex:1;min-width:0}.drawer-head h2{font-size:12px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-head p{font-size:9.5px;color:var(--ink-3);margin-top:2px}.drawer-body{flex:1;min-height:0;overflow:auto;padding:12px 16px;overscroll-behavior:contain;scrollbar-width:none}.drawer-body::-webkit-scrollbar{display:none}.drawer-foot{flex:none;display:flex;align-items:center;gap:8px;padding:10px 18px;border-top:1px solid var(--line-soft)}.drawer-foot .spacer{flex:1}@keyframes rise{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.97);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.popover{position:fixed;z-index:52;border-radius:var(--r-md);padding:6px;min-width:150px;max-width:min(420px,calc(100vw - 20px));animation:pop2 .16s ease-out}.popover .menu{display:flex;flex-direction:column}.popover .menu button{height:34px;padding:0 12px;border-radius:var(--r-sm);text-align:left;font-size:10.5px;display:flex;align-items:center;gap:8px}.popover .menu button:hover{background:#ffffffb3}.popover .menu button:active{transform:scale(.98)}.popover textarea{width:100%;min-height:120px;max-height:50vh;border:0;background:transparent;padding:8px;resize:none}.popover textarea:focus{box-shadow:none}@keyframes pop2{0%{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}.boot{position:fixed;inset:0;display:grid;place-items:center;text-align:center;color:var(--ink-3);font-size:10.5px}.boot .card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 30px;border-radius:var(--r-lg)}.boot h1{font-size:14px;font-weight:500;color:var(--ink)}.boot input{text-align:center;font-size:14px;letter-spacing:.3em;width:160px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--sab) + 84px);z-index:60;border-radius:var(--r-pill);padding:7px 8px 7px 14px;display:flex;align-items:center;gap:8px;font-size:10px;color:var(--error);max-width:calc(100vw - 24px);animation:rise .2s ease-out}.hintbar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--sab) + 84px);z-index:59;width:max-content;border-radius:var(--r-pill);padding:7px 8px 7px 14px;display:flex;align-items:center;gap:8px;font-size:10px;color:var(--ink-2);max-width:calc(100vw - 24px);animation:rise .2s ease-out}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sheet{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--fs-dense);background:var(--paper-solid);border-radius:var(--r-sm);box-shadow:0 0 0 1px var(--line);color:var(--ink)}.sheet th,.sheet td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;vertical-align:top;text-align:left;font-weight:400;min-width:0}.sheet tr>*:last-child{border-right:0}.sheet tbody:last-child tr:last-child>*{border-bottom:0}.sheet thead th{position:sticky;top:0;z-index:3;background:var(--paper-2);color:var(--ink-2);font-size:var(--fs-label);font-weight:500;padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--line-strong)}.sheet thead th span{display:block;font-weight:400;font-size:9px;color:var(--ink-4)}.sheet thead .group th{background:var(--accent-tint);color:var(--accent-ink);text-align:center;font-size:9px;letter-spacing:.04em}.sheet .sticky{position:sticky;left:0;z-index:2;background:var(--paper-2)}.sheet thead .sticky{z-index:4}.sheet tbody th{background:var(--paper-2);color:var(--ink);font-weight:500;padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet tbody th.sticky{box-shadow:1px 0 0 var(--line)}.sheet tbody th.edit{padding:0;white-space:normal}.sheet tbody th.edit .cell{font-weight:500}.sheet .now>th,.sheet .now>td,.sheet th.now,.sheet td.now{background:var(--now-tint)}.sheet thead th.now{color:var(--now-ink);font-weight:500;box-shadow:inset 0 -2px 0 var(--now)}.sheet tbody tr.now>th.sticky{background:var(--now-soft);color:var(--now-ink)}.sheet tr.weekend>td{background:#fcfaf8}.sheet tr.future>td,.sheet tr.future>td .cell{color:var(--ink-4)}.sheet .band th{background:var(--accent-soft);color:var(--accent-ink);font-size:9px;letter-spacing:.06em;padding:4px 8px;font-weight:500}.sheet .band th>span{display:flex;align-items:center;gap:8px;position:sticky;left:8px;width:max-content;max-width:100%}.sheet.life th.stg,.sheet.life th.ar,.sheet.life thead th.vt{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.06em;text-align:center;vertical-align:middle;padding:6px 0;white-space:nowrap;font-weight:500;overflow:visible}.sheet.life th.stg{background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-label);z-index:3}.sheet.life th.ar{background:var(--accent-tint);color:var(--accent-ink);font-size:var(--fs-dense);z-index:3}.sheet.life th.pj{white-space:normal;padding:0;vertical-align:top;background:#faf8f4;z-index:2;-webkit-touch-callout:none}.sheet.life td.ult{vertical-align:top;background:#fdfcfa}.sheet.life .cell.ultc{padding:3px 5px;min-height:20px;font-size:var(--fs-dense);color:var(--ink-2);line-height:1.4;background:transparent}.sheet.life .cell.ultc:focus{background:#fff}.sheet.life .addrow{display:inline-flex;align-items:center;gap:3px;height:20px;padding:0 6px;margin:1px 3px;border-radius:var(--r-pill);font-size:var(--fs-label);color:var(--accent-ink);background:var(--accent-tint)}.sheet.life thead th.sticky{z-index:5}.sheet.life thead th.vt{padding:4px 0;height:auto;background:var(--paper-2);color:var(--ink-2)}.sheet .num{text-align:right;padding:3px 6px;color:var(--ink-3);font-variant-numeric:tabular-nums}.sheet .tools{padding:2px;text-align:center;vertical-align:middle;white-space:nowrap}.sheet .tools .ib{width:22px;height:22px;color:var(--ink-4)}.sheet .tools .ib:hover{color:var(--ink-2);background:var(--paper-2)}.sheet .tools .ib.linked-ib{color:var(--accent)}.sheet .none{display:inline-block;padding:3px 6px;color:var(--ink-4)}.sheet td.txt{padding:3px 6px;color:var(--ink);white-space:pre-wrap;word-break:break-word}.sheet td.txt.muted{color:var(--ink-3)}.sheet td.txt.key{font-weight:500}.sheet td.txt.small{font-size:var(--fs-label)}.tcell{display:flex;align-items:center;gap:0;padding-left:6px}.tcell .cell{padding-left:4px}.cell{display:block;width:100%;border:0;border-radius:0;background:transparent;font:inherit;font-size:inherit;line-height:1.45;color:var(--ink);padding:3px 6px;min-height:20px;outline:0;box-shadow:none;text-overflow:ellipsis}.cell:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--now);position:relative;z-index:1}.cell.saving{color:var(--ink-3)}.cell.area,textarea.cell{resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word}.cell-preview{display:flex;align-items:flex-start;gap:4px;width:100%;padding:3px 4px 3px 6px;min-height:20px;text-align:left;color:var(--ink);line-height:1.45;font-size:inherit}.cell-preview span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-preview svg{color:var(--ink-4);margin-top:2px}.cell-preview:hover{background:#faf8f4}.cell-select{width:100%;border:0;border-radius:0;background:transparent;padding:3px 4px;font-size:inherit;color:var(--ink);min-height:20px}.cell-select:focus{box-shadow:inset 0 0 0 2px var(--now)}.lfs{display:flex;flex-direction:column}.lf{display:grid;grid-template-columns:62px 1fr;gap:6px;align-items:start;border-bottom:1px solid var(--line-soft)}.lf>span{font-size:var(--fs-label);color:var(--ink-3);padding:6px 0 4px 8px;line-height:1.2}.lf .cell{font-size:var(--fs-body);padding:4px 8px 4px 0;min-height:22px}.lf-area{min-height:22px}.wide .lf{grid-template-columns:92px 1fr}.wide .lf>span{padding:6px 0 4px 12px}.wide .lf .cell{padding:4px 10px 4px 0}.lf:last-child{border-bottom:0}.date{display:flex;align-items:center;gap:4px;width:100%;padding:4px 5px;font-weight:500;color:var(--ink);text-align:left;font-variant-numeric:tabular-nums}.date b{font-weight:500}.date small{font-weight:400;color:var(--ink-4);font-size:9px}.dot{width:6px;height:6px;border-radius:50%;background:var(--line-strong);flex:none}.dot.on{background:var(--accent)}.canvas{flex:1;min-height:0;position:relative;border-radius:var(--r-md);overflow:hidden}.canvas-view{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-width:none}.canvas-view::-webkit-scrollbar{display:none}.canvas-content{display:inline-block;padding:2px 2px 60px;min-width:0}.canvas-content .sheet{width:max-content}.canvas-content>*+*{margin-top:10px}.zoom{position:absolute;right:10px;bottom:10px;z-index:5;height:30px;border-radius:var(--r-pill);display:flex;align-items:center;padding:2px;font-size:9px;color:var(--ink-2)}.zoom button{height:26px;min-width:26px;padding:0 6px;border-radius:var(--r-pill);display:grid;place-items:center}.zoom button:hover{background:#ffffffb3}.zoom .pct{min-width:46px;font-variant-numeric:tabular-nums}.flat{width:100%}.plan{display:flex;flex-direction:column}.pfuture{display:flex;align-items:baseline;gap:6px;width:100%;padding:5px 9px;text-align:left;border-bottom:1px solid var(--line);font-size:var(--fs-dense);color:var(--ink-2);overflow:hidden;white-space:nowrap}.pfuture .lbl{font-size:var(--fs-label);color:var(--accent-ink);font-weight:500;flex:none;letter-spacing:.04em}.pfuture b{font-weight:600;color:var(--ink);flex:none}.pfuture span{overflow:hidden;text-overflow:ellipsis;min-width:0}.pfuture:hover{background:var(--paper-2)}.pblock{border-bottom:1px solid var(--line);padding-bottom:4px}.pblock:last-of-type{border-bottom:0}.pband{display:flex;align-items:center;gap:6px;min-height:26px;padding:1px 3px 1px 9px;background:var(--accent-tint);box-shadow:inset 0 1px #ffffffb3;border-bottom:1px solid var(--accent-line);margin-bottom:3px;-webkit-touch-callout:none}.pband b{font-size:var(--fs-title);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.pband i{font-style:normal}.pband small{font-size:var(--fs-label);color:var(--ink-3);font-variant-numeric:tabular-nums}.pband .ib{width:24px;height:24px;color:var(--ink-4)}.pyears{display:flex;flex-wrap:wrap;gap:3px 4px;padding:2px 8px 3px 9px}.pyears button{display:inline-flex;align-items:center;gap:3px;height:18px;padding:0 6px;border-radius:var(--r-pill);background:var(--paper-2);border:1px solid var(--line);font-size:var(--fs-label);color:var(--ink-2);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pyears button b{font-weight:500;color:var(--ink)}.pyears button.muted{color:var(--ink-4);background:transparent;border-style:dashed}.plan .nbody{flex:1;min-width:0;display:flex;flex-direction:column}.plan .nline.main .cell{min-height:40px}.plan .pins{border-top:1px solid var(--line);border-bottom:0}.pins{display:flex;flex-direction:column;border-bottom:1px solid var(--line-soft)}.pin-line{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:baseline;padding:4px 8px;text-align:left;font-size:var(--fs-dense);border-bottom:1px solid var(--line-soft)}.pin-line:last-child{border-bottom:0}.pin-line:hover{background:var(--paper-2)}.pin-line strong{font-weight:500;color:var(--ink);white-space:nowrap;display:flex;align-items:center;gap:2px}.pin-line span{color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet.routine{box-shadow:none;border-radius:0;font-size:var(--fs-dense)}.sheet.routine th{width:60px;color:var(--ink-3);font-weight:400;font-variant-numeric:tabular-nums}.sheet.routine td.txt{color:var(--ink-2)}.caps{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid var(--line-soft);align-items:center}.caps-label{font-size:var(--fs-label);color:var(--ink-3);margin-right:4px}.cap{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 8px;border-radius:var(--r-pill);border:1px solid var(--line);font-size:10px;color:var(--ink-2);cursor:pointer;background:#fff;transition:background .15s,color .15s}.cap input{width:14px;height:14px;margin:0;accent-color:var(--accent)}.cap.on{background:var(--accent-tint);border-color:var(--accent-line);color:var(--accent-ink)}.yday-line{display:flex;align-items:baseline;gap:6px;padding:4px 8px 2px;font-size:var(--fs-dense);color:var(--ink-2)}.yday-line i{font-style:normal;font-size:10px;line-height:16px;padding:0 5px;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent-ink);flex:none}.board{display:flex;flex-direction:column;font-size:var(--fs-dense)}.board-head,.bline{display:grid;align-items:stretch}.board-head{position:sticky;top:0;z-index:3;background:var(--paper-2);border-bottom:1px solid var(--line-strong);height:20px;align-items:center;font-size:var(--fs-label);font-weight:500;color:var(--ink-2)}.board-head>span{padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--line)}.board-head>span:last-child{border-right:0}.board-head .bd{padding:0 6px}.bweek{display:flex;align-items:baseline;gap:5px;width:100%;min-height:18px;padding:2px 6px 2px 8px;background:var(--accent-soft);border-bottom:1px solid var(--line);text-align:left;font-size:var(--fs-label);color:var(--accent-ink)}.bweek b{font-weight:500;flex:none;font-variant-numeric:tabular-nums}.bweek small{flex:none;color:var(--ink-4);font-size:9px;font-variant-numeric:tabular-nums}.bweek span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:500}.bweek span.muted{color:var(--ink-4);font-weight:400}.bweek.now{background:var(--now-tint);color:var(--now-ink);box-shadow:inset 3px 0 0 var(--now)}.bweek:hover{filter:brightness(.98)}.brow{border-bottom:1px solid var(--line)}.brow:last-child{border-bottom:0}.brow.odd .bline{background:#fbfbfa}.bline{min-height:22px}.bline>*{border-right:1px solid var(--line);min-width:0}.bline>*:last-child{border-right:0}.bline .date{height:100%;padding:3px 2px 3px 4px;justify-content:flex-start}.bline .wd{display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--ink-4)}.brow.weekend .date b,.brow.weekend .wd{color:var(--fire)}.brow.now .bline{background:var(--now-soft);box-shadow:inset 3px 0 0 var(--now)}.brow.now .date b,.brow.now .wd{color:var(--now-ink)}.brow.future .bline .cell{color:var(--ink-4)}.brow.open .bline{background:var(--accent-tint)}.brow.now.open .bline{background:var(--now-tint)}.bcell .cell,.bcell .cell-preview{min-height:22px;font-size:var(--fs-dense)}.bcell.key .cell,.bcell.key .cell-preview{font-weight:500}.bday{padding:4px 6px 8px;background:#fff;border-top:1px solid var(--line-soft)}.dayform{display:flex;flex-direction:column}.dayform .pband{margin-bottom:2px}.dayform .lfs{padding:0 2px}.caps.inline{padding:8px 6px 2px;border-top:0}.caps.inline .caps-label{flex-basis:100%;margin:0 0 2px 2px}.pprev-line{display:flex;align-items:baseline;gap:6px;width:100%;text-align:left;padding:0 10px 8px;font-size:9.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pprev-line i{font-style:normal;font-size:9px;line-height:16px;padding:0 5px;border-radius:var(--r-pill);background:var(--paper-2);border:1px solid var(--line);color:var(--ink-3);flex:none}.pprev-line:hover{color:var(--ink)}.hhead,.hrow{display:grid;grid-template-columns:minmax(0,1fr) 72px 22px 28px;align-items:center;gap:0 4px}.hhead{height:22px;padding:0 6px 0 12px;font-size:var(--fs-label);font-weight:500;color:var(--ink-2);background:var(--paper-2);border-bottom:1px solid var(--line-strong)}.hrow{padding:2px 6px 2px 2px;border-bottom:1px solid var(--line)}.hrow:last-child{border-bottom:0}.hrow{padding-bottom:6px}.hrow .hstd{grid-column:1 / -1;padding-top:0}.hrow .hdate{grid-column:1 / 2;width:auto;justify-self:start}.hrow .hgoal{grid-column:2 / -1}.hname{display:flex;align-items:center;padding-left:6px;min-width:0}.hname-cell{font-weight:500;font-size:var(--fs-body)}.hstd{font-size:var(--fs-dense);color:var(--ink-2)}.hdate{font-size:9px;color:var(--ink-3);padding:5px 4px;min-width:0;width:100%;-webkit-appearance:none;appearance:none}.hdays{font-size:var(--fs-dense);color:var(--wood-ink,hsl(150 40% 26%));font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 4px}.hgoal{font-size:var(--fs-label);color:var(--ink-3);padding:4px 2px;min-height:26px}.hgo{width:22px;height:26px;color:var(--accent);font-size:10.5px}.hrow .ib{width:26px;height:26px;color:var(--ink-4)}.hint{padding:0 4px}.sheet.grid thead th{text-align:center}.sheet.grid thead th.sticky{text-align:left}.sheet.grid tbody th.sticky{background:#faf8f4}.sheet.grid td.now .cell,.sheet.grid td.now .cell-preview{font-weight:500}.sheet .cell.ycell{padding:3px 5px;min-height:26px;font-size:var(--fs-dense);line-height:1.4}.sheet tr.open>th,.sheet tr.open>td{background:var(--accent-tint)}.sheet tr.detail>td{padding:4px 8px 8px;background:#fff}.detail-grid{display:grid;grid-template-columns:1fr}.wide .detail-grid{grid-template-columns:1fr 1fr;gap:0 14px}.chev{transition:transform .15s}.chev.up{transform:rotate(180deg)}.notes{display:flex;flex-direction:column}.legend{display:flex;flex-wrap:nowrap;gap:2px 12px;padding:6px 10px;font-size:9px;color:var(--ink-3);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.legend::-webkit-scrollbar{display:none}.legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.legend span.main{color:var(--ink-2)}.legend .num:not(.main){box-shadow:inset 0 0 0 1px var(--accent-line)}.num{display:inline-grid;place-items:center;width:12px;height:12px;border-radius:50%;background:var(--accent-tint);color:var(--accent-ink);font-size:9px;font-weight:500;font-style:normal;line-height:1;flex:none;font-variant-numeric:tabular-nums}.num.main{background:linear-gradient(180deg,hsl(var(--h) var(--s) 56%),var(--accent-deep));color:#fff;box-shadow:0 1px 2px hsl(var(--h) var(--s) 40% / .35),inset 0 1px #fff6}.legend .num{width:12px;height:12px;font-size:8px}.note-list{display:flex;flex-direction:column;gap:4px}.note{padding:0 0 6px;border-bottom:1px solid var(--line)}.note:last-child{border-bottom:0}.note.pinned{box-shadow:inset 3px 0 0 var(--accent)}.note-head{display:flex;flex-direction:column;box-shadow:inset 0 1px #ffffffb3;padding:2px 5px 2px 8px;min-height:30px;margin-bottom:4px;background:var(--accent-tint);border-bottom:1px solid var(--accent-line)}.note-title{display:flex;align-items:center;gap:5px;min-height:26px}.note-meta{display:flex;align-items:center;gap:6px;padding:0 0 4px 2px}.note-head .cell.nname{flex:1;min-width:0;width:auto;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--ink);padding:5px 4px;min-height:0;line-height:1.35;background:transparent}.note-head .cell.nname::placeholder{font-weight:400;color:var(--ink-4)}.note-head .cell.nshort{width:60px;box-shadow:inset 0 1px #ffffffe6;flex:none;font-size:9.5px;font-weight:500;color:var(--ink-3);padding:3px 8px;min-height:0;text-align:center;background:#fffc;border:1px solid var(--line);border-radius:var(--r-pill)}.note-head .cell.nshort::placeholder{font-weight:400;color:var(--ink-4)}.note-head .cell-select.nsel{width:86px;flex:none;font-size:9.5px;font-weight:500;color:var(--ink-3);padding:3px 4px;min-height:24px;background:#fffc;border:1px solid var(--line);border-radius:var(--r-pill)}.note-head .cell.nname:focus,.note-head .cell.nshort:focus{background:#fff}.note-head{-webkit-touch-callout:none}.npin{color:var(--accent);flex:none;margin:0 4px}.nline{display:flex;align-items:flex-start;gap:8px;padding:0 6px 0 10px}.nline .num{margin-top:5px}.nline .cell{flex:1;min-width:0;font-size:var(--fs-body);color:var(--ink-2);padding:3px 4px;min-height:20px;line-height:1.5;background:transparent}.nline.main .cell{font-size:12px;font-weight:500;color:var(--ink);line-height:1.45}.nline.main .num{margin-top:6px}.notes .nline:not(.main) .cell{font-size:var(--fs-dense);color:var(--ink-3);line-height:1.4;padding:2px 4px}.notes .nline:not(.main) .num{background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink-3);font-weight:400;margin-top:4px}.nline .cell:focus{background:#fff}.nline .cell::placeholder{color:var(--ink-4);font-weight:400}.nyears{display:flex;flex-wrap:wrap;gap:3px 4px;padding:3px 8px 2px 30px}.nyears button{display:inline-flex;align-items:center;gap:3px;height:18px;padding:0 6px;border-radius:var(--r-pill);background:var(--paper-2);border:1px solid var(--line);font-size:var(--fs-label);color:var(--ink-2);max-width:100%}.nyears button b{font-weight:500;color:var(--accent-ink);font-variant-numeric:tabular-nums}.nyears button.muted{color:var(--ink-4);background:transparent;border-style:dashed}.atag{display:inline-grid;place-items:center;min-width:34px;height:16px;padding:0 5px;border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent-ink);font-size:var(--fs-label);font-weight:500;font-style:normal;line-height:1;flex:none;margin-top:5px;white-space:nowrap}.ntitle{font-size:var(--fs-title);font-weight:600;color:var(--ink);letter-spacing:-.01em;padding:5px 4px}.nsub{font-size:var(--fs-label);color:var(--ink-3)}.notes.pyramid .nline .cell{color:var(--ink-2)}.notes.pyramid{margin-top:2px;background:var(--paper-2);border-color:var(--line-soft)}.notes.pyramid .note-head{background:transparent;box-shadow:none;border-bottom:1px solid var(--line);margin-bottom:0;padding:3px 8px}.notes.pyramid .ntitle{font-weight:500;color:var(--ink-2)}.notes.pyramid .ntitle:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--wood);margin-right:6px;vertical-align:1px}.notes.pyramid .nsub{color:var(--ink-3)}.notes.pyramid .nline{display:grid;grid-template-columns:64px 1fr;gap:6px;padding:1px 8px 1px 10px;border-bottom:1px solid var(--line-soft);align-items:start}.notes.pyramid .nline:last-child{border-bottom:0}.notes.pyramid .atag{display:block;width:auto;min-width:0;height:auto;padding:3px 0 0;border-radius:0;background:transparent;color:var(--wood-ink);font-weight:500;text-align:left;line-height:1.4;margin-top:0;white-space:normal}.menu-title{display:flex;align-items:center;gap:4px;padding:4px 8px 6px;font-size:var(--fs-dense);font-weight:500;color:var(--ink);border-bottom:1px solid var(--line-soft);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wide .notes.timeline .note-list{display:grid;grid-template-columns:1fr 1fr}.wide .notes.timeline .note:nth-child(odd){border-right:1px solid var(--line)}.wide .notes.timeline .note:nth-last-child(2):nth-child(odd){border-bottom:0}.notes .empty{grid-column:1 / -1}.list{display:flex;flex-direction:column}.list-head,.list .row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(100px,1.6fr) 36px 22px;gap:10px;align-items:center;padding:0 12px}.list-head{height:22px;font-size:var(--fs-label);color:var(--ink-2);font-weight:500;border-bottom:1px solid var(--line-strong);background:var(--paper-2)}.list .row{min-height:26px;padding-top:3px;padding-bottom:3px;font-size:var(--fs-dense);border-bottom:1px solid var(--line);cursor:pointer}.list .row:hover{background:var(--paper-2)}.list .row strong{font-weight:500;font-size:var(--fs-body);color:var(--ink);display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list .row .main,.list .row .side{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3)}.list .n{text-align:right;color:var(--ink-3);font-variant-numeric:tabular-nums}.list .chev{color:var(--ink-4)}.list .item.open .row{background:var(--accent-tint)}.list .item.open .chev{transform:rotate(180deg)}.list .pinned{color:var(--accent)}.list-head .side,.list .row .side{display:none}.detail-page .detail{border-bottom:0}.detail-page .pband b{font-size:var(--fs-title)}.detail{padding:4px 6px 10px;border-bottom:1px solid var(--line);background:#fff}.cases{display:flex;flex-direction:column;margin-top:8px;padding:0 8px}.cases .caps-label{padding:4px 0}.cases button{display:flex;gap:10px;align-items:baseline;padding:5px 0;font-size:var(--fs-dense);text-align:left;border-bottom:1px solid var(--line-soft)}.cases time{color:var(--ink-3);flex:none;font-variant-numeric:tabular-nums}.cases span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.item-tools{display:flex;align-items:center;gap:4px;margin-top:8px;padding:0 6px}.item-tools .spacer{flex:1}.search.inline{height:28px;padding:0 4px 0 10px;gap:6px;flex:1;max-width:260px}.search.inline input{font-size:10px}.chip.now{color:var(--now-ink);background:var(--now-tint);font-weight:500}.settings{max-width:720px}.srow{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border-bottom:1px solid var(--line-soft);font-size:10.5px}.srow:last-child{border-bottom:0}.srow>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.srow strong{font-weight:500;color:var(--ink)}.srow span{font-size:9px;color:var(--ink-3)}.srow-go{width:30px;height:30px;display:grid;place-items:center;color:var(--ink-4)}.sbody{padding:8px 10px 10px;font-size:10px;color:var(--ink-2);display:flex;flex-direction:column;gap:8px;line-height:1.55}.sbody code{font-family:var(--font-mono,ui-monospace,monospace);font-size:9.5px;background:var(--paper-2);padding:1px 5px;border-radius:4px}.sbody .ok{display:flex;align-items:center;gap:6px;color:var(--ok)}.read{display:flex;flex-direction:column;gap:10px;font-size:10.5px}.read>div>span{display:block;font-size:9px;color:var(--ink-3);margin-bottom:2px}.read p{white-space:pre-wrap;color:var(--ink)}.read ol{margin:0;padding-left:18px}.history{display:grid;grid-template-columns:150px 1fr;gap:14px;min-height:200px}.history-list{display:flex;flex-direction:column;gap:4px}.history-list button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border-radius:var(--r-sm);font-size:10px;text-align:left}.history-list button span{font-size:9px;color:var(--ink-3)}.history-list button.active{background:var(--accent-tint);color:var(--accent-ink)}@media(max-width:560px){.history{grid-template-columns:1fr}.history-list{flex-direction:row;overflow-x:auto}}.search{display:flex;align-items:center;gap:8px;padding:0 12px;height:40px;border-radius:var(--r-pill);background:var(--paper-2);border:1px solid var(--line);color:var(--ink-3)}.search input{flex:1;border:0;background:transparent;padding:0;height:100%}.search input:focus{box-shadow:none}.results,.pin-list{display:flex;flex-direction:column;margin-top:10px}.results button,.pin-row{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:var(--r-sm);text-align:left;border-bottom:1px solid var(--line-soft);cursor:pointer}.results button:hover,.pin-row:hover{background:var(--paper-2)}.tag{flex:none;font-size:9px;color:var(--accent-ink);background:var(--accent-tint);border-radius:var(--r-pill);padding:2px 7px}.pin-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.pin-text strong{font-weight:500;font-size:10.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-text small{font-size:9px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin-row input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.routine-ref{margin-top:12px;font-size:10px}.routine-ref summary{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--ink-3)}.routine-ref .read{margin-top:8px}.tfields{display:flex;flex-direction:column;gap:6px;margin-top:10px}.tfield{display:grid;grid-template-columns:20px 1fr 64px 30px;align-items:center;gap:6px}.tfield input,.tfield select{height:32px;padding:0 8px}.routine-edit{margin:10px 0}.text-full{width:100%;min-height:40vh;border:0;background:transparent;padding:0;resize:none;font-size:11px;line-height:1.6}.text-full:focus{box-shadow:none}
