.login-shell{min-height:100vh}.offbar .grow{flex:1}:root{--canvas: #f2f3f7;--surface: #ffffff;--text: #1a1f2b;--muted: #656c80;--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;--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(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{overflow-x:clip;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}a:hover{text-decoration:underline}: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{background:var(--accent-soft);color:var(--accent);font-weight:560}.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)}.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}.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;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{min-height:32px;padding:var(--space-1) var(--space-3);font-size:13px}.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}.row.tight{gap:var(--space-1)}.spacer{flex:1}.chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:28px;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;transition:background var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing)}.chip:hover{background:var(--hover);color:var(--text)}.chip.on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.chip.on:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,transparent)}.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}.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)}.check{width:22px;height:22px;flex:0 0 22px;margin-top:1px;border-radius:var(--radius-pill);border:1.5px solid var(--hairline-strong);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:var(--success);padding:0;transition:border-color var(--motion-fast) var(--motion-easing)}.check:hover,.check.on{border-color:var(--success)}.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;top:0;right:0;bottom:0;left:0;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;max-height:88vh;overflow:auto;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)}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.login-wrap,.login-shell{min-height:100vh;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)}.tabdock{display:none;position:fixed;z-index:30;left:50%;bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(100% - var(--space-3) * 2,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;top:0;right:0;bottom:0;left:0;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) + env(safe-area-inset-bottom,0px));max-height:86vh;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;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}.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:before{content:"";position:absolute;z-index:2;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:1fr}.shell{flex-direction:column}.sidebar{display:none}.tabdock{display:flex}.main{padding:var(--space-4) max(var(--space-3),env(safe-area-inset-right,0px)) 0 max(var(--space-3),env(safe-area-inset-left,0px));padding-bottom:calc(74px + var(--space-4) + env(safe-area-inset-bottom,0px))}h1{font-size:26px}.page-head{margin-bottom:var(--space-4)}.modal{align-items:flex-end;padding:0}.modal .card{width:100%;max-width:none;max-height:88vh;overflow:auto;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));animation:sheet-up var(--motion-base) var(--motion-easing)}.row>.btn,.row>.input,.row>.select{min-height:44px}.chip{min-height:32px}}@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){.tabdock{bottom:calc(var(--space-2) + env(safe-area-inset-bottom,0px))}.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(58px + var(--space-3) + env(safe-area-inset-bottom,0px))}.sheet,.modal .card{max-height:92vh}h1{font-size:22px}}.swiper{position:relative;overflow-x:clip;touch-action:pan-y}.swiper .trow{position:relative;background:var(--surface);transform:translate(var(--dx, 0px))}.swiper .trow:hover{background:color-mix(in srgb,var(--text) 6%,var(--surface))}.swiper.settling .trow{transition:transform var(--motion-base) var(--motion-easing)}.swipe-under{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);border-radius:inherit;background:var(--sunken);color:var(--canvas);font-size:13px;font-weight:560;transition:background var(--motion-fast) linear}.swipe-under .a{display:flex;align-items:center;gap:6px;opacity:.3;transition:opacity var(--motion-fast) linear}.swiper.to-done .swipe-under{background:var(--success)}.swiper.to-later .swipe-under{background:var(--warning)}.swiper.to-drop .swipe-under{background:var(--danger)}.swiper.armed .swipe-under .a{opacity:1}.toast-host{position:fixed;z-index:45;left:50%;transform:translate(-50%);bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));width:min(100% - var(--space-3) * 2,480px);pointer-events:none}.toast{position:relative;overflow:hidden;pointer-events:auto;display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-2) 10px var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-pill);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:var(--shadow-overlay),inset 0 1px 0 var(--edge);font-size:14px;animation:toast-in var(--motion-base) var(--motion-easing)}.toast .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast .u{margin-left:auto;flex:0 0 auto}.toast .bar{position:absolute;left:0;bottom:0;height:2px;background:var(--accent);opacity:.5}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:var(--space-3)}.tile{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding: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}.tile .big{font-size:34px;line-height:1.05;letter-spacing:-.02em;font-weight:640}.tile.hot .big{color:var(--danger)}.tile.warm .big{color:var(--warning)}.tile.good .big{color:var(--success)}.tile ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.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 .none{font-size:14px;color:var(--muted)}.tile.span2{grid-column:span 2}.seg{display:inline-flex;max-width:100%;gap:2px;padding:3px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--sunken);overflow:auto}.seg button{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}.seg button.on{background:var(--surface);color:var(--text);font-weight:560;box-shadow:0 1px 2px color-mix(in srgb,#05070c 12%,transparent)}.seg.wrap{flex-wrap:wrap;overflow:visible;border-radius:var(--radius-control)}.seg.wrap button{flex:1 1 auto}.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(--success);border-color:transparent}.sw.on i{transform:translate(18px)}.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[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(168px,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:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.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:4px}.ord-row.off .t{color:var(--muted)}@media(max-width:900px){.toast-host{bottom:calc(74px + var(--space-3) + env(safe-area-inset-bottom,0px))}}@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)}.srow.wide .seg button{flex:1 1 auto}.ord-row .t{overflow:visible;white-space:normal}}@media(max-height:480px)and (orientation:landscape){.toast-host{bottom:calc(58px + var(--space-2) + env(safe-area-inset-bottom,0px))}}
