:root{--bg:#F5F6F8;--surface:#FFFFFF;--surface-2:#EEF0F4;--surface-3:#E6E9EE;--line:#E2E5EA;--line-2:#CDD2DA;--fg:#131821;--fg-2:#465060;--fg-3:#687284;--accent:#3550C8;--accent-weak:#E8ECFA;--accent-fg:#FFFFFF;--danger:#C42F27;--danger-weak:#FBE8E6;--warn:#9A5B00;--warn-weak:#FCF0DA;--ok:#2D7A4C;--ok-weak:#E2F1E7;--baseline:#A3ABB8;--link:#8C95A3;--golive:#131821;--shadow:0 12px 32px rgba(19,24,33,.16),0 2px 6px rgba(19,24,33,.08);color-scheme:light;--font-ui:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--font-display:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--font-mono:"Cascadia Mono",ui-monospace,Consolas,"SF Mono",Menlo,monospace}html,body{height:100%;width:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-ui);font-size:13px;line-height:1.4;overflow:hidden}*{box-sizing:border-box}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{height:100%;display:flex;flex-direction:column;min-height:0}.bar1,.bar2{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;background:var(--surface);border-bottom:1px solid var(--line);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.bar1{padding-block:10px;gap:8px}.bar2{padding-block:8px}.brand{display:flex;align-items:center;gap:10px;margin-right:4px;min-width:0}.mark{width:30px;height:30px;border-radius:8px;background:var(--fg);display:grid;place-items:center;flex:none}.mark svg{stroke:var(--bg)}.brand h1{font-family:var(--font-display);font-size:15px;font-weight:650;margin:0;letter-spacing:-.01em;white-space:nowrap}.brand p{margin:0;font-size:11.5px;color:var(--fg-3);white-space:nowrap}.spacer{flex:1}.btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:7px;border:1px solid var(--line-2);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{height:28px;padding:0 9px;font-size:12px}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line-2))}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn.on{background:var(--accent-weak);border-color:color-mix(in srgb,var(--accent) 45%,var(--line-2));color:var(--accent)}.btn .count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:inline-grid;place-items:center}.btn .count.zero{background:var(--surface-3);color:var(--fg-3)}.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:7px;overflow:hidden;background:var(--surface)}.seg button{height:30px;padding:0 12px;border:0;background:transparent;font-size:12.5px;font-weight:500;color:var(--fg-2);cursor:pointer}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.field{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);font-size:12.5px}.field .k{color:var(--fg-3)}.field input,.field select{border:0;background:transparent;outline:none;min-width:0}.field:focus-within{border-color:var(--accent)}.field svg{width:14px;height:14px;stroke:var(--fg-3);fill:none;stroke-width:1.8;stroke-linecap:round}.stats{display:flex;gap:14px;font-size:12px;color:var(--fg-3);flex-wrap:wrap}.stats b{color:var(--fg);font-weight:650;font-variant-numeric:tabular-nums}.stats .bad b{color:var(--danger)}.stats .wrn b{color:var(--warn)}.menuwrap{position:relative}.menu{position:absolute;right:0;top:36px;z-index:40;background:var(--surface);border:1px solid var(--line-2);border-radius:9px;box-shadow:var(--shadow);padding:6px;min-width:250px}.menu button{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:6px;cursor:pointer}.menu button:hover{background:var(--surface-2)}.menu small{color:var(--fg-3);font-size:11.5px}.chart{flex:1;min-height:300px;overflow:auto;position:relative;background:var(--surface);overscroll-behavior:contain}.cgrid{display:grid;grid-template-columns:var(--gridw) max-content;width:max-content;min-width:100%}.corner{position:sticky;top:0;left:0;z-index:6;background:var(--surface-2);border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.thead{position:sticky;top:0;z-index:5;background:var(--surface-2);border-bottom:1px solid var(--line-2)}.gbody{position:sticky;left:0;z-index:4;background:var(--surface);border-right:1px solid var(--line-2)}.tbody{position:relative}:root{--gridw:600px}.ghead{display:grid;height:100%;align-items:end;padding-bottom:7px;font-size:11px;font-weight:600;color:var(--fg-3);text-transform:uppercase;letter-spacing:.05em}.gr{display:grid;align-items:center;border-bottom:1px solid var(--line);font-size:13px;cursor:default}.cols-d{grid-template-columns:52px minmax(0,1fr) 132px 98px 76px}.gnarrow .cols-d{grid-template-columns:52px 0 0 0 0}.gnarrow .cols-d>span:nth-child(n+2){display:none}.cols-h{grid-template-columns:40px minmax(0,1fr) 72px 92px 130px}.gr>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-right:8px}.gr .c-id{padding-left:16px;color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:12px}.ghead .c-id{padding-left:16px}.gr.ws{background:var(--surface-2);font-weight:650}.gr.ws .c-id{padding-left:8px}.gr.task:hover,.gr.sel{background:var(--accent-weak)}.gr.sel{box-shadow:inset 3px 0 0 var(--accent)}.gr.pulse{animation:pulse 1.6s ease-out 1}@keyframes pulse{0%{background:color-mix(in srgb,var(--accent) 35%,transparent)}to{background:transparent}}.nm{border:0;background:transparent;padding:0;cursor:pointer;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:inherit}.nm:hover{text-decoration:underline;text-underline-offset:2px}.c-name{display:flex;align-items:center;gap:6px}.c-own{display:flex;align-items:center;gap:6px;color:var(--fg-2);font-size:12.5px}.c-own .none{color:var(--fg-3);font-style:italic}.chip{width:9px;height:9px;border-radius:3px;flex:none;display:inline-block}.c-fin{font-variant-numeric:tabular-nums;color:var(--fg-2);font-size:12.5px}.chev{border:0;background:transparent;width:22px;height:22px;border-radius:5px;cursor:pointer;display:inline-grid;place-items:center;color:var(--fg-3)}.chev:hover{background:var(--surface-3)}.chev svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .15s}.chev.closed svg{transform:rotate(-90deg)}.wsmeta{font-size:11.5px;color:var(--fg-3);font-weight:500}.tag{font-size:10.5px;font-weight:650;padding:1px 6px;border-radius:4px;flex:none}.tag.ready{background:var(--ok-weak);color:var(--ok)}.tag.bad{background:var(--danger-weak);color:var(--danger)}.tag.flag{background:var(--warn-weak);color:var(--warn)}.pill{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;line-height:16px}.st-Complete{background:var(--surface-3);color:var(--fg-2)}.st-Overdue{background:var(--danger-weak);color:var(--danger)}.st-Date-moved{background:var(--warn-weak);color:var(--warn)}.st-In-progress{background:var(--accent-weak);color:var(--accent)}.st-Not-started{box-shadow:inset 0 0 0 1px var(--line-2);color:var(--fg-2)}.st-No-dates{box-shadow:inset 0 0 0 1px var(--line-2);color:var(--fg-3);font-style:italic}.rag-Red{background:var(--danger-weak);color:var(--danger)}.rag-Amber{background:var(--warn-weak);color:var(--warn)}.rag-Green{background:var(--ok-weak);color:var(--ok)}.rag-Complete{background:var(--surface-3);color:var(--fg-2)}.rag-No-dates,.rag-No-documents{box-shadow:inset 0 0 0 1px var(--line-2);color:var(--fg-3)}svg text{font-family:var(--font-ui)}.ax-top{font-size:11px;font-weight:650;fill:var(--fg-2)}.ax-bot{font-size:10.5px;fill:var(--fg-3);font-variant-numeric:tabular-nums}.ax-line{stroke:var(--line-2)}.gl-major{stroke:var(--line)}.gl-minor{stroke:var(--line);stroke-dasharray:1 3}.row-ws{fill:var(--surface-2)}.row-sel{fill:var(--accent-weak)}.we{fill:var(--surface-2);opacity:.55}.we.hol{fill:#e8c9a8;opacity:.5}.flist{display:grid;gap:0}.frow{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line-2)}.frow>div{min-width:0}.sw{display:flex;gap:6px;align-items:center;font-size:13px;flex:none}.srow .scp{width:auto;max-width:150px;height:30px;font-size:12px}.libbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:12px;padding:8px 10px;border:1px dashed var(--line-2);border-radius:8px;font-size:12.5px;color:var(--fg-2)}.vis-tag{font-size:10.5px;color:var(--fg-3);border:1px solid var(--line-2);border-radius:4px;padding:0 4px;margin-left:6px;white-space:nowrap}.hl{display:flex;align-items:center;gap:6px 12px;padding:7px 0;border-bottom:1px solid var(--line-2);flex-wrap:wrap}.hl .d{min-width:112px;font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--fg-2)}.hl .nm2{flex:1 1 150px;min-width:0;font-size:13px}.hl-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);margin:14px 0 2px}.addrow{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.addrow>div{flex:1 1 140px;min-width:0}.gr.task.kid .c-name{padding-left:14px}.gr.task.kid .c-id{padding-left:12px;font-size:11px;overflow:visible;white-space:nowrap}.gr.task.sumr .nm{font-weight:650}.rlist{display:grid;gap:4px}.rrow{display:flex;gap:8px;align-items:center;width:100%;text-align:left;padding:6px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);cursor:pointer;font:inherit;font-size:12.5px;color:inherit}.rrow:hover{background:var(--surface-2)}.rrow .id{font-weight:650;font-variant-numeric:tabular-nums}.rrow .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rrow .f{color:var(--fg-3);font-size:11.5px;white-space:nowrap}.mchk{display:flex;gap:8px;align-items:flex-start;font-size:13px;padding:4px 0}.mchk input{margin-top:3px}.sprows{display:grid;gap:6px}.sprow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 10px;padding:8px 10px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface-2)}.sprow .spn{font-weight:650;font-size:13px;min-width:74px;align-self:center}.sprow label{display:grid;gap:2px;flex:1 1 130px}.sprow .l{margin:0}.sprow .spw{flex:1 0 100%}.sprow .spi{flex:1 0 100%;font-size:12px;color:var(--fg-3)}.sprow .spi.bad{color:var(--danger)}.lnk{border:0;background:none;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.dl-tick{stroke:var(--fg-2);stroke-width:1.6;stroke-dasharray:3 2}.dl-flag{fill:var(--fg-2)}.dl-tick.late{stroke:var(--danger)}.dl-flag.late{fill:var(--danger)}.dchip{flex-wrap:wrap}.dchip .n{flex:1 1 110px}.dchip select.dty{height:26px;padding:0 4px;font-size:11.5px;width:auto;min-width:0}.sd-line{stroke:var(--accent);stroke-width:2}.sd-flag{fill:var(--accent)}.sd-txt{fill:var(--accent-fg);font-size:10.5px;font-weight:650}.gl-line{stroke:var(--golive);stroke-width:3}.gl-flag{fill:var(--golive)}.gl-txt{fill:var(--bg);font-size:10.5px;font-weight:650}.today-line{stroke:var(--fg-3);stroke-dasharray:3 3}.baseline{fill:var(--baseline)}.ofm{fill:var(--fg-2)}.lbl{font-size:11px;fill:var(--fg-2);font-variant-numeric:tabular-nums;pointer-events:none}.lbl .slip{fill:var(--warn);font-weight:650}.lbl .early{fill:var(--fg-3)}.lbl .late{fill:var(--danger);font-weight:650}.tail,.badge{fill:var(--danger)}.badge-t{fill:#fff;font-size:10px;font-weight:800;pointer-events:none}.dep{fill:none;stroke:var(--link);stroke-width:1.4;stroke-linejoin:round}.dep.bad{stroke:var(--danger);stroke-width:1.8}.dep.hot{stroke:var(--accent);stroke-width:2}.dep.dim{opacity:.18}.dep-hit{fill:none;stroke:transparent;stroke-width:10;cursor:pointer}.dep-hit:hover+.dep{stroke-width:2.6}.ar{fill:var(--link)}.ar-bad{fill:var(--danger)}.ar-hot{fill:var(--accent)}.bar-g{cursor:grab}.bar-g.dragging{cursor:grabbing}.bar-g .dot{opacity:0;fill:var(--surface);stroke:var(--accent);stroke-width:2;cursor:crosshair;transition:opacity .12s}.bar-g:hover .dot{opacity:1}.bar-g .rz{fill:transparent;cursor:ew-resize}.bar-g.dim{opacity:.22}.bar-g.sel .main{stroke:var(--fg);stroke-width:1.5}.bar-g.target .main{stroke:var(--accent);stroke-width:3}.bar-g.notarget{opacity:.3}.crit{fill:none;stroke:var(--accent);stroke-width:2.2}.float{stroke:var(--accent);stroke-width:2;stroke-dasharray:2 3;opacity:.6}.ghost{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:4 3}.ghost-fill{fill:var(--accent);opacity:.12}.ghost-lbl{font-size:11px;font-weight:650;fill:var(--accent)}.nodates{font-size:11px;fill:var(--fg-3);font-style:italic}.nodates-r{fill:none;stroke:var(--line-2);stroke-dasharray:3 3}.hl-lbl{font-size:12px;fill:var(--fg-2);font-weight:600}.hl-lbl.halo{paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.lbl2{font-size:12px;fill:var(--fg-2);font-variant-numeric:tabular-nums;pointer-events:none}.lbl2.late{fill:var(--danger);font-weight:650}.hl-ok{fill:var(--ok)}.hl-warn{fill:var(--warn)}.hl-bad{fill:var(--danger)}.hl-done{fill:var(--baseline)}.hl-prog{fill:#fff;opacity:.28}.dragline{stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4;fill:none}.dragghost{fill:var(--accent);opacity:.18;stroke:var(--accent);stroke-width:1.5}.tip{position:fixed;z-index:60;pointer-events:none;background:var(--surface);border:1px solid var(--line-2);border-radius:9px;box-shadow:var(--shadow);padding:10px 12px;font-size:12px;max-width:300px;line-height:1.45}.tip h4{margin:0 0 2px;font-size:13px}.tip .m{color:var(--fg-3)}.tip dl{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;margin:6px 0 0}.tip dt{color:var(--fg-3)}.tip dd{margin:0;font-variant-numeric:tabular-nums}.impact{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:45;width:min(880px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px;display:grid;gap:10px}.impact h3{margin:0;font-size:14px;font-family:var(--font-display);text-wrap:balance}.impact .row{display:flex;flex-wrap:wrap;gap:6px}.mv{font-size:12px;padding:3px 8px;border-radius:6px;background:var(--surface-2);font-variant-numeric:tabular-nums}.mv b{color:var(--warn)}.mv.bad b{color:var(--danger)}.impact .note{font-size:12px;color:var(--fg-2)}.impact .acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.scrim{position:fixed;inset:0;background:#0a0e1459;z-index:48}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(460px,100vw);background:var(--surface);border-left:1px solid var(--line-2);box-shadow:var(--shadow);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.dr-h{padding:16px 20px 12px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}.dr-h .eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3)}.dr-h h2{margin:2px 0 6px;font-size:18px;font-family:var(--font-display);line-height:1.25;text-wrap:balance}.dr-b{flex:1;overflow:auto;padding:4px 20px 16px}.dr-f{padding:12px 20px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center}.sec{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);margin:18px 0 8px;display:flex;align-items:center;gap:8px}.sec:after{content:"";flex:1;height:1px;background:var(--line)}.fg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.fg .span2{grid-column:span 2}label.l{display:block;font-size:11.5px;font-weight:600;color:var(--fg-2);margin-bottom:4px}label.l small{font-weight:400;color:var(--fg-3)}.in{width:100%;height:34px;border:1px solid var(--line-2);border-radius:7px;background:var(--surface);padding:0 10px;font-size:13px}.in:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.in[readonly]{background:var(--surface-2);color:var(--fg-2)}textarea.in{height:auto;min-height:80px;padding:8px 10px;resize:vertical;line-height:1.45}.hint{font-size:11.5px;color:var(--fg-3);margin-top:3px;min-height:16px;font-variant-numeric:tabular-nums}.hint.err{color:var(--danger)}.hint.ok{color:var(--ok)}.why{background:var(--surface-2);border-radius:9px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:grid;gap:4px}.why b{font-weight:650}.why .bad{color:var(--danger);font-weight:600}.dl{display:grid;gap:4px}.dl div{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:5px 0;border-bottom:1px dashed var(--line)}.dl div span:last-child{color:var(--fg-3);font-variant-numeric:tabular-nums;white-space:nowrap}.log{font-size:12px;color:var(--fg-2);display:grid;gap:3px}.cms{max-height:230px;overflow:auto;border:1px solid var(--line-2);border-radius:8px;background:var(--surface-2);padding:4px 10px;display:grid;gap:0}.cm{padding:8px 0;border-bottom:1px solid var(--line-2)}.cm:last-child{border-bottom:0}.cm-h{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:12px}.cm-h b{font-weight:650}.cm-h span{color:var(--fg-3);font-size:11.5px;font-variant-numeric:tabular-nums}.cm-t{font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.cm.old .cm-t{color:var(--fg-2)}.cm-empty{font-size:12.5px;color:var(--fg-3);padding:10px 0}.cm-new{margin-top:8px}.cm-act{display:flex;align-items:center;gap:8px;margin-top:6px;justify-content:space-between}.cm-act .hint{margin:0}.range-row{display:flex;align-items:center;gap:10px}.range-row input{flex:1}.dlg{position:fixed;z-index:55;left:50%;top:50%;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 24px));max-height:calc(100% - 24px);background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column}.dlg-h{padding:18px 22px 6px;display:flex;align-items:flex-start;gap:12px}.dlg-h h2{margin:0;font-family:var(--font-display);font-size:18px}.dlg-h p{margin:2px 0 0;color:var(--fg-3);font-size:12.5px}.dlg-b{padding:4px 22px 14px;overflow:auto}.dlg-f{padding:12px 22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.title-in{font-size:17px;height:42px;font-weight:600;font-family:var(--font-display)}.typeseg{display:inline-flex;border:1px solid var(--line-2);border-radius:7px;overflow:hidden}.typeseg button{height:32px;padding:0 12px;border:0;background:var(--surface);cursor:pointer;font-size:12.5px;color:var(--fg-2)}.typeseg button+button{border-left:1px solid var(--line)}.typeseg button[aria-pressed=true]{background:var(--accent-weak);color:var(--accent);font-weight:600}.quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.qb{height:24px;padding:0 8px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);font-size:11.5px;cursor:pointer;color:var(--fg-2)}.qb:hover{border-color:var(--accent);color:var(--accent)}.depbox{border:1px solid var(--line-2);border-radius:11px;padding:12px 14px;background:color-mix(in srgb,var(--accent-weak) 45%,var(--surface))}.depbox h3{margin:0 0 2px;font-size:14px;font-family:var(--font-display)}.depbox>p{margin:0 0 10px;font-size:12px;color:var(--fg-3)}.sugg{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;align-items:center}.sugg .k{font-size:11.5px;color:var(--fg-3);margin-right:2px}.sg{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:14px;border:1px dashed var(--line-2);background:var(--surface);cursor:pointer;font-size:12px;max-width:100%}.sg:hover{border-color:var(--accent);border-style:solid;color:var(--accent)}.sg i{font-style:normal;color:var(--fg-3);font-size:11px}.chips{display:flex;flex-direction:column;gap:6px;margin:8px 0}.dchip{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--line-2);font-size:12.5px}.dchip .id{font-weight:650;font-variant-numeric:tabular-nums}.dchip .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dchip .f{color:var(--fg-3);font-size:11.5px;white-space:nowrap}.dchip.bad{border-color:color-mix(in srgb,var(--danger) 50%,var(--line-2))}.lag{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:6px;height:26px;overflow:hidden;flex:none}.lag button{width:22px;height:24px;border:0;background:var(--surface-2);cursor:pointer;color:var(--fg-2)}.lag span{min-width:54px;text-align:center;font-size:11.5px;font-variant-numeric:tabular-nums;padding:0 4px;white-space:nowrap}.x{width:24px;height:24px;border:0;border-radius:5px;background:transparent;cursor:pointer;color:var(--fg-3);display:grid;place-items:center;flex:none}.x:hover{background:var(--surface-3);color:var(--fg)}.x svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}.pk{position:relative}.pk ul{position:absolute;left:0;right:0;top:38px;z-index:70;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line-2);border-radius:9px;box-shadow:var(--shadow);max-height:280px;overflow:auto}.pk li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 8px;padding:7px 8px;border-radius:6px;cursor:pointer;font-size:12.5px}.pk li .i{font-weight:650;color:var(--fg-2);font-variant-numeric:tabular-nums}.pk li .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk li .s{grid-column:2;font-size:11.5px;color:var(--fg-3)}.pk li[aria-selected=true]{background:var(--accent-weak)}.pk li[aria-disabled=true]{cursor:not-allowed;opacity:.55}.pk li[aria-disabled=true] .s{color:var(--danger)}.pk .empty{padding:10px;color:var(--fg-3);font-size:12px}.result{margin-top:10px;padding:10px 12px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-size:12.5px;display:grid;gap:6px}.result.warn{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));background:var(--warn-weak)}.result.ok b{color:var(--ok)}.result .acts{display:flex;gap:8px;flex-wrap:wrap}.result .chosen{font-weight:600}.nodeps{display:flex;align-items:center;gap:8px;font-size:12.5px;margin-top:8px;color:var(--fg-2)}.linkbtn{border:0;background:transparent;color:var(--accent);cursor:pointer;padding:0;font-size:12.5px;font-weight:600}.linkbtn:hover{text-decoration:underline}.ins{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--line);margin-top:6px}.kbd{font-family:var(--font-mono);font-size:11px;padding:1px 5px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:4px;color:var(--fg-2);background:var(--surface)}.err-msg{color:var(--danger);font-size:12px;font-weight:600}.pop{position:fixed;z-index:58;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow);padding:12px 14px;width:300px;font-size:12.5px;display:grid;gap:8px}.pop h4{margin:0;font-size:13px}.pop .st{font-size:12px}.pop .st.bad{color:var(--danger);font-weight:600}.pop .acts{display:flex;gap:8px;justify-content:space-between;align-items:center}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:65;max-width:min(560px,calc(100vw - 24px));background:var(--fg);color:var(--bg);border-radius:9px;padding:10px 12px 10px 14px;display:flex;gap:12px;align-items:center;font-size:13px;box-shadow:var(--shadow);max-width:calc(100vw - 32px)}.toast button{border:0;background:transparent;color:var(--bg);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.panel{position:fixed;z-index:52;top:112px;right:max(16px,env(safe-area-inset-right,0px));width:min(380px,calc(100vw - 32px));max-height:calc(100% - 130px);overflow:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px}.panel h3{margin:0 0 2px;font-size:15px;font-family:var(--font-display)}.panel>p{margin:0 0 8px;color:var(--fg-3);font-size:12px}.hc h5{margin:14px 0 6px;font-size:12px;display:flex;justify-content:space-between}.hc h5 span{color:var(--fg-3);font-weight:500}.hc button{display:flex;gap:8px;width:100%;border:0;background:transparent;text-align:left;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:12.5px}.hc button:hover{background:var(--surface-2)}.hc button b{min-width:30px;color:var(--fg-3);font-variant-numeric:tabular-nums}.hc .okline{font-size:12px;color:var(--ok);padding:4px 8px}.keys{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:12.5px;align-items:center}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding-block:8px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));border-top:1px solid var(--line);background:var(--surface);font-size:11.5px;color:var(--fg-2)}.legend .k{font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);font-size:10.5px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend svg{flex:none}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(max-width:820px){:root{--gridw:230px}.cols-d{grid-template-columns:44px minmax(0,1fr) 0 0 0}.cols-h{grid-template-columns:34px minmax(0,1fr) 0 64px 0}.cols-d>span:nth-child(n+3),.cols-h>span:nth-child(3),.cols-h>span:nth-child(5){display:none}.stats,.legend,.brand p,.hide-sm{display:none}}[hidden]{display:none!important}.badge-ro{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:7px;background:var(--warn-weak);color:var(--warn);font-size:12.5px;font-weight:600;border:0;cursor:pointer}.badge-ro svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.dirty{font-size:11.5px;color:var(--warn);font-weight:600}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:4px 0 14px;flex-wrap:wrap}.tabs button{border:0;background:transparent;padding:8px 12px;font-size:13px;font-weight:500;color:var(--fg-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.srow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px 0}.srow .in{height:32px}.srow .mini,.mrow .mini{display:flex;gap:4px}.srow .mini button,.mrow .mini button{width:28px;height:28px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);cursor:pointer;color:var(--fg-2);display:grid;place-items:center;padding:0}.srow .mini button:hover,.mrow .mini button:hover{background:var(--surface-2)}.srow .mini button[disabled]{opacity:.3;cursor:not-allowed}.srow .mini svg,.mrow .mini svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.srow input[type=color]{width:32px;height:32px;padding:2px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface);cursor:pointer}.libmode .srow{grid-template-columns:28px minmax(0,1fr) auto 150px}@media(max-width:600px){.libmode .srow{grid-template-columns:28px minmax(0,1fr) auto}.libmode .srow .scp{grid-column:2/-1;max-width:none}.libmode .srow.hd>span:last-child{display:none}}.srow.hd{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);padding-bottom:0}.srow .n{font-size:11.5px;color:var(--fg-3);white-space:nowrap}.note{font-size:12.5px;color:var(--fg-2);line-height:1.5}.note b{font-weight:650;color:var(--fg)}.acard{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:8px;margin-bottom:10px}.acard h4{margin:0;font-size:13.5px}.rail{width:236px;flex:none;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;transition:width .15s}.rail.closed{width:0;overflow:hidden;border:0}.rail-h{display:flex;align-items:center;gap:10px;padding:12px 12px 10px 16px;border-bottom:1px solid var(--line)}.rail-name{font-family:var(--font-display);font-weight:700;font-size:14px;white-space:nowrap}.rail-home{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border:0;background:transparent;padding:4px 6px 4px 2px;margin-left:-2px;border-radius:8px;cursor:pointer;font:inherit;color:inherit;text-align:left}.rail-home:hover{background:var(--surface-2)}.rail-home:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rail-nav{flex:1;overflow:auto;padding:8px}.rail-f{padding:10px;border-top:1px solid var(--line);display:grid;gap:6px}.rail-set{width:100%;justify-content:flex-start;gap:8px;color:var(--fg-2)}.rail-set svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}.rn-link{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;border:0;background:transparent;width:100%;text-align:left;font-size:13px;cursor:pointer;color:var(--fg);white-space:nowrap;overflow:hidden;font-family:inherit}.rn-link:hover{background:var(--surface-2)}.rn-link.on{background:var(--accent-weak);color:var(--accent);font-weight:600}.rn-link .nm{flex:1;overflow:hidden;text-overflow:ellipsis}.rn-link .tmpl{font-size:10px;color:var(--fg-3);border:1px solid var(--line-2);border-radius:4px;padding:0 4px}.rn-prog{display:flex;align-items:center;gap:6px;width:100%;border:0;background:transparent;cursor:pointer;font-family:inherit;text-align:left;border-radius:6px;margin-top:6px;padding:6px 10px 4px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3)}.rn-prog:hover{background:var(--surface-2);color:var(--fg-2)}.rn-chev{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .12s}.rn-chev.shut{transform:rotate(-90deg)}.rn-prog .dot{width:10px;height:10px;border-radius:50%;flex:none}.rn-prog .ring{width:10px;height:10px;border-radius:50%;border:2px solid var(--fg-2);box-sizing:border-box;flex:none}.main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.crumb{display:flex;align-items:center;gap:4px;font-size:13px;min-width:0;white-space:nowrap;overflow:hidden;flex:1 1 200px}.crumb a{flex:none}.crumb b{min-width:0}.crumb a{color:var(--fg-2);text-decoration:none;cursor:pointer;padding:4px 6px;border-radius:5px}.crumb a:hover{background:var(--surface-2);color:var(--fg)}.crumb .sep{color:var(--line-2)}.crumb b{font-weight:650;padding:4px 6px;overflow:hidden;text-overflow:ellipsis}.crumb .dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:-1px}.field.search{max-width:340px;flex:1 1 200px}.field.search input{flex:1}.field.search .kbd{margin-left:auto;opacity:.7}.presence{display:flex;align-items:center;margin-right:4px}.av{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;font-weight:700;color:#fff;border:2px solid var(--surface);box-sizing:border-box;flex:none;letter-spacing:.02em}.presence .av{margin-left:-6px}.presence .av.away{opacity:.45}.presence .av:first-child{margin-left:0}.avatar-btn{border:1px solid var(--line-2);background:var(--surface);padding:2px 10px 2px 2px;cursor:pointer;border-radius:20px;display:flex;align-items:center;gap:8px;height:36px;font:inherit;font-size:13px;font-weight:600;color:var(--fg)}.avatar-btn .av{width:30px;height:30px;font-size:12px;border:0}.avatar-btn:hover{background:var(--surface-2)}.avatar-btn .uname{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.umh{display:flex;align-items:center;gap:10px;padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.umh .av{width:40px;height:40px;font-size:14px;border:0}.umh .n{font-weight:650;font-size:13px}.umh .r{font-size:11.5px;color:var(--fg-3)}@media(max-width:700px){.avatar-btn .uname{display:none}.avatar-btn{padding-right:2px}}.menu .mitem{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:13px}.menu .mitem .k{color:var(--fg-3)}.menu .mitem select{flex:1}.mtoggle{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px}.mtoggle i{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--line-2);display:inline-grid;place-items:center;flex:none;background:var(--surface)}.mtoggle[aria-pressed=true] i{background:var(--accent);border-color:var(--accent)}.mtoggle[aria-pressed=true] i:after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.cornerbtns{position:absolute;right:8px;top:4px;display:flex;gap:2px;z-index:8}.corner.gnarrow .cornerbtns{left:6px;right:auto}.corner.gnarrow .gov-lbl{display:none}.cornerbtns button{width:22px;height:22px;border:1px solid var(--line-2);border-radius:5px;background:var(--surface);cursor:pointer;color:var(--fg-2);display:grid;place-items:center;padding:0}.cornerbtns button:hover{background:var(--surface-2);color:var(--fg)}.cornerbtns svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.gsplit{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:9}.gsplit:hover,.gsplit.on{background:var(--accent);opacity:.45}.rowav{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:9px;font-weight:700;color:#fff;flex:none;margin-left:2px}.home{flex:1;overflow:auto;background:var(--bg);padding-block:24px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.hwrap{max-width:1140px;margin:0 auto;display:grid;gap:22px}.hhead h2{margin:0 0 4px;font-family:var(--font-display);font-size:24px;letter-spacing:-.01em}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.pcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.pcard .pbar6{height:6px}.dlg.dlg-top{top:max(12px,6vh);transform:translate(-50%);max-height:calc(100% - max(24px,12vh))}.scope{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-2);background:var(--surface-2);border-radius:8px;padding:6px 10px;margin:0 0 10px}.scope-dot{width:8px;height:8px;border-radius:50%;background:var(--fg-3);flex:none}.scope.all{background:#fff6e0;color:#7a5300}.scope.all .scope-dot{background:#d89b00}.dcheck{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:12px}.dcheck-h{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-2);margin-bottom:8px}.dcheck-r{display:flex;flex-wrap:wrap;gap:6px}.chk2{font-size:13px;border:1px solid var(--line-2);border-radius:999px;padding:3px 10px;background:var(--surface)}.chk2 b{font-variant-numeric:tabular-nums}.chk2.warn{background:#fff6e0;border-color:#f0cf7a;color:#7a5300}.btn.danger-o{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line-2))}.btn.danger-o.armed,.btn.armed{background:var(--danger);color:#fff;border-color:var(--danger)}.tag.chg{background:#e6eeff;color:#2d4fb8;border:1px solid #C5D4FA}.chgnote{font-size:12.5px;color:#2d4fb8;background:#eef3ff;border:1px solid #D3DFFB;border-radius:8px;padding:7px 10px;margin:0 0 8px}.ovbtn{margin-top:8px}.ovgrid{display:grid;gap:12px}.ovph{border:1px solid var(--line);border-radius:10px;overflow:hidden}.ovph-h{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2)}.ovph-t{font-weight:700;font-size:14px}.ovrow{display:grid;grid-template-columns:minmax(0,1.6fr) auto auto auto auto;gap:12px;align-items:center;width:100%;border:0;border-top:1px solid var(--line);background:var(--surface);padding:9px 12px;text-align:left;font:inherit;font-size:13px;color:inherit;cursor:pointer}.ovrow:hover{background:var(--surface-2)}.ovrow .ovn{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ovrow .ovk{grid-column:1/-1;font-size:12px;margin-top:-4px}.ovrow .late{color:var(--danger);font-weight:650}@media(max-width:640px){.ovrow{grid-template-columns:1fr auto}}.archsec{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 18px;margin-bottom:16px}.archsec summary{cursor:pointer;font-weight:650;font-size:14px}.archrow{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}.phg{border-top:1px solid var(--line);padding:6px 0 2px}.phg:first-child{border-top:0}.phg-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 4px 10px}.phg-h span{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--fg-2)}.rn-phase{font-size:12px;font-weight:650;color:var(--fg-2);padding:6px 14px 2px 22px}.rn-link.sub{padding-left:34px}.pgset{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 12px;background:var(--surface)}.pgset-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pgset-t{font-weight:700;font-size:14px}.pgset-t small{font-weight:500;color:var(--fg-3);margin-left:6px}.chk{display:flex;gap:8px;align-items:flex-start;font-size:14px;cursor:pointer}.chk input{margin-top:3px}.pcard .ph{padding:14px 16px 8px}.pcard .ph .code{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--fg-3)}.pcard .ph h3{margin:0;font-size:15px;font-family:var(--font-display)}.pcard .ph .ph-sub{font-size:12px;color:var(--fg-3);margin-top:2px}.pcard .plans{display:flex;flex-direction:column;padding:0 8px 4px}.plan-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:8px;cursor:pointer;border:0;background:transparent;text-align:left;font:inherit;color:inherit;width:100%}.plan-row:hover{background:var(--surface-2)}.plan-row .pn{font-weight:600;font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-row .pm{font-size:12px;color:var(--fg-3);display:block;margin-top:2px}.plan-row>.muted{white-space:nowrap;align-self:start;padding-top:2px}.pcard .pf{padding:6px 12px 12px;margin-top:auto}.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.dlg .tgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.dlg .tcard{padding:10px 12px;gap:3px;grid-template-columns:30px 1fr;column-gap:10px}.dlg .tcard .ico{width:28px;height:28px;grid-row:span 2}.dlg .tcard p{display:none}.dlg .tcard .soon{grid-column:2}.tcard{border:1px solid var(--line-2);border-radius:10px;padding:14px;background:var(--surface);text-align:left;cursor:pointer;font:inherit;color:inherit;display:grid;gap:6px;align-content:start}.tcard:hover,.tcard[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.tcard[disabled]{opacity:.55;cursor:not-allowed}.tcard[disabled]:hover{border-color:var(--line-2);box-shadow:none}.tcard h4{margin:0;font-size:14px;font-family:var(--font-display)}.tcard p{margin:0;font-size:12px;color:var(--fg-3);line-height:1.45}.tcard .soon{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--warn)}.tcard .ico{width:34px;height:34px;border-radius:8px;background:var(--accent-weak);display:grid;place-items:center}.tcard .ico svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.login{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;z-index:70}.lbox{width:min(540px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:28px 28px 22px;display:grid;gap:18px}.lbox h1{margin:0;font-family:var(--font-display);font-size:22px;letter-spacing:-.01em}.lbox .sub{color:var(--fg-3);font-size:13px;margin:4px 0 0}.ulist{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ucard{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);cursor:pointer;font:inherit;color:inherit;text-align:left;min-width:0}.ucard:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.ucard .av{width:34px;height:34px;font-size:12px}.ucard .un{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.ucard .ur{font-size:11.5px;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.swatches{display:flex;gap:6px;flex-wrap:wrap}.swatches button{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.swatches button[aria-pressed=true]{border-color:var(--fg)}.tableview{flex:1;overflow:auto;background:var(--surface)}.tv{border-collapse:separate;border-spacing:0;font-size:12.5px;min-width:100%}.tv th{position:sticky;top:0;background:var(--surface-2);z-index:2;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);padding:9px 10px;border-bottom:1px solid var(--line-2);white-space:nowrap}.tv td{padding:0 10px;height:34px;border-bottom:1px solid var(--line);white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.tv td.wrap{white-space:normal;max-width:380px;line-height:1.35;padding-block:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tv tr.ws td{background:var(--surface-2);font-weight:650;color:var(--fg);height:30px}.tv tr.task:hover td{background:var(--accent-weak)}.tv tr.task{cursor:pointer}.tv tr.sel td{background:var(--accent-weak)}.tv td.num,.tv th.num{text-align:right;font-variant-numeric:tabular-nums}.tv .muted{color:var(--fg-3)}.tv td:first-child,.tv th:first-child{padding-left:max(16px,env(safe-area-inset-left,0px))}.hlist{display:grid;gap:4px}.hgrp{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);margin:12px 0 4px;display:flex;justify-content:space-between}.hitem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-align:left;cursor:pointer;font:inherit;color:inherit;width:100%}.hitem:hover{border-color:var(--accent);background:var(--accent-weak)}.hitem .t{font-size:12.5px;line-height:1.4;white-space:normal}.hitem .go{color:var(--fg-3);font-size:11px;white-space:nowrap}.hfix{display:grid;gap:12px}.hfix .why{font-size:13px;line-height:1.5;display:block}.hfix .opt{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.vrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.vrow .av{width:26px;height:26px;font-size:10px}.vrow .vt{font-size:12.5px;line-height:1.4}.vrow .vm{font-size:11.5px;color:var(--fg-3)}.vrow.cur{background:var(--accent-weak);margin:0 -10px;padding:10px;border-radius:8px}.diff{font-size:12px;color:var(--fg-2);display:grid;gap:3px;margin-top:6px;padding-left:10px;border-left:2px solid var(--line-2)}@media(max-width:900px){.rail{position:fixed;left:0;top:0;bottom:0;z-index:66;box-shadow:var(--shadow)}.rail.closed{box-shadow:none}}.report{flex:1;overflow:auto;background:var(--bg);padding-block:20px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.rwrap{max-width:1140px;margin:0 auto;display:grid;gap:18px}.rhead{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-end}.rhead h2{margin:0 0 4px;font-family:var(--font-display);font-size:20px}.muted{color:var(--fg-3);font-size:12.5px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.tile .n{font-size:26px;font-weight:700;line-height:30px;font-variant-numeric:tabular-nums}.tile .n small{font-size:14px;font-weight:500;color:var(--fg-3)}.tile .l{font-size:12px;color:var(--fg-3);margin-top:2px}.tile.bad .n{color:var(--danger)}.tile.warn .n{color:var(--warn)}.report section{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-width:0}.report h3{margin:0 0 10px;font-size:14px;font-family:var(--font-display);display:flex;align-items:center;gap:8px}.report h3 .cnt{font-size:11px;font-weight:700;background:var(--surface-3);color:var(--fg-2);padding:1px 7px;border-radius:9px}.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.tblwrap{overflow-x:auto}.rt{width:100%;border-collapse:collapse;font-size:12.5px;min-width:760px}.rt th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);padding:6px 8px;border-bottom:1px solid var(--line-2)}.rt td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.rt .num{text-align:right;font-variant-numeric:tabular-nums}.rt th.num{text-align:right}.rt .nm{font-weight:600}.rt .dt{white-space:nowrap;color:var(--fg-2);font-variant-numeric:tabular-nums;font-size:12px}.rt td.bad{color:var(--danger);font-weight:700}.rt td.warn{color:var(--warn);font-weight:700}.pbar{display:inline-block;width:90px;height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden;vertical-align:middle;margin-right:6px}.pbar div{height:100%}.pct{font-size:12px;color:var(--fg-2);font-variant-numeric:tabular-nums}.arow{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:12.5px;line-height:1.45;align-items:flex-start}.arow:last-child{border-bottom:0}.arow .tag{margin-top:2px;white-space:nowrap}.hcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.hcg{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12.5px}.hch{display:flex;justify-content:space-between;font-weight:600}.hch b{font-variant-numeric:tabular-nums;color:var(--fg-3)}.hch b.warn{color:var(--warn)}.help{font-size:13px;line-height:1.5}.hnav{display:flex;flex-wrap:wrap;gap:4px 10px;padding:8px 0 12px;border-bottom:1px solid var(--line);margin-bottom:6px;font-size:12px}.hnav a{color:var(--accent);text-decoration:none;font-weight:500}.hnav a:hover{text-decoration:underline}.hs{padding:12px 0;border-bottom:1px solid var(--line)}.hs:last-child{border-bottom:0}.hs h3{margin:0 0 6px;font-size:14px;font-family:var(--font-display)}.hs ul{margin:0;padding-left:18px;display:grid;gap:5px}.hs p.note{margin:0 0 8px}.keyg{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 18px;margin:6px 0 10px;font-size:12.5px}.keyg span{display:flex;align-items:center;gap:8px}.keyg svg,.keyg .chip{flex:none}.steps{display:grid;gap:14px}.step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.step .sn{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-weight:700;display:grid;place-items:center;font-size:14px}.step h4{margin:0 0 4px;font-size:14px;font-family:var(--font-display)}.step p.note{margin:0 0 10px}.dots{display:flex;gap:6px;justify-content:center;margin-top:16px}.dots i{width:8px;height:8px;border-radius:50%;background:var(--line-2)}.dots i.on{background:var(--accent)}.ill{display:block;flex:none}.help2{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0 22px;flex:1;min-height:0;padding:0 22px 8px}.hnav2{display:flex;flex-direction:column;gap:2px;overflow:auto;border-right:1px solid var(--line);padding-right:10px}.hnav2 a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;color:var(--fg-2);text-decoration:none;font-size:13px;line-height:1.3}.hnav2 a:hover{background:var(--surface-2);color:var(--fg)}.hnav2 a.on{background:var(--accent-weak);color:var(--fg);font-weight:600}.hnav2 .ill{width:22px;height:15px}.hbody{overflow:auto;font-size:14px;line-height:1.55;padding-right:6px;scroll-behavior:smooth}.hbody .hs{padding:16px 0 18px;border-bottom:1px solid var(--line)}.hbody .hs:first-child{padding-top:6px}.hbody .hs:last-child{border-bottom:0}.hbody .hs h3{margin:0 0 10px;font-size:17px;font-family:var(--font-display);font-weight:650;letter-spacing:-.01em}.hbody ul{margin:0;padding-left:20px;display:grid;gap:7px}.hbody p.note{font-size:13.5px;margin:0 0 10px}.hcols{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:start}.hfig{margin:0;display:grid;gap:6px;justify-items:center;background:var(--surface-2);border-radius:12px;padding:14px 10px;text-align:center}.hfig figcaption{font-size:12px;color:var(--fg-3);line-height:1.35}.hgrid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:8px 0 12px}.hrow{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:start;background:var(--surface-2);border-radius:12px;padding:12px}.hrow .ill{width:84px;height:58px}.hrow b{display:block;margin-bottom:2px;font-size:14px}.hrow div div{font-size:13px;line-height:1.45;color:var(--fg-2)}.hrow .fixhow{margin-top:6px;color:var(--fg)}.hrow .fixhow span{font-weight:700;color:var(--ok)}.gloss{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px 14px;margin:0;font-size:13.5px}.gloss dt{font-weight:650}.gloss dd{margin:0;color:var(--fg-2)}@media(max-width:760px){.help2{grid-template-columns:1fr}.hnav2{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px}.hnav2 a span{display:none}.hcols,.gloss{grid-template-columns:1fr}}.mt-band{fill:var(--surface);stroke:var(--line);stroke-width:1}.mt-lbl{font-size:10px;font-weight:700;fill:var(--fg-2);letter-spacing:.03em}.mt-pt{cursor:default}.mt-line{stroke-width:1;stroke-dasharray:2 4;opacity:.55}.corner.gov .ghead{padding-bottom:27px}.gov-lbl{position:absolute;left:16px;right:8px;bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3)}.mrow{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px;background:var(--surface)}.mr-top{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.mr-top .mini{padding-bottom:4px}.mf{display:grid;gap:3px;min-width:0}.mf.grow{flex:1 1 180px}.mf .l{font-size:12px;font-weight:600;color:var(--fg-2)}.mf .l small{font-weight:400;color:var(--fg-3)}.mf input[type=color]{width:44px;height:34px;padding:2px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface)}.mr-body{display:flex;gap:14px;margin-top:10px;flex-wrap:wrap;align-items:flex-start}.mr-body textarea.in{height:auto;min-height:96px;padding:6px 10px;font-family:var(--font-mono);font-size:12.5px;resize:vertical}.mr-body .gen{flex:1 1 240px;display:grid;gap:6px;font-size:13px;background:var(--surface-2);border-radius:8px;padding:10px}.gen .l{font-size:12px;font-weight:600;color:var(--fg-2)}.gen-r{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.gen-r .in{height:30px;width:auto}.gen-r input[type=number]{width:56px}.empty-note{border:1px dashed var(--line-2);border-radius:10px;padding:14px 16px;margin-bottom:10px;color:var(--fg-2);line-height:1.5;background:var(--surface-2)}.hitem{grid-template-columns:auto auto minmax(0,1fr) auto}.hitem .hi .ill{width:56px;height:38px}.hfix .why{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center}.hfix .why .ill{width:96px;height:66px}.tour-scrim{position:fixed;inset:0;z-index:80;background:transparent}.tour-spot{position:fixed;z-index:81;border-radius:10px;box-shadow:0 0 0 9999px #13182173,0 0 0 3px var(--accent);pointer-events:none;transition:all .25s ease}.tour-spot[hidden]{display:none}.tour-scrim:has(+.tour-spot[hidden]){background:#13182173}.tour-card{position:fixed;z-index:82;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow);padding:14px 16px 12px;width:min(380px,calc(100vw - 24px));font-size:13.5px;line-height:1.5}.tour-card.centre{transform:translate(-50%,-50%)}.tour-card .tc-h{margin-bottom:6px}.tour-card .tc-n{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3)}.tour-card h3{margin:0;font-size:16px;font-family:var(--font-display)}.tour-card p{margin:0 0 12px;color:var(--fg-2)}.tour-card .tc-f{display:flex;gap:8px;align-items:center}.tour-card:before{content:"";position:absolute;width:14px;height:14px;background:var(--surface);border-left:1px solid var(--line-2);border-top:1px solid var(--line-2);display:none}.tour-card.arrow-bottom:before{display:block;top:-8px;left:calc(var(--ax) - 7px);transform:rotate(45deg)}.tour-card.arrow-top:before{display:block;bottom:-8px;left:calc(var(--ax) - 7px);transform:rotate(225deg)}.tour-card.arrow-right:before{display:block;left:-8px;top:calc(var(--ay) - 7px);transform:rotate(-45deg)}.choice2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ccard{display:grid;gap:6px;justify-items:start;padding:14px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface);cursor:pointer;font:inherit;color:inherit;text-align:left}.ccard:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.ccard b{font-size:14px}.ccard span{font-size:12.5px;color:var(--fg-3);line-height:1.4}.acard.warn{background:var(--warn-weak);border-color:color-mix(in srgb,var(--warn) 40%,var(--line-2))}.srows{display:grid;gap:4px}@media(max-width:560px){.choice2{grid-template-columns:1fr}}body{font-size:14px}.note,.muted{font-size:13px}label.l,.hint{font-size:12px}.dlg-h p{font-size:13px}.tcard p{font-size:12.5px}.hitem .t{font-size:13px}.hfix .why{font-size:13.5px}.sec,.ghead{font-size:11.5px}.lbox h1{font-size:24px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{.bar2,.legend,.drawer,.scrim,.toast,.impact{display:none}body,.chart{overflow:visible}}.seg{border-radius:999px;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--line-2);overflow:visible}.seg button{border-radius:999px;height:28px;padding:0 11px;transition:background .12s,color .12s}.seg button+button{border-left:0}.seg button:hover{color:var(--fg);background:var(--surface)}.seg button[aria-pressed=true]{background:var(--accent);color:#fff;box-shadow:0 1px 2px #141e3c2e}.bar2{padding-block:12px;gap:8px}.menu{max-height:calc(100vh - 150px);overflow-y:auto;overscroll-behavior:contain}#colsMenu{max-height:min(420px,calc(100vh - 170px))}.rail-open{border:0;background:transparent;padding:0;cursor:pointer;border-radius:9px;display:grid;place-items:center}.rail-open:hover .mark{filter:brightness(1.25)}.rail-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rail-set svg.gear{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#s-body input[type=checkbox],.tgl{appearance:none;-webkit-appearance:none;flex:none;width:34px;height:20px;border-radius:999px;background:#c9cfda;position:relative;cursor:pointer;transition:background .15s;margin:0;vertical-align:middle}#s-body input[type=checkbox]:after,.tgl:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:left .15s}#s-body input[type=checkbox]:checked,.tgl:checked{background:var(--accent)}#s-body input[type=checkbox]:checked:after,.tgl:checked:after{left:16px}#s-body input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#s-body .mchk{align-items:flex-start}#s-body .mchk input{margin-top:1px}.sw span{min-width:24px;font-weight:600;color:var(--fg-2)}.pseg{display:inline-flex;border-radius:999px;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--line-2);flex:none}.pseg button{border:0;background:transparent;border-radius:999px;height:26px;padding:0 11px;font:inherit;font-size:12px;font-weight:500;color:var(--fg-2);cursor:pointer;white-space:nowrap}.pseg button[aria-pressed=true]{background:var(--accent);color:#fff}.pseg button[data-v=""][aria-pressed=true]{background:var(--fg-2)}@media(max-width:600px){.frow{flex-wrap:wrap}}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line-2);background:var(--c);cursor:pointer;padding:0;flex:none}.swatch:hover{box-shadow:0 0 0 2px var(--fg-3)}.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cin-hide{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:0!important}.swpop{position:fixed;z-index:400;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow);padding:10px;width:244px}.swgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:8px}.swc{width:30px;height:30px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px #00000014;background:var(--c);cursor:pointer;padding:0;position:relative}.swc:hover{transform:scale(1.08)}.swc.on{box-shadow:0 0 0 2px var(--fg)}.swc.on:after{content:"";position:absolute;left:9px;top:6px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.swpop .swfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line-2);padding-top:8px;font-size:12px;color:var(--fg-3)}#root{height:100%}.app{flex-direction:row}.main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.lnk{color:var(--accent)}.lnk:hover{text-decoration:underline}.menu button:disabled:hover{background:transparent}.rlink{border:0;background:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left}.rlink:hover b{text-decoration:underline}.warn-t{color:var(--warn)}.gsplit-body{position:absolute;top:0;bottom:0;right:-4px;width:8px;cursor:col-resize;z-index:5}.gsplit-body:hover{background:var(--accent);opacity:.45}body.resizing,body.resizing *{user-select:none!important;cursor:col-resize!important}.gtag .t-short,.c-name[data-tags=short] .gtag .t-full{display:none}.c-name[data-tags=short] .gtag .t-short{display:inline}.c-name[data-tags=hidden] .gtag,.gtag[data-off]{display:none}.lbl2.halo{paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.ghead>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hide-own .cols-d{grid-template-columns:52px minmax(0,1fr) 98px 76px}.hide-own.hide-st .cols-d{grid-template-columns:52px minmax(0,1fr) 76px}.hide-own .cols-d>span:nth-child(3),.hide-st .cols-d>span:nth-child(4){display:none}
