:root{color-scheme:light;--bg:#F3F5F8;--card:#FFFFFF;--chrome:#FFFFFF;--elevated:#FFFFFF;--inset:#EEF2F6;--border:#DCE3EA;--divider:#E8EDF2;--border-strong:#CED7E0;--text:#0B1622;--text-secondary:#475869;--text-muted:#5E7082;--brand:#9A6B22;--brand-hover:#7A5419;--brand-tint:#FBF3E3;--brand-tint-text:#8A5E1C;--primary:#0B1622;--on-primary:#F2F6F8;--selected-row:#FFF8EC;--hover-row:#F7F9FB;--badge:#D93A3F;--scrim:rgba(11,22,34,.4);--segment:#E6EBF0;--evidence-hit:#FBF3E3;--toast:#0B1622;--on-toast:#F2F6F8;--shadow-float:0 2px 8px rgba(11,22,34,.08);--shadow-drawer:-8px 0 28px rgba(11,22,34,.16);--shadow-dialog:0 16px 48px rgba(11,22,34,.2);--ok-text:#0B7468;--ok-dot:#0F8F80;--ok-bg:#E3F6F3;--info-text:#2459B0;--info-dot:#2F6FD0;--info-bg:#E8F0FC;--warning-text:#B4500B;--warning-dot:#E2711D;--warning-bg:#FFF1E6;--critical-text:#B03030;--critical-dot:#C93C3C;--critical-bg:#FDECEC;--onsite-text:#5B3FC4;--onsite-dot:#7356E0;--onsite-bg:#F1ECFE;--running-text:#8A5E1C;--running-dot:#B5853A;--running-bg:#FBF3E3;--neutral-text:#475869;--neutral-dot:#76879A;--neutral-bg:#EEF2F6;--chart-critical:#B8263A;--chart-warning:#E89A0C;--chart-info:#2F6FD0;--chart-ok:#0F8F80;--chart-cat-indigo:#4B57C9;--font-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace}:root[data-theme=dark]{color-scheme:dark;--bg:#0A1320;--card:#111D2C;--chrome:#0D1724;--elevated:#162536;--inset:#0E1928;--border:#20324A;--divider:#1A2A3E;--border-strong:#2A3F58;--text:#EEF2F6;--text-secondary:#A3B2C2;--text-muted:#7D8FA3;--brand:#E8C580;--brand-hover:#F0D49B;--brand-tint:#2A2618;--brand-tint-text:#E8C580;--primary:#E8C580;--on-primary:#1C1405;--selected-row:#221F17;--hover-row:#162536;--badge:#E5484D;--scrim:rgba(0,0,0,.55);--segment:#0E1928;--evidence-hit:rgba(232,197,128,.16);--toast:#1E3045;--on-toast:#EEF2F6;--shadow-float:none;--shadow-drawer:none;--shadow-dialog:none;--ok-text:#4CC7B4;--ok-dot:#1FA392;--ok-bg:#0F2E2C;--info-text:#7FB0F0;--info-dot:#4A8BE0;--info-bg:#142A4A;--warning-text:#F0A05A;--warning-dot:#E8893A;--warning-bg:#33230F;--critical-text:#F07A7A;--critical-dot:#E5484D;--critical-bg:#3A1A1F;--onsite-text:#B4A3F5;--onsite-dot:#8B72EE;--onsite-bg:#241C45;--running-text:#E8C580;--running-dot:#E8C580;--running-bg:#2A2618;--neutral-text:#A3B2C2;--neutral-dot:#76879A;--neutral-bg:#1A2A3E;--chart-critical:#B23045;--chart-warning:#C08A16;--chart-info:#4A8BE0;--chart-ok:#1FA392;--chart-cat-indigo:#6F7BE0}:root{font:14px/22px var(--font-sans);color:var(--text);background:var(--bg)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg)}main{max-width:1200px;margin:auto;padding:32px}a{color:var(--brand)}a:hover{color:var(--brand-hover)}header,nav,.row,.inline{display:flex;align-items:center;gap:16px;flex-wrap:wrap}header{justify-content:space-between;margin-bottom:24px}h1{font-size:22px;line-height:30px;font-weight:600;margin:0}h2{font-size:18px;line-height:26px;font-weight:600;margin:0 0 12px}h3{font-size:16px;line-height:24px;font-weight:600;margin:20px 0 10px}h4,h5{font-weight:600}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--brand);font-weight:700}nav{padding:16px 0}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin:0 0 16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}article{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin:12px 0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;padding:16px 0}label{display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:20px;color:var(--text-secondary)}label.inline{flex-direction:row;font-size:14px;color:var(--text)}input,select,textarea{font:inherit;font-size:14px;min-height:36px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:8px;max-width:100%;background:var(--card);color:var(--text)}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--brand)}button,.button{font:inherit;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:var(--primary);color:var(--on-primary);white-space:nowrap;cursor:pointer;text-decoration:none}button:hover,.button:hover{color:var(--on-primary);filter:brightness(1.15)}button.secondary,.button.secondary{background:var(--card);color:var(--text);border-color:var(--border-strong)}button.secondary:hover,.button.secondary:hover{background:var(--hover-row);color:var(--text);filter:none}button.danger{background:var(--card);color:var(--critical-text);border-color:color-mix(in srgb,var(--critical-dot) 40%,transparent)}button.danger:hover{background:var(--critical-bg);filter:none}button.danger-solid{background:var(--critical-dot);color:#fff}button.text,.button.text{height:auto;padding:0 2px;background:none;border:0;color:var(--brand)}button.text:hover,.button.text:hover{color:var(--brand-hover);filter:none}button.icon{width:32px;height:32px;padding:0;background:none;color:var(--text-secondary);border-color:var(--border)}button.icon:hover{background:var(--hover-row);color:var(--text);filter:none}button:disabled{background:var(--inset);color:var(--text-muted);border-color:transparent;cursor:not-allowed;filter:none}td button,td .button,.row button{height:32px;padding:0 10px}td button+button{margin-left:6px}td.row-actions{width:1%;text-align:right}.row-menu{display:inline-block}.menu.row-menu-list{position:fixed;min-width:160px;z-index:50}.menu.row-menu-list .item{margin:0}.menu .item.danger-item{color:var(--critical-text)}.table{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;line-height:20px}th{font-size:12px;line-height:18px;font-weight:500;color:var(--text-muted);text-align:left;padding:8px 12px;border-bottom:1px solid var(--divider);white-space:nowrap}td{text-align:left;height:44px;padding:6px 12px;border-bottom:1px solid var(--divider);white-space:nowrap}tbody tr:hover>td{background:var(--hover-row)}tr.selected>td{background:var(--selected-row)}tr.selected>td:nth-child(2){font-weight:600}tr.clickable{cursor:pointer}details{border-top:1px solid var(--divider);padding:14px 0}summary{cursor:pointer;font-weight:600}p{line-height:22px}small{color:var(--text-secondary);font-size:12px;line-height:18px}code,pre{font-family:var(--font-mono);font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.mono{font-family:var(--font-mono);font-size:12px}#toasts{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:grid;gap:8px;width:min(480px,calc(100vw - 32px));z-index:60}@media(min-width:768px){body:has(#task-view:not([hidden]):not(.full)) #toasts{left:calc((100vw - min(900px,70vw))/2);width:min(480px,calc(100vw - min(900px,70vw) - 32px))}}.toast{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:10px;background:var(--toast);color:var(--on-toast);font-size:13px;line-height:20px;box-shadow:0 8px 24px #0b16223d}.toast:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--ok-dot)}.toast.error:before{background:var(--critical-dot)}.toast.info:before{background:var(--info-dot)}.toast span{flex:1;padding:4px 0}.toast button{height:28px;padding:0 8px;background:none;color:inherit}.toast button:hover{color:inherit;background:#ffffff14}.toast button.toast-retry{color:#e8c580;font-weight:600}button.toast-close{font-size:18px}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(900px,70vw);overflow:auto;background:var(--card);padding:24px;border-left:1px solid var(--border);box-shadow:var(--shadow-drawer);z-index:30}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.drawer-head h2{margin:0}.drawer article{background:none;border:0;padding:0}.enrollment{background:var(--brand-tint);border:1px dashed var(--brand);border-radius:12px;padding:16px;margin-top:16px}.enrollment pre{margin:0 0 8px;font-size:13px}.enrollment ol{margin:8px 0;padding-left:20px}.enrollment li{margin:4px 0}.offscreen{position:fixed;left:-9999px;opacity:0}canvas{width:100%;max-width:1000px}.login{max-width:440px;background:var(--card);border:1px solid var(--border);padding:36px;border-radius:16px;margin:10vh auto}.login form{display:grid;gap:18px}.brand{display:flex;align-items:center;gap:14px}.brand img{display:block}.brand-logo{display:block;height:40px;width:auto;max-width:100%}.row{margin-top:12px}li{margin:12px 0}button.revoke{margin-top:12px}.account{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}#app.console{max-width:none;margin:0;padding:0}.topbar{position:fixed;top:0;left:0;right:0;z-index:25;height:56px;margin:0;padding:0 16px 0 20px;display:flex;align-items:center;gap:12px;flex-wrap:nowrap;background:var(--chrome);border-bottom:1px solid var(--border)}.topbar .brand{gap:10px;padding-right:16px;border-right:1px solid var(--divider);font-size:15px;font-weight:600;white-space:nowrap}.spacer{flex:1}.global-search{display:flex;align-items:center;gap:8px;width:min(360px,30vw);height:36px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--inset);color:var(--text-muted)}.global-search:focus-within{border-color:var(--brand)}.global-search input{flex:1;min-width:0;min-height:0;height:32px;padding:0;border:0;background:none}.global-search input:focus-visible{outline:none}.global-search kbd{padding:0 5px;border:1px solid var(--border-strong);border-radius:4px;font:11px/16px var(--font-mono);color:var(--text-muted)}.menu.search-results{width:min(420px,90vw)}.search-results .item{flex-direction:column;align-items:flex-start;gap:2px;height:auto;min-height:36px;padding:6px 10px;white-space:normal;text-align:left}@media(max-width:900px){.global-search{display:none}}tr.flash>td{background:var(--selected-row)}.menu-wrap{position:relative;min-width:0}.menu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:260px;max-height:70vh;overflow:auto;padding:6px;background:var(--elevated);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-float)}.menu.right{left:auto;right:0}.menu .item{display:flex;width:100%;justify-content:flex-start;height:36px;padding:0 10px;background:none;border:0;color:var(--text);font-weight:400}.menu .item:hover{background:var(--hover-row);color:var(--text);filter:none}.menu .item[aria-current=true]{background:var(--brand-tint);color:var(--brand-tint-text);font-weight:600}.menu form{display:flex;flex-wrap:nowrap;gap:8px;margin-top:6px;padding:8px 4px 4px;border-top:1px solid var(--divider)}.menu form input{flex:1;min-width:0}.menu-note{margin:0;padding:6px 10px;font-size:12px;line-height:18px;color:var(--text-muted)}button.switcher{max-width:280px;background:var(--card);color:var(--text);border-color:var(--border-strong)}button.switcher:hover{background:var(--hover-row);color:var(--text);filter:none}button.switcher span{overflow:hidden;text-overflow:ellipsis}button.refresh-status{height:32px;padding:0 8px;background:none;color:var(--text-secondary);font-size:12px;font-weight:400}button.refresh-status:hover{color:var(--text);background:var(--hover-row);filter:none}.refresh-status:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--ok-dot)}.refresh-status.paused:before{background:var(--neutral-dot)}button.refresh-status.failed{color:var(--warning-text)}.refresh-status.failed:before{background:var(--warning-dot)}button.account-button{gap:8px;padding:0 4px;background:none;color:var(--text);font:12px/18px var(--font-mono)}button.account-button:hover{color:var(--text);filter:none}.avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0b1622;color:#e8c580;font:600 13px/1 var(--font-sans)}.nav-toggle{display:none}.sidebar{position:fixed;top:56px;left:0;bottom:0;z-index:20;width:232px;display:flex;flex-direction:column;overflow:auto;padding:16px 12px;background:var(--chrome);border-right:1px solid var(--border)}nav.side-nav{display:block;padding:0}.nav-group{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}.nav-group h2{margin:0;padding:4px 10px 6px;font-size:12px;line-height:18px;font-weight:500;color:var(--text-muted)}.side-nav a{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:8px;color:var(--text);text-decoration:none}.side-nav a svg{flex:none;color:var(--text-secondary)}.side-nav a:hover{background:var(--hover-row);color:var(--text)}.side-nav a[aria-current=page]{background:var(--brand-tint);color:var(--brand-tint-text);font-weight:600}.side-nav a[aria-current=page] svg{color:var(--brand)}.side-nav .badge{margin-left:auto}.badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--neutral-bg);color:var(--text-secondary);font-size:12px;line-height:20px;text-align:center;font-variant-numeric:tabular-nums}.badge.alert{background:var(--badge);color:#fff}.badge:empty{display:none}.side-foot{margin-top:auto;padding:12px 10px 0;font:12px/18px var(--font-mono);color:var(--text-muted)}.main{min-height:100vh;margin-left:232px;padding:80px 32px 32px}.nav-scrim{display:none}@media(max-width:767px){.nav-toggle{display:inline-flex}.topbar{padding:0 12px;gap:8px}.topbar .brand{padding-right:0;border:0}.topbar .brand span,.account-button .account-name,.refresh-status .refresh-text{display:none}.sidebar{top:0;z-index:45;width:min(280px,85vw);transform:translate(-100%);transition:transform .2s}body.nav-open .sidebar{transform:none}body.nav-open .nav-scrim{display:block;position:fixed;inset:0;z-index:44;background:var(--scrim)}.main{margin-left:0;padding:72px 16px 24px}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 16px}.page-sub{margin:2px 0 0;font-size:13px;line-height:20px;color:var(--text-secondary)}.page-sub:empty{display:none}a.text-link{font-size:13px;font-weight:500;text-decoration:none}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.page-actions>div{display:contents}nav.page-tabs{gap:24px;flex-wrap:nowrap;overflow-x:auto;margin:0 0 16px;padding:0;border-bottom:1px solid var(--divider)}.page-tabs a{margin-bottom:-1px;padding:8px 0 10px;border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:500;text-decoration:none;white-space:nowrap}.page-tabs a:hover{color:var(--text)}.page-tabs a[aria-current=page]{color:var(--text);border-bottom-color:var(--brand);font-weight:600}.page-tabs .count{margin-left:6px;color:var(--text-muted);font-variant-numeric:tabular-nums}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.card-head h2{margin:0;font-size:16px;line-height:24px}.notice-list{list-style:none;margin:0;padding:0}.notice-list li{padding:8px 0;border-top:1px solid var(--divider)}.notice-list li:first-child{border-top:0}.notice-list li.read{color:var(--text-secondary)}.empty{margin:8px 0;color:var(--text-secondary)}.skeleton{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--inset),var(--divider),var(--inset));background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite}.skeleton.line{height:14px;margin:12px 0}.skeleton.short{width:60%}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.tag{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:6px;font-size:12px;line-height:18px;font-weight:500;white-space:nowrap;vertical-align:middle;color:var(--neutral-text);background:var(--neutral-bg)}.tag:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--neutral-dot)}td .tag{height:20px}.tag.ok{color:var(--ok-text);background:var(--ok-bg)}.tag.ok:before{background:var(--ok-dot)}.tag.info{color:var(--info-text);background:var(--info-bg)}.tag.info:before{background:var(--info-dot)}.tag.warning{color:var(--warning-text);background:var(--warning-bg)}.tag.warning:before{background:var(--warning-dot)}.tag.critical{color:var(--critical-text);background:var(--critical-bg)}.tag.critical:before{background:var(--critical-dot)}.tag.onsite{color:var(--onsite-text);background:var(--onsite-bg)}.tag.onsite:before{background:var(--onsite-dot)}.tag.running{color:var(--running-text);background:var(--running-bg)}.tag.running:before{background:var(--running-dot)}.pill{display:inline-block;padding:0 8px;border-radius:6px;font-size:12px;font-weight:500;line-height:20px;vertical-align:middle;color:var(--neutral-text);background:var(--neutral-bg)}.pill.model{background:var(--running-bg);color:var(--running-text)}.pill.degraded,.pill.warning{background:var(--warning-bg);color:var(--warning-text)}.pill.danger{background:var(--critical-bg);color:var(--critical-text)}.pill.info{background:var(--info-bg);color:var(--info-text)}.pill.ok{background:var(--ok-bg);color:var(--ok-text)}.banner{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--inset)}.banner.warning{background:var(--warning-bg);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning-dot) 30%,transparent)}.banner.success{background:var(--ok-bg);color:var(--ok-text);border-color:color-mix(in srgb,var(--ok-dot) 30%,transparent)}.facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:12px 0;font-size:14px}.facts dt{color:var(--text-secondary)}.facts dd{margin:0}.guide{display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap}.guide h2{margin:0;font-size:16px;line-height:24px;white-space:nowrap}.guide h2 small{margin-left:6px;font-size:14px;font-weight:400;color:var(--text-muted)}.guide ol{display:flex;flex:1;flex-wrap:wrap;gap:12px 28px;margin:0;padding:0;list-style:none}.guide li{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-muted)}.guide .mark{display:grid;place-items:center;flex:none;width:18px;height:18px;border:2px solid var(--border-strong);border-radius:50%}.guide li.done .mark{border-color:var(--ok-dot);color:var(--ok-dot)}.guide li.current{color:var(--text);font-weight:600}.guide li.current .mark{border-color:var(--brand)}@media(max-width:767px){.guide ol{flex-direction:column}}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 16px}a.metric{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none}a.metric:hover{color:var(--text);border-color:var(--border-strong)}.metric-label{font-size:13px;color:var(--text-secondary)}.metric-value{font-size:28px;line-height:34px;font-weight:600;font-variant-numeric:tabular-nums}.metric-value small{margin-left:4px;font-size:16px;color:var(--text-muted);font-weight:400}.metric-value.brand{color:var(--brand)}.metric-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:22px;font-size:12px;line-height:18px;color:var(--text-secondary)}.overview-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start;margin:0 0 16px}.overview-grid .card{margin:0}.sev .dot{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:2px}.clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.network-body{display:flex;gap:16px;align-items:flex-start}.network-body>div{flex:1;min-width:0}a.mini-topology{flex:none;display:block;width:200px;height:150px;padding:8px;border:1px solid var(--border);border-radius:10px;background:#f7f9fb}a.mini-topology:hover{border-color:var(--brand)}:root[data-theme=dark] a.mini-topology{background:#08111b}.mini-topology-svg{display:block;width:100%;height:100%}@media(max-width:600px){.network-body{flex-direction:column}a.mini-topology{width:100%}}.network-card ul{margin:8px 0;padding-left:18px}.network-card li{margin:4px 0}@media(max-width:1199px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.metrics{grid-template-columns:minmax(0,1fr)}}.split{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.split-detail{padding-top:16px;border-top:1px solid var(--divider)}@media(min-width:1280px){.split{grid-template-columns:minmax(0,3fr) minmax(380px,2fr);align-items:start}.split-detail{position:sticky;top:80px;padding:0 0 0 20px;border-top:0;border-left:1px solid var(--divider)}}.report-filter{margin:0 0 8px}#reports td:nth-child(2),#reports td:nth-child(4){white-space:normal;min-width:120px}#issues td:nth-child(2),#issues td:nth-child(3){white-space:normal;min-width:110px}.issue-actions{gap:8px}.issue-device-chip button.text{margin-left:2px;padding:0 2px;color:inherit;font-size:14px;line-height:1}.report-meta{margin:0 0 8px}ul.report-findings{margin:0;padding:0;list-style:none}.report-findings li{margin:0;padding:10px 0;border-bottom:1px solid var(--divider)}.report-actions{margin-top:16px}.page-actions .segmented label{height:30px}.banner.danger{margin:0 0 8px;background:var(--critical-bg);color:var(--critical-text);border-color:color-mix(in srgb,var(--critical-dot) 30%,transparent)}.banner.danger small{color:inherit}ul.topo-list{margin:0 0 12px;padding:0;list-style:none;border:1px solid var(--divider);border-radius:10px}.topo-list li{margin:0;border-bottom:1px solid var(--divider)}.topo-list li:last-child{border-bottom:0}.topo-list li>p{margin:0;padding:8px 12px 0}.topo-list li>button.text{margin:4px 12px 8px}button.expert svg{color:#e8c580}:root[data-theme=dark] button.expert svg{color:inherit}:root[data-theme=dark] .avatar{background:var(--brand-tint)}.pill.business{background:var(--onsite-bg);color:var(--onsite-text)}ol.lines li.hit{background:var(--evidence-hit)}.todo-toolbar{margin:0 0 12px;gap:6px}button.filter-chip{height:30px;padding:0 12px;border-radius:15px;background:var(--card);color:var(--text-secondary);border-color:var(--border);font-size:12px;font-weight:400}button.filter-chip:hover{background:var(--hover-row);color:var(--text);filter:none}button.filter-chip[aria-pressed=true]{background:var(--brand-tint);color:var(--brand-tint-text);border-color:var(--brand);font-weight:600}.todo-board article.interaction p{margin:6px 0}.todo-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:12px;align-items:start}.todo-alarms,.todo-items,.todo-items>.grid{display:contents}.todo-items>p,.todo-items>h3{grid-column:1/-1;order:3}.todo-board article{margin:0;order:2}.todo-board article.interaction[data-mode=trust]{order:0}.todo-board article.todo-alarm{order:1;border-color:color-mix(in srgb,var(--critical-dot) 35%,transparent)}.todo-alarm h3{margin:8px 0 4px}.todo-alarm p{margin:4px 0}.todo-board article.todo-confirm{order:1}.todo-confirm h3{margin:0 0 2px}.todo-confirm p{margin:0 0 8px}.todo-confirm-critical{font-size:13px;font-weight:500;color:var(--critical-text)}.todo-confirm-rows{margin:0 0 4px;padding:0;list-style:none}.todo-confirm-row{position:relative;display:flex;align-items:center;gap:8px;width:100%;height:auto;min-height:32px;padding:5px 8px 5px 10px;border:0;border-radius:6px;background:none;color:var(--text);font-weight:400;text-align:left}.todo-confirm-row:hover{background:var(--hover-row);filter:none}.todo-confirm-row.critical:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--critical-dot)}.todo-confirm-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.todo-confirm-where{flex:none;color:var(--text-secondary)}.todo-confirm-row .tag{flex:none;height:20px}article.memory h3{margin:8px 0 4px}.memory-text{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}.row.tags{margin-top:0;gap:6px}article.memory.attention{background:var(--warning-bg);border-color:color-mix(in srgb,var(--warning-dot) 40%,transparent)}.fields .segmented{justify-self:start}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--segment)}.segmented label{position:relative;flex-direction:row;align-items:center;height:32px;padding:0 14px;border-radius:8px;font-size:13px;cursor:pointer}.segmented input{position:absolute;width:1px;height:1px;opacity:0}.segmented label:has(input:checked){background:var(--card);color:var(--text);font-weight:600;box-shadow:var(--shadow-float)}.segmented label:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}dialog.dialog{width:min(520px,calc(100vw - 32px));padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--elevated);color:var(--text);box-shadow:var(--shadow-dialog)}dialog.dialog::backdrop{background:var(--scrim)}dialog.dialog h2{margin:0 0 8px}dialog.dialog p{margin:0 0 20px;color:var(--text-secondary)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}dialog.dialog p.dialog-error{margin:12px 0;color:var(--critical-text)}.picker{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--text-secondary)}.picker-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow:auto;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--card)}.picker-list label{gap:8px;color:var(--text)}.wide{grid-column:1/-1}.form-note{color:var(--critical-text)}.drawer.full{width:100vw;padding:24px max(24px,calc((100vw - 1100px)/2))}@media(max-width:767px){.drawer{width:100vw}.wide-only{display:none}}.result h5{margin:16px 0 8px;font-size:15px}.drawer .finding{margin:8px 0;padding:12px 14px;background:var(--inset);border:1px solid var(--border);border-radius:10px}.finding p{margin:6px 0 0}.check{margin:10px 0}.check p{margin:2px 0}td.status-failed,td.step-failed,td.step-unsupported,td.step-expired{color:var(--critical-text);font-weight:600}td.status-partial,td.step-partial{color:var(--warning-text);font-weight:600}.progress{height:6px;margin-top:8px;border-radius:3px;background:var(--divider);overflow:hidden}.progress span{display:block;height:100%;border-radius:3px;background:var(--brand)}tr.current-evidence td{background:var(--evidence-hit)}.conclusion{margin:4px 0}.conclusion strong{font-size:22px}.tone-danger{color:var(--critical-text)}.tone-warning{color:var(--warning-text)}.tone-info{color:var(--info-text)}.tone-ok{color:var(--ok-text)}.distribution{display:flex;gap:2px;height:8px;margin-top:10px;border-radius:4px;overflow:hidden}.distribution span{min-width:6px}.tone-bg-danger{background:var(--chart-critical)}.tone-bg-warning{background:var(--chart-warning)}.tone-bg-info{background:var(--chart-info)}.tone-bg-ok{background:var(--chart-ok)}.legend .dot{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%}.drawer .inspect-device{margin:8px 0;padding:12px 14px;background:var(--inset);border:1px solid var(--border);border-radius:10px}.inspect-device p{margin:4px 0}.check-list{margin:8px 0 0;padding:0;list-style:none}.check-list li{margin:4px 0;font-size:14px}.all-checks{border:0;padding:6px 0 0}.evidence-section h5{margin:12px 0 6px;font-size:14px}ol.lines{margin:0;padding:8px 0;max-height:60vh;overflow:auto;list-style:none;counter-reset:line;background:var(--inset);border:1px solid var(--border);border-radius:8px;font:12px/20px var(--font-mono)}ol.lines li{display:flex;gap:12px;margin:0;padding-right:12px;counter-increment:line;white-space:pre-wrap;overflow-wrap:anywhere}ol.lines li:before{content:counter(line);flex:none;min-width:3.5em;text-align:right;color:var(--text-muted);-webkit-user-select:none;user-select:none}.evidence-text{max-height:50vh;overflow:auto;margin:0;padding:12px;border-radius:8px;background:var(--inset);font-size:13px}.switch{margin:8px 0 12px}.wizard{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--elevated);color:var(--text);box-shadow:var(--shadow-dialog)}.wizard::backdrop{background:var(--scrim)}.wizard-steps{display:flex;gap:6px;margin-top:8px}.wizard-steps span{flex:1;height:4px;border-radius:2px;background:var(--divider)}.wizard-steps span.done{background:var(--brand)}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}button.choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;height:auto;padding:14px 16px;text-align:left;white-space:normal;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:10px}button.choice:hover{color:var(--text);border-color:var(--brand);filter:none}.wizard-actions{position:sticky;bottom:-24px;margin:0 -24px -24px;padding:12px 24px;background:var(--elevated);border-top:1px solid var(--divider)}fieldset{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:10px 14px;border:1px solid var(--border);border-radius:8px}fieldset legend{padding:0 4px;font-size:13px;color:var(--text-secondary)}@media(max-width:600px){main{padding:16px}.card{padding:16px}}.topo-toolbar{margin:0 0 12px;gap:8px 14px}.topo-toolbar label.inline{gap:6px}.legend-chips{display:flex;flex-wrap:wrap;gap:6px}button.legend-chip{height:30px;padding:0 10px;gap:6px;border-radius:15px;background:var(--card);color:var(--text-secondary);border-color:var(--border);font-size:12px;font-weight:400}button.legend-chip:hover{background:var(--hover-row);color:var(--text);filter:none}button.legend-chip[aria-pressed=false]{opacity:.55;text-decoration:line-through}.topo-find{width:200px;min-height:32px}.topo-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media(min-width:1280px){.topo-layout{grid-template-columns:minmax(0,1fr) clamp(320px,26vw,400px)}}.topo-canvas{position:relative;height:min(70vh,720px);min-height:420px;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#f7f9fb;touch-action:none;cursor:grab}:root[data-theme=dark] .topo-canvas{background:#08111b}.topo-canvas.dragging{cursor:grabbing}.topo-svg{display:block;-webkit-user-select:none;user-select:none}.topo-node,.topo-edge,.topo-port,.topo-business{cursor:pointer}.topo-node:focus{outline:none}.topo-node:focus-visible>rect:first-of-type{stroke:var(--brand);stroke-width:2;stroke-dasharray:4 3}.topo-mono{font-family:var(--font-mono)}.topo-zoom{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-float)}.topo-zoom button.icon{width:36px;height:36px;border:0;border-radius:0}.topo-zoom-level{position:absolute;left:12px;bottom:12px;padding:2px 8px;border-radius:12px;background:var(--card);border:1px solid var(--border);color:var(--text-muted);font-size:11px}.topo-empty{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--text-secondary);pointer-events:none}.topo-overview{position:absolute;left:12px;top:12px;width:min(320px,calc(100% - 24px));padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-float);cursor:default}.topo-overview .card-head{justify-content:flex-start;margin:0}.topo-overview .card-head button{margin-left:auto;width:28px;height:28px}.topo-overview button[aria-expanded=false] svg{transform:rotate(-90deg)}.topo-overview p{margin:8px 0 0;font-size:13px;line-height:20px}.topo-panel{display:flex;flex-direction:column;min-height:420px;max-height:min(70vh,720px);margin:0;overflow:auto}@media(max-width:1279px){.topo-panel{min-height:0;max-height:none}}.topo-panel h2{margin:0}.topo-panel h3{margin:14px 0 8px;font-size:14px}.topo-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.topo-head>div{flex:1;min-width:0}.topo-tile{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;background:var(--brand-tint);color:var(--brand)}.stat-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}.stat-tile{display:flex;flex-direction:column;padding:10px 12px;border-radius:10px;background:var(--inset)}.stat-tile strong{font-size:20px;line-height:28px;font-variant-numeric:tabular-nums}button.topo-row{display:flex;width:100%;justify-content:flex-start;gap:10px;height:auto;min-height:40px;padding:8px 12px;background:none;border:0;border-radius:0;color:var(--text);font-weight:400;text-align:left;white-space:normal}button.topo-row:hover{background:var(--hover-row);color:var(--text);filter:none}button.topo-row>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.line-sample{flex:none}ul.topo-alarms{margin:0 0 12px;padding:0;list-style:none}.topo-alarms li{margin:6px 0;font-size:13px}.topo-endpoints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.topo-endpoint{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--inset)}.topo-endpoint .mono{overflow-wrap:anywhere}.topo-review{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:8px 0;padding:10px 12px;border-radius:10px;background:var(--inset)}.topo-review p{margin:0;font-size:13px}.topo-more{padding:10px 0}.topo-actions{position:sticky;bottom:-18px;display:flex;gap:8px;margin:auto -20px -18px;padding:12px 20px;background:var(--card);border-top:1px solid var(--divider)}.topo-actions button{flex:1}.topo-actions button.expert{flex:1.4}dialog.evidence-dialog{width:min(960px,calc(100vw - 32px))}dialog.evidence-dialog ol.lines{max-height:65vh}.bl-graph-card{padding:0;overflow:hidden}.bl-graph-wrap{position:relative}.topo-canvas.bl-canvas{height:460px;min-height:0;border:0;border-radius:0}@media(max-width:1279px){.topo-canvas.bl-canvas{height:360px}}.bl-graph-open,.bl-graph-close{display:none}.bl-legend{position:absolute;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px);pointer-events:none}.bl-legend-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;background:var(--card);border:1px solid var(--border);font-size:12px;color:var(--text-secondary);white-space:nowrap}.bl-legend-chip svg{color:var(--text-secondary)}.bl-legend-chip.egress svg{color:var(--brand)}.bl-legend-critical{display:inline-block;width:18px;height:3px;border-radius:2px;background:var(--text)}.bl-legend-warning{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:3px;background:var(--warning-dot);color:#fff;font-size:10px;font-weight:700;line-height:1}@media(max-width:767px){.bl-graph-card{padding:16px}.bl-graph-open{display:inline-flex}.bl-graph-wrap{display:none}.bl-graph-wrap.bl-full{display:block;position:fixed;inset:0;z-index:40;background:var(--bg)}.bl-graph-wrap.bl-full .topo-canvas.bl-canvas{height:100%}.bl-graph-wrap.bl-full .bl-graph-close{display:inline-flex;position:absolute;right:12px;top:12px}.bl-graph-wrap.bl-full .bl-legend{top:56px}}.bl-list-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 8px}.bl-list-head .spacer{flex:1}.bl-count{color:var(--text-muted);font-variant-numeric:tabular-nums}.bl-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:16px;background:var(--card);border:1px solid var(--border-strong);color:var(--text-secondary);font-size:13px}.bl-chip[aria-pressed=true]{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-tint-text)}.bl-dash-sample{display:inline-block;width:16px;border-top:2px dashed currentColor}.bl-group-list{margin:16px 0 0}.bl-group-head{display:flex;align-items:center;gap:12px;margin:0 0 4px}.bl-group-head h3{margin:0;font-size:14px;line-height:22px}.bl-group-head button.text:first-of-type{margin-left:auto}.bl-table tbody tr{cursor:pointer}.bl-table tbody tr:hover{background:var(--hover-row)}.bl-table tbody tr:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.bl-indent-1{padding-left:16px}.bl-indent-2{padding-left:32px}.bl-indent-3{padding-left:48px}.bl-indent-4{padding-left:64px}@media(max-width:767px){.bl-segments{max-width:100%;overflow-x:auto}.bl-table thead{display:none}.bl-table,.bl-table tbody,.bl-table tr,.bl-table td{display:block;width:100%}.bl-table tr{padding:10px 12px;margin:0 0 8px;border:1px solid var(--border);border-radius:10px}.bl-table td{height:auto;padding:2px 0;border:0;white-space:normal;display:flex;gap:8px}.bl-table td:before{content:attr(data-label);flex:0 0 72px;color:var(--text-muted);font-size:12px}}.drawer.bl-drawer{width:min(560px,100%);padding:0;display:flex;flex-direction:column}.bl-drawer-head{padding:20px 24px 12px;border-bottom:1px solid var(--divider);align-items:flex-start}.bl-drawer-head h2{margin:0 0 6px;font-size:16px;line-height:24px}.bl-drawer-head h2 .mono{font-size:15px}.bl-kind{font-size:13px;font-weight:400;color:var(--text-muted)}.bl-drawer-banner{margin:12px 24px 0}.bl-drawer form{display:flex;flex-direction:column;flex:1}fieldset.bl-drawer-body{display:block;border:0;padding:0;margin:0;min-width:0}.bl-drawer-section{padding:16px 24px;border-bottom:1px solid var(--divider)}.bl-drawer-section h3{margin:0 0 12px;font-size:14px;line-height:22px}.bl-field{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 12px;align-items:start;padding:6px 0;border-left:2px solid transparent}.bl-field-label{display:block;padding-top:8px;font-size:13px;line-height:20px;color:var(--text-secondary)}.bl-field.readonly .bl-field-label,.bl-field.readonly .bl-field-value{padding-top:0}.bl-field-value{min-width:0;font-size:14px;line-height:22px}.bl-field-value>input,.bl-field-value>select,.bl-field-value>textarea{width:100%}.bl-field-value>.mono{display:inline-block;padding-top:8px}.bl-field-error{margin:4px 0 0;font-size:12px;line-height:18px;color:var(--critical-text)}.bl-field.invalid input,.bl-field.invalid select,.bl-field.invalid textarea{border-color:var(--critical-dot)}.bl-field.bl-edited{border-left-color:var(--brand);padding-left:8px;margin-left:-10px}.bl-drawer-tags{gap:6px;flex-wrap:wrap}.bl-drawer-error{margin:12px 24px 0;font-size:13px;line-height:20px;color:var(--critical-text)}.bl-drawer.bl-entry-marked fieldset.bl-drawer-body{opacity:.5}.bl-checks{display:flex;flex-wrap:wrap;gap:6px 14px;padding-top:8px}.bl-markable{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.bl-marked-note{display:none;color:var(--text-muted);font-size:13px}.bl-markable.bl-marked>label{color:var(--text-muted);text-decoration:line-through}.bl-markable.bl-marked .bl-marked-note{display:inline}.bl-importance{gap:12px;flex-wrap:wrap;padding-top:4px}.bl-remove{display:flex;align-items:center;gap:12px}button.bl-mini{height:24px;padding:0 8px;font-size:12px}button.text.danger{color:var(--critical-text)}.bl-config-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;line-height:20px}.bl-config-row .bl-lock{flex:none;color:var(--text-muted)}.bl-config-label{flex:0 0 64px;color:var(--text-secondary)}.bl-config-row .mono{flex:1;min-width:0}.bl-config-row .bl-muted{margin-left:auto;white-space:nowrap}.bl-deps{list-style:none;margin:0 0 8px;padding:0}.bl-dep{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0;font-size:13px;line-height:20px}.bl-dep-text{flex:1;min-width:0}.bl-dep-gone .bl-dep-text{color:var(--text-muted);text-decoration:line-through}.bl-dep-add{gap:8px;flex-wrap:wrap;align-items:center}.bl-dep-add select{max-width:100%}.bl-state-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:4px 0;font-size:13px}.bl-conflicts{scroll-margin-bottom:80px;margin:16px 24px 0;padding:14px 16px;border-radius:10px;background:var(--warning-bg);color:var(--text)}.bl-conflicts h3{margin:0 0 8px;color:var(--warning-text);font-size:14px}.bl-conflict{padding:8px 0;border-top:1px solid color-mix(in srgb,var(--warning-dot) 25%,transparent);font-size:13px;line-height:21px}.bl-conflict p{margin:0}.bl-conflict-actions{justify-content:flex-end;margin-top:8px}.bl-drawer-foot{position:sticky;bottom:0;margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--card);border-top:1px solid var(--divider)}.bl-drawer-foot .spacer{flex:1}.bl-tree-count{font-size:13px}.bl-tree-count.warning{color:var(--warning-text)}@media(max-width:767px){.bl-field{grid-template-columns:minmax(0,1fr)}.bl-field-label{padding-top:0}.bl-state-row{grid-template-columns:minmax(0,1fr) auto}.bl-state-row>span:nth-child(2){grid-column:1}}.bl-tree>.bl-note,.bl-tree>[data-act=add-root]{margin:12px 24px 0}.bl-tree-list{margin:12px 24px 16px;padding:0;list-style:none}.bl-tree-row{display:flex;align-items:center;gap:8px;min-height:40px;border-bottom:1px solid var(--divider)}.bl-tree-name{font-size:14px}.bl-tree-actions{margin-left:auto;display:flex;gap:4px;visibility:hidden}.bl-tree-row:hover .bl-tree-actions,.bl-tree-row:focus-within .bl-tree-actions{visibility:visible}@media(hover:none){.bl-tree-actions{visibility:visible}}.bl-tree-edit{display:flex;align-items:center;gap:6px;flex:1}.bl-tree-input{flex:1;min-height:32px}.ix-question,.ix-summary{white-space:pre-line}.ix-summary{margin:8px 0;font-size:14px;line-height:22px;color:var(--text)}.ix-hint{margin:6px 0 0;font-size:12px;line-height:18px;color:var(--text-muted)}.ix-review-title{margin:4px 0 0;font-size:16px;line-height:24px;font-weight:600}.ix-draft{position:relative;margin-top:8px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.topo-canvas.bl-canvas.ix-draft-canvas{height:240px}.ix-draft.expanded .topo-canvas.bl-canvas.ix-draft-canvas{height:480px}.ix-draft:not(.expanded) .ix-draft-canvas{pointer-events:none}.ix-draft:not(.expanded) .topo-zoom,.ix-draft:not(.expanded) .topo-zoom-level{display:none}.ix-draft-toggle{position:absolute;right:12px;top:10px;z-index:2;font-size:13px}.ix-draft-card{position:absolute;left:12px;top:10px;z-index:2;max-width:calc(100% - 120px);padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);font-size:13px;line-height:20px;box-shadow:0 2px 8px #00000014}.ix-review-actions{margin-top:12px;align-items:center}.ix-ab-rows{display:flex;flex-direction:column}.ix-ab-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--divider)}.ix-ab-row:first-child{border-top:0}.ix-ab-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:22px}.ix-ab-note{font-size:12px;line-height:18px;color:var(--text-muted)}.ix-seg{flex:none;display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.ix-seg label{position:relative;display:flex;flex-direction:row;margin:0;cursor:pointer}.ix-seg label+label{border-left:1px solid var(--border-strong)}.ix-seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.ix-seg span{padding:0 12px;font-size:13px;line-height:30px;white-space:nowrap;color:var(--text)}.ix-seg input:checked+span{background:var(--selected-row);color:var(--brand);font-weight:600}.ix-seg input:focus-visible+span{outline:2px solid var(--brand);outline-offset:-2px}.ix-ab-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}@media(max-width:767px){.ix-ab-row{flex-direction:column;align-items:stretch}.ix-seg{align-self:flex-start}}.gc-card{max-width:760px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text)}.gc-card header{display:flex;align-items:center;gap:8px}.gc-card header h3{flex:1;margin:0;font-size:15px;line-height:22px}.gc-card p{margin:8px 0}.gc-card small,.gc-muted{color:var(--text-muted)}.gc-pre{white-space:pre-wrap;overflow-wrap:anywhere}.gc-card .gc-controls{border:0;padding:0;margin:12px 0 0;min-width:0}.gc-card fieldset fieldset{border:0;padding:0;margin:16px 0}.gc-card legend{font-size:14px;font-weight:600}.gc-card textarea{box-sizing:border-box;width:100%;max-height:8em;resize:vertical}.gc-card .gc-options,.gc-tags,.gc-links{display:flex;flex-wrap:wrap;gap:8px}.gc-options button{min-height:32px}.gc-option{display:flex;align-items:center;gap:8px;min-height:36px;white-space:normal}.gc-option input{width:auto}.gc-card .gc-submit{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.gc-count{display:block;text-align:right}.gc-owners{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.gc-owners small{margin-left:6px}.gc-owners button{color:var(--text-secondary)}.gc-block{margin:12px 0}.gc-block-label{font-size:12px;font-weight:600;line-height:16px;color:var(--text-secondary);margin-bottom:4px}.gc-change{display:grid;grid-template-columns:140px 1fr;gap:8px;margin:6px 0;overflow-wrap:anywhere}.gc-change>span:first-child,.gc-kv dt{font-size:13px;color:var(--text-secondary)}.gc-kv{display:grid;grid-template-columns:min(160px,35%) 1fr;gap:6px;margin:0;font-size:13px;font-variant-numeric:tabular-nums}.gc-kv dd{margin:0;overflow-wrap:anywhere}.gc-tag{display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:20px;border:1px solid var(--border);border-radius:6px;padding:0 6px;font-size:12px;line-height:18px;font-weight:400;vertical-align:middle}.gc-tag.gc-good,.gc-tag.gc-warn,.gc-tag.gc-bad{border-color:transparent}.gc-tag.gc-good:before,.gc-tag.gc-warn:before,.gc-tag.gc-bad:before{content:"";flex:none;width:7px;height:7px;border-radius:50%}.gc-tag.gc-good:before{background:var(--ok-dot)}.gc-tag.gc-warn:before{background:var(--warning-dot)}.gc-tag.gc-bad:before{background:var(--critical-dot)}.gc-good{background:var(--ok-bg);color:var(--ok-text)}.gc-warn{background:var(--warning-bg);color:var(--warning-text)}.gc-bad,.gc-danger .gc-feedback{color:var(--critical-text)}.gc-bad{background:var(--critical-bg)}.gc-warning{padding:10px 12px;border-radius:8px;font-size:13px}.gc-warning.gc-info{background:var(--info-bg);color:var(--info-text)}.gc-warning.gc-danger{background:var(--critical-bg);color:var(--critical-text)}.gc-warning-block{display:flex;align-items:flex-start;gap:8px;line-height:20px}.gc-warning-block>.gc-icon{flex:none;margin-top:2px}.gc-warning-block>p{margin:0;flex:1;min-width:0}.gc-arrow{display:inline-flex;vertical-align:-2px;color:var(--text-muted)}.gc-feedback>.gc-icon{vertical-align:-2px;margin-right:4px}.gc-feedback>button.text{margin-left:4px}.gc-card .gc-notice,.gc-refs{color:var(--text-secondary)}.gc-fold>div{margin:8px 0 0 16px;border-left:1px solid var(--divider);padding-left:12px}.gc-fold summary{cursor:pointer}.gc-critical{border-left:3px solid var(--critical-text)}.gc-card.gc-danger{border-color:var(--critical-text)}.gc-status,.gc-feedback{font-size:13px}.gc-brief{border:0;border-radius:0;border-bottom:1px solid var(--divider);padding:12px 16px}.gc-question-error,.gc-feedback{color:var(--critical-text)}.gc-question-error{font-size:12px;margin:4px 0}.gc-card .gc-expiry{color:var(--text-muted)}.gc-card .gc-expiry.gc-urgent{color:var(--warning-text)}.gc-status-answered:before{content:"● ";color:var(--ok-dot)}.gc-status-neutral:before{content:"● ";color:var(--text-muted)}.gc-card[data-status=withdrawn] h3,.gc-card[data-status=expired] h3,.gc-card[data-status=withdrawn] .gc-block,.gc-card[data-status=expired] .gc-block,.gc-row[data-status=withdrawn] strong,.gc-row[data-status=expired] strong{color:var(--text-muted)}.gc-brief>.gc-expiry{grid-column:1}[data-card-row] .gc-card.gc-row{padding:0;border:0;border-radius:0}[data-card-row] .gc-card.gc-row>header{display:none}.gc-brief .gc-block{margin:4px 0}.gc-brief .gc-block-label{display:inline}.gc-brief .gc-block-label:after{content:"："}.gc-row{padding:8px 16px;border-bottom:1px solid var(--divider)}.gc-row>button{display:flex;width:100%;align-items:center;gap:12px}.gc-row>button>strong{flex:1;min-width:0;text-align:left}.gc-chevron{display:inline-flex;flex:none;color:var(--text-muted);transition:transform .15s}.gc-row>button[aria-expanded=true] .gc-chevron{transform:rotate(180deg)}.gc-row>p{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.gc-row small{font-weight:400;color:var(--text-muted)}.gc-summary-fold summary{cursor:pointer;list-style:none}.gc-summary-fold summary>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.gc-summary-fold summary:after{content:"展开";color:var(--text-secondary)}.gc-summary-fold[open] summary>span{display:none}.gc-summary-fold[open] summary:after{content:"收起"}.gc-segmented{padding:3px;background:var(--segment);border-radius:8px;width:fit-content}.gc-segmented label{padding:0 8px;border-radius:6px}.gc-segmented label:has(input:checked){background:var(--card);box-shadow:var(--shadow-float)}.gc-brief{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px}.gc-brief>form{grid-column:2;grid-row:1 / span 20}.gc-brief>header,.gc-brief>section,.gc-brief>p,.gc-brief>details,.gc-brief>.gc-links{grid-column:1}.gc-brief>.gc-brief-foot{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px}.gc-brief-foot>.gc-controls{margin:0}.gc-brief-foot .gc-owners{margin:0}.gc-group>header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.gc-group>header h3{margin:0;font-size:14px;font-weight:600}.gc-group-open{color:var(--text-secondary);font-variant-numeric:tabular-nums}.gc-group-critical{font-weight:500;color:var(--critical-text)}.gc-group>header>button.text:last-child,.gc-group>header>.gc-group-bulk{margin-left:auto}@media(max-width:640px){.gc-card{padding:12px 16px}.gc-change{grid-template-columns:1fr}.gc-row>button{flex-wrap:wrap}}@media(max-width:640px){.gc-brief{display:block}.gc-brief .gc-options{justify-content:flex-end}}.gc-config-view{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:8px;max-width:100%;overflow:hidden}.gc-config-view [hidden]{display:none!important}.gc-config-view h4{margin:0 0 8px;font-size:13px;line-height:20px;font-weight:600}.gc-config-view h5{margin:8px 0 4px;font-size:12px;line-height:16px;font-weight:600;color:var(--text-secondary)}.gc-config-view p{margin:8px 0;font-size:13px;line-height:20px}.gc-config-view .gc-warning-block{margin:8px 0}.gc-config-view .gc-warning-block>p{margin:0}.gc-config-view .gc-config-status{font-size:12px;line-height:18px;color:var(--text-muted)}.gc-config-view .gc-config-status:empty{display:none}.gc-config-view .gc-config-status.gc-config-failed{color:var(--critical-text)}.gc-config-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0;font-size:12px;color:var(--text-secondary)}.gc-config-toolbar label{display:flex;align-items:center;gap:4px}.gc-config-toolbar input{width:92px;min-height:30px}[data-config-navigation]>button.text:last-child,.gc-config-position{margin-left:auto}.gc-config-position{color:var(--text-muted)}.gc-config-text{box-sizing:border-box;min-height:3em;max-height:360px;overflow:auto;white-space:pre;tab-size:2;padding:10px;border:1px solid var(--divider);border-radius:6px;background:var(--inset);font:12px/20px ui-monospace,monospace;max-width:100%;margin:8px 0}.gc-config-text[data-field=removed]{color:var(--critical-text)}.gc-config-text[data-field=added]{color:var(--ok-text)}.chat-page{margin:-24px -32px -32px;height:calc(100vh - 56px)}.chat-page>.view{height:100%;min-height:0}@media(max-width:767px){.chat-page{margin:-16px -16px -24px}}.chat-layout{display:flex;height:100%;min-height:0;position:relative}.chat-list{flex:none;width:280px;display:flex;flex-direction:column;min-height:0;background:var(--card);border-right:1px solid var(--divider)}.chat-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.chat-scrim{display:none}.chat-list-head{flex:none;display:grid;gap:8px;padding:12px 16px}.chat-new{width:100%;justify-content:center;gap:6px}.chat-list-head select{height:32px}.chat-items-wrap{flex:1;min-height:0;overflow:auto}.chat-items{list-style:none;margin:0;padding:0}.chat-item{position:relative}.chat-open{display:block;width:100%;height:60px;padding:10px 16px;text-align:left;border:0;border-radius:0;background:none;color:var(--text);font-weight:400}.chat-open:hover{background:var(--hover-row);filter:none}.chat-item[aria-current=true] .chat-open{background:var(--brand-tint)}.chat-item[aria-current=true] .chat-item-title{color:var(--brand-tint-text)}.chat-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.chat-item-row.sub{margin-top:2px}.chat-item-title{font-size:14px;line-height:22px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-time,.chat-item-project{font-size:12px;line-height:18px;color:var(--text-muted);white-space:nowrap}.chat-item-project{overflow:hidden;text-overflow:ellipsis}.chat-item-marks{display:flex;align-items:center;gap:8px;flex:none}.chat-item-marks .tag{height:20px}.chat-cards{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:18px;color:var(--brand)}.chat-cards i{width:8px;height:8px;border-radius:50%;background:var(--brand)}.chat-item-menu{position:absolute;top:10px;right:12px;display:none;background:var(--hover-row)}.chat-item:hover .chat-item-menu,.chat-item:focus-within .chat-item-menu{display:block}.chat-item:hover .chat-item-time,.chat-item:focus-within .chat-item-time{visibility:hidden}.chat-item-menu button.icon{width:24px;height:24px;border:0}.chat-rename,.chat-title-input{height:32px;width:100%}.chat-skeleton{display:grid;gap:8px;height:60px;padding:14px 16px}.chat-list-note{margin:0;padding:12px 16px;font-size:13px;line-height:20px;color:var(--text-muted)}.chat-list-note:empty{display:none}.chat-head{flex:none;display:flex;align-items:center;gap:8px;height:56px;padding:0 24px;border-bottom:1px solid var(--divider);background:var(--card)}.chat-title{flex:1;min-width:0;margin:0;font-size:16px;line-height:24px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-drawer-btn{display:none;flex:none}.chat-head-menu[hidden]{display:none}.chat-head-menu .row-menu-toggle{border:0}.chat-log-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.chat-log{flex:1;min-height:0;overflow-y:auto;padding:24px 32px;display:flex;flex-direction:column;gap:16px;width:100%;max-width:824px;margin:0 auto}.chat-log:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.chat-empty{margin:auto;font-size:14px;line-height:22px;color:var(--text-muted);text-align:center}.chat-earlier{margin:0;text-align:center;font-size:12px;line-height:18px;color:var(--text-muted)}.chat-pill{position:absolute;left:50%;bottom:12px;transform:translate(-50%);height:28px;padding:0 12px;border-radius:14px;font-size:12px;line-height:18px;background:var(--elevated);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-float)}.chat-pill[hidden]{display:none}.msg{display:flex;flex-direction:column;gap:8px;min-width:0}.msg.user+.msg.assistant,.msg.user+.msg.notice{margin-top:0}.msg.assistant+.msg.user,.msg.notice+.msg.user,.msg.user+.msg.user{margin-top:8px}.msg.user{align-items:flex-end}.bubble{max-width:80%;padding:10px 14px;border-radius:16px 16px 4px;background:var(--brand-tint);font-size:14px;line-height:22px;white-space:pre-wrap;overflow-wrap:anywhere}.msg-text{margin:0;font-size:14px;line-height:22px;white-space:pre-wrap;overflow-wrap:anywhere}.msg-block,.msg-card{min-width:0;max-width:760px}.msg-block .gc-block{margin:0}.msg-labels{display:flex;flex-wrap:wrap;gap:6px}.msg-labels .tag{height:20px;font-size:12px}.msg-labels .tag:before{display:none}.msg.notice{padding:12px 16px;border-radius:12px;background:var(--inset)}.msg.notice.about{padding:10px 14px;border-left:3px solid var(--border-strong);border-radius:0 12px 12px 0}.msg.notice.about p{margin:0;display:flex;align-items:center;gap:6px;font-size:13px;line-height:20px;color:var(--text-secondary)}.notice-source{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:18px;color:var(--text-muted)}.notice-source span{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.send-state{font-size:12px;line-height:18px;color:var(--text-muted);text-align:right}.send-state.failed{color:var(--critical-text)}.masked-hint{display:flex;align-items:center;gap:6px;justify-content:flex-end;font-size:12px;line-height:18px;color:var(--text-muted)}.turn-row{display:flex;align-items:center;gap:8px;font-size:13px;line-height:20px;color:var(--text-muted)}.msg.user .turn-row{align-self:flex-start}.turn-row.ended{align-self:flex-end;color:var(--warning-text)}.spin{flex:none;width:16px;height:16px;border-radius:50%;border:2px solid var(--brand-tint);border-top-color:var(--brand);animation:chat-spin .8s linear infinite}.msg-buttons{display:flex;flex-wrap:wrap;gap:8px}.msg-btn{height:32px;display:inline-flex;align-items:center;gap:6px}.msg-btn .spin{width:14px;height:14px}.msg-jump{display:flex;align-items:center;min-height:36px}.msg-page{color:var(--brand);font-size:14px;line-height:22px}.msg-app,.msg-result{margin:0;font-size:13px;line-height:20px;color:var(--text-muted)}.msg-result{color:var(--text-secondary)}.msg-failed{margin:0;font-size:12px;line-height:18px;color:var(--critical-text)}.msg-failed[hidden]{display:none}.msg-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:18px;font-size:12px;line-height:18px;color:var(--text-muted)}.msg-foot time{visibility:hidden}.msg:hover .msg-foot time,.msg:focus-within .msg-foot time{visibility:visible}.msg-foot button.text,.masked-hint button.text{height:auto;padding:0;font-size:12px;line-height:18px;color:var(--text-muted);font-weight:400}.masked-hint button.text{color:var(--brand)}.msg-wrong,.msg-reported{margin-left:auto}.msg-knowledge{display:flex;flex-direction:column;gap:10px}.k-lead{display:flex;align-items:flex-start;gap:8px;margin:0 0 -2px;font-size:13px;line-height:20px;color:var(--text-secondary)}.k-lead .spin{margin-top:2px}.k-limits{display:flex;flex-wrap:wrap;gap:6px;margin-top:-4px}.k-tag{height:20px;font-size:12px;vertical-align:1px}.k-tag:before{display:none}.k-para .k-tag{margin-left:6px}.k-para.pending{color:var(--text-muted)}.k-collapsed{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;line-height:20px;color:var(--text-secondary)}button.k-cite,span.k-cite{display:inline;height:auto;padding:0 2px;border:0;border-radius:4px;background:none;color:var(--brand);font-size:12px;line-height:18px;font-weight:600;vertical-align:baseline}button.k-cite:hover{background:var(--brand-tint);filter:none;cursor:pointer}.k-tail{display:flex;flex-direction:column;gap:12px;margin-top:4px}.k-sources{display:flex;flex-direction:column}.k-sources-title{margin:0 0 4px;font-size:12px;line-height:18px;color:var(--text-muted)}.k-source{display:flex;align-items:center;gap:8px;min-height:32px}.k-source-open{flex:1;min-width:0;display:flex;align-items:center;gap:4px;height:auto;min-height:32px;padding:4px 0;border:0;border-radius:6px;background:none;color:var(--text);font-size:13px;line-height:20px;font-weight:400;text-align:left;overflow:hidden;white-space:nowrap}button.k-source-open:hover{background:var(--hover-row);filter:none}.k-source-open .k-n{flex:none;min-width:30px;color:var(--brand);font-size:12px;line-height:18px;font-weight:600;font-variant-numeric:tabular-nums}.k-source-open .k-title{flex:none;max-width:60%;overflow:hidden;text-overflow:ellipsis}.k-source-open .k-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:18px;color:var(--text-muted)}.k-source-open .k-tag{flex:none}.k-more{align-self:flex-start;margin-top:4px;font-size:13px;line-height:20px}.k-pages{display:flex;flex-direction:column}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}dialog.k-drawer{position:fixed;inset:0 0 0 auto;width:min(560px,100%);max-width:100%;height:100%;max-height:100%;margin:0;padding:0;border:0;display:flex;flex-direction:column;background:var(--card);color:var(--text);box-shadow:var(--shadow-drawer)}dialog.k-drawer:not([open]){display:none}dialog.k-drawer::backdrop{background:var(--scrim)}.k-drawer-head{position:relative;flex:none;display:flex;flex-direction:column;gap:4px;padding:16px 56px 16px 20px;border-bottom:1px solid var(--divider)}.k-drawer-head h2{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;line-height:24px;font-weight:600}.k-drawer-head h2:focus{outline:0}.k-drawer-head h2 .k-n{margin-right:6px;color:var(--brand);font-size:12px;line-height:18px}.k-drawer-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0}.k-drawer-sub{margin:0;font-size:12px;line-height:18px;color:var(--text-muted)}.k-drawer-sub[hidden],.k-drawer-pager[hidden]{display:none}.k-drawer-state:empty{display:none}.k-drawer-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px;position:relative}.k-chapter{font-size:14px;line-height:24px;white-space:pre-wrap;overflow-wrap:anywhere}mark.k-hit{background:var(--brand-tint);color:inherit;border-bottom:2px solid var(--brand)}.k-hit-pages{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;line-height:18px;color:var(--text-muted)}.k-hit-pages button.text{font-size:12px;line-height:18px}.k-hit-pages button[aria-current]{background:none;color:var(--text)}.k-drawer-note{margin:0;font-size:14px;line-height:22px;color:var(--text-secondary)}.k-drawer-gone{display:flex;align-items:center;justify-content:center;gap:8px;min-height:100%}.k-drawer-loading{display:grid;gap:10px}.k-drawer-pager{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;height:52px;padding:0 20px;border-top:1px solid var(--divider);font-size:12px;line-height:18px;color:var(--text-muted)}.k-drawer-pager button{height:32px}.msg-wrong-dialog textarea{width:100%;resize:vertical}.msg-wrong-dialog label{display:grid;gap:6px}.msg-count{display:block;text-align:right;font-size:12px;line-height:18px;color:var(--text-muted)}.msg-project-menu{position:fixed;min-width:240px;z-index:60}.msg.notice-card{gap:8px}.msg-card-fold{display:flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.msg-card.open .msg-card-fold{border-radius:12px 12px 0 0;border-bottom:0}.msg-card.open .gc-card{border-radius:0 0 12px 12px}.msg-card-fold strong{flex:none;max-width:50%;font-size:14px;line-height:22px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-card-fold span{flex:1;min-width:0;font-size:13px;line-height:20px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-card-fold button{flex:none}.msg-card-edit:empty{display:none}.msg-card-edit{padding:12px 16px}.msg-place{display:grid;gap:8px;max-width:480px}.msg-place label{display:grid;gap:4px;font-size:13px;line-height:20px}.msg-place-actions{display:flex;gap:8px}.msg-edit-state{margin:0}.qr{border:1px solid var(--border);border-radius:12px;background:var(--card);overflow:hidden}.qr-head{padding:10px 16px;font-size:12px;line-height:18px;color:var(--text-muted)}.qr-scroll{overflow-x:auto}.qr-table{width:100%;border-collapse:collapse;font-size:13px;line-height:20px}.qr-table th,.qr-table td{height:36px;padding:0 12px;text-align:left;border-top:1px solid var(--divider);white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.qr-table thead th{font-size:12px;line-height:18px;font-weight:400;color:var(--text-muted)}.qr-table .qr-code{position:sticky;left:0;z-index:1;background:var(--card);font-family:var(--mono,ui-monospace,monospace);font-size:12px;font-weight:400;color:var(--text-muted)}.qr-table tr.qr-link{cursor:pointer}.qr-table tr.qr-link:hover td,.qr-table tr.qr-link:hover .qr-code,.qr-table tr.qr-link:focus-visible td{background:var(--hover-row)}.qr-table tr.qr-link:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.qr-act{width:1%}.qr-act .qr-btn{height:28px;padding:0 10px;font-size:13px}.qr-act .qr-btn+.qr-btn{margin-left:6px}.qr-go{width:24px;color:var(--text-muted)}.qr-expand{margin:4px 16px}.qr-missing{display:flex;align-items:center;gap:8px;margin:0;padding:4px 16px;font-size:13px;line-height:20px}.qr-missing .tag:before{display:none}.qr-failed{margin:0;padding:4px 16px;font-size:12px;line-height:18px;color:var(--critical-text)}.qr-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid var(--divider);font-size:12px;line-height:18px;color:var(--text-muted)}.qr-foot>span{display:inline-flex;align-items:center;gap:4px;min-width:0}.qr-foot.stale>span{color:var(--warning-text)}.qr-more{flex:none;color:var(--brand)}.qr-app{flex:none}@keyframes chat-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.chat-composer{flex:none;width:100%;max-width:824px;margin:0 auto;padding:12px 32px;border-top:1px solid var(--divider);background:var(--bg);display:grid;gap:8px}.chat-hint{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:13px;line-height:20px;background:var(--info-bg);color:var(--info-text)}.chat-hint.warn{background:var(--warning-bg);color:var(--warning-text)}.chat-hint span{flex:1;min-width:0}.chat-hint[hidden]{display:none}.chat-hint-x{width:24px;height:24px;border:0;color:inherit}.chat-project-row{min-height:28px;font-size:12px;line-height:18px}.chat-project-text{color:var(--text-muted)}.chat-project-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:8px;font-size:12px;line-height:18px;font-weight:400;background:none;color:var(--text);border:1px solid var(--border-strong)}.chat-project-row .menu{min-width:200px;top:auto;bottom:calc(100% + 6px)}.chat-input{position:relative;display:flex;align-items:flex-end}.chat-input textarea{width:100%;min-height:42px;max-height:200px;padding:10px 52px 10px 12px;border-radius:12px;font-size:14px;line-height:22px;resize:none;background:var(--card);border:1px solid var(--border-strong)}.chat-input textarea:focus{border-color:var(--brand);outline:0}.chat-send{position:absolute;right:6px;bottom:5px;width:32px;height:32px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.chat-count{position:absolute;right:48px;bottom:12px;font-size:12px;line-height:18px;color:var(--text-muted)}.chat-count.over{color:var(--critical-text)}.chat-count[hidden],.chat-pw-note[hidden],.chat-quick-fail[hidden]{display:none}.chat-pw-note,.chat-quick-fail{margin:0;font-size:12px;line-height:18px;color:var(--text-muted)}.chat-quick-fail{color:var(--critical-text)}.chat-quick{display:flex;flex-wrap:wrap;gap:8px}.chat-quick:empty{display:none}.chat-chip{height:28px;padding:0 12px;border-radius:14px;font-size:13px;line-height:20px;font-weight:400;background:none;color:var(--text);border:1px solid var(--border-strong)}.chat-chip.on{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-tint-text)}.chat-chip:disabled{opacity:.5}dialog.dialog #confirm-body{white-space:pre-line}@media(max-width:1023px){.chat-drawer-btn{display:inline-flex}.chat-list{position:absolute;z-index:30;top:0;bottom:0;left:0;width:min(320px,85vw);transform:translate(-100%);transition:transform .2s;box-shadow:var(--shadow-drawer)}.chat-layout.drawer-open .chat-list{transform:none}.chat-layout.drawer-open .chat-scrim{display:block;position:absolute;z-index:20;inset:0;background:var(--scrim)}}@media(prefers-reduced-motion:reduce){.chat-list{transition:none}}@media(max-width:767px){.chat-head{padding:0 16px}.chat-log{padding:16px}.chat-composer{padding:12px 16px}}.k-feedback{flex:none;height:auto;padding:4px 0;font-size:12px;line-height:18px;color:var(--text-muted)}.k-feedback:hover{color:var(--text)}.k-feedback-done{flex:none;font-size:12px;line-height:18px;color:var(--text-muted)}.k-feedback-src{margin:0 0 12px;font-size:13px;line-height:20px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-reasons{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;padding:0;border:0}.k-feedback-hint{margin:0;font-size:12px;line-height:18px;color:var(--text-muted)}.k-feedback-hint[hidden]{display:none}.k-feedback-dialog .dialog-actions .k-feedback-hint{margin-right:auto;align-self:center}
