:root{--paper:#eaece6;--surface:#f6f7f3;--surface-2:#e2e5dd;--ink:#1a2129;--ink-2:#5b6670;--ink-3:#8d959c;--rule:#d2d7cb;--rule-strong:#bec4b5;--accent:#2f4b7c;--accent-soft:#dce3ee;--red:#9e3b2e;--red-soft:#f0dedaf2;--good:#3e6b4f;--good-soft:#dce8de;--warn:#8a6a2e;--warn-soft:#f0e7d6;--on-accent:#f6f7f3;--shadow:0 1px 0 rgba(26,33,41,0.05),0 8px 24px -18px rgba(26,33,41,0.55);--shadow-lg:0 18px 50px -22px rgba(26,33,41,0.5);--sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--serif:var(--font-serif),"Apple SD Gothic Neo",Georgia,serif;--mono:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#14181c;--surface:#1b2127;--surface-2:#232b32;--ink:#e4e7e3;--ink-2:#9aa3ab;--ink-3:#6d767e;--rule:#2c343b;--rule-strong:#3a444c;--accent:#89acde;--accent-soft:#22303f;--red:#d97a63;--red-soft:#3a2721;--good:#7fb58f;--good-soft:#1e2c22;--warn:#c79b52;--warn-soft:#2e2718;--on-accent:#14181c;--shadow:0 1px 0 rgba(0,0,0,0.3),0 10px 30px -20px rgba(0,0,0,0.9);--shadow-lg:0 20px 60px -24px rgba(0,0,0,0.95)}}:root[data-theme=dark]{--paper:#14181c;--surface:#1b2127;--surface-2:#232b32;--ink:#e4e7e3;--ink-2:#9aa3ab;--ink-3:#6d767e;--rule:#2c343b;--rule-strong:#3a444c;--accent:#89acde;--accent-soft:#22303f;--red:#d97a63;--red-soft:#3a2721;--good:#7fb58f;--good-soft:#1e2c22;--warn:#c79b52;--warn-soft:#2e2718;--on-accent:#14181c;--shadow:0 1px 0 rgba(0,0,0,0.3),0 10px 30px -20px rgba(0,0,0,0.9);--shadow-lg:0 20px 60px -24px rgba(0,0,0,0.95)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100dvh}button{background:none;border:0;cursor:pointer}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-underline-offset:3px}b,strong{font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.catrow .nm,.dnote,.glyphcell .gi,.input,.newline select,.pop .dateline input,.select,.subadd input,.textarea{transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.catrow .nm:focus-visible,.dnote:focus-visible,.glyphcell .gi:focus-visible,.input:focus-visible,.newline select:focus-visible,.pop .dateline input:focus-visible,.select:focus-visible,.subadd input:focus-visible,.textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:inset 2px 0 0 0 var(--accent);background-image:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,transparent) 0,transparent 32%)}.btn:focus-visible,.close:focus-visible,.iconbtn:focus-visible,.outbtn:focus-visible,.step:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.input,.select,.textarea{width:100%;border:1px solid var(--rule);background:var(--paper);border-radius:2px;padding:8px 10px;font-size:14px}.textarea{resize:vertical;line-height:1.6;font-family:var(--sans)}.input:disabled,.select:disabled{color:var(--ink-3);background:var(--surface-2)}.label{display:block;margin-bottom:4px}.help,.label{font-size:12px;color:var(--ink-3)}.help{line-height:1.55;margin:5px 0 0}.help>span,.notice>span,.sw-help>span,.tag>span{display:block}.help>span+span,.notice>span+span,.sw-help>span+span,.tag>span+span{margin-top:5px}.btn{border:1px solid var(--rule);background:var(--surface);border-radius:2px;padding:8px 14px;font-size:13.5px;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover:not(:disabled){color:var(--ink);border-color:var(--rule-strong)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.08);color:var(--on-accent)}.btn.danger:hover:not(:disabled){color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,transparent)}.btn.sm{padding:5px 10px;font-size:12.5px}.btn.block{width:100%}.notice{border:1px solid var(--rule);border-left:3px solid var(--ink-3);background:var(--surface);border-radius:2px;padding:10px 13px;font-size:13px;line-height:1.6;color:var(--ink-2)}.notice.error{border-left-color:var(--red);background:var(--red-soft);color:var(--ink)}.notice.ok{border-left-color:var(--good);background:var(--good-soft);color:var(--ink)}.notice.warn{border-left-color:var(--warn);background:var(--warn-soft);color:var(--ink)}.hr{border:0;border-top:1px solid var(--rule);margin:0}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:500}.topbar{border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:30}.topbar-in{max-width:1240px;margin:0 auto;padding:11px 20px;display:flex;align-items:center;gap:18px;min-width:0}.topbar-in .wordmark{flex:none}.wordmark{font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:-.01em;text-decoration:none;color:var(--ink);flex:none}.navlinks{display:flex;gap:2px;margin-left:6px}.navlinks a{font-size:13.5px;color:var(--ink-3);text-decoration:none;padding:5px 10px;border-radius:2px}.navlinks a:hover,.navlinks a[aria-current=page]{color:var(--ink);background:var(--surface-2)}.topbar .spacer{margin-left:auto}.whoami{font-size:12.5px;color:var(--ink-3);display:flex;align-items:center;gap:9px;min-width:0}.whoami .who-name{max-width:12ch}.whoami .email,.whoami .who-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whoami .email{opacity:.7}.tabbar{display:none}.authwrap{min-height:100dvh;display:grid;grid-template-columns:1fr;place-items:center;padding:40px 20px}.authcard{width:100%;max-width:392px;gap:18px}.authcard,.authcard .head{display:flex;flex-direction:column}.authcard .head{gap:5px;margin-bottom:2px}.authcard h1{font-family:var(--serif);font-size:30px;font-weight:700;margin:0;line-height:1.15;letter-spacing:-.01em}.authcard .tag{font-size:13.5px;color:var(--ink-2);line-height:1.6}.authbox{background:var(--surface);border:1px solid var(--rule);border-radius:3px;box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;gap:14px}.authfoot{font-size:13px;color:var(--ink-3);text-align:center}.divider{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--rule)}.gbtn{display:flex;align-items:center;justify-content:center;gap:9px}.gbtn svg{width:16px;height:16px;flex:none}.marksheet{display:grid;grid-template-columns:24px 1fr;grid-gap:7px 11px;gap:7px 11px;align-items:baseline;border-top:1px solid var(--rule);padding-top:14px}.marksheet .g{font-family:var(--mono);font-size:15px;color:var(--ink-2);text-align:center}.marksheet .l{font-size:12.5px;color:var(--ink-3)}.page{max-width:1240px;margin:0 auto;padding:26px 20px 90px;display:flex;flex-direction:column;gap:22px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}.page-head h1{font-family:var(--serif);font-size:27px;font-weight:700;margin:0;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}.page-head .sub{font-size:13px;color:var(--ink-3);margin-top:3px}.card{background:var(--surface);border:1px solid var(--rule);border-radius:3px;box-shadow:var(--shadow)}.card-head{padding:13px 16px;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card-head h2{font-size:14.5px;font-weight:600;margin:0}.card-head .spacer{margin-left:auto}.card-body{padding:16px;gap:14px}.card-body,.field{display:flex;flex-direction:column}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px}.grid2,.grid3{display:grid;gap:12px}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px}@media (max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}.rowline{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}.rowline:last-child{border-bottom:0}.rowline .rl-main{flex:1 1;min-width:0}.rowline .rl-title{font-size:14px}.rowline .rl-sub{font-size:12.5px;color:var(--ink-3);margin-top:2px}.switch{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.switch input{accent-color:var(--accent);width:16px;height:16px;margin-top:3px;flex:none}.switch .sw-text{font-size:13.5px}.switch .sw-help{font-size:12px;color:var(--ink-3);margin-top:2px;line-height:1.55}.pillrow{display:flex;flex-wrap:wrap;gap:6px}.pill{font-size:12px;padding:2px 8px;border-radius:2px;border:1px solid var(--rule);color:var(--ink-2);background:var(--paper)}.pill.warn{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent);background:var(--red-soft)}.pill.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent);background:var(--good-soft)}.datenav{display:flex;align-items:center;gap:6px}.datenav .step{width:32px;height:32px;border:1px solid var(--rule);border-radius:2px;color:var(--ink-2);font-family:var(--mono);line-height:1;background:var(--surface)}.datenav .step:hover{border-color:var(--rule-strong);color:var(--ink)}.datestamp{display:flex;align-items:baseline;gap:9px;padding:0 4px 0 10px;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.datestamp .d{font-size:19px;font-weight:500;letter-spacing:-.02em}.datestamp .w{font-size:12px;color:var(--ink-3)}.datestamp .rel{font-family:var(--sans);font-size:11.5px;color:var(--accent);background:var(--accent-soft);padding:1px 7px;border-radius:2px}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));grid-gap:1px;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden}.stat{background:var(--surface);padding:11px 14px 12px;display:flex;flex-direction:column;gap:3px}.stat .k{font-size:11.5px;letter-spacing:.06em;color:var(--ink-3)}.stat .v{font-family:var(--mono);font-size:21px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.stat .v small{font-size:12px;color:var(--ink-3);font-weight:400;margin-left:1px}.stat.is-red .v{color:var(--red)}.stat.is-good .v{color:var(--good)}.progressbar{height:3px;background:var(--surface-2);border-radius:2px;overflow:hidden;margin-top:4px}.progressbar i{display:block;height:100%;background:var(--good);transition:width .3s ease}.workspace{display:grid;grid-template-columns:190px minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.rail{display:flex;flex-direction:column;gap:18px;position:-webkit-sticky;position:sticky;top:78px}.rail h2{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-weight:500}.tabs{flex-direction:column;gap:1px}.tab,.tabs{display:flex}.tab{align-items:center;gap:9px;padding:6px 9px;border-radius:2px;font-size:13.5px;color:var(--ink-2);text-align:left;width:100%;border-left:3px solid transparent}.tab:hover,.tab[aria-pressed=true]{background:var(--surface)}.tab[aria-pressed=true]{color:var(--ink);border-left-color:var(--chip,var(--accent))}.tab .dot{width:7px;height:7px;border-radius:50%;background:var(--chip,var(--ink-3));flex:none}.tab .shared{font-size:11px}.tab .n,.tab .shared{font-family:var(--mono);color:var(--ink-3)}.tab .n{margin-left:auto;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.legend{border-top:1px solid var(--rule);padding-top:14px}.legend dl{margin:0;display:grid;grid-template-columns:22px 1fr;grid-gap:5px 8px;gap:5px 8px;align-items:baseline}.legend dt{font-family:var(--mono);font-size:14px;color:var(--ink-2);text-align:center}.legend dd{margin:0;font-size:12px;color:var(--ink-3)}.railtoggle{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2);cursor:pointer}.railtoggle input{accent-color:var(--accent);width:14px;height:14px}.ledger{background:var(--surface);border:1px solid var(--rule);border-radius:3px;box-shadow:var(--shadow)}.ledger-head{border-radius:3px 3px 0 0}.ledger .newline{border-radius:0 0 3px 3px}.ledger-head{display:grid;grid-template-columns:46px 44px minmax(0,1fr) auto 54px;align-items:center;border-bottom:1px solid var(--rule-strong);background:var(--surface-2);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.ledger-head span{padding:7px 8px;text-align:center}.ledger-head span:nth-child(3){text-align:left;padding-left:12px}.ledger-head span:nth-child(2),.ledger-head span:nth-child(5){border-inline:1px solid var(--rule)}.rows{display:flex;flex-direction:column}.row{display:grid;grid-template-columns:46px 44px minmax(0,1fr) auto 54px;align-items:stretch;border-bottom:1px solid var(--rule);position:relative}.row:last-child{border-bottom:0}.row.is-sel{background:var(--accent-soft)}.row.is-busy{opacity:.55}.row.is-closed .title{color:var(--ink-3)}.row.is-closed .title .t{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3);text-decoration-thickness:1px}.cell{display:flex;align-items:center;justify-content:center;padding:9px 4px;min-height:46px}.c-in{border-right:1px solid var(--rule)}.c-out{border-left:1px solid var(--rule);padding:5px}.mark{font-family:var(--mono);font-size:16px;line-height:1;color:var(--ink-3);display:flex;flex-direction:column;align-items:center;gap:2px}.mark[data-m=carry],.mark[data-m=cont]{color:var(--accent)}.mark[data-m=repeat]{color:var(--ink-2)}.mark[data-m=deleg],.mark[data-m=hold]{color:var(--warn)}.mark .age{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mark.aged,.mark.aged .age{color:var(--red)}.pri{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:-.02em;padding:2px 5px;border-radius:2px;color:var(--ink-2);background:var(--surface-2)}.pri[data-lv="0"]{color:var(--red);background:var(--red-soft)}.pri[data-lv="1"]{color:var(--accent);background:var(--accent-soft)}.pri.none{color:var(--ink-3);background:transparent}.titlecell{display:flex;align-items:center;padding:8px 12px;text-align:left;width:100%;min-width:0;gap:10px}.titlecell:hover .t{text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:3px}.title{display:flex;flex-direction:column;gap:2px;min-width:0}.title .t{font-size:14.5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title .meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.catchip{font-family:var(--sans);font-size:11.5px;padding:1px 6px;border-radius:2px;flex:none;color:var(--chip);background:color-mix(in srgb,var(--chip) 13%,transparent);border:1px solid color-mix(in srgb,var(--chip) 26%,transparent)}.metacell{display:flex;align-items:center;gap:10px;padding:8px 6px;font-family:var(--mono);font-size:12px;color:var(--ink-3);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.subcount{display:inline-flex;align-items:center;gap:4px}.subcount .bar{width:26px;height:3px;background:var(--surface-2);border-radius:2px;overflow:hidden;display:block}.subcount .bar i{display:block;height:100%;background:var(--accent)}.outbtn{width:44px;height:36px;border:1px solid transparent;border-radius:2px;font-family:var(--mono);font-size:17px;line-height:1;color:var(--ink-3);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px}.outbtn:hover{border-color:var(--rule-strong);background:var(--paper)}.outbtn .tgt{font-size:10px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.outbtn[data-m=done]{color:var(--good);background:var(--good-soft)}.outbtn[data-m=cont],.outbtn[data-m=fwd]{color:var(--accent);background:var(--accent-soft)}.outbtn[data-m=deleg],.outbtn[data-m=hold]{color:var(--warn)}.outbtn[data-m=cancel]{color:var(--ink-3)}.outbtn[data-m=none] .g{opacity:.45;font-size:14px}.newline{display:grid;grid-template-columns:46px minmax(0,1fr) auto;border-top:1px solid var(--rule-strong);background:var(--surface-2)}.newline .plus{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:16px;color:var(--ink-3);border-right:1px solid var(--rule)}.newline{transition:background .16s ease;position:-webkit-sticky;position:sticky;bottom:0;z-index:3}.newline:focus-within{background:var(--surface)}.newline:focus-within .plus{color:var(--accent)}.newline input[type=text]{border:0;background:transparent;padding:12px;width:100%;font-size:14.5px;transition:background .16s ease,box-shadow .16s ease}.newline input::placeholder{color:var(--ink-3)}.newline input[type=text]:focus-visible{outline:none;box-shadow:inset 2px 0 0 0 var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 11%,transparent) 0,transparent 34%)}.newline .opts{display:flex;align-items:center;gap:6px;padding:6px 8px}.newline select{border:1px solid var(--rule);background:var(--surface);border-radius:2px;padding:4px 6px;font-size:12px;color:var(--ink-2)}.newline .add{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);border-radius:2px;padding:5px 12px;font-size:12.5px}.newline .add:hover:not(:disabled){filter:brightness(1.08)}.newline .add:disabled{opacity:.5}.empty{padding:44px 20px;text-align:center;color:var(--ink-3);font-size:13.5px}.empty .g{font-family:var(--mono);font-size:26px;display:block;margin-bottom:8px;color:var(--rule-strong)}.forward{margin-top:14px;border:1px dashed var(--rule-strong);border-radius:3px;padding:12px 14px}.forward h3{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-weight:500}.forward ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.forward li{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2)}.forward li .m{font-family:var(--mono);color:var(--accent);width:14px;text-align:center}.forward li .d{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}.pop{position:fixed;z-index:60;background:var(--surface);border:1px solid var(--rule-strong);border-radius:3px;box-shadow:var(--shadow-lg);padding:5px;min-width:218px}.pop .ph{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:6px 9px 5px}.pop button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 9px;border-radius:2px;font-size:13.5px;color:var(--ink-2);text-align:left}.pop button:hover{background:var(--surface-2);color:var(--ink)}.pop button .g{font-family:var(--mono);font-size:15px;width:17px;text-align:center;flex:none}.pop button .hint{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}.pop button.on{background:var(--accent-soft);color:var(--ink)}.pop hr{border:0;border-top:1px solid var(--rule);margin:4px 0}.pop .dateline{display:flex;gap:5px;padding:4px 9px 7px}.pop .dateline input{border:1px solid var(--rule);background:var(--paper);border-radius:2px;padding:4px 6px;font-size:12px;font-family:var(--mono);flex:1 1;min-width:0}.pop .dateline button{width:auto;padding:4px 10px;background:var(--surface-2);justify-content:center}.scrim{position:fixed;inset:0;background:rgba(10,14,18,.28);z-index:40;opacity:0;pointer-events:none;transition:opacity .18s ease}.scrim.on{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);z-index:50;background:var(--surface);border-left:1px solid var(--rule-strong);transform:translateX(100%);transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.drawer.on{transform:none}.drawer-top{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 12px;border-bottom:1px solid var(--rule)}.drawer-top .close{width:28px;height:28px;border:1px solid var(--rule);border-radius:2px;color:var(--ink-3);font-family:var(--mono);flex:none;line-height:1}.drawer-top .close:hover{color:var(--ink);border-color:var(--rule-strong)}.dtitle{flex:1 1;min-width:0;border:0;background:transparent;resize:none;overflow:hidden;font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.3;padding:0 0 3px;box-shadow:inset 0 -1px 0 0 transparent;transition:box-shadow .14s ease}.dtitle:focus-visible{outline:none;box-shadow:inset 0 -2px 0 0 var(--accent)}.drawer-body{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:20px;flex:1 1}.dsection h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 9px;font-weight:500}.dnote{width:100%;min-height:82px;border:1px solid var(--rule);background:var(--paper);border-radius:2px;padding:9px 10px;font-size:13.5px;line-height:1.6;resize:vertical;font-family:var(--sans)}.subs{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column}.subs li{display:flex;align-items:flex-start;gap:9px;padding:6px 2px;border-bottom:1px solid var(--rule)}.subs li:last-child{border-bottom:0}.subs input[type=checkbox]{margin-top:3px;accent-color:var(--good);width:15px;height:15px;flex:none}.subs .st{flex:1 1;font-size:13.5px;line-height:1.45}.subs li.done .st{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}.subs .del{color:var(--ink-3);font-family:var(--mono);font-size:13px;padding:0 3px;opacity:0}.subs .del:focus-visible,.subs li:hover .del{opacity:1}.subs .del:hover{color:var(--red)}.subadd{display:flex;gap:6px}.subadd input{flex:1 1;border:1px solid var(--rule);background:var(--paper);border-radius:2px;padding:6px 8px;font-size:13px;min-width:0}.hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.hist li{display:grid;grid-template-columns:64px 20px 1fr;grid-gap:10px;gap:10px;align-items:start;position:relative}.hist li .hd{font-family:var(--mono);font-size:12px;color:var(--ink-3);padding:7px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.hist li .hm{flex-direction:column;position:relative;padding:7px 0 0}.hist li .hm,.hist li .hm .g{display:flex;align-items:center}.hist li .hm .g{font-family:var(--mono);font-size:13px;line-height:1;width:20px;height:20px;border-radius:50%;justify-content:center;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-2);z-index:1}.hist li:not(:last-child) .hm:after{content:"";position:absolute;top:26px;bottom:-8px;width:1px;background:var(--rule)}.hist li .hb{padding:6px 0 12px;font-size:13px;color:var(--ink-2);min-width:0}.hist li .hb .lab{display:block;font-size:12.5px}.hist li .hb .memo{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;white-space:pre-wrap}.hist li.cur .hm .g{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.hist li.cur .hb .lab{color:var(--ink)}.hist li.g-done .hm .g{border-color:var(--good);color:var(--good);background:var(--good-soft)}.dangerline{border-top:1px solid var(--rule);padding-top:12px;display:flex;gap:8px;flex-wrap:wrap}.melayout{display:grid;grid-template-columns:208px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.menav{display:flex;flex-direction:column;gap:1px;position:-webkit-sticky;position:sticky;top:78px}.menav a{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:2px;font-size:13.5px;color:var(--ink-2);text-decoration:none;border-left:3px solid transparent}.menav a:hover,.menav a[aria-current=page]{background:var(--surface);color:var(--ink)}.menav a[aria-current=page]{border-left-color:var(--accent)}.menav .g{font-family:var(--mono);font-size:13px;color:var(--ink-3);width:14px;text-align:center}.menav a[aria-current=page] .g{color:var(--accent)}.catlist{list-style:none;margin:0;padding:0}.catrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule)}.catrow:last-child{border-bottom:0}.swatch{width:22px;height:22px;border-radius:2px;border:1px solid var(--rule-strong);padding:0;cursor:pointer;flex:none}.catrow .nm{border:1px solid transparent;background:transparent;border-radius:2px;padding:4px 6px;font-size:14px;width:100%}.catrow .nm:hover{border-color:var(--rule);background:var(--paper)}.catrow .nm:focus-visible{background:var(--paper)}.catrow .acts{gap:4px}.catrow .acts,.iconbtn{display:flex;align-items:center}.iconbtn{width:28px;height:28px;border:1px solid transparent;border-radius:2px;color:var(--ink-3);font-family:var(--mono);font-size:13px;line-height:1;justify-content:center}.iconbtn:hover{border-color:var(--rule);color:var(--ink);background:var(--paper)}.iconbtn.on{color:var(--accent);border-color:var(--rule);background:var(--accent-soft)}.iconbtn.warn:hover{color:var(--red)}.sharebox{grid-column:1/-1;border-top:1px dashed var(--rule);margin-top:4px;padding-top:12px;gap:10px}.memberlist,.sharebox{display:flex;flex-direction:column}.memberlist{list-style:none;margin:0;padding:0;gap:6px}.memberlist li{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2)}.memberlist .who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memberlist .role{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase}.memberlist .spacer{margin-left:auto}.inviteform{display:flex;gap:6px;flex-wrap:wrap}.inviteform input{flex:1 1;min-width:160px}.glyphgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:10px;gap:10px}.glyphcell{padding:9px 11px;gap:10px;background:var(--paper)}.glyphcell,.glyphcell .gi{border:1px solid var(--rule);border-radius:2px;display:flex;align-items:center}.glyphcell .gi{font-family:var(--mono);font-size:18px;width:34px;height:34px;justify-content:center;background:var(--surface);text-align:center;padding:0}.glyphcell .gl{flex:1 1;min-width:0}.glyphcell .gl b{display:block;font-size:13px;font-weight:500}.glyphcell .gl span{display:block;font-size:12px;color:var(--ink-3)}.prilevels{display:flex;flex-direction:column;gap:8px}.prilevel{display:grid;grid-template-columns:54px minmax(0,1fr) 34px auto;grid-gap:8px;gap:8px;align-items:center}.prilevel .code{font-family:var(--mono);font-weight:600;text-align:center}@media (max-width:900px){.page{padding:18px 14px 80px;gap:18px}.melayout,.workspace{grid-template-columns:1fr}.rail{position:static;flex-direction:row;flex-wrap:wrap;gap:14px}.rail .railblock{flex:1 1;min-width:180px}.legend{display:none}.tabs{flex-direction:row;flex-wrap:wrap;gap:5px}.tab{width:auto;border:1px solid var(--rule);border-left-width:3px;padding:4px 9px}.tab .n{margin-left:5px}.menav{position:static;flex-direction:row;flex-wrap:wrap;gap:5px}.menav a{border:1px solid var(--rule);border-left-width:3px;padding:5px 10px}.drawer{width:100vw}.page-head h1{font-size:23px}.topbar-in{padding:10px 14px;gap:12px}.whoami .email{display:none}}@media (max-width:620px){.ledger-head{grid-template-columns:38px 38px minmax(0,1fr) 48px}.ledger-head span:nth-child(4){display:none}.row{grid-template-columns:38px 38px minmax(0,1fr) 48px;grid-template-rows:auto auto}.row .c-in{grid-area:1/1/3/2}.row .c-pri{grid-area:1/2/3/3}.row .titlecell{grid-area:1/3/2/4;padding-bottom:2px}.row .metacell{grid-area:2/3/3/4;padding:0 12px 9px}.row .c-out{grid-area:1/4/3/5}.cell{min-height:42px}.newline{grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto}.newline .opts{grid-column:1/-1;border-top:1px solid var(--rule)}.datestamp .w{display:none}.prilevel{grid-template-columns:44px minmax(0,1fr) 34px auto}}.weekwrap{overflow-x:auto;border:1px solid var(--rule);border-radius:3px;background:var(--surface);box-shadow:var(--shadow)}.weekgrid{display:grid;grid-template-columns:minmax(210px,1.6fr) repeat(7,minmax(54px,1fr));min-width:640px}.wg-corner,.wg-label{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:var(--surface);border-right:1px solid var(--rule-strong)}.wg-corner{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:8px 12px}.wg-corner,.wg-head{font-family:var(--mono);background:var(--surface-2);border-bottom:1px solid var(--rule-strong);display:flex;align-items:center}.wg-head{flex-direction:column;gap:1px;padding:6px 4px 7px;border-left:1px solid var(--rule);line-height:1.2}.wg-head:hover{background:var(--paper)}.wg-head .w{font-size:11.5px;color:var(--ink-3)}.wg-head .n{font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-2)}.wg-head.is-sun .w{color:var(--red)}.wg-head.is-sat .w{color:var(--accent)}.wg-head.is-today{background:var(--accent-soft)}.wg-head.is-today .n{color:var(--accent);font-weight:600}.wg-head.is-today .w{color:var(--accent)}.wg-label{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-bottom:1px solid var(--rule);min-width:0}.wg-title{flex:1 1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wg-dot{width:7px;height:7px;border-radius:50%;flex:none}.wg-before{font-size:12px;flex:none;letter-spacing:-.05em}.wg-before,.wg-cell{font-family:var(--mono);color:var(--ink-3)}.wg-cell{border-bottom:1px solid var(--rule);border-left:1px solid var(--rule);min-height:38px;display:flex;align-items:center;justify-content:center;position:relative;font-size:15px;line-height:1}.wg-cell.is-today{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.wg-cell.is-none{cursor:default}.wg-cell:not(.is-none):hover{background:var(--paper)}.wg-cell[data-m=done]{color:var(--good);background:var(--good-soft)}.wg-cell[data-m=cont],.wg-cell[data-m=fwd]{color:var(--accent);background:var(--accent-soft)}.wg-cell[data-m=deleg],.wg-cell[data-m=hold]{color:var(--warn)}.wg-cell[data-m=cancel]{color:var(--ink-3)}.wg-cell[data-m=none] .g{opacity:.4;font-size:12px}.wg-cell .memo-dot{position:absolute;top:5px;right:5px;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.55}.wg-empty{padding:40px 20px;text-align:center;color:var(--ink-3);font-size:13.5px}.wg-empty .g{font-family:var(--mono);font-size:24px;display:block;margin-bottom:8px;color:var(--rule-strong)}@media (max-width:620px){.weekgrid{grid-template-columns:minmax(150px,1.4fr) repeat(7,minmax(44px,1fr));min-width:520px}.wg-title{font-size:12.5px}}.monthfilter{flex-direction:row;flex-wrap:wrap;gap:5px}.monthfilter .tab{width:auto;border:1px solid var(--rule);border-left-width:3px;padding:4px 9px}.monthwrap{border:1px solid var(--rule);border-radius:3px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.monthhead{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface-2);border-bottom:1px solid var(--rule-strong)}.monthhead span{padding:7px 4px;text-align:center;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--ink-3)}.monthhead span.is-weekend{color:var(--red);opacity:.75}.monthgrid{display:grid;grid-template-columns:repeat(7,1fr);margin-right:-1px}.mcell{display:flex;flex-direction:column;gap:4px;align-items:stretch;text-align:left;min-height:104px;padding:6px 6px 7px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--surface)}.mcell:hover{background:var(--paper)}.mcell.is-out{background:color-mix(in srgb,var(--surface-2) 45%,var(--surface))}.mcell.is-out .mnum .n{color:var(--ink-3);opacity:.6}.mcell.is-out .mitems{opacity:.45}.mcell.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.mcell.is-open{background:var(--accent-soft)}.mnum{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mnum .n{font-size:12.5px;color:var(--ink-2)}.mnum .n.sun{color:var(--red)}.mnum .n.sat{color:var(--accent)}.mcell.is-today .mnum .n{color:var(--accent);font-weight:600}.mnum .cnt{margin-left:auto;font-size:10.5px;color:var(--ink-3);background:var(--surface-2);border-radius:8px;padding:0 5px;line-height:15px}.mitems{flex-direction:column;gap:2px}.mitem,.mitems{display:flex;min-width:0}.mitem{align-items:center;gap:4px;font-size:11.5px;line-height:1.45;color:var(--ink-2)}.mitem .bar{width:2px;align-self:stretch;border-radius:1px;flex:none;min-height:12px}.mitem .t{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mitem .m{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);flex:none}.mitem[data-lv="0"] .t{color:var(--red)}.mitem[data-lv="1"] .t{color:var(--ink)}.mitem.is-closed .t{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}.mitem.is-closed .bar{opacity:.4}.mitems .more{font-size:11.5px;color:var(--ink-3);font-family:var(--mono);padding-left:6px}.dayopen{border:1px solid var(--rule-strong);border-radius:3px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;animation:dayopen-in .18s ease}.monthgrid .dayopen{grid-column:1/-1;border-left:0;border-right:0;border-radius:0;box-shadow:inset 0 8px 10px -10px rgba(0,0,0,.28),inset 0 -8px 10px -10px rgba(0,0,0,.18);background:var(--paper);margin-right:1px}.monthgrid .dayopen-head{background:transparent;padding:11px 14px}.monthgrid .dayopen-head h2{font-size:17px}@keyframes dayopen-in{0%{opacity:0;-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0)}to{opacity:1;-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}.dayopen-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--rule);background:var(--surface-2);flex-wrap:wrap}.dayopen-head h2{font-family:var(--serif);font-size:19px;font-weight:700;margin:2px 0 0;line-height:1.2}.dayopen-head h2 .w{font-family:var(--sans);font-size:12.5px;font-weight:400;color:var(--ink-3)}.dayopen-head .spacer{margin-left:auto}.daylist{list-style:none;margin:0;padding:0}.daylist li{display:grid;grid-template-columns:34px 40px minmax(0,1fr) 40px;align-items:center;grid-gap:8px;gap:8px;padding:9px 12px;border-bottom:1px solid var(--rule)}.daylist li:last-child{border-bottom:0}.daylist li.is-closed .dl-title{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}.dl-in,.dl-out{font-family:var(--mono);font-size:15px;text-align:center;color:var(--ink-3);line-height:1}.dl-out[data-m=done]{color:var(--good)}.dl-out[data-m=cont],.dl-out[data-m=fwd]{color:var(--accent)}.dl-out[data-m=deleg],.dl-out[data-m=hold]{color:var(--warn)}.dl-main{min-width:0;display:flex;flex-direction:column;gap:2px}.dl-title{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);font-family:var(--mono);min-width:0}.dl-memo{font-family:var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media (max-width:760px){.mcell{min-height:82px;padding:5px 4px 6px}.mitem{font-size:11px}.mitem .m,.mnum .cnt{display:none}}@media (max-width:520px){.mcell{min-height:62px}.mitem .t{display:none}.mitem{gap:0}.mitem .bar{width:100%;height:3px;min-height:3px;border-radius:2px}.mitems{gap:3px}.mitems .more{padding-left:0;font-size:10.5px}.daylist li{grid-template-columns:26px 34px minmax(0,1fr) 32px;gap:6px;padding:8px}}.mevent{display:flex;align-items:baseline;gap:4px;font-size:11.5px;line-height:1.45;color:var(--ink-3);min-width:0}.mevent .tm{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:10.5px;flex:none;opacity:.85}.mevent .t{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dayevents{padding:12px 16px;border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--surface-2) 40%,transparent)}.dayevents ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.dayevents li{display:grid;grid-template-columns:92px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:baseline}.ev-time{font-family:var(--mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap}.ev-main{min-width:0;display:flex;flex-direction:column;gap:1px}.ev-title{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-title a{color:inherit;text-decoration:none}.ev-title a:hover{text-decoration:underline}.ev-sub{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daylist-head{grid-template-columns:1fr!important;padding:9px 12px 4px!important;border-bottom:0!important}.daylist-head span:nth-child(3){grid-column:1}@media (max-width:520px){.mevent{display:none}.dayevents li{grid-template-columns:1fr;gap:2px}}.mevent .dot{width:6px;height:6px;align-self:center}.ev-dot,.mevent .dot{border-radius:50%;flex:none}.ev-dot{display:inline-block;width:8px;height:8px;margin-right:7px;vertical-align:baseline}.dayevents-head{display:flex;align-items:center;gap:8px}.dayevents-head .spacer{margin-left:auto}.dayevents .ev-none{display:block;font-size:13px;color:var(--ink-3);padding:2px 0}.dayevents li button.ev-main{text-align:left;padding:2px 4px;margin:-2px -4px;border-radius:2px;width:100%}.dayevents li button.ev-main:hover{background:var(--surface-2)}.dayevents li button.ev-main:hover .ev-title{text-decoration:underline;text-underline-offset:3px}.evmodal{position:fixed;z-index:70;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 28px));max-height:calc(100dvh - 40px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--rule-strong);border-radius:4px;box-shadow:var(--shadow-lg)}.evmodal-head{display:flex;align-items:flex-start;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--rule)}.evmodal-head h2{font-family:var(--serif);font-size:19px;font-weight:700;margin:2px 0 0;line-height:1.2}.evmodal-head .spacer{margin-left:auto}.evmodal-head .close{width:28px;height:28px;border:1px solid var(--rule);border-radius:2px;color:var(--ink-3);font-family:var(--mono);line-height:1;flex:none}.evmodal-head .close:hover{color:var(--ink);border-color:var(--rule-strong)}.evmodal-body{padding:16px;display:flex;flex-direction:column;gap:13px;overflow-y:auto}.evmodal-foot{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--rule);background:var(--surface-2);flex-wrap:wrap}.evmodal-foot .spacer{margin-left:auto}@media (max-width:520px){.evmodal{width:100vw;height:100dvh;max-height:none;top:0;left:0;transform:none;border-radius:0}}.landing{min-height:100dvh;display:flex;flex-direction:column}.landing-top{display:flex;align-items:center;gap:12px;padding:18px 24px;max-width:980px;margin:0 auto;width:100%}.landing-top nav{margin-left:auto;display:flex;gap:7px}.landing-main{flex:1 1;max-width:980px;margin:0 auto;width:100%;padding:22px 24px 64px;gap:48px}.landing-hero,.landing-main{display:flex;flex-direction:column}.landing-hero{gap:14px;max-width:640px}.landing-hero h1{font-family:var(--serif);font-size:clamp(30px,5.4vw,46px);font-weight:700;line-height:1.24;letter-spacing:-.015em;margin:4px 0 0;text-wrap:balance}.landing-hero p{font-size:15.5px;line-height:1.75;color:var(--ink-2);margin:0;max-width:60ch}.landing-cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.landing-demo{border:1px solid var(--rule);border-radius:3px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden;max-width:560px}.ld-head,.ld-row{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center}.ld-head{background:var(--surface-2);border-bottom:1px solid var(--rule-strong);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.ld-head span{padding:7px 8px;text-align:center}.ld-head span:nth-child(2){text-align:left;padding-left:12px}.ld-row{border-bottom:1px solid var(--rule)}.ld-row:last-child{border-bottom:0}.ld-mark{font-family:var(--mono);font-size:16px;text-align:center;padding:12px 4px;color:var(--accent);border-right:1px solid var(--rule)}.ld-mark.out{border-right:0;border-left:1px solid var(--rule)}.ld-mark.out[data-m=done]{color:var(--good)}.ld-mark.out[data-m=deleg]{color:var(--warn)}.ld-text{padding:12px;font-size:13.5px;color:var(--ink-2)}.landing-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:26px;gap:26px;border-top:1px solid var(--rule);padding-top:30px}.landing-points h2{font-size:15px;font-weight:600;margin:0 0 6px}.landing-points p{font-size:13.5px;line-height:1.7;color:var(--ink-3);margin:0}.landing-foot,.legal-foot{border-top:1px solid var(--rule);padding:18px 24px;max-width:980px;margin:0 auto;width:100%;display:flex;gap:14px;font-size:12.5px;color:var(--ink-3)}.landing-foot nav{margin-left:auto;display:flex;gap:14px}.landing-foot a,.legal-foot a,.legal-top a{color:var(--ink-3);text-decoration:none}.landing-foot a:hover,.legal-foot a:hover,.legal-top a:hover{color:var(--ink);text-decoration:underline}.legal{min-height:100dvh;display:flex;flex-direction:column}.legal-top{display:flex;align-items:center;gap:14px;padding:18px 24px;max-width:760px;margin:0 auto;width:100%;border-bottom:1px solid var(--rule)}.legal-top nav{margin-left:auto;display:flex;gap:14px;font-size:12.5px}.legal-body{flex:1 1;max-width:760px;margin:0 auto;width:100%;padding:30px 24px 64px}.legal-body h1{font-family:var(--serif);font-size:30px;font-weight:700;margin:0;line-height:1.2}.legal-updated{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin:8px 0 26px}.legal-body .lead{font-size:15px;line-height:1.8;color:var(--ink-2);border-left:3px solid var(--rule-strong);padding-left:14px;margin:0 0 30px}.legal-body h2{font-size:16px;font-weight:600;margin:34px 0 10px;padding-top:14px;border-top:1px solid var(--rule)}.legal-body h3{font-size:13.5px;font-weight:600;color:var(--ink-2);margin:20px 0 7px}.legal-body p{font-size:14px;line-height:1.85;color:var(--ink-2);margin:0 0 12px;max-width:66ch}.legal-body ul{margin:0 0 14px;padding-left:20px}.legal-body li{font-size:14px;line-height:1.85;color:var(--ink-2);margin-bottom:6px;max-width:64ch}.legal-body a{color:var(--accent)}.legal-body .callout{background:var(--accent-soft);border-left:3px solid var(--accent);padding:12px 14px;border-radius:2px;color:var(--ink)}.legal-table{width:100%;border-collapse:collapse;margin:0;font-size:13.5px}.legal-scroll{overflow-x:auto;margin:0 0 16px}.legal-table td,.legal-table th{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top;line-height:1.6}.legal-table th{background:var(--surface-2);font-weight:600;font-size:12.5px}.legal-table td,.legal-table th{color:var(--ink-2)}@media (max-width:620px){.landing-foot,.landing-main,.landing-top,.legal-body,.legal-foot,.legal-top{padding-inline:16px}.legal-body h1{font-size:24px}}.ev-loading{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3);opacity:.8}.ev-desc{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;font-size:12.5px;line-height:1.65;color:var(--ink-3);margin-top:4px;padding-left:15px;border-left:1px solid var(--rule)}.navlinks a.is-admin{color:var(--warn)}.navlinks a.is-admin:hover,.navlinks a.is-admin[aria-current=page]{color:var(--warn);background:var(--warn-soft)}.memberrow{padding:10px 0;border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.memberrow:last-child{border-bottom:0}.mr-main{flex:1 1;min-width:0;text-align:left;display:flex;flex-direction:column;gap:2px}.mr-main:hover .mr-name{text-decoration:underline;text-underline-offset:3px}.mr-name{font-size:14px}.mr-email{font-size:12px;color:var(--ink-3);font-family:var(--mono)}.mr-tags{display:flex;align-items:center;gap:5px;flex:none}.mr-detail{flex-basis:100%;border-top:1px dashed var(--rule);margin-top:6px;padding-top:12px;display:flex;flex-direction:column;gap:12px}.mr-detail .grid3>div{font-size:13px;color:var(--ink-2)}.mr-detail .label{display:block}@media (max-width:860px){.navlinks,.whoami .email{display:none}.topbar-in{padding:9px 14px;gap:10px}.wordmark{font-size:17px}.tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{display:flex;align-items:center;justify-content:center;padding:13px 4px;font-size:12.5px;color:var(--ink-3);text-decoration:none;border-top:2px solid transparent;margin-top:-1px}.tabbar a[aria-current=page]{color:var(--ink);border-top-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.tabbar a.is-admin{color:var(--warn)}.tabbar a.is-admin[aria-current=page]{border-top-color:var(--warn);background:var(--warn-soft)}.page{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.newline{bottom:calc(50px + env(safe-area-inset-bottom))}.summary{grid-template-columns:repeat(auto-fit,minmax(98px,1fr))}.stat{padding:8px 10px 9px;gap:1px}.stat .k{font-size:11px}.stat .v{font-size:17px}.stat .v small{font-size:11.5px}.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-head .datenav{justify-content:flex-start;flex-wrap:wrap}.datestamp{padding-left:4px}.card,.dayopen,.ledger,.monthwrap,.summary,.weekwrap{max-width:100%}.card-head{flex-wrap:wrap}.card-head .input{width:100%!important}.drawer{padding-bottom:env(safe-area-inset-bottom)}}.firstday{padding:30px 20px 34px;display:flex;flex-direction:column;align-items:center;gap:18px}.fd-lead{font-size:13.5px;color:var(--ink-3);margin:0}.fd-legend{display:grid;grid-template-columns:repeat(2,minmax(0,auto));grid-gap:10px 34px;gap:10px 34px}.fd-legend>div{display:flex;flex-direction:column;gap:7px}.fd-head{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding-bottom:3px;border-bottom:1px solid var(--rule)}.fd-row{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-2)}.fd-row .g{font-family:var(--mono);font-size:14px;width:16px;text-align:center;color:var(--accent);flex:none}.skel{display:flex;flex-direction:column}.skel-row{display:grid;grid-template-columns:46px 44px minmax(0,1fr) 54px;align-items:center;grid-gap:12px;gap:12px;padding:14px 10px;border-bottom:1px solid var(--rule)}.skel-row:last-child{border-bottom:0}.skel-row span{display:block;height:11px;border-radius:3px;background:linear-gradient(90deg,var(--surface-2) 0,color-mix(in srgb,var(--surface-2) 55%,var(--surface)) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:skel-slide 1.3s ease-in-out infinite}.skel-row .s-in{width:16px;margin:0 auto}.skel-row .s-pri{width:22px;margin:0 auto}.skel-row .s-out{width:18px;margin:0 auto}@keyframes skel-slide{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel-row span{animation:none}}@media (max-width:620px){.skel-row{grid-template-columns:38px 38px minmax(0,1fr) 48px;gap:8px;padding:12px 6px}.fd-legend{gap:10px 20px}.summary{display:flex;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}}@media (max-width:620px){.summary::-webkit-scrollbar{display:none}.summary{scrollbar-width:none}.stat{flex:0 0 auto;min-width:92px;scroll-snap-align:start}.weekgrid{grid-template-columns:minmax(104px,1.2fr) repeat(7,minmax(38px,1fr));min-width:400px}.wg-title{font-size:12px}.wg-cell{min-height:34px;font-size:14px}.weekwrap{position:relative}.weekwrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:22px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--surface))}.mnum .cnt{display:inline-block}.weekgrid{grid-template-columns:minmax(96px,1.1fr) repeat(7,minmax(30px,1fr));min-width:0}.wg-corner{padding:6px 8px;font-size:9.5px;letter-spacing:.08em}.wg-head{padding:5px 2px 6px}.wg-head .w{font-size:10px}.wg-head .n{font-size:12px}.wg-corner,.wg-label{position:static}.wg-label{padding:6px 8px 6px 7px;gap:5px}.wg-title{font-size:12.5px}.wg-label .pri{font-size:11px;padding:1px 3px}.wg-dot{width:6px;height:6px}.wg-before{display:none}.wg-cell{min-height:34px;font-size:14px}.wg-cell .memo-dot{top:3px;right:3px}.weekwrap{overflow-x:visible}.weekwrap:after{display:none}}