:root{--accent:#7c2e3b;--accent-soft:#f3e4e7;--accent-line:#e3c4cb;--ink:#211b1c;--ink-2:#5a5052;--ink-3:#8a8082;--bg:#fbf8f4;--surface:#fff;--surface-2:#f5f0eb;--line:#e7dfd8;--line-2:#d8cec6;--ok:#2e6b4f;--ok-soft:#e1efe7;--warn:#9a6b12;--warn-soft:#f6ecd6;--danger:#9a3535;--danger-soft:#f6e0de;--lock:#8a8082;--lock-soft:#efebe6;--info:#2b5b8a;--info-soft:#e2ecf5;--radius:12px;--radius-sm:8px;--disp:Georgia,"Times New Roman",serif;--ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"Cascadia Code","SF Mono",Consolas,monospace;--shadow:0 1px 2px rgba(33,27,28,.06),0 4px 16px rgba(33,27,28,.05)}:root[data-theme=dark]{--accent:#ce7986;--accent-soft:#3a2429;--accent-line:#5a363d;--ink:#f1eaea;--ink-2:#b9aeb0;--ink-3:#877e80;--bg:#171314;--surface:#201a1b;--surface-2:#2a2324;--line:#332b2c;--line-2:#43393a;--ok:#7bc6a0;--ok-soft:#1e2f27;--warn:#e0b45e;--warn-soft:#332b1b;--danger:#e58c86;--danger-soft:#37211f;--lock:#877e80;--lock-soft:#231d1e;--info:#8fb6e0;--info-soft:#1b2733;--shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.28)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--disp);font-weight:600;line-height:1.25;margin:0}a{color:inherit;text-decoration:none}button{font-size:inherit;cursor:pointer}button,input,textarea{font-family:inherit}.mono{font-family:var(--mono)}.serif{font-family:var(--disp)}.muted{color:var(--ink-2)}.dim{color:var(--ink-3)}.hidden{display:none!important}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);padding:8px 14px;border-radius:var(--radius-sm);font-weight:500;transition:.12s;white-space:nowrap;text-decoration:none}.btn:hover{color:var(--accent)}.btn.primary,.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{opacity:.9;color:#fff}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:5px 10px;font-size:13px}.btn.block{width:100%;justify-content:center}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled,.btn:disabled:hover{border-color:var(--line-2);color:var(--ink-3)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid transparent;letter-spacing:.01em}.chip .dot{width:7px;height:7px;border-radius:50%}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.ok .dot{background:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.warn .dot{background:var(--warn)}.chip.danger{background:var(--danger-soft);color:var(--danger)}.chip.danger .dot{background:var(--danger)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.info .dot{background:var(--info)}.chip.lock{background:var(--lock-soft);color:var(--lock)}.chip.lock .dot{background:var(--lock)}.chip.accent{background:var(--accent-soft);color:var(--accent)}.chip.accent .dot{background:var(--accent)}.chip.plain{background:var(--surface-2);color:var(--ink-2)}.chip.plain .dot{background:var(--ink-3)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.pad{padding:20px}.pad-lg{padding:28px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;gap:16px;padding:12px 22px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-family:var(--disp);font-weight:600;font-size:17px;cursor:pointer;color:var(--ink)}.brand .mark{width:26px;height:26px;border-radius:7px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:15px}.spacer{flex:1 1}.credits-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);padding:5px 12px;border-radius:999px;font-weight:600;font-size:13px;cursor:pointer}.iconbtn{width:34px;height:34px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);display:grid;place-items:center;font-size:15px;color:var(--ink)}.iconbtn:hover{border-color:var(--accent);color:var(--accent)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px}.wrap{max-width:1120px;margin:0 auto;padding:26px 22px 80px}.wrap.wide{max-width:1280px}.wrap.narrow{max-width:900px}.pagehead{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;flex-wrap:wrap}.pagehead h1{font-size:26px}.pagehead .sub{color:var(--ink-2);font-size:14px;margin-top:3px}.crumbs{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-3);margin-bottom:14px;flex-wrap:wrap}.crumbs a{cursor:pointer;color:var(--ink-2)}.crumbs a:hover{color:var(--accent)}.grid{display:grid;grid-gap:16px;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.g2,.g3{grid-template-columns:1fr}}.pcard{cursor:pointer;transition:.14s;display:flex;flex-direction:column;gap:12px;color:var(--ink)}.pcard:hover{border-color:var(--accent);transform:translateY(-2px)}.pcard .mode{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.pcard h3{font-size:18px;line-height:1.3}.progress{height:7px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--accent);border-radius:999px}table{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:600;padding:10px 12px}.tbl td,.tbl th{border-bottom:1px solid var(--line)}.tbl td{padding:12px;vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl .row-clk{cursor:pointer}.tbl .row-clk:hover{background:var(--surface-2)}.tbl tr.locked{opacity:.62}.tbl tr.chaprow td{background:var(--surface-2);padding:9px 12px;border-bottom:1px solid var(--line-2)}.tbl tr.chaprow{opacity:1}.num{width:30px;height:30px;border-radius:8px;background:var(--surface-2);display:grid;place-items:center;font-weight:600;font-size:13px;color:var(--ink-2)}.amx{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.amx table{min-width:820px}.amx th{background:var(--surface-2);position:-webkit-sticky;position:sticky;top:0}.amx td{font-size:14px;vertical-align:top}.amx .cq{background:var(--accent-soft);color:var(--accent);font-weight:500}.ws{display:grid;grid-template-columns:1fr 400px;grid-gap:18px;gap:18px;align-items:start}@media(max-width:1000px){.ws{grid-template-columns:1fr}}.editor{min-height:340px;width:100%;border:1px solid var(--line-2);border-radius:var(--radius);padding:16px;font-family:var(--disp);font-size:16px;line-height:1.7;background:var(--surface);color:var(--ink);resize:vertical}.editor:focus{outline:2px solid var(--accent-line);border-color:var(--accent)}.savebar{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.savestate{font-size:13px;color:var(--ink-3);display:inline-flex;gap:6px;align-items:center}.panel{position:-webkit-sticky;position:sticky;top:74px}.tabs{display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:10px;margin-bottom:14px}.tabs button{flex:1 1;border:none;background:transparent;padding:8px;border-radius:7px;font-weight:600;font-size:13px;color:var(--ink-2)}.tabs button.on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.evalrow{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}.evalrow h5{margin:0 0 5px;font-size:13px;font-family:var(--ui);text-transform:uppercase;letter-spacing:.03em}.evalrow.st h5{color:var(--ok)}.evalrow.wk h5{color:var(--danger)}.evalrow.om h5{color:var(--warn)}.evalrow.sg h5{color:var(--info)}.evalrow ul{margin:0;padding-left:18px}.evalrow li{margin:4px 0;font-size:14px}.evalrow li em{color:var(--ink-2);font-style:italic}.spar-log{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow-y:auto;padding-right:4px;margin-bottom:12px}.bubble{padding:10px 12px;border-radius:12px;font-size:14px;line-height:1.5;white-space:pre-wrap}.bubble.ai{background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:3px}.bubble.me{background:var(--accent-soft);color:var(--accent);border-bottom-right-radius:3px;align-self:flex-end}.bubble.conceded{border-left:3px solid var(--ok)}.bubble .who{letter-spacing:.05em;opacity:.7;margin-bottom:3px}.bubble .who,.sev{font-size:11px;font-weight:700;text-transform:uppercase}.sev{letter-spacing:.04em}.sev.high{color:var(--danger)}.sev.medium{color:var(--warn)}.sev.low{color:var(--ink-3)}.flag{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:8px;padding:12px;margin-bottom:10px}.flag.resolved{border-left-color:var(--ok);opacity:.75}.flag.acknowledged{border-left-color:var(--info)}.flag .fbody{flex:1 1}.flag .fbody p{margin:4px 0 0;font-size:14px;color:var(--ink-2)}.banner{border-radius:var(--radius);padding:16px 18px;display:flex;gap:14px;align-items:center;margin-bottom:20px;border:1px solid}.banner .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:19px;flex-shrink:0}.banner.b-ok{background:var(--ok-soft);border-color:transparent}.banner.b-ok .ico{background:var(--ok);color:#fff}.banner.b-warn{background:var(--warn-soft);border-color:transparent}.banner.b-warn .ico{background:var(--warn);color:#fff}.banner.b-info{background:var(--info-soft);border-color:transparent}.banner.b-info .ico{background:var(--info);color:#fff}.banner.b-accent{background:var(--accent-soft);border-color:transparent}.banner.b-accent .ico{background:var(--accent);color:#fff}.banner.b-lock{background:var(--lock-soft);border-color:transparent}.banner.b-lock .ico{background:var(--lock);color:#fff}.banner b{display:block}.note{background:var(--surface-2);border:1px dashed var(--line-2);border-radius:10px;padding:12px 14px;font-size:13px;color:var(--ink-2);display:flex;gap:10px;align-items:flex-start}.note a{color:var(--accent)}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.authcard{width:100%;max-width:410px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink-2)}.input{width:100%;border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:15px;background:var(--surface);color:var(--ink)}.input:focus{outline:2px solid var(--accent-line);border-color:var(--accent)}textarea.input{resize:vertical;font-family:var(--disp);line-height:1.6}.kv{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.kv:last-child{border-bottom:none}hr.sep{border:none;border-top:1px solid var(--line);margin:22px 0}.doc{font-family:var(--disp);line-height:1.75;font-size:16px}.doc h1{font-size:24px}.doc h2{font-size:21px;margin:22px 0 8px}.doc h3{font-size:17px;margin:18px 0 6px}.doc p{margin:8px 0;white-space:pre-wrap}.error{color:var(--danger);font-size:13px}ul{margin:0;padding-left:18px}@media print{.no-print,.topbar{display:none!important}.card{border:none;box-shadow:none}body{background:#fff}}.eyebrow-lab{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 6px}.faq{border-bottom:1px solid var(--line)}.faq:last-child{border-bottom:none}.faq>summary{list-style:none;cursor:pointer;padding:16px 20px;font-family:var(--disp);font-size:16px;display:flex;align-items:flex-start;gap:10px}.faq>summary::-webkit-details-marker{display:none}.faq>summary:before{content:"+";color:var(--accent);font-family:var(--ui);font-weight:600;line-height:1.35;flex:none}.faq[open]>summary:before{content:"–"}.faq>summary:hover{background:var(--surface-2)}.faq-a{padding:0 20px 16px 40px}.faq-a p{margin:0 0 10px;font-size:14.5px;line-height:1.65;color:var(--ink-2)}.faq-a p:last-child{margin-bottom:0}.legal p{font-size:14.5px;line-height:1.7;color:var(--ink-2);margin:0 0 10px}.legal p:last-child{margin-bottom:0}.legal ul{margin:0 0 10px;padding-left:20px}.legal li{font-size:14.5px;line-height:1.7;color:var(--ink-2);margin:0 0 7px}.legal b{color:var(--ink)}.legal a{color:var(--accent)}.tbl tfoot td{border-bottom:none;border-top:2px solid var(--line);background:var(--surface-2)}.bell{position:relative}.bell .badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface);line-height:1}.menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.13);padding:6px;overflow:hidden}.menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.menu-name{font-size:13.5px;font-weight:600;color:var(--ink)}.menu-email{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}.menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;color:var(--ink);font-size:13.5px;border-radius:8px;cursor:pointer;text-decoration:none}.menu-item:hover{background:var(--surface-2);color:var(--accent)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft,var(--surface-2));color:var(--danger)}.menu-sep{height:1px;background:var(--line);margin:6px 0}.overlay{position:fixed;inset:0;z-index:100;background:rgba(20,14,16,.42);display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 50px rgba(0,0,0,.28);padding:22px}.mergeopt{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;cursor:pointer;font-size:13.5px}.mergeopt:hover{border-color:var(--accent)}.mergeopt input{margin-top:3px;flex:none}