.login-shell{min-height:100vh}.offbar .grow{flex:1}:root{--canvas: #f2f3f7;--surface: #ffffff;--text: #1a1f2b;--muted: #5f6678;--accent: var(--a-blue);--on-accent: #ffffff;--danger: #d02f2f;--warning: #b45309;--success: #127a4a;--a-blue: #2b5cf0;--a-teal: #0d7d8c;--a-green: #127a4a;--a-amber: #b45309;--a-red: #d02f2f;--a-ink: #232838;--glass-tint: #ffffff;--opacity-glass: .52;--glass-edge: #ffffff;--opacity-glass-edge: .9;--blur-glass: 26px;--saturate-glass: 1.9;--radius-control: 12px;--radius-card: 22px;--radius-sheet: 28px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--shadow-raised: 0 1px 2px rgba(16, 20, 32, .05), 0 6px 18px rgba(16, 20, 32, .06);--shadow-overlay: 0 2px 6px rgba(16, 20, 32, .1), 0 24px 60px rgba(16, 20, 32, .18);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 34%, transparent);--motion-fast: .14s;--motion-base: .22s;--motion-easing: cubic-bezier(.32, .72, 0, 1);--motion-spring: cubic-bezier(.22, 1.14, .36, 1);--motion-flow: .46s;--layout-max-width: 1180px;--sidebar-w: 232px;--kb: 0px;--vvh: 100dvh;--vvb: 0px;--sab: 0px;--dock-lift: var(--space-3);--dockgap: calc(var(--vvb) + var(--dock-lift));--glass: color-mix(in srgb, var(--glass-tint) calc(var(--opacity-glass) * 100%), transparent);--edge: color-mix(in srgb, var(--glass-edge) calc(var(--opacity-glass-edge) * 100%), transparent);--hairline: color-mix(in srgb, var(--text) 12%, transparent);--hairline-strong: color-mix(in srgb, var(--text) 20%, transparent);--hover: color-mix(in srgb, var(--text) 6%, transparent);--sunken: color-mix(in srgb, var(--text) 4%, transparent);--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--accent-line: color-mix(in srgb, var(--accent) 28%, transparent);--pill-fill: color-mix(in srgb, #ffffff 26%, transparent);--pill-lift: 1.06;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "Cascadia Code", Consolas, "Liberation Mono", monospace;color-scheme:light}@media(display-mode:standalone){:root{--sab: env(safe-area-inset-bottom, 0px);--dock-lift: 21px}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas: #10131a;--surface: #1a1f29;--text: #e9edf6;--muted: #a2aabd;--accent: var(--a-blue);--on-accent: #0a0d13;--danger: #ff8087;--warning: #ffc14d;--success: #4ede9d;--a-blue: #6f9bff;--a-teal: #4fd1de;--a-green: #4ede9d;--a-amber: #ffc14d;--a-red: #ff8087;--a-ink: #e6eaf3;--glass-tint: #2b3242;--opacity-glass: .5;--opacity-glass-edge: .22;--shadow-raised: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .34);--shadow-overlay: 0 2px 6px rgba(0, 0, 0, .46), 0 24px 60px rgba(0, 0, 0, .52);--hairline: color-mix(in srgb, var(--text) 14%, transparent);--hairline-strong: color-mix(in srgb, var(--text) 24%, transparent);--hover: color-mix(in srgb, var(--text) 8%, transparent);--sunken: color-mix(in srgb, #000000 22%, transparent);--accent-soft: color-mix(in srgb, var(--accent) 20%, transparent);--accent-line: color-mix(in srgb, var(--accent) 42%, transparent);--pill-fill: color-mix(in srgb, #ffffff 6%, transparent);--pill-lift: 1.45;color-scheme:dark}}:root[data-theme=dark]{--canvas: #10131a;--surface: #1a1f29;--text: #e9edf6;--muted: #a2aabd;--accent: var(--a-blue);--on-accent: #0a0d13;--danger: #ff8087;--warning: #ffc14d;--success: #4ede9d;--a-blue: #6f9bff;--a-teal: #4fd1de;--a-green: #4ede9d;--a-amber: #ffc14d;--a-red: #ff8087;--a-ink: #e6eaf3;--glass-tint: #2b3242;--opacity-glass: .5;--opacity-glass-edge: .22;--shadow-raised: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .34);--shadow-overlay: 0 2px 6px rgba(0, 0, 0, .46), 0 24px 60px rgba(0, 0, 0, .52);--hairline: color-mix(in srgb, var(--text) 14%, transparent);--hairline-strong: color-mix(in srgb, var(--text) 24%, transparent);--hover: color-mix(in srgb, var(--text) 8%, transparent);--sunken: color-mix(in srgb, #000000 22%, transparent);--accent-soft: color-mix(in srgb, var(--accent) 20%, transparent);--accent-line: color-mix(in srgb, var(--accent) 42%, transparent);--pill-fill: color-mix(in srgb, #ffffff 6%, transparent);--pill-lift: 1.45;color-scheme:dark}:root[data-accent=blue]{--accent: var(--a-blue)}:root[data-accent=teal]{--accent: var(--a-teal)}:root[data-accent=green]{--accent: var(--a-green)}:root[data-accent=amber]{--accent: var(--a-amber)}:root[data-accent=red]{--accent: var(--a-red)}:root[data-accent=ink]{--accent: var(--a-ink)}:root[data-density=compact]{--space-3: 10px;--space-4: 12px;--space-5: 16px;--space-6: 22px;--radius-card: 18px}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--glass: var(--surface)}}*{box-sizing:border-box}html,body,#app{height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior-y:none;touch-action:manipulation}body{margin:0;font-family:var(--font);color:var(--text);background:var(--canvas);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:var(--hairline-strong)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-control)}h1,h2,h3,h4{margin:0 0 .5em}h1{font-size:32px;line-height:1.15;letter-spacing:-.02em;font-weight:640}h2{font-size:22px;line-height:1.25;letter-spacing:-.01em;font-weight:620}h3,h4{font-size:17px;line-height:1.35;font-weight:600}.shell{display:flex;min-height:100%}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);padding:var(--space-4) var(--space-3);background:var(--glass);backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));border-right:1px solid var(--hairline);box-shadow:inset 0 1px 0 var(--edge);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--space-1);z-index:10}.brand{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-4);font-size:17px;font-weight:620;letter-spacing:-.01em}.brand .dot{width:10px;height:10px;border-radius:var(--radius-pill);background:var(--accent)}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:10px var(--space-3);border-radius:var(--radius-control);color:var(--muted);text-decoration:none;font-size:15px;min-height:40px;transition:background var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing)}.nav-link:hover{background:var(--hover);color:var(--text);text-decoration:none}.nav-link.on{color:var(--text);font-weight:560;background:var(--pill-fill);backdrop-filter:brightness(var(--pill-lift)) saturate(1.4);-webkit-backdrop-filter:brightness(var(--pill-lift)) saturate(1.4);box-shadow:inset 0 1px color-mix(in srgb,var(--glass-edge) calc(var(--opacity-glass-edge) * 80%),transparent),0 1px 3px color-mix(in srgb,#05070c 8%,transparent)}.nav-link .ico{flex:0 0 20px;width:20px;height:20px}.nav-link .badge{margin-left:auto}.sidebar-foot{margin-top:auto;padding:var(--space-3);color:var(--muted);font-size:13px;line-height:1.45}.main{flex:1;min-width:0;padding:var(--space-5) var(--space-5) var(--space-6);max-width:var(--layout-max-width);overflow-x:clip}.page-head{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.page-head .grow{flex:1;min-width:200px}.page-head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:13px;line-height:1.45}.head-acts{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.card{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-4);box-shadow:var(--shadow-raised)}.card+.card{margin-top:var(--space-3)}.card-title{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:12px;line-height:1.3;font-weight:560;letter-spacing:.01em;color:var(--muted);text-transform:uppercase}.card-title .grow{flex:1}.grid{display:grid;gap:var(--space-3)}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.board{display:grid;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.board-column{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.board-column>.card{margin:0}.split{display:grid;gap:var(--space-3);grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start}.stat{display:flex;flex-direction:column;gap:var(--space-1)}.stat .n{font-size:32px;line-height:1.15;letter-spacing:-.02em;font-weight:640}.stat .l{font-size:12px;line-height:1.3;letter-spacing:.01em;font-weight:560;color:var(--muted);text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);border:1px solid var(--hairline-strong);background:transparent;color:var(--text);font:inherit;font-size:15px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--motion-fast) var(--motion-easing),border-color var(--motion-fast) var(--motion-easing),opacity var(--motion-fast) var(--motion-easing)}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:transparent}.btn.primary{background:var(--accent);border-color:transparent;color:var(--on-accent);font-weight:560}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 86%,var(--surface))}.btn.ghost{border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--text);background:var(--hover)}.btn.sm{position:relative;min-height:32px;padding:var(--space-1) var(--space-3);font-size:13px}.btn.sm:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.btn.danger{color:var(--danger)}.btn.danger:hover{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.input,.select,.textarea{width:100%;min-height:40px;padding:var(--space-2) var(--space-3);font:inherit;font-size:15px;color:var(--text);background:var(--sunken);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);outline:none;transition:border-color var(--motion-fast) var(--motion-easing)}.input:hover,.select:hover,.textarea:hover{border-color:var(--muted)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring)}.input:disabled,.select:disabled,.textarea:disabled{opacity:.45;cursor:not-allowed}.input.err,.textarea.err{border-color:var(--danger)}.textarea{min-height:120px;resize:vertical;font-family:var(--mono);font-size:13px;line-height:1.5}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-6);background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat}label.field{display:block;margin-bottom:var(--space-3)}label.field span{display:block;font-size:13px;color:var(--muted);margin-bottom:var(--space-1)}.row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.nhead>.input{flex:1;min-width:0}.row.tight{gap:var(--space-1);row-gap:var(--space-2)}.spacer{flex:1}.chip{display:inline-flex;align-items:center;gap:var(--space-1);font-family:inherit;min-height:32px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:12px;line-height:1.3;letter-spacing:.01em;font-weight:560;border:1px solid var(--hairline-strong);color:var(--muted);background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing)}.chip:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.chip:hover{background:var(--hover);color:var(--text)}.chip.on{color:var(--text);border-color:var(--hairline-strong);background:var(--sunken);box-shadow:inset 0 1px 2px color-mix(in srgb,#05070c 8%,transparent)}.chip.on:hover{color:var(--text);background:var(--sunken)}.tag,.badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:12px;line-height:1.3;letter-spacing:.01em;font-weight:560;background:var(--sunken);border:1px solid var(--hairline);color:var(--muted)}.badge{min-width:22px;text-align:center}a.tag{position:relative}a.tag:after{content:"";position:absolute;top:-10px;right:0;bottom:-10px;left:0}.pri-high{color:var(--danger)}.pri-low{color:var(--muted)}.st-doing{color:var(--text);font-weight:600}.st-done{color:var(--success)}.st-dropped{color:var(--muted)}.overdue{color:var(--danger)}.muted,.dim{color:var(--muted)}.small{font-size:13px;line-height:1.45}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mono{font-family:var(--mono);font-size:13px;line-height:1.5}.nowrap{white-space:nowrap}.empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--muted)}.err{color:var(--danger);font-size:13px}.list{display:flex;flex-direction:column;gap:var(--space-1)}.item{display:flex;gap:var(--space-3);align-items:flex-start;min-height:40px;padding:10px var(--space-3);border-radius:var(--radius-control);background:transparent;transition:background var(--motion-fast) var(--motion-easing)}.item:hover{background:var(--hover)}.item+.item{box-shadow:inset 0 1px 0 var(--hairline)}.item .body{flex:1;min-width:0}.item .title{font-weight:500}.item .meta{font-size:13px;line-height:1.45;color:var(--muted);display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:2px}.item.done .title{text-decoration:line-through;color:var(--muted)}.lcard{display:flex;align-items:stretch;gap:0;margin-top:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-control);background:var(--sunken);color:inherit;text-decoration:none;overflow:hidden;transition:border-color var(--motion-fast) var(--motion-easing),background var(--motion-fast) var(--motion-easing)}.lcard:hover{border-color:var(--accent-line);background:var(--hover)}.lcard:focus-visible{outline:none;box-shadow:var(--focus-ring)}.lc-shot{flex:0 0 96px;width:96px;align-self:stretch;object-fit:cover;background:var(--hover);border-right:1px solid var(--hairline)}.lc-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;padding:var(--space-2) var(--space-3)}.lc-title{font-weight:560;font-size:14px;line-height:1.35;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.lc-desc{font-size:13px;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.lc-host{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.3;color:var(--muted);margin-top:2px;min-width:0}.lc-ico{flex:0 0 14px;width:14px;height:14px;border-radius:3px;object-fit:contain}.lc-ico.letter{display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:640;line-height:1}.lcard.slim{margin-top:6px;align-self:flex-start;max-width:100%}.lcard.slim .lc-shot{flex-basis:48px;width:48px;height:34px}.lcard.slim .lc-text{flex-direction:row;align-items:center;gap:var(--space-2);padding:5px var(--space-2) 5px 7px}.lcard.slim .lc-shot+.lc-text .lc-ico{display:none}.lcard.slim .lc-title{font-weight:500;font-size:13px;-webkit-line-clamp:1;flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lcard.slim .lc-host{margin-top:0;gap:6px;flex:0 0 auto;max-width:45%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(max-width:460px){.lc-shot{flex-basis:76px;width:76px}.lcard.slim .lc-shot{flex-basis:42px;width:42px;height:30px}.lcard.slim .lc-host{max-width:40%}}.check{width:40px;height:40px;flex:0 0 40px;margin:-9px;padding:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;color:var(--muted)}.check i{display:block;width:21px;height:21px;border-radius:var(--radius-pill);border:1.5px solid var(--hairline-strong);transition:border-color var(--motion-fast) var(--motion-easing),background var(--motion-fast) var(--motion-easing)}.check:hover i{border-color:var(--text)}.check.on i{border-color:var(--success);background:var(--success);box-shadow:inset 0 0 0 3px var(--surface)}.prose{font-size:15px;line-height:1.55;overflow-wrap:anywhere}.prose h1,.prose h2,.prose h3,.prose h4{margin:1.4em 0 .5em;scroll-margin-top:80px}.prose h2{padding-bottom:var(--space-2);box-shadow:inset 0 -1px 0 var(--hairline)}.prose p{margin:.7em 0}.prose ul,.prose ol{padding-left:1.3em;margin:.6em 0}.prose li{margin:.25em 0}.prose code{font-family:var(--mono);font-size:.88em;padding:1px var(--space-1);border-radius:var(--space-2);background:var(--sunken)}.prose pre{padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--sunken);overflow-x:auto}.prose pre code{background:none;padding:0;font-size:13px;line-height:1.5}.prose blockquote{margin:.9em 0;padding:var(--space-1) var(--space-4);border-left:3px solid var(--hairline-strong);color:var(--muted)}.prose table{border-collapse:collapse;width:100%;margin:1em 0;font-size:13px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--hairline);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}.prose th{background:var(--sunken);font-weight:560;letter-spacing:.01em}.prose img{max-width:100%}.prose hr{border:none;box-shadow:inset 0 1px 0 var(--hairline);margin:1.6em 0;height:1px}.prose mark{background:color-mix(in srgb,var(--warning) 30%,transparent);color:inherit;padding:0 2px;border-radius:var(--space-1)}.wl-missing{color:var(--danger);border-bottom:1px dashed var(--danger);cursor:help}.modal-back{position:fixed;inset:0 0 calc(var(--kb) + var(--vvb));z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:color-mix(in srgb,var(--canvas) 55%,transparent);backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass))}.modal{width:100%;max-width:620px;overflow:auto;max-height:88vh;max-height:min(88dvh,calc(var(--vvh) - var(--space-5)));background:var(--surface);border-radius:var(--radius-sheet);padding:var(--space-5);box-shadow:var(--shadow-overlay);animation:sheet-in var(--motion-base) var(--motion-easing)}.modal.form{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.modal.form>h2{flex:0 0 auto}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-body>*:last-child{margin-bottom:0}.modal-foot{flex:0 0 auto;margin:0 calc(-1 * var(--space-5));padding:var(--space-3) var(--space-5);padding-bottom:calc(var(--space-3) + var(--sab));border-top:1px solid var(--hairline);background:var(--surface)}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.login-wrap,.login-shell{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.login-card{width:100%;max-width:360px;border-radius:var(--radius-sheet);padding:var(--space-5);box-shadow:var(--shadow-overlay)}.dockfade{display:none;position:fixed;z-index:29;left:0;right:0;bottom:0;height:calc(var(--dockgap) + 84px);pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);mask-image:linear-gradient(to top,#000 0,#000 var(--dockgap),transparent 100%);-webkit-mask-image:linear-gradient(to top,#000 0,#000 var(--dockgap),transparent 100%);background:linear-gradient(to top,color-mix(in srgb,var(--canvas) 78%,transparent) 0,color-mix(in srgb,var(--canvas) 62%,transparent) var(--dockgap),transparent 100%)}.tabdock{display:none;position:fixed;z-index:30;left:50%;bottom:var(--dockgap);transform:translate(-50%);width:min(100% - 2 * max(var(--dock-lift),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px)),480px);gap:var(--space-2);align-items:center}.tabbar,.tabmore{border-radius:var(--radius-pill);border:1px solid var(--edge);background:var(--glass);backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));box-shadow:inset 0 1px 0 var(--edge),inset 0 -1px color-mix(in srgb,#05070c 6%,transparent),0 1px 2px color-mix(in srgb,#05070c 8%,transparent),0 12px 30px color-mix(in srgb,#05070c 16%,transparent)}.tabbar{position:relative;flex:1;min-width:0;display:flex;padding:5px;gap:2px;align-items:stretch}.tabmore{position:relative;flex:0 0 auto;width:56px;height:56px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--motion-fast) var(--motion-easing),transform var(--motion-fast) var(--motion-easing)}.tabmore:active{transform:scale(.93)}.tabmore.on{color:var(--accent)}.tabmore .ico{width:22px;height:22px}.tabbar:before,.tabmore:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--glass-edge) calc(var(--opacity-glass-edge) * 30%),transparent),transparent 45%)}.tab-pill{position:absolute;top:5px;bottom:5px;left:0;width:var(--pill-w, 0px);transform:translate(var(--pill-x, 0px)) scaleX(var(--pill-s, 1));opacity:var(--pill-o, 0);border-radius:var(--radius-pill);background:var(--pill-fill);backdrop-filter:brightness(var(--pill-lift)) saturate(1.4);-webkit-backdrop-filter:brightness(var(--pill-lift)) saturate(1.4);box-shadow:inset 0 1px color-mix(in srgb,var(--glass-edge) calc(var(--opacity-glass-edge) * 80%),transparent),inset 0 -1px color-mix(in srgb,#05070c 4%,transparent),0 1px 3px color-mix(in srgb,#05070c 9%,transparent);pointer-events:none;transition:transform var(--motion-flow) var(--motion-spring),width var(--motion-flow) var(--motion-spring),opacity var(--motion-fast) linear}.tabbar.nofade .tab-pill{transition:none}.tab-pill:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,color-mix(in srgb,var(--glass-edge) calc(var(--opacity-glass-edge) * 45%),transparent),transparent 60%)}.tab{position:relative;z-index:1;flex:1;min-width:0;min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;border:none;background:transparent;border-radius:var(--radius-pill);color:var(--muted);text-decoration:none;font:inherit;font-size:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--motion-fast) var(--motion-easing),transform var(--motion-fast) var(--motion-easing)}.tab:active{transform:scale(.93)}.tab .ico-wrap{position:relative;display:flex;align-items:center;justify-content:center}.tab .ico{width:22px;height:22px}.tab .t{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab.on{color:var(--accent);font-weight:560}.tab .dotmark{position:absolute;top:-4px;right:-10px;min-width:15px;height:15px;padding:0 3px;border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:10px;line-height:15px;font-weight:600;text-align:center}.sheet-back{position:fixed;inset:0 0 calc(var(--kb) + var(--vvb));z-index:40;background:color-mix(in srgb,#05070c 44%,transparent);display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;background:var(--surface);color:var(--text);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-overlay);padding:var(--space-4) var(--space-4) calc(var(--space-4) + var(--sab));max-height:86vh;max-height:min(86dvh,calc(var(--vvh) - var(--space-4)));overflow:auto;animation:sheet-up var(--motion-base) var(--motion-easing)}@keyframes sheet-up{0%{transform:translateY(14px);opacity:.4}to{transform:none;opacity:1}}.sheet-grip{width:36px;height:4px;border-radius:var(--radius-pill);background:var(--hairline-strong);margin:0 auto var(--space-4)}.sheet-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.sheet-nav a,.sheet-nav button{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-control);background:transparent;color:var(--text);text-decoration:none;font:inherit;font-size:15px;cursor:pointer}.sheet-nav a:hover,.sheet-nav button:hover{background:var(--hover)}.sheet-nav .ico{flex:0 0 20px;width:20px;height:20px;color:var(--muted)}.notify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2) var(--space-3);align-items:end;margin:var(--space-4) 0 var(--space-3)}.notify-grid .field{margin-bottom:0}.notify-grid .input,.notify-grid .select{width:100%}.quick{margin-bottom:var(--space-4)}.quick-add{display:flex;gap:var(--space-2);align-items:center}.quick-add .input{flex:1;min-width:0}.quick-add .btn{flex:0 0 auto;width:44px;padding:0;font-size:20px;line-height:1}.quick-hint{display:flex;flex-wrap:wrap;align-items:center;gap:6px;row-gap:14px;margin:var(--space-2) 0 0;min-height:28px;font-size:13px;color:var(--muted)}.quick-hint b{color:var(--text);font-weight:560}.hintbtn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;min-height:28px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;position:relative}.hintbtn:after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.hintbtn:hover{background:var(--hover);color:var(--text)}.hintbtn b{font-family:var(--mono);font-size:12px}.tgroup+.tgroup{margin-top:var(--space-5)}.tgroup-head{display:flex;align-items:baseline;gap:var(--space-2);padding:0 var(--space-1) var(--space-2);font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--muted)}.tgroup-head .n{font-weight:400}.tgroup-head.hot{color:var(--danger)}.tgroup-head.soon{color:var(--warning)}.tlist{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);overflow:hidden}.trow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.swiper+.swiper .trow:before{content:"";position:absolute;top:0;left:calc(var(--space-3) + 44px);right:0;border-top:1px solid var(--hairline)}.trow:hover{background:var(--hover)}.trow.is-done .ttitle{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--hairline-strong)}.trow.is-pending{opacity:.7}.tcheck{width:40px;height:40px;margin:-8px 0 -8px -8px;padding:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;color:var(--muted)}.tcheck i{display:block;width:21px;height:21px;border-radius:var(--radius-pill);border:1.5px solid var(--hairline-strong);transition:border-color var(--motion-fast) var(--motion-easing),background var(--motion-fast) var(--motion-easing)}.tcheck:hover i{border-color:var(--text)}.tcheck.on i{border-color:var(--success);background:var(--success);box-shadow:inset 0 0 0 3px var(--surface)}.tbody{min-width:0;text-align:left;background:transparent;border:none;padding:var(--space-1) 0;font:inherit;color:inherit;cursor:pointer}.ttitle{display:block;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.tmeta{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;margin-top:2px;font-size:12px;line-height:1.35;color:var(--muted)}.tmeta>span+span:before{content:"·";margin-right:6px;opacity:.55}.trow .btn.sm{white-space:nowrap}.tdue{flex:0 0 auto;font-size:12px;font-weight:560;color:var(--muted);white-space:nowrap;text-align:right}.tdue.hot{color:var(--danger)}.tdue.soon{color:var(--warning)}.tempty{padding:var(--space-5) var(--space-3);text-align:center;color:var(--muted);font-size:14px;background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-raised)}.offbar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--hairline-strong);border-radius:var(--radius-control);background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--text);font-size:13px}.offbar .dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--warning);flex:0 0 auto}.offbar.ok{background:color-mix(in srgb,var(--success) 12%,transparent)}.offbar.ok .dot{background:var(--success)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media(max-width:900px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3,.grid.cols-2,.board,.split{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.dockfade{display:block}.tabdock{display:flex}.shell{position:fixed;inset:0 0 var(--vvb) 0;flex-direction:column;min-height:0}.main{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) max(var(--space-3),env(safe-area-inset-right,0px)) 0 max(var(--space-3),env(safe-area-inset-left,0px));padding-bottom:calc(60px + var(--dock-lift) + var(--space-4))}h1{font-size:clamp(23px,6vw,28px)}.page-head{margin-bottom:var(--space-4)}.modal-back{align-items:flex-end;padding:0}.modal{max-width:none;max-height:88vh;max-height:min(88dvh,calc(var(--vvh) - var(--space-4)));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:var(--space-4) var(--space-4) calc(var(--space-4) + var(--sab));animation:sheet-up var(--motion-base) var(--motion-easing)}.modal.form{padding-bottom:0}.modal-foot{margin:0 calc(-1 * var(--space-4));padding-left:var(--space-4);padding-right:var(--space-4)}.kb-open .modal{max-height:calc(var(--vvh) - var(--space-2))}.row>.btn,.row>.input,.row>.select{min-height:44px}.nhead>.input{flex:1 0 100%}.nfoot>.small{order:3;flex:1 0 100%}.nfoot>.spacer{order:1}.nfoot>.danger{order:2}}@media(max-width:380px){.main{padding-left:max(var(--space-2),env(safe-area-inset-left,0px));padding-right:max(var(--space-2),env(safe-area-inset-right,0px))}.card{padding:var(--space-3);border-radius:var(--radius-control)}.tab{font-size:9px}.tab .ico{width:20px;height:20px}}@media(max-height:480px)and (orientation:landscape){:root{--dock-lift: var(--space-2)}.dockfade{height:calc(var(--dockgap) + 73px)}.tabbar{padding:4px}.tabmore{width:46px;height:46px}.tab{min-height:38px;font-size:9px;gap:1px}.tab .ico{width:20px;height:20px}.tab-pill{top:4px;bottom:4px}.main{padding-bottom:calc(53px + var(--dock-lift) + var(--space-3))}.sheet,.modal{max-height:92vh;max-height:min(92dvh,calc(var(--vvh) - var(--space-2)))}h1{font-size:22px}}@media(display-mode:standalone)and (max-height:480px)and (orientation:landscape){:root{--dock-lift: 16px}}.swiper{position:relative;overflow-x:clip;touch-action:pan-y}.swiper .trow{position:relative;z-index:1;background:var(--surface);transform:translate(var(--dx, 0px));transition:transform var(--motion-base) var(--motion-easing)}.swiper.drag .trow{transition:none}.swiper .trow:hover{background:color-mix(in srgb,var(--text) 6%,var(--surface))}.swipe-tray{position:absolute;z-index:0;top:0;bottom:0;display:flex;align-items:center;gap:8px;padding:0 8px}.swipe-tray.right{right:0}.swipe-tray.left{left:0}.sa{flex:0 0 auto;width:62px;height:calc(100% - 10px);max-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;border:none;border-radius:15px;color:#fff;font:inherit;font-size:10px;font-weight:600;line-height:1.1;white-space:nowrap;cursor:pointer;opacity:var(--p, 1);transform:scale(calc(.8 + .2 * var(--p, 1)))}.sa.grow{width:calc(62px + var(--ex, 0px))}.swiper:not(.drag) .sa{transition:width var(--motion-base) var(--motion-easing),opacity var(--motion-base) var(--motion-easing),transform var(--motion-base) var(--motion-easing)}.sa .ico{width:18px;height:18px}.sa:active{filter:brightness(.92)}.sa.to-done{background:var(--success)}.sa.to-later{background:var(--warning)}.sa.to-drop{background:var(--danger)}.sa.to-more{background:color-mix(in srgb,var(--text) 32%,var(--surface))}.ask-back{position:fixed;inset:0 0 calc(var(--kb) + var(--vvb));z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:color-mix(in srgb,#05070c 38%,transparent);animation:ask-back-in var(--motion-fast) linear}.ask{width:min(100%,296px);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));box-shadow:var(--shadow-overlay),inset 0 1px 0 var(--edge);animation:ask-in var(--motion-base) var(--motion-spring)}.ask-head{padding:var(--space-5) var(--space-4) var(--space-4);text-align:center}.ask-t{font-size:17px;font-weight:620;line-height:1.3}.ask-p{margin:6px 0 0;font-size:13px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}.ask-i{margin:0 var(--space-4) var(--space-4);text-align:center}.ask-b{min-height:48px;padding:var(--space-3) var(--space-4);border:none;border-top:1px solid var(--hairline);background:transparent;font:inherit;font-size:16px;color:var(--accent);cursor:pointer;transition:background var(--motion-fast) linear}.ask-b:hover{background:var(--hover)}.ask-b:active{background:var(--sunken)}.ask-b.danger{color:var(--danger)}.ask-b.cancel{font-weight:600;color:var(--text)}@keyframes ask-back-in{0%{opacity:0}to{opacity:1}}@keyframes ask-in{0%{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}.statstrip{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px;margin-bottom:var(--space-3);background:var(--hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);overflow:hidden}.statcell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:var(--space-3) var(--space-1);background:var(--surface);color:inherit;text-decoration:none}.statcell:hover{background:var(--hover);text-decoration:none}.statcell .n{font-size:27px;line-height:1;font-weight:640;letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums}.statcell .n.zero{color:var(--muted)}.statcell .n.hot{color:var(--danger)}.statcell .l{font-size:11px;font-weight:560;line-height:1.2;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);text-align:center}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:var(--space-3)}.tile{display:flex;flex-direction:column;gap:10px;min-width:0;padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);color:inherit;text-decoration:none}a.tile:hover{text-decoration:none;box-shadow:var(--shadow-overlay)}.tile-head{display:flex;align-items:baseline;gap:var(--space-2);font-size:12px;font-weight:560;letter-spacing:.01em;text-transform:uppercase;color:var(--muted)}.tile-head .more{margin-left:auto;text-transform:none;letter-spacing:0}a.more,.row.tight>a:not(.tag):not(.chip):not(.btn){position:relative}a.more:after,.row.tight>a:not(.tag):not(.chip):not(.btn):after{content:"";position:absolute;top:-13px;right:0;bottom:-13px;left:0}a.more{flex:0 0 auto;white-space:nowrap}a.more:after{top:-20px;right:-6px;bottom:-7px;left:-6px}.tile-head .rest{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:400}.tile-head .go{margin-left:auto;font-size:14px;line-height:1;text-transform:none;color:var(--muted)}.tile-head .rest+.go{margin-left:0}.tile ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.tile li{display:flex;align-items:baseline;gap:var(--space-2);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.tile li .w{margin-left:auto;flex:0 0 auto;font-size:12px;color:var(--muted);white-space:nowrap}.tile li .w.hot{color:var(--danger)}.tile li .tlink{flex:0 0 auto;align-self:center;position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;color:var(--muted);transition:color var(--motion-fast) var(--motion-easing),background var(--motion-fast) var(--motion-easing)}.tile li .tlink .ico{width:15px;height:15px}.tile li .tlink:hover{color:var(--accent);background:var(--hover)}.tile li .tlink:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tile li .tlink:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.tile ul.oneline li>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile .none{font-size:14px;color:var(--muted)}.tile .mode-now{font-size:17px;font-weight:600}.tile .tcheck{position:relative;flex:0 0 auto}.tile .tcheck:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.tile.span2{grid-column:span 2}.zone{display:flex;align-items:baseline;gap:var(--space-2);margin:var(--space-5) var(--space-1) var(--space-2);font-size:11px;font-weight:560;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.zone .more{margin-left:auto;text-transform:none;letter-spacing:0}.statstrip+.zone,.card+.zone{margin-top:var(--space-4)}.rhythm{margin-bottom:var(--space-3)}.rh{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:10px}.rh .rt{font-size:11px;font-weight:560;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.rh .rn{margin-left:auto;display:flex;align-items:baseline;gap:var(--space-2);font-size:21px;line-height:1;font-weight:640;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rh .rn .ru{font-size:11px;font-weight:500;letter-spacing:0;color:var(--muted)}.rsep{height:1px;margin:var(--space-4) 0;background:var(--hairline)}.brow{display:flex;align-items:flex-end;gap:4px;height:56px}.bv{flex:1 1 0;min-width:0;min-height:2px;border-radius:3px;background:var(--accent-line)}.bv.on{background:var(--accent)}.bv.zero{background:var(--hairline-strong)}.blab{display:flex;gap:4px;margin-top:6px;font-size:10px;line-height:1.2;color:var(--muted)}.blab span{flex:1 1 0;min-width:0;text-align:center}.blab span.on{color:var(--text);font-weight:560}.seg{position:relative;display:inline-flex;vertical-align:middle;max-width:100%;gap:2px;padding:3px;border:none;border-radius:var(--radius-pill);background:var(--sunken);box-shadow:inset 0 0 0 1px var(--hairline);overflow:auto}.seg-pill{position:absolute;z-index:0;top:0;left:0;width:var(--seg-w, 0px);height:var(--seg-h, 0px);transform:translate(var(--seg-x, 0px),var(--seg-y, 0px));opacity:var(--seg-o, 0);border-radius:inherit;background:var(--pill-fill);backdrop-filter:brightness(var(--pill-lift)) saturate(1.4);-webkit-backdrop-filter:brightness(var(--pill-lift)) saturate(1.4);box-shadow:inset 0 1px color-mix(in srgb,var(--glass-edge) calc(var(--opacity-glass-edge) * 80%),transparent),inset 0 -1px color-mix(in srgb,#05070c 4%,transparent),0 1px 3px color-mix(in srgb,#05070c 10%,transparent);pointer-events:none;transition:transform var(--motion-flow) var(--motion-spring),width var(--motion-flow) var(--motion-spring),height var(--motion-fast) var(--motion-easing),opacity var(--motion-fast) linear}.seg.nofade .seg-pill{transition:none}.seg-b,.seg button{position:relative;z-index:1;min-height:34px;padding:6px 14px;white-space:nowrap;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--motion-fast) var(--motion-easing)}.seg-b.on,.seg button.on{color:var(--text);font-weight:560}.seg-b:after,.seg button:after{content:"";position:absolute;top:-3px;right:-1px;bottom:-3px;left:-1px}.seg.wrap{flex-wrap:wrap;overflow:visible;border-radius:var(--radius-control);row-gap:8px}.seg.wrap .seg-b,.seg.wrap button{flex:1 1 auto}.seg.wrap .seg-pill{border-radius:calc(var(--radius-control) - 3px)}.srow{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--hairline)}.srow.first{border-top:none;padding-top:0}.srow .l{min-width:0}.srow .l b{display:block;font-size:15px;font-weight:560}.srow .l span{display:block;font-size:13px;line-height:1.4;color:var(--muted)}.srow .r{margin-left:auto;flex:0 1 auto;min-width:0;max-width:100%}.srow .r .input,.srow .r .select{width:100%}.srow .r.pair{display:flex;align-items:center;gap:var(--space-2)}.scode{margin:0;padding:var(--space-3);border-radius:var(--radius-control);background:var(--sunken);font-family:var(--mono);font-size:12px;line-height:1.5;overflow-x:auto}.sw{position:relative;flex:0 0 auto;width:46px;height:28px;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--sunken);cursor:pointer;transition:background var(--motion-fast) var(--motion-easing),border-color var(--motion-fast) var(--motion-easing)}.sw i{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:var(--radius-pill);background:var(--surface);box-shadow:0 1px 2px color-mix(in srgb,#05070c 22%,transparent);transition:transform var(--motion-base) var(--motion-spring)}.sw.on{background:var(--accent);border-color:transparent}.sw.on i{transform:translate(18px)}.sw:after{content:"";position:absolute;top:-8px;right:-2px;bottom:-8px;left:-2px;border-radius:inherit}.srow .sw{flex:0 0 auto;width:46px;min-width:46px}.swatches{display:flex;flex-wrap:wrap;gap:var(--space-2)}.swatch{width:34px;height:34px;padding:0;cursor:pointer;border:2px solid transparent;border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--hairline)}.swatch.on{border-color:var(--text)}.swatch{position:relative}.swatch:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit}.swatch:focus-visible{box-shadow:inset 0 0 0 1px var(--hairline),var(--focus-ring)}.swatch[data-a=blue]{background:var(--a-blue)}.swatch[data-a=teal]{background:var(--a-teal)}.swatch[data-a=ink]{background:var(--a-ink)}.swatch[data-a=green]{background:var(--a-green)}.swatch[data-a=amber]{background:var(--a-amber)}.swatch[data-a=red]{background:var(--a-red)}.modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(168px,100%),1fr));gap:var(--space-2)}.mode{text-align:left;padding:var(--space-3);cursor:pointer;border:1px solid var(--hairline);border-radius:var(--radius-control);background:transparent;color:inherit;font:inherit}.mode:hover{background:var(--hover)}.mode b{display:block;font-size:14px;font-weight:600}.mode span{display:block;margin-top:2px;font-size:12px;line-height:1.35;color:var(--muted)}.mode.on{border-color:transparent;background:var(--sunken);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--text) 30%,transparent)}.flash{position:sticky;top:var(--space-2);z-index:5;margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-raised);font-size:13px;line-height:1.45}.flash.bad{color:var(--danger)}.flash.good{color:var(--success)}.notice{padding:var(--space-3);border-radius:var(--radius-control);background:var(--sunken);font-size:14px;line-height:1.45}.ord{display:flex;flex-direction:column}.ord-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--hairline)}.ord-row:first-child{border-top:none}.ord-row .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ord-row .g{margin-left:auto;display:flex;gap:var(--space-2)}.ord-row .g .btn.sm{min-width:40px;min-height:40px;padding:0}.ord-row .g .btn.sm:after{content:none}.ord-row .g .btn.sm.size{min-width:0;padding:0 10px;white-space:nowrap}.ord-row.off .t{color:var(--muted)}.steps{margin:var(--space-2) 0 0;padding-left:22px;display:flex;flex-direction:column;gap:6px}.steps li{line-height:1.5}@media(max-width:560px){.tiles{grid-template-columns:1fr}.tile.span2{grid-column:auto}.srow.wide{flex-direction:column;align-items:stretch;gap:var(--space-2)}.srow.wide .r{margin-left:0}.srow.wide .r.pair{flex-wrap:wrap}.srow.wide .seg{display:flex;flex-wrap:wrap;overflow:visible;border-radius:var(--radius-control);row-gap:8px}.srow.wide .seg .seg-b,.srow.wide .seg button{flex:1 1 auto}.srow.wide .seg .seg-pill{border-radius:calc(var(--radius-control) - 3px)}.ord-row{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-2);row-gap:4px}.ord-row .sw{grid-row:1 / -1;align-self:center}.ord-row .t{grid-column:2;overflow:visible;white-space:normal}.ord-row .g{grid-column:2;margin-left:0;justify-content:flex-end}}.st-wait{color:var(--warning)}.tlog-add{gap:var(--space-2);flex-wrap:nowrap}.tlog-add .input:first-child{flex:0 0 76px;min-width:0}.tlog-add .grow{flex:1 1 auto;min-width:0}.tlog{display:flex;flex-direction:column;margin-top:var(--space-2)}.tlog-row{display:flex;align-items:center;gap:var(--space-2);min-height:40px;border-top:1px solid var(--hairline);font-size:13px;line-height:1.35}.tlog-row:first-child{border-top:none}.tlog-row .d{flex:0 0 auto;min-width:64px;color:var(--muted)}.tlog-row .h{flex:0 0 auto;font-weight:600;font-variant-numeric:tabular-nums}.tlog-row .n{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4)}.plan-filters .field{flex:1 1 160px;min-width:160px;max-width:280px;margin:0}.plan-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.plan-cards>.card{margin:0;min-width:0}.plan>.card{margin-bottom:var(--space-3)}.plan .statcell:hover{background:var(--surface)}.plan-facts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.45}p.plan-facts{display:block;margin-bottom:var(--space-2)}.plan-warn{color:var(--danger);font-weight:560}.plan-note{margin:var(--space-3) 0 0}.plan-cap{text-transform:none;letter-spacing:0;font-weight:400}.plan-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.plan-scroll{overflow-x:auto;overscroll-behavior-x:contain}.plan-weeks{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(52px,1fr);gap:6px;min-width:min-content;margin:0;padding:0;list-style:none}.pw{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:center}.pw-v{font-size:11px;line-height:1.2;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.pw-track{position:relative;height:120px;border-radius:6px;background:var(--sunken);overflow:hidden}.pw-fill{position:absolute;left:0;right:0;bottom:0;min-height:2px;border-radius:6px 6px 0 0;background:var(--accent-line)}.pw.past .pw-fill{background:var(--muted);opacity:.4}.pw.cur .pw-fill{background:var(--accent)}.pw.over .pw-fill{background:var(--danger)}.pw-cap{position:absolute;left:0;right:0;height:2px;margin-bottom:-1px;background:var(--text);opacity:.55}.pw-l{font-size:11px;line-height:1.2;color:var(--muted);white-space:nowrap}.pw.cur .pw-l{color:var(--text);font-weight:560}.pw-s{min-height:12px;font-size:10px;line-height:1.2;color:var(--muted);white-space:nowrap}.pw.over .pw-s,.pw.over .pw-v{color:var(--danger);font-weight:560}.plan-list{display:flex;flex-direction:column}.plan-item{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:var(--space-1) 0;border-top:1px solid var(--hairline);color:inherit;text-decoration:none}.plan-item:first-child{border-top:none}a.plan-item:hover{text-decoration:none}a.plan-item:hover .plan-item-t{color:var(--accent)}.plan-item-t{font-size:14px;line-height:1.35;overflow-wrap:anywhere}.plan-item-t b,.g-name b{margin-right:6px;font-weight:600}.plan-item-m{font-size:12px;line-height:1.35;color:var(--muted)}.plan-item-m.hot{color:var(--danger)}.plan-tbl{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.plan-tbl th{padding:0 var(--space-2) var(--space-2);text-align:right;white-space:nowrap;font-size:12px;font-weight:560;letter-spacing:.01em;color:var(--muted)}.plan-tbl td{padding:4px var(--space-2);text-align:right;white-space:nowrap;border-top:1px solid var(--hairline)}.plan-tbl th:first-child,.plan-tbl td:first-child{padding-left:0;text-align:left}.plan-tbl tr.on td{background:var(--accent-soft)}.gantt{--g-name: 220px;position:relative;min-width:720px}.g-lines{position:absolute;top:0;bottom:0;left:var(--g-name);right:0;pointer-events:none}.g-line{position:absolute;top:0;bottom:0;width:1px;background:var(--hairline)}.g-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent);opacity:.7}.g-head{display:flex;height:22px}.g-row{display:flex;align-items:stretch;min-height:30px;border-top:1px solid var(--hairline)}.g-name{flex:0 0 var(--g-name);min-width:0;padding-right:var(--space-2);align-self:center;font-size:12px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-track{position:relative;flex:1 1 auto}.g-wk{position:absolute;top:2px;padding-left:3px;font-size:10px;line-height:1.2;color:var(--muted);white-space:nowrap}.g-bar{position:absolute;top:50%;height:14px;margin-top:-7px;min-width:4px;box-sizing:border-box;border-radius:4px;background:var(--accent-soft);border:1px solid var(--accent-line)}.g-bar.doing{background:var(--accent-line);border-color:var(--accent)}.g-bar.done{background:var(--sunken);border-color:var(--hairline-strong)}.g-bar.hot{border:2px solid var(--danger)}.g-bar.cut-l{border-top-left-radius:0;border-bottom-left-radius:0}.g-bar.cut-r{border-top-right-radius:0;border-bottom-right-radius:0}@media(max-width:560px){.plan-filters .field{max-width:none}.gantt{--g-name: 140px}}.cnum{display:inline-block;margin-right:var(--space-2);font-family:var(--mono);font-size:12px;font-weight:560;color:var(--muted)}.csub{margin-top:2px;font-size:13px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}.ghead{min-width:0;overflow-wrap:anywhere}.cpri{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--sunken);color:var(--muted);font-size:12px;font-weight:560;letter-spacing:.01em;white-space:nowrap}.cpri.p1{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.cpri.p2{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.cst{font-weight:560}.cst.cs-doing{color:var(--accent)}.cst.cs-done{color:var(--success)}.cst.cs-blocked,.cst.cs-cancelled{color:var(--danger)}.sheet.ctask{max-width:680px}.ctop{margin-bottom:var(--space-4)}.ctitle{margin:0;font-size:22px;font-weight:620;line-height:1.25;letter-spacing:-.01em;overflow-wrap:anywhere}.ctop .csub{margin-top:var(--space-1);font-size:15px}.ctools{margin-bottom:var(--space-4)}.ctools .field{flex:1 1 160px;margin-bottom:0}.csec{padding-top:var(--space-4);margin-top:var(--space-4);box-shadow:inset 0 1px 0 var(--hairline)}.csec h3{margin:0 0 var(--space-2);font-size:12px;font-weight:560;letter-spacing:.01em;color:var(--muted);text-transform:uppercase}.csec .clong+h3{margin-top:var(--space-4)}.cgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.cgrid>div{display:flex;gap:var(--space-3);align-items:baseline}.cgrid .k{flex:0 0 38%;max-width:220px;font-size:13px;color:var(--muted)}.cgrid .v{flex:1;min-width:0;font-size:15px;overflow-wrap:anywhere}.clong{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.55}.cfold>summary{cursor:pointer;list-style:none;padding:var(--space-3) 0;font-size:13px;font-weight:560;color:var(--muted)}.cfold>summary::-webkit-details-marker{display:none}.cfold>summary:before{content:"+";display:inline-block;width:14px;font-family:var(--mono)}.cfold[open]>summary:before{content:"-"}.cfold>summary:hover{color:var(--text)}.cev{display:flex;gap:var(--space-2);padding:var(--space-2) 0;font-size:13px;line-height:1.45;box-shadow:inset 0 1px 0 var(--hairline)}.cev .d{flex:0 0 auto;color:var(--muted);font-variant-numeric:tabular-nums}.cev .a{flex:0 0 auto;color:var(--muted)}.cev .t{flex:1;min-width:0;overflow-wrap:anywhere}.cimp{display:flex;flex-wrap:wrap;gap:var(--space-5);margin:var(--space-4) 0}.cimp>div{display:flex;flex-direction:column}.cimp b{font-size:22px;font-weight:620;line-height:1.2;font-variant-numeric:tabular-nums}.cimp span{font-size:13px;color:var(--muted)}.select.sm{min-height:32px;padding:var(--space-1) var(--space-6) var(--space-1) var(--space-2);font-size:13px}@media(max-width:560px){.cgrid>div{flex-direction:column;gap:0}.cgrid .k{flex:none;max-width:none}}.tiles.ctiles{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.tiles.ctiles .tile.span2{grid-column:1 / -1}.ctiles ul{gap:0}.ctiles li{display:block}.ctiles .tile>.btn{align-self:flex-start}.topen{display:flex;align-items:baseline;gap:var(--space-2);width:calc(100% + 2 * var(--space-2));min-height:40px;margin:0 calc(-1 * var(--space-2));padding:var(--space-2);border:0;border-radius:var(--radius-control);background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:background var(--motion-fast) var(--motion-easing)}.topen:hover{background:var(--hover);text-decoration:none}.topen:focus-visible{outline:none;box-shadow:var(--focus-ring)}.topen .tb{flex:1;min-width:0;display:flex;flex-direction:column}.topen .tt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.topen .tt.one{-webkit-line-clamp:1}.topen .csub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctiles .w{max-width:45%;overflow:hidden;text-overflow:ellipsis}.ctiles .w.n{font-size:14px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.cline{margin:0;font-size:13px;color:var(--muted)}.cline .hot{color:var(--danger)}.cnote{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}.csize{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-6);font-size:13px;color:var(--muted)}.cbar{margin-bottom:var(--space-3)}.cbar.end{margin-bottom:var(--space-4)}.cbar .cq{flex:1;min-width:150px}.cbar .cpick{max-width:220px}.cgap{margin-top:var(--space-3)}.chip.xoff{padding-right:var(--space-2)}.chip.xoff .ico{flex:0 0 14px;width:14px;height:14px}.cgap-l{margin-top:var(--space-4)}.tag.off{color:var(--danger)}.cadd>.input,.cadd>.select,.cadd>.field{flex:1 1 160px;min-width:0;margin-bottom:0}.card[id]{scroll-margin-top:var(--space-6)}.cperson{flex-wrap:wrap}.cperson.past .title{color:var(--muted)}.cedit{flex:1 0 100%;padding-top:var(--space-2)}.cedit .small{margin-bottom:0}.clink{position:relative}.clink:after{content:"";position:absolute;top:-11px;right:0;bottom:-11px;left:0}.cloose{flex-wrap:wrap}.cloose .body{flex:1 1 200px}.cacts{flex:0 1 auto;flex-wrap:wrap}.cacts .select{max-width:220px}
