:root{--night-950:#06090f;--night-900:#080b16;--night-880:#0a0e1c;--surface:#111729;--surface-2:#17203a;--surface-3:#1e2946;--hairline:#96b4ff1a;--hairline-2:#96b4ff33;--ink:#e8edf7;--ink-2:#9aa7c2;--ink-3:#66738f;--st-done:#2ee6a8;--st-progress:#ff7a45;--st-dev:#8b5cff;--st-test:#ffc24b;--st-design:#4fb6e8;--st-analysis:#a9bacc;--st-wait:#8a97ae;--st-blocked:#ff4d6a;--pr-crit:#ff3d9a;--action:#3de0ff;--ai:#ff3d9a;--cycle:#8b5cff;--font-ui:Pretendard, "Noto Sans KR", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "JetBrains Mono", "SF Mono", Consolas, monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--glow-action:0 0 0 3px #3de0ff38;--lift:inset 0 1px 0 #ffffff0a, 0 8px 24px #00000073;--t-fast:.14s cubic-bezier(.4,0,.2,1);--t-page:.2s cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box}html{background:var(--night-950)}body{min-height:100vh;font-family:var(--font-ui);color:var(--ink);background:radial-gradient(1100px 480px at 78% -12%, #8b5cff29, transparent 62%), radial-gradient(900px 420px at 4% 6%, #3de0ff17, transparent 58%), var(--night-900);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--action)}:where(button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--action);outline-offset:2px}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-3);margin:0 0 var(--sp-2);font-size:11px;display:block}.muted{color:var(--ink-2);font-size:13px}.dim{color:var(--ink-3);font-size:12px}.tone{color:var(--sc)}.flush{margin:0}.mt-3{margin-top:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.hidden{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{grid-template-columns:216px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{height:100vh;padding:var(--sp-5) var(--sp-3);background:var(--night-880);border-right:1px solid var(--hairline);gap:var(--sp-6);flex-direction:column;display:flex;position:sticky;top:0}.brand{padding:0 var(--sp-2)}.brand-mark{letter-spacing:-.02em;margin:0;font-size:17px;font-weight:800}.brand-mark span{background:linear-gradient(96deg, var(--action), var(--cycle) 58%, var(--ai));color:#0000;-webkit-background-clip:text;background-clip:text}.nav{gap:var(--sp-1);display:grid}.nav-item{border-radius:var(--r-sm);text-align:left;width:100%;color:var(--ink-2);cursor:pointer;min-height:38px;transition:color var(--t-fast), background var(--t-fast);background:0 0;border:0;padding:10px 12px 10px 14px;position:relative}.nav-item:before{content:"";background:var(--action);border-radius:var(--r-pill);width:2px;height:0;transition:height var(--t-fast);position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item:hover{color:var(--ink);background:#96b4ff0d}.nav-item[aria-selected=true]{color:var(--ink);background:#3de0ff14;font-weight:700;box-shadow:inset 0 0 0 1px #3de0ff29,0 0 18px -6px #3de0ff80}.nav-item[aria-selected=true]:before{height:20px}.nav-sub{border-left:1px solid var(--hairline);gap:2px;margin:4px 0 0 14px;padding-left:10px;display:grid}.nav-subitem{border-radius:var(--r-sm);text-align:left;color:var(--ink-3);cursor:pointer;transition:color var(--t-fast), background var(--t-fast);background:0 0;border:0;padding:7px 10px;font-size:12.5px}.nav-subitem:hover{color:var(--ink);background:#96b4ff0d}.nav-subitem[aria-current=page]{color:var(--ink);background:#3de0ff0f;font-weight:600}.crumb{margin:0 0 var(--sp-3);color:var(--ink-3);font-size:12px}.side-foot{gap:var(--sp-3);padding:0 var(--sp-2);margin-top:auto;display:grid}.side-user{align-items:center;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--hairline);display:flex}.avatar{border-radius:var(--r-pill);width:28px;height:28px;color:var(--night-900);background:linear-gradient(140deg, var(--action), var(--cycle));flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.side-team{display:block}.sync{color:var(--ink-3);text-align:left;cursor:pointer;min-height:30px;transition:color var(--t-fast);background:0 0;border:0;align-items:center;gap:6px;padding:6px 0;font-size:12px;display:flex}.sync:hover{color:var(--ink-2)}.sync:before{content:"";border-radius:var(--r-pill);background:var(--st-done);width:6px;height:6px;box-shadow:0 0 8px var(--st-done);flex:none}.content{min-width:0}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:14px var(--sp-6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline);background:#080b16d1;flex-wrap:wrap;display:flex;position:sticky;top:0}.topbar-context{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;min-width:0;display:flex}.topbar-date{letter-spacing:-.01em;font-weight:700}.topbar-sep{color:var(--ink-3)}.topbar-note{color:var(--ink-2);font-size:13px}.page-wrap{padding:var(--sp-5) var(--sp-6) var(--sp-6)}.page{max-width:1280px;margin:0 auto;display:none}.page.is-active{gap:var(--sp-4);animation:fade-up var(--t-page) both;display:grid}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}select,input[type=text],input[type=search],input[type=password],input:not([type]),textarea{border:1px solid var(--hairline-2);background:var(--surface-2);color:var(--ink);border-radius:var(--r-sm);min-height:36px;transition:border-color var(--t-fast), box-shadow var(--t-fast);outline:none;padding:8px 11px}select{color:var(--ink);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}select:focus,input:focus,textarea:focus{border-color:var(--action);box-shadow:var(--glow-action)}input[type=checkbox]{appearance:none;border:1.5px solid var(--hairline-2);background:var(--surface-2);cursor:pointer;width:17px;height:17px;transition:border-color var(--t-fast), background var(--t-fast);border-radius:5px;flex:none;place-items:center;display:grid}input[type=checkbox]:after{content:"";border-left:2px solid var(--night-900);border-bottom:2px solid var(--night-900);width:9px;height:5px;transition:transform var(--t-fast);transform:rotate(-45deg)translate(1px,-1px)scale(0)}input[type=checkbox]:checked{background:var(--st-done);border-color:var(--st-done)}input[type=checkbox]:checked:after{transform:rotate(-45deg)translate(1px,-1px)scale(1)}.btn{border:1px solid var(--hairline-2);background:var(--surface-2);border-radius:var(--r-sm);cursor:pointer;min-height:36px;color:var(--ink);transition:border-color var(--t-fast), background var(--t-fast), transform var(--t-fast);padding:8px 14px}.btn:hover{border-color:var(--hairline-2);background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(96deg, var(--action), #59a8ff);color:#04131c;border-color:#0000;font-weight:700}.btn--primary:hover{background:linear-gradient(96deg,#5ce7ff,#6eb4ff);box-shadow:0 0 22px -6px #3de0ffbf}.btn--ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn--ghost:hover{color:var(--ink);background:#96b4ff0f}.btn--sm{min-height:30px;padding:5px 10px;font-size:13px}.btn[disabled]{opacity:.45;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:var(--sp-5);min-width:0;position:relative}.card--primary{background:linear-gradient(168deg, var(--surface-2), var(--surface) 72%);box-shadow:var(--lift);overflow:hidden}.card--primary:before{content:"";background:linear-gradient(90deg, transparent, var(--action) 18%, var(--cycle) 55%, var(--ai) 82%, transparent);opacity:.75;height:1px;position:absolute;inset:0 0 auto}.card--ai{border-left:2px solid var(--ai)}.card--ai .eyebrow{color:var(--ai)}.card--alert{border-left:2px solid var(--st-blocked);background:linear-gradient(100deg, #ff4d6a0d, var(--surface) 45%)}.card--alert .eyebrow{color:var(--st-blocked)}.card--flat{padding:var(--sp-4)}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.card-head h2,.card-head h3{letter-spacing:-.01em;margin:0;font-size:16px}.card-head p{color:var(--ink-2);margin:4px 0 0;font-size:13px}.grid-2{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-2--wide-left{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.grid-2--wide-right{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.chip{--sc:var(--ink-2);border-radius:var(--r-pill);white-space:nowrap;color:var(--sc);background:#ffffff0f;background:color-mix(in srgb, var(--sc) 13%, transparent);border:1px solid #ffffff1a;border-color:color-mix(in srgb, var(--sc) 30%, transparent);align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.chip:before{content:"";border-radius:var(--r-pill);background:var(--sc);flex:none;width:5px;height:5px}.chip--plain:before{display:none}[data-status=done]{--sc:var(--st-done)}[data-status=progress]{--sc:var(--st-progress)}[data-status=dev]{--sc:var(--st-dev)}[data-status=test]{--sc:var(--st-test)}[data-status=design]{--sc:var(--st-design)}[data-status=analysis]{--sc:var(--st-analysis)}[data-status=wait]{--sc:var(--st-wait)}[data-status=blocked]{--sc:var(--st-blocked)}[data-status=crit]{--sc:var(--pr-crit)}[data-status=high]{--sc:var(--st-test)}[data-status=ai]{--sc:var(--ai)}[data-status=action],[data-status=activity]{--sc:var(--action)}.meter{--v:0%;--sc:var(--action);border-radius:var(--r-pill);background:var(--surface-3);height:6px;position:relative;overflow:hidden}.meter:after{content:"";width:var(--v);border-radius:inherit;background:var(--sc);box-shadow:0 0 10px -1px var(--sc);transition:width .24s cubic-bezier(.4,0,.2,1);position:absolute;inset:0 auto 0 0}.stackbar{border-radius:var(--r-pill);background:var(--surface-3);height:6px;display:flex;overflow:hidden}.stackbar>i{height:100%;width:var(--w,0%);background:var(--sc);transition:width var(--t-page);display:block}.focus{gap:var(--sp-5);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;display:grid}.focus-title{letter-spacing:-.025em;margin:0;font-size:24px;font-weight:800;line-height:1.3}.focus-path{color:var(--ink-2);margin:var(--sp-2) 0 0;font-size:13px}.focus-tags{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.focus-actions{gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.focus-side{border-left:1px solid var(--hairline);padding-left:var(--sp-5);gap:var(--sp-3);display:grid}.focus-count{align-items:baseline;gap:6px;display:flex}.focus-count b{font-size:30px;font-weight:800;line-height:1}.today-track{gap:3px;display:flex}.today-track>i{border-radius:var(--r-pill);background:var(--sc);opacity:.85;flex:1;height:5px}.focus-facts{gap:6px;margin:0;font-size:13px;display:grid}.focus-facts>div{justify-content:space-between;gap:var(--sp-3);border-top:1px solid var(--hairline);padding:5px 0;display:flex}.focus-facts dt{color:var(--ink-2)}.focus-facts dd{margin:0;font-weight:600}.tasklist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.row-task{align-items:center;gap:var(--sp-3);padding:11px var(--sp-3) 11px 14px;border:1px solid var(--hairline);border-left:3px solid var(--sc,var(--st-wait));border-radius:var(--r-md);background:var(--surface);transition:transform var(--t-fast), border-color var(--t-fast), background var(--t-fast);grid-template-columns:17px minmax(0,1fr) auto auto 30px;display:grid}.row-task:hover{background:var(--surface-2);border-color:var(--hairline-2);border-left-color:var(--sc,var(--st-wait));transform:translateY(-1px)}.row-task-main{min-width:0}.row-task-title{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.row-task-path{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.row-task--done .row-task-title{color:var(--ink-2);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.row-task-due{color:var(--ink-2);white-space:nowrap;font-size:13px}.row-task-due strong{color:var(--st-progress);font-weight:700}.row-task-flags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.icon-link{border-radius:var(--r-sm);width:30px;height:30px;color:var(--ink-3);transition:color var(--t-fast), background var(--t-fast);place-items:center;text-decoration:none;display:grid}.icon-link:hover{color:var(--action);background:#3de0ff1a}.horizon-legend{gap:var(--sp-4);margin-bottom:var(--sp-3);flex-wrap:wrap;font-size:13px;display:flex}.horizon-legend>div{color:var(--ink-2);align-items:center;gap:7px;display:flex}.horizon-legend b{color:var(--ink);font-weight:700}.lg{border-top:2px solid var(--sc,var(--ink-3));flex:none;width:16px;height:0}.lg--dash{border-top-style:dashed}.chart{width:100%;overflow:hidden}.chart svg{width:100%;height:auto;display:block}.cycle-meta{gap:var(--sp-4);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--hairline);flex-wrap:wrap;display:flex}.cycle-meta>div{gap:2px;display:grid}.cycle-meta dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);font-size:11px}.cycle-meta dd{margin:0;font-weight:700}.modules{gap:var(--sp-3);display:grid}.module-row{gap:7px;display:grid}.module-row--child{padding-left:var(--sp-4);border-left:1px solid var(--hairline)}.module-line{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.module-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.module-row--child .module-name{color:var(--ink-2);font-size:13px;font-weight:500}.module-pct{flex:none;font-size:13px;font-weight:700}.module-break{color:var(--ink-3);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.module-break span{align-items:center;gap:4px;display:inline-flex}.module-break i{border-radius:var(--r-pill);background:var(--sc);width:6px;height:6px;display:block}.module-blocked{color:var(--sc);margin-left:auto;font-weight:700}.suggestions{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.suggestion{align-items:center;gap:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;display:grid}.suggestion p{margin:0;font-size:13px}.suggestion .dim{margin-top:3px;font-size:12px}.summary-group{margin-top:var(--sp-3)}.summary-group:first-of-type{margin-top:0}.summary-group h4{margin:0 0 var(--sp-2);font-size:13px;font-weight:700}.summary-list{color:var(--ink-2);margin:0;padding-left:17px;font-size:13px;line-height:1.75}.risk{padding:var(--sp-3) 0;border-top:1px solid var(--hairline);gap:6px;display:grid}.risk:first-of-type{border-top:0;padding-top:0}.risk-title{font-weight:600}.risk-quote{border-left:2px solid var(--hairline-2);background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-2);margin:0;padding:7px 11px;font-size:13px}.risk-actions{flex-wrap:wrap;gap:6px;display:flex}.rule-chip{font-family:var(--font-mono);letter-spacing:.06em;border-style:dashed;font-size:11px;font-weight:400}.rule-thresholds{margin-top:var(--sp-4);border-top:1px solid var(--hairline);padding-top:var(--sp-3)}.rule-thresholds>summary{cursor:pointer;color:var(--ink-3);width:fit-content;font-size:12px}.rule-thresholds>summary:hover{color:var(--ink)}.rule-thresholds .settings-rows{margin-top:var(--sp-3)}.rule-thresholds-act{grid-column:1/-1}.rule-thresholds-nested{border-top:1px dashed var(--hairline);padding-top:var(--sp-2);margin-top:var(--sp-1);grid-column:1/-1}.rule-thresholds-nested>summary{cursor:pointer;color:var(--ink-3);width:fit-content;font-size:12px}.rule-thresholds-nested>summary:hover{color:var(--ink)}.rule-thresholds-nested .settings-rows{margin-top:var(--sp-2)}.banner{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:10px var(--sp-6);background:color-mix(in srgb, var(--st-blocked) 14%, var(--night-900));border-bottom:1px solid color-mix(in srgb, var(--st-blocked) 40%, transparent);flex-wrap:wrap;font-size:13px;display:flex}.banner strong{color:var(--st-blocked)}.banner span{align-items:center;gap:var(--sp-2);color:var(--ink-2);display:flex}.modal-scrim{z-index:100;padding:var(--sp-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04060cb8;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-lg);width:min(460px,100%);box-shadow:var(--lift);padding:var(--sp-5);gap:var(--sp-4);display:grid}.modal h2{letter-spacing:-.01em;margin:0;font-size:17px}.modal p{color:var(--ink-2);margin:0;font-size:13px}.modal-diff{gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);font-size:13px;display:grid}.modal-diff>div{justify-content:space-between;gap:var(--sp-3);display:flex}.modal-diff dt,.modal-diff .k{color:var(--ink-3)}.modal-foot{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.composer-label{letter-spacing:-.01em;margin:0 0 var(--sp-3);font-size:15px;font-weight:700}.composer textarea{resize:vertical;width:100%;min-height:148px;padding:var(--sp-3) 14px;background:#080b1699;line-height:1.7}.composer-hints{margin-top:var(--sp-3);flex-wrap:wrap;gap:6px;display:flex}.hint-chip{border:1px dashed var(--hairline-2);color:var(--ink-2);border-radius:var(--r-pill);cursor:pointer;min-height:30px;transition:color var(--t-fast), border-color var(--t-fast);background:0 0;padding:5px 11px;font-size:12px}.hint-chip:hover{color:var(--ink);border-color:var(--action)}.composer-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.composer-foot .btn-set{gap:var(--sp-2);flex-wrap:wrap;display:flex}.empty{text-align:center;padding:var(--sp-6) var(--sp-4);border:1px dashed var(--hairline-2);border-radius:var(--r-lg);color:var(--ink-2)}.empty strong{color:var(--ink);margin-bottom:5px;display:block}.is-analyzing{position:relative}.is-analyzing:after{content:"";border-radius:inherit;border:1px solid var(--ai);pointer-events:none;animation:1.6s ease-in-out infinite pulse;position:absolute;inset:-1px}@keyframes pulse{0%,to{opacity:.15}50%{opacity:.7}}.source-pane{white-space:pre-wrap;word-break:break-word;color:var(--ink-2);max-height:460px;font-size:14px;line-height:1.9;overflow-y:auto}.ev{color:var(--ink);transition:background var(--t-fast), border-color var(--t-fast);background:#3de0ff1a;border-bottom:1px solid #3de0ff66;border-radius:3px;padding:1px 2px}.ev.is-on{border-bottom-color:var(--ai);color:var(--ink);background:#ff3d9a33}.confidence{padding:var(--sp-3) 0;border-top:1px solid var(--hairline);margin-top:var(--sp-3);gap:6px;display:grid}.confidence-line{justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.extracts{gap:var(--sp-2);display:grid}.extract{border:1px solid var(--hairline);border-left:3px solid var(--sc,var(--action));border-radius:var(--r-md);background:var(--surface);padding:var(--sp-3) 14px;gap:var(--sp-3);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), transform var(--t-fast);display:grid}.extract:hover{background:var(--surface-2);transform:translateY(-1px)}.extract.is-linked{background:var(--surface-2);border-color:var(--hairline-2);box-shadow:inset 0 0 0 1px #ff3d9a2e}.extract-head{gap:var(--sp-3);grid-template-columns:17px minmax(0,1fr) auto;align-items:start;display:grid}.extract-title{letter-spacing:-.01em;font-weight:600}.extract-key{gap:var(--sp-4);color:var(--ink-3);flex-wrap:wrap;font-size:12px;display:flex}.extract-key b{color:var(--ink-2);font-weight:600}.extract-key .auto{color:var(--st-test);margin-left:4px;font-size:11px;font-style:normal}.extract-tags{justify-items:end;gap:5px;display:grid}.reco{color:var(--ink-3);margin:7px 0 0;font-size:12px}.extra-lines{margin-top:var(--sp-3);color:var(--ink-2);gap:5px;font-size:12px;display:grid}.extra-lines p{margin:0}.extra-lines .k{color:var(--ink-3);margin-right:7px}.extra-lines .blocked-only{color:var(--st-blocked);border:1px solid color-mix(in srgb, var(--st-blocked) 34%, transparent);border-radius:var(--r-pill);margin-left:6px;padding:1px 6px;font-size:10px;font-style:normal}.state{border-radius:var(--r-pill);white-space:nowrap;border:1px solid var(--hairline-2);color:var(--ink-2);background:0 0;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.state[data-state=ai]{border-style:dashed;border-color:color-mix(in srgb, var(--ai) 45%, transparent);color:var(--ai)}.state[data-state=edited]{border-style:solid;border-color:color-mix(in srgb, var(--action) 45%, transparent);color:var(--action)}.state[data-state=pending]{border-color:var(--hairline-2);color:var(--ink-3)}.state[data-state=applied]{border-color:color-mix(in srgb, var(--st-done) 45%, transparent);color:var(--st-done);background:color-mix(in srgb, var(--st-done) 12%, transparent)}.state[data-state=failed]{border-color:color-mix(in srgb, var(--st-blocked) 50%, transparent);color:var(--st-blocked);background:color-mix(in srgb, var(--st-blocked) 12%, transparent)}.extract[data-state=applied] input,.extract[data-state=applied] select{pointer-events:none;opacity:.6}.extract[data-state=failed]{border-left-color:var(--st-blocked)}.apply-error{margin-top:var(--sp-2);color:var(--st-blocked);align-items:center;gap:var(--sp-2);font-size:12px;display:none}.extract[data-state=failed] .apply-error{display:flex}.extract details{border-top:1px solid var(--hairline);padding-top:var(--sp-3)}.extract summary{cursor:pointer;color:var(--ink-3);align-items:center;gap:6px;min-height:24px;font-size:12px;list-style:none;display:inline-flex}.extract summary::-webkit-details-marker{display:none}.extract summary:before{content:"▸";transition:transform var(--t-fast);font-size:10px}.extract details[open] summary:before{transform:rotate(90deg)}.field-grid{gap:var(--sp-3);margin-top:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field label{color:var(--ink-3);margin-bottom:5px;font-size:12px;display:block}.field select,.field input{width:100%}.missing{margin-top:var(--sp-3);flex-wrap:wrap;gap:6px;display:flex}.filters{flex-wrap:wrap;gap:6px;display:flex}.filter-btn[aria-pressed=true]{border-color:var(--action);color:var(--ink);background:#3de0ff1f;font-weight:700}.apply-bar{bottom:var(--sp-3);z-index:10;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--hairline-2);border-radius:var(--r-md);box-shadow:var(--lift);background:#111729eb;flex-wrap:wrap;display:flex;position:sticky}.apply-bar .btn-set{gap:var(--sp-2);flex-wrap:wrap;display:flex}.report-filters{gap:var(--sp-4);display:grid}.checklist{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.checklist label{color:var(--ink-2);cursor:pointer;flex-wrap:wrap;align-items:center;gap:7px;min-height:30px;font-size:13px;display:flex}.report-body{border-radius:var(--r-md);padding:var(--sp-3);margin:calc(var(--sp-3) * -1);font-size:14px;line-height:1.85;overflow-x:auto}.report-body:focus-visible{background:var(--surface-2)}.report-body h3{margin:var(--sp-5) 0 var(--sp-2);font-size:15px}.report-body h3:first-child{margin-top:0}.report-body h4{margin:var(--sp-3) 0 var(--sp-1);color:var(--ink-2);font-size:13px;font-weight:700}.report-body h5{margin:var(--sp-2) 0 var(--sp-1) var(--sp-3);color:var(--ink-3);font-size:13px;font-weight:600}.report-body ul{color:var(--ink-2);margin:0;padding-left:17px}.report-body h5+ul{padding-left:calc(17px + var(--sp-3))}.wr-status{flex-wrap:wrap;gap:6px;display:flex}#wrText[aria-readonly=true]{opacity:.78}.nav-item--foot{margin-top:var(--sp-3);border-top:1px solid var(--hairline);border-radius:0 0 var(--r-sm) var(--r-sm);padding-top:14px;font-size:13px}.settings{gap:var(--sp-5);grid-template-columns:172px minmax(0,1fr);align-items:start;display:grid}.settings-nav{gap:1px;display:grid;position:sticky;top:88px}.settings-nav a{border-radius:var(--r-sm);color:var(--ink-2);transition:color var(--t-fast), background var(--t-fast);padding:7px 11px;font-size:13px;text-decoration:none;display:block}.settings-nav a:hover{color:var(--ink);background:#96b4ff0d}.settings-nav a.is-on{color:var(--ink);background:#3de0ff14;font-weight:700;box-shadow:inset 0 0 0 1px #3de0ff29}.settings-body{gap:var(--sp-4);min-width:0;display:grid}.setting{gap:var(--sp-4);border-top:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) minmax(0,280px);align-items:center;padding:14px 0;display:grid}.setting:first-of-type{border-top:0;padding-top:0}.setting-label{font-weight:600}.setting-desc{color:var(--ink-3);margin:3px 0 0;font-size:12px}.setting-control{justify-self:end;width:100%}.setting-control select,.setting-control input[type=text]{width:100%}.setting--stack{grid-template-columns:minmax(0,1fr)}.setting--stack .setting-control{justify-self:stretch}input.switch[type=checkbox]{appearance:none;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--hairline-2);cursor:pointer;width:40px;height:22px;transition:background var(--t-fast), border-color var(--t-fast);justify-self:end;position:relative}input.switch[type=checkbox]:after{content:"";border-radius:var(--r-pill);background:var(--ink-3);width:16px;transition:transform var(--t-fast), background var(--t-fast);border:0;position:absolute;inset:2px auto 2px 2px;transform:none}input.switch[type=checkbox]:checked{border-color:var(--action);background:#3de0ff38}input.switch[type=checkbox]:checked:after{background:var(--action);transform:translate(18px)}.proj{gap:var(--sp-3);border:1px solid var(--hairline);border-left:3px solid var(--sc,var(--cycle));border-radius:var(--r-md);background:var(--surface-2);grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px;display:grid}.proj+.proj{margin-top:var(--sp-2)}.proj-name{letter-spacing:-.01em;font-weight:700}.proj-boards{gap:var(--sp-3);color:var(--ink-3);flex-wrap:wrap;margin-top:5px;font-size:12px;display:flex}.proj-boards b{color:var(--ink-2);font-weight:500}.proj-actions{flex-wrap:wrap;gap:6px;display:flex}.wizard{border:1px solid var(--hairline-2);border-radius:var(--r-md);background:var(--surface-2);margin-top:var(--sp-3);overflow:hidden}.wizard-head{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--hairline);background:linear-gradient(96deg,#3de0ff12,#8b5cff12);flex-wrap:wrap;display:flex}.steps{gap:var(--sp-3);flex-wrap:wrap;display:flex}.step{color:var(--ink-3);align-items:center;gap:7px;font-size:12px;display:flex}.step-dot{border-radius:var(--r-pill);width:20px;height:20px;font-family:var(--font-mono);border:1px solid var(--hairline-2);color:var(--ink-3);flex:none;place-items:center;font-size:11px;display:grid}.step-n{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.08em;font-size:10px;font-style:normal}.token input.path,.token input[type=text]{min-width:160px;font-family:var(--font-mono);flex:1;font-size:12px}.step.is-on{color:var(--ink);font-weight:700}.step.is-on .step-dot{border-color:var(--action);color:var(--action);background:#3de0ff1f}.step.is-done .step-dot{border-color:var(--st-done);background:var(--st-done);color:var(--night-900)}.wizard-body{padding:var(--sp-4)}.wizard-step{display:none}.wizard-step.is-on{gap:var(--sp-3);display:grid}.wizard-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--hairline);flex-wrap:wrap;display:flex}.wizard-foot .btn-set{gap:var(--sp-2);display:flex}.map-scroll{overflow-x:auto}.map{border-collapse:collapse;width:100%;min-width:560px;font-size:13px}.map th,.map td{text-align:left;border-bottom:1px solid var(--hairline);vertical-align:middle;padding:9px 10px}.map th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);white-space:nowrap;font-size:11px;font-weight:400}.map tr:last-child td{border-bottom:0}.map td:first-child{white-space:nowrap}.map select{width:100%;min-width:200px}.req{color:var(--pr-crit);font-family:var(--font-mono);margin-left:4px;font-size:11px}.colid{font-family:var(--font-mono);color:var(--ink-3);margin-top:2px;font-size:11px;display:block}.label-group{gap:var(--sp-2);padding:var(--sp-3) 0;border-top:1px solid var(--hairline);display:grid}.label-group:first-of-type{border-top:0;padding-top:0}.label-set{flex-wrap:wrap;gap:6px;display:flex}.token{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.token code{font-family:var(--font-mono);border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--hairline);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:6px 10px;font-size:12px;overflow:hidden}code.tool{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--hairline);color:var(--ink);white-space:nowrap;border-radius:5px;padding:1px 5px;font-size:12px}.checklist code.tool{flex:none}.notice{padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--hairline);border-left:2px solid var(--sc,var(--st-test));background:var(--surface-2);gap:4px;font-size:13px;display:grid}.notice strong{color:var(--ink)}.notice p{color:var(--ink-2);margin:0}@media (width<=1200px){.grid-2,.grid-2--wide-left,.grid-2--wide-right,.focus{grid-template-columns:minmax(0,1fr)}.focus-side{border-left:0;border-top:1px solid var(--hairline);padding-left:0;padding-top:var(--sp-4)}.settings{grid-template-columns:minmax(0,1fr)}.settings-nav{gap:var(--sp-1);padding-bottom:var(--sp-1);grid-auto-columns:max-content;grid-auto-flow:column;position:static;overflow-x:auto}}@media (width<=920px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--hairline);align-items:center;gap:var(--sp-4);height:auto;padding:var(--sp-3) var(--sp-4);flex-direction:row;position:static}.nav{gap:var(--sp-1);grid-auto-columns:max-content;grid-auto-flow:column}.nav-item{padding:8px 12px}.nav-item:before{display:none}.side-foot{gap:var(--sp-2);margin-top:0;margin-left:auto}.side-user{border-top:0;padding-top:0}.topbar,.page-wrap{padding-left:var(--sp-4);padding-right:var(--sp-4)}.row-task{grid-template-columns:17px minmax(0,1fr) auto 30px}.row-task-due{display:none}.field-grid,.setting{grid-template-columns:minmax(0,1fr)}.setting-control{justify-self:stretch}input.switch[type=checkbox]{justify-self:start}.proj{grid-template-columns:minmax(0,1fr)}.nav-item--foot{border-top:0;margin-top:0;padding-top:8px}.nav-sub{padding-left:var(--sp-2);border-left:1px solid var(--hairline);grid-auto-columns:max-content;grid-auto-flow:column;margin:0}.nav-subitem{padding:6px 8px}}@media (width<=620px){.sidebar{flex-direction:column;align-items:stretch}.nav{grid-auto-columns:auto;grid-auto-flow:row}.nav-sub{grid-auto-columns:auto;grid-auto-flow:row;margin-left:14px}.side-foot{margin-left:0}.brand-mark{font-size:16px}.focus-title{font-size:20px}.topbar{padding-top:var(--sp-3);padding-bottom:var(--sp-3)}.row-task{grid-template-columns:17px minmax(0,1fr)}.row-task-flags{grid-column:2}.icon-link{display:none}.extract-head{grid-template-columns:17px minmax(0,1fr)}.extract-tags{grid-column:2;grid-auto-flow:column;justify-content:start;justify-items:start}.composer-foot{flex-direction:column;align-items:stretch}.composer-foot .btn-set{justify-content:stretch}.composer-foot .btn-set .btn{flex:1}.apply-bar{flex-direction:column;align-items:stretch}.apply-bar .btn-set{justify-content:stretch}.apply-bar .btn{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.login-screen{min-height:100vh;padding:var(--sp-5);place-items:center;display:grid}.login-card{gap:var(--sp-3);width:min(380px,100%);padding:var(--sp-6);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--lift);display:grid}.login-card .brand-mark{text-align:center;margin-bottom:var(--sp-2)}.composer-error{color:var(--st-blocked);margin:var(--sp-1) 0;font-size:13px}.composer{gap:var(--sp-2);display:grid}.composer textarea{resize:vertical;min-height:120px}.composer-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.filter-group{gap:var(--sp-1);display:flex}.filter-group .chip{cursor:pointer}.filter-group .chip.is-on{color:var(--ink);background:#3de0ff24;box-shadow:inset 0 0 0 1px #3de0ff66}.extract-list{gap:var(--sp-3);display:grid}.extract{gap:var(--sp-3);padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);transition:opacity var(--t-fast);grid-template-columns:auto 1fr;display:grid}.extract[data-state=applied]{opacity:.55}.extract[data-state=failed]{border-left:3px solid var(--st-blocked)}.extract-head{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);display:flex}.extract-title{margin:0 0 var(--sp-1);font-weight:600}.state{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);text-transform:uppercase}.apply-bar{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--hairline-2);border-radius:var(--r-md);box-shadow:var(--lift);background:#17203af5;display:flex;position:sticky;bottom:0}.metric-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin:0;display:grid}.metric{padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md)}.metric dt{color:var(--ink-3);margin:0 0 var(--sp-1);font-size:12px}.metric dd{margin:0;font-size:22px;font-weight:700}.metric dd[data-status=done]{color:var(--st-done)}.metric dd[data-status=progress]{color:var(--st-progress)}.metric dd[data-status=blocked]{color:var(--st-blocked)}.metric dd[data-status=wait]{color:var(--st-wait)}.risks{gap:var(--sp-3);display:grid}.risk{padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);gap:var(--sp-2);display:grid}.risk-head{gap:var(--sp-2);align-items:center;display:flex}.risk-title{margin:0;font-weight:600}.row-task.is-done .row-task-title{color:var(--ink-3);text-decoration:line-through}.wr-grid{gap:var(--sp-4);grid-template-columns:1fr 1.2fr;align-items:start;display:grid}@media (width<=1200px){.wr-grid{grid-template-columns:1fr}}.wr-range{align-items:end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.wr-range label{gap:var(--sp-1);color:var(--ink-2);font-size:12px;display:grid}.wr-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.wr-author{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.wr-author label{align-items:baseline;gap:var(--sp-2);color:var(--ink-2);font-size:12px;display:flex}.wr-author input{width:140px}.wr-author code{font-family:var(--font-mono);color:var(--ink-1);font-size:11.5px}.seg{border:1px solid var(--hairline);border-radius:var(--r-md);display:inline-flex;overflow:hidden}.seg-btn{cursor:pointer;padding:var(--sp-2) var(--sp-3);color:var(--ink-2);background:0 0;border:0;font-size:12px}.seg-btn+.seg-btn{border-left:1px solid var(--hairline)}.seg-btn[aria-pressed=true]{background:var(--surface-2);color:var(--ink-1);font-weight:600}.wr-tree{margin-top:var(--sp-3);font-size:13px}.wr-proj+.wr-proj{margin-top:var(--sp-3)}.wr-proj>h3{margin:0 0 var(--sp-2);font-size:13px}.wr-group>h4{color:var(--ink-2);margin:var(--sp-2) 0 var(--sp-1);font-size:12px}.wr-tree ul{padding-left:var(--sp-4);color:var(--ink-2);margin:0}.wr-tree li{line-height:1.9}.wr-tree .chip{margin-left:var(--sp-2)}.wr-pct--none{opacity:.55;border-style:dashed}.wr-text{resize:vertical;width:100%;min-height:360px;font-family:var(--font-ui);line-height:1.7}.inline-form{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.proj-list{margin:0 0 var(--sp-3);gap:var(--sp-2);padding:0;list-style:none;display:grid}.proj{padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);justify-content:space-between;align-items:center;display:flex}.proj-form{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;display:grid}.proj-form label{gap:var(--sp-1);color:var(--ink-2);font-size:12px;display:grid}.proj-form label input{width:100%}.proj-form .composer-error,.proj-form .btn{grid-column:1/-1}.proj-form .btn{justify-self:start;max-width:200px}.proj-code{margin-left:var(--sp-2);font-family:var(--font-num,inherit)}.proj-code--none{opacity:.55}.proj-form .btn-set{gap:var(--sp-2);grid-column:1/-1;display:flex}.ibucket+.ibucket{margin-top:var(--sp-5)}.ibucket-head{align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.ibucket-name{font-size:13px;font-weight:700}.ibucket-count{color:var(--ink-3);font-size:11.5px}.module-project+.module-project{margin-top:var(--sp-4)}.module-project-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2);border-bottom:1px solid var(--hairline);padding-bottom:4px;display:flex}.module-project-name{color:var(--ink-2);font-size:12px;font-weight:700}.module-project-count{color:var(--ink-3);font-size:11.5px}.modal-scrim{z-index:70;padding:var(--sp-4);background:#060a149e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:min(460px,100%);max-height:calc(100vh - var(--sp-6));background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-md);box-shadow:var(--lift);flex-direction:column;display:flex}.modal-head{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--hairline);display:flex}.modal-head h3{flex:1;margin:0;font-size:14px;font-weight:700}.modal-body{padding:var(--sp-4);overflow:auto}.modal--wide{width:min(760px,100%)}.modal-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--hairline);display:flex}.field-stack{gap:var(--sp-3);display:grid}.field-stack label{gap:var(--sp-1);color:var(--ink-2);font-size:12px;display:grid}.field-stack label input{width:100%}.settings-rows{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end;display:grid}.settings-rows label{gap:var(--sp-1);color:var(--ink-2);max-width:360px;font-size:12px;display:grid}.settings-rows label input{width:100%}.settings-rows .btn{grid-column:1/-1;justify-self:start;max-width:200px}.data-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.account{gap:var(--sp-4);display:grid}.account-facts{gap:var(--sp-1) var(--sp-4);grid-template-columns:max-content 1fr;margin:0;font-size:13px;display:grid}.account-facts dt{color:var(--ink-3)}.account-facts dd{margin:0;font-weight:600}.account-facts dd[data-status]{color:var(--sc)}.account-block{border-top:1px solid var(--hairline);padding-top:var(--sp-3)}.account-block>summary{cursor:pointer;margin-bottom:var(--sp-3);font-size:13px;font-weight:600}.account-block--flat{gap:var(--sp-3);display:grid}.account-block .field-stack,.account-block label{max-width:360px}.account-act{gap:var(--sp-2);flex-wrap:wrap;display:flex}.totp-qr{border-radius:var(--r-sm);width:180px;height:180px;display:block}.totp-secret{-webkit-user-select:all;user-select:all;letter-spacing:.06em}.recovery-list{gap:var(--sp-2);letter-spacing:.04em;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin:0;padding:0;font-size:14px;list-style:none;display:grid}.recovery-act{gap:var(--sp-2);display:flex}.composer-foot>.btn{margin-left:auto}input[type=date],input[type=number]{color:var(--night-900);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}input::placeholder,textarea::placeholder{color:var(--ink-3);opacity:1}select option{color:var(--ink);background:var(--surface-2)}.extract-module-group{gap:var(--sp-2);margin-top:var(--sp-1);display:flex}.extract-module-group .extract-module{flex:1}.extract-module{gap:2px;display:grid}.extract-action-group{gap:var(--sp-2);margin-top:var(--sp-1);flex-wrap:wrap;display:flex}.extract-action-group .extract-module{flex:200px;min-width:0}.extract-action-group select{width:100%}.extract[data-action=skip]:not([data-state=applied]){opacity:.6}.extract-error{color:var(--st-blocked);font-size:.92em}.extract-body input.extract-title-input{width:100%;font:inherit;font-size:inherit;color:var(--ink);background:var(--surface-2);border:1px solid var(--hairline-2);border-radius:var(--r-sm);outline:none;min-height:36px;padding:8px 11px}.extract-body input.extract-title-input:focus{border-color:var(--st-progress)}.filter-group .chip[aria-pressed=true]{color:var(--ink);background:#3de0ff24;box-shadow:inset 0 0 0 1px #3de0ff66}.items-toolbar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.scope-chip{align-items:center;gap:var(--sp-2);border:1px solid var(--st-progress);background:color-mix(in srgb, var(--st-progress) 12%, transparent);color:var(--ink);border-radius:var(--r-pill);cursor:pointer;padding:4px 10px;font-size:12px;display:inline-flex}.scope-chip-x{color:var(--ink-2)}.scope-chip:hover .scope-chip-x{color:var(--ink)}.bulk-bar{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);border:1px solid color-mix(in srgb, var(--action) 35%, transparent);border-radius:var(--r-md);background:color-mix(in srgb, var(--action) 8%, transparent);flex-wrap:wrap;padding:6px 10px;display:flex}.bulk-bar .num{color:var(--action);font-weight:600}.igroups{gap:var(--sp-2);display:grid}.igroup{border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface)}.igroup-head{align-items:center;gap:var(--sp-2);width:100%;height:38px;padding:0 var(--sp-3);background:var(--surface-2);color:var(--ink);font:inherit;cursor:pointer;z-index:2;border-radius:var(--r-md) var(--r-md) 0 0;border:0;font-weight:600;display:flex;position:sticky;top:0}.igroup-head:hover{background:var(--surface-3)}.igroup-caret{color:var(--ink-3);transition:transform var(--t-fast)}.igroup.is-collapsed>.igroup-head .igroup-caret{transform:rotate(-90deg)}.igroup-name{text-align:left;flex:1}.igroup-count{color:var(--ink-2);font-size:12px}.igroup.is-collapsed>.isubs,.igroup.is-collapsed>.irows{display:none}.isubs{padding:var(--sp-2);gap:1px;display:grid}.igroup--sub{border-color:var(--hairline);background:0 0}.igroup--sub>.igroup-head{background:var(--night-880);z-index:1;height:32px;font-size:12.5px;font-weight:500;top:38px}.irows{margin:0;padding:0;list-style:none}.irows li{scroll-margin-top:78px;position:relative}.irows li:last-child .irow{border-radius:0 0 var(--r-sm) var(--r-sm)}.irow{align-items:center;gap:var(--sp-3);border:0;border-top:1px solid var(--hairline);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;padding:9px 34px;display:flex}.irow:hover{background:var(--surface-2)}.irow.is-active{background:var(--surface-3)}.irow-check{width:15px;height:15px;accent-color:var(--action);cursor:pointer;z-index:1;margin:0;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.irow.is-checked{background:color-mix(in srgb, var(--action) 8%, transparent)}.irow-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.irow-due{color:var(--ink-3);text-align:right;min-width:76px;font-size:11.5px}.irow-del{border-radius:var(--r-sm,6px);width:22px;height:22px;color:var(--ink-3);cursor:pointer;opacity:0;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;transition:opacity .12s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}@media (hover:hover){.irows li:hover .irow-del,.irow-del:focus-visible{opacity:1}}@media (hover:none){.irow-del{opacity:.55}}.irow-del:hover{background:var(--surface-3);color:var(--pr-crit)}.status-badge{text-align:center;border-radius:var(--r-sm);white-space:nowrap;min-width:62px;color:var(--sc,var(--ink-3));background:color-mix(in srgb, var(--sc,var(--ink-3)) 16%, transparent);border:1px solid color-mix(in srgb, var(--sc,var(--ink-3)) 38%, transparent);flex:none;padding:3px 8px;font-size:11.5px;font-weight:700}.cyclist{border:1px solid var(--hairline);border-radius:var(--r-md);margin:0;padding:0;list-style:none;overflow:hidden}.cyclist li{align-items:center;display:flex}.cyclist li+li{border-top:1px solid var(--hairline)}.cyc-row{align-items:center;gap:var(--sp-3);min-width:0;padding:12px var(--sp-4);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.cyc-act{gap:var(--sp-2);margin-right:var(--sp-3);flex:none;display:flex}.cyc-row:hover{background:var(--surface-2)}.cyc-name{min-width:120px;font-weight:600}.cyc-range{color:var(--ink-3);font-size:11.5px}.cyc-meta{color:var(--ink-2);margin-left:auto;font-size:12px}.cyc-prog{border-radius:var(--r-pill);background:var(--night-880);flex:none;width:120px;height:6px;overflow:hidden}.cyc-prog>i{background:var(--st-done);height:100%;display:block}.cyc-pct{text-align:right;min-width:40px;color:var(--ink-2);font-size:12px}.cyc-rule{margin-top:var(--sp-3);border-top:1px solid var(--hairline);padding-top:var(--sp-3)}.cyc-rule>summary{cursor:pointer;color:var(--ink-2);width:fit-content;font-size:12px}.cyc-rule>summary:hover{color:var(--ink)}.cyc-rule .settings-rows{margin-top:var(--sp-3)}.cyc-rule-act{align-items:center;gap:var(--sp-3);grid-column:1/-1;display:flex}.drawer{background:var(--surface);border-left:1px solid var(--hairline-2);width:760px;max-width:calc(100vw - 48px);box-shadow:var(--lift);z-index:60;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-resize{cursor:col-resize;z-index:1;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.drawer-resize:hover,.drawer-resize:focus-visible{background:color-mix(in srgb, var(--action) 35%, transparent);outline:none}body.is-resizing,body.is-resizing *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}@media (width<=640px){.drawer{max-width:100vw;width:100vw!important}.drawer-resize{display:none}}.drawer-head{align-items:center;gap:var(--sp-2);height:48px;padding:0 var(--sp-4);border-bottom:1px solid var(--hairline);display:flex}.drawer-key{color:var(--ink-3);font-size:12px}.drawer-head>.btn:first-of-type{margin-left:auto}.drawer-del{color:var(--st-blocked)}.drawer-del:hover{border-color:var(--st-blocked)}.drawer-body{padding:var(--sp-4);gap:var(--sp-3);flex:1;align-content:start;display:grid;overflow:auto}.drawer-title{cursor:text;margin:0;font-size:17px}.drawer-title-input{width:100%;font-size:17px;font-weight:600}.drawer-sec{margin:var(--sp-2) 0 0;color:var(--ink-2);font-size:12.5px;font-weight:700}.drawer-path{color:var(--ink-2);word-break:break-all;font-size:12px}.dprops{gap:var(--sp-2);margin:0;display:grid}.dprop{align-items:center;gap:var(--sp-3);grid-template-columns:92px 1fr;display:grid}.dprop-k{color:var(--ink-3);font-size:12px}.dprop-v{margin:0;font-size:13px}.dprop-v--dates{align-items:center;gap:var(--sp-2);display:flex}.dprop-v--pct{align-items:center;gap:var(--sp-1);display:flex}.cyc-trail{flex-wrap:wrap;align-items:center;gap:2px;font-size:12px;display:inline-flex}.dprop-v--pct input{width:5.5rem}.doc-view{background:var(--night-880);border:1px solid var(--hairline);min-height:200px;max-height:620px;color:var(--ink-2);white-space:pre-wrap;word-break:break-word;border-radius:10px;margin:0;padding:12px;font-size:12.5px;line-height:1.6;overflow:auto}.devlog{gap:var(--sp-2);display:grid}.devlog-entry{gap:var(--sp-1);display:grid}.devlog-head{justify-content:space-between;align-items:center;font-size:12px;display:flex}.doc-view--entry{min-height:0;max-height:none}.wiki-pending{gap:var(--sp-2);border:1px dashed var(--hairline-2);padding:var(--sp-3);border-radius:10px;justify-items:start;display:grid}.sec-head{align-items:baseline;gap:var(--sp-2);display:flex}.sec-state{color:var(--ink-3);font-size:11px}.sec-state--dirty{color:var(--st-test)}.sec-state--saved{color:var(--st-done)}.sec-state--error{color:var(--st-blocked)}.req-edit{resize:vertical;width:100%;min-height:320px;font-family:var(--font-ui);font-size:13px;line-height:1.7}.doc-view--quote{border-left:2px solid var(--hairline-2);color:var(--ink-3)}.wiki-err{color:var(--st-blocked);word-break:break-word;margin:0;font-size:12px}.cmts{gap:var(--sp-3);margin:0;padding:0;list-style:none;display:grid}.cmt{border-left:2px solid var(--hairline-2);padding-left:var(--sp-3)}.cmt-head{gap:var(--sp-2);align-items:baseline;display:flex}.cmt-author{font-size:12.5px;font-weight:600}.cmt-time{color:var(--ink-3);font-size:11px}.cmt-body{color:var(--ink-2);white-space:pre-wrap;margin:4px 0 0;font-size:13px}.cmt-new{gap:var(--sp-2);display:grid}.cmt-actions{justify-content:flex-end;align-items:center;gap:var(--sp-2);display:flex}.mod-manager{gap:var(--sp-3);display:grid}.mod-project-bar{align-items:center;gap:var(--sp-2);display:flex}.mod-project-bar select{flex:1;max-width:260px}.mod-tree{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.mod-tree--sub{margin:var(--sp-1) 0 var(--sp-2) var(--sp-4);padding-left:var(--sp-3);border-left:1px solid var(--hairline);gap:4px}.mod-row{align-items:center;gap:var(--sp-2);padding:6px 0;display:flex}.mod-row>:first-child{flex:1;min-width:0}.today-list{border:1px solid var(--hairline);border-radius:var(--r-md);margin:0;padding:0;list-style:none;overflow:hidden}.today-list li+li .irow{border-top:1px solid var(--hairline)}.today-list .irow{border-top:0}.attention{gap:var(--sp-4);display:grid}.attention-head{align-items:baseline;gap:var(--sp-2);display:flex}.ai-fallback-badge{color:#c7cdd6;vertical-align:middle;background:#3a3f4a;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.cyc-notice{margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border-left:2px solid var(--sc);background:color-mix(in srgb, var(--sc) 8%, transparent);border-radius:var(--r-sm,4px);color:var(--ink-2);font-size:12.5px}.close-notice{gap:var(--sp-2);display:grid}.close-notice-row{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.close-notice-row p{margin:0;font-size:13px}.close-notice-row .btn{flex:none}.close-cyc{gap:var(--sp-3);display:grid}.close-cyc-range{margin:0;font-size:12px}.close-cyc-sum{gap:var(--sp-2);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.close-cyc-sum div{padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md)}.close-cyc-sum dt{color:var(--ink-3);font-size:11.5px}.close-cyc-sum dd{margin:2px 0 0;font-size:18px;font-weight:700}.close-cyc-sum dd[data-status]{color:var(--sc)}.close-cyc-head{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:12.5px;display:flex}.close-cyc-list{border:1px solid var(--hairline);border-radius:var(--r-md);margin:0;padding:0;list-style:none}.close-cyc-list li{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);display:flex}.close-cyc-list li+li{border-top:1px solid var(--hairline)}.close-cyc-item{flex:1;gap:2px;min-width:0;display:grid}.close-cyc-title{overflow-wrap:anywhere;font-weight:600}.close-cyc-item .dim{font-size:11.5px}.close-cyc-hint{color:var(--st-blocked)}.close-cyc-list .seg{flex:none}@media (width<=640px){.close-cyc-sum{grid-template-columns:repeat(3,minmax(0,1fr))}.close-cyc-list li{flex-wrap:wrap}}.cyc-trend{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.cyc-trend li{align-items:center;gap:var(--sp-3);grid-template-columns:120px minmax(0,1fr) 96px 180px;font-size:12.5px;display:grid}.cyc-trend-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cyc-trend-bar{border-radius:var(--r-pill);background:var(--night-880);height:10px;position:relative;overflow:hidden}.cyc-trend-bar>i{border-radius:var(--r-pill);position:absolute;inset:0 auto 0 0}.cyc-trend-bar>.is-committed{background:color-mix(in srgb, var(--st-done) 28%, transparent)}.cyc-trend-bar>.is-done{background:var(--st-done)}.cyc-trend-num{text-align:right;color:var(--ink-2)}.cyc-trend-out{font-size:11.5px}@media (width<=760px){.cyc-trend li{grid-template-columns:1fr auto}.cyc-trend-bar{grid-area:2/1/auto/-1}.cyc-trend-out{grid-column:1/-1}}
