:root{
  --ink:#141418; --ink-2:#4A4852; --ink-3:#7A7682; --line:#E7E1E5; --line-2:#F0EBEE;
  --panel:rgba(255,255,255,.86); --panel-solid:#FFFFFF; --card:#FFFFFF; --soft:#F7F4F6; --hover:#F3EFF2;
  --primary:#141418; --on-primary:#FFFFFF; --focus:#141418;
  --crit:#C0282D; --crit-bg:#FBE9EA; --high:#C85A1C; --high-bg:#FCEEE4; --med:#9A7400; --med-bg:#FBF3DA; --low:#2E7D5B; --low-bg:#E5F3EC;
  --mvp1:#5B3FD0; --mvp2:#9C3593; --ok:#2E7D5B;
  --veil:linear-gradient(135deg,rgba(252,238,242,.80) 0%,rgba(244,230,236,.74) 45%,rgba(214,201,207,.80) 100%);
  --shadow:0 1px 2px rgba(40,20,30,.05),0 8px 30px rgba(60,30,45,.06);
  --font:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --ink:#F3F0F3; --ink-2:#C9C3CB; --ink-3:#9A94A0; --line:#3A3540; --line-2:#2E2A33;
  --panel:rgba(28,25,31,.88); --panel-solid:#1E1B22; --card:#221F26; --soft:#2A262E; --hover:#322D37;
  --primary:#F3F0F3; --on-primary:#141418; --focus:#F3F0F3;
  --crit:#F0787B; --crit-bg:#3A1F22; --high:#F0A06E; --high-bg:#3A2A1E; --med:#E3C35A; --med-bg:#352E18; --low:#7FCBA6; --low-bg:#1C3228;
  --mvp1:#A996F5; --mvp2:#E08AD6; --ok:#7FCBA6;
  --veil:linear-gradient(135deg,rgba(24,20,27,.86) 0%,rgba(30,25,33,.82) 50%,rgba(18,16,20,.88) 100%);
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 30px rgba(0,0,0,.3);
}}
:root[data-theme="dark"]{
  --ink:#F3F0F3; --ink-2:#C9C3CB; --ink-3:#9A94A0; --line:#3A3540; --line-2:#2E2A33;
  --panel:rgba(28,25,31,.88); --panel-solid:#1E1B22; --card:#221F26; --soft:#2A262E; --hover:#322D37;
  --primary:#F3F0F3; --on-primary:#141418; --focus:#F3F0F3;
  --crit:#F0787B; --crit-bg:#3A1F22; --high:#F0A06E; --high-bg:#3A2A1E; --med:#E3C35A; --med-bg:#352E18; --low:#7FCBA6; --low-bg:#1C3228;
  --mvp1:#A996F5; --mvp2:#E08AD6; --ok:#7FCBA6;
  --veil:linear-gradient(135deg,rgba(24,20,27,.86) 0%,rgba(30,25,33,.82) 50%,rgba(18,16,20,.88) 100%);
}
html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;height:100%;font-family:var(--font);color:var(--ink);background:#EFE6EA;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:8px}
#bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:#EDE3E8}
#bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) blur(2px);transform:scale(1.04)}
#bg::after{content:"";position:absolute;inset:0;background:var(--veil)}
.app{position:relative;z-index:1;display:flex;height:100%;gap:0}
/* ---------- sidebar */
.side{width:252px;flex:0 0 252px;margin:4px 0 4px 0;background:var(--panel);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:0 22px 22px 0;display:flex;flex-direction:column;padding:22px 16px 14px;box-shadow:var(--shadow);overflow-y:auto;transition:width .2s ease,flex-basis .2s ease,padding .2s}
.side.collapsed{width:72px;flex-basis:72px;padding:22px 10px 14px}
.side.collapsed .hide-c{display:none}
.brand{display:flex;align-items:flex-start;justify-content:space-between;padding:0 6px}
.brand img{width:40px;height:auto;display:block}
.icon-btn{border:0;background:transparent;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink-2)}
.icon-btn:hover{background:var(--hover)}
.brand-name{padding:10px 6px 0}
.brand-name b{display:block;font-size:15.5px;font-weight:600;letter-spacing:-.01em}
.brand-name span{font-size:12.5px;color:var(--ink-3)}
.search{margin:14px 0 10px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:9px 10px;background:var(--panel-solid);color:var(--ink-3);width:100%;text-align:left}
.search kbd{margin-left:auto;font:500 11px var(--font);border:1px solid var(--line);border-radius:6px;padding:2px 5px;color:var(--ink-3)}
.nav-sec{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding:18px 10px 6px}
.nav a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;color:var(--ink-2);text-decoration:none;font-size:14px;cursor:pointer;position:relative}
.nav a:hover{background:var(--hover);color:var(--ink)}
.nav a.on{background:var(--soft);color:var(--ink);font-weight:500}
.nav a .ico{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center}
.nav a .ico svg{width:17px;height:17px}
.nav a .dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--crit)}
.nav a .count{margin-left:auto;font-size:11.5px;color:var(--ink-3)}
.side-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:12px}
.powered{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3);padding:4px 8px 12px}
.powered img{height:17px;width:auto}

@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand img{filter:invert(1)}:root:not([data-theme="light"]) .powered img{filter:invert(1) hue-rotate(180deg)}}
:root[data-theme="dark"] .brand img{filter:invert(1)}:root[data-theme="dark"] .powered img{filter:invert(1) hue-rotate(180deg)}
.alert .chip{align-self:flex-start}

.me{display:flex;align-items:center;gap:10px;padding:6px 6px;border-radius:12px;border:0;background:transparent;width:100%;text-align:left}
.me:hover{background:var(--hover)}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--on-primary);display:grid;place-items:center;font-size:12.5px;font-weight:600;flex:0 0 36px;position:relative}
.avatar i{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:#7C5CFF;border:2px solid var(--panel-solid)}
.me .avatar{display:grid}
.me b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.me span{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ---------- main */
.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}
.topbar{display:flex;align-items:center;justify-content:center;padding:18px 24px 6px;position:relative}
.seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px;backdrop-filter:blur(10px)}
.seg button{border:0;background:transparent;padding:7px 18px;border-radius:999px;font-size:13.5px;color:var(--ink-2);font-weight:500}
.seg button.on{background:var(--primary);color:var(--on-primary)}
.clock{position:absolute;right:24px;top:22px;font-size:12px;color:var(--ink-3);display:flex;gap:8px;align-items:center}
.theme-t{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--ink-2)}
.scroll{flex:1;overflow-y:auto;padding:10px 32px 40px}
.wrap{max-width:1240px;margin:0 auto}
.page-h{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:18px 0 18px;flex-wrap:wrap}
.page-h h1{font-size:30px;line-height:1.1;margin:0;font-weight:300;letter-spacing:-.035em}
.page-h h1 b{font-weight:800;letter-spacing:-.045em}
.page-h p{margin:6px 0 0;color:var(--ink-2);max-width:68ch}
.panel{background:var(--panel);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:var(--shadow)}
:root[data-theme="dark"] .panel{border-color:var(--line)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .panel{border-color:var(--line)}}
.pad{padding:18px 20px}
.grid{display:grid;gap:14px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-12{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
h2.sec{font-size:15px;font-weight:600;margin:0 0 12px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
h2.sec small{font-weight:400;color:var(--ink-3);font-size:12.5px}
.stat .k{font-size:12.5px;color:var(--ink-3)}
.stat .v{font-size:28px;font-weight:700;letter-spacing:-.03em;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.stat .s{font-size:12.5px;color:var(--ink-2)}
.muted{color:var(--ink-3)}.small{font-size:12.5px}.tnum{font-variant-numeric:tabular-nums}
.btn{border:1px solid var(--line);background:var(--panel-solid);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:7px;color:var(--ink)}
.btn:hover{background:var(--hover)}
.btn.pri{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.btn.pri:hover{opacity:.88}
.btn.sm{padding:4px 10px;font-size:12px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--panel-solid);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:500;color:var(--ink-2);white-space:nowrap}
button.chip{cursor:pointer}button.chip:hover{border-color:var(--ink-3)}
.band{border:0;font-weight:600}
.b-Critical{background:var(--crit-bg);color:var(--crit)}.b-High{background:var(--high-bg);color:var(--high)}.b-Medium{background:var(--med-bg);color:var(--med)}.b-Low{background:var(--low-bg);color:var(--low)}
.st-Gap{background:var(--crit-bg);color:var(--crit);border:0}.st-Partial,.st-Monitor{background:var(--med-bg);color:var(--med);border:0}.st-Aligned{background:var(--low-bg);color:var(--low);border:0}.st-Retained,.st-Retained-by-design{background:var(--soft);color:var(--ink-2)}
.mvp1{color:var(--mvp1);border-color:color-mix(in srgb,var(--mvp1) 35%,transparent)}.mvp2{color:var(--mvp2);border-color:color-mix(in srgb,var(--mvp2) 35%,transparent)}
table.t{width:100%;border-collapse:collapse;font-size:13px}
.t th{text-align:left;font-weight:500;color:var(--ink-3);font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.t td{padding:10px;border-bottom:1px solid var(--line-2);vertical-align:top}
.t tr.click{cursor:pointer}.t tr.click:hover td{background:var(--hover)}
.tw{overflow-x:auto}
.r{text-align:right}
.bar{height:6px;border-radius:6px;background:var(--line-2);overflow:hidden}.bar i{display:block;height:100%;background:var(--ink)}
/* home hero */
.hero{min-height:calc(100vh - 150px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 0 30px}
.hero h1{margin:0;font-size:clamp(34px,5vw,64px);line-height:1.02;font-weight:300;letter-spacing:-.045em}
.hero h1 b{display:block;font-weight:800;letter-spacing:-.055em}
.hero .welcome{margin:16px 0 26px;color:var(--ink-2);font-weight:500;font-size:15px}
.composer{width:min(820px,100%);background:var(--panel-solid);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);text-align:left;padding:14px 14px 10px 16px}
.composer textarea{width:100%;border:0;outline:0;resize:none;background:transparent;font-size:15px;min-height:52px;color:var(--ink)}
.composer textarea::placeholder{color:var(--ink-3)}
.composer .row{display:flex;align-items:center;gap:8px}
.ghost{border:0;background:transparent;display:inline-flex;gap:7px;align-items:center;padding:6px 8px;border-radius:10px;font-weight:500;font-size:13.5px}
.ghost:hover{background:var(--hover)}
.model{margin-left:auto;border:1px solid var(--line);border-radius:12px;padding:6px 12px;display:inline-flex;gap:8px;align-items:center;font-weight:500;font-size:13px;background:var(--panel-solid)}
.send{width:34px;height:34px;border-radius:50%;border:0;background:var(--soft);display:grid;place-items:center;color:var(--ink-2)}
.send.go{background:var(--primary);color:var(--on-primary)}
.qs-l{margin:30px 0 12px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.qs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:900px}
.qs button{border:1px solid var(--line);background:var(--panel-solid);border-radius:999px;padding:9px 16px;display:inline-flex;gap:9px;align-items:center;font-weight:500;font-size:14px}
.qs button:hover{border-color:var(--ink-3)}
.home-strip{width:min(820px,100%);margin-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:left}
.home-strip .panel{padding:12px 14px;cursor:pointer}
.home-strip .panel:hover{border-color:var(--ink-3)}
/* chat */
.chat{max-width:860px;margin:0 auto;padding-bottom:140px}
.msg{display:flex;gap:12px;margin:18px 0}
.msg .who{width:34px;height:34px;border-radius:50%;flex:0 0 34px;overflow:hidden;background:var(--soft);display:grid;place-items:center;font-size:12px;font-weight:600}
.msg .who img{width:100%;height:100%;object-fit:cover}
.msg .body{flex:1;min-width:0}
.msg .name{font-size:12.5px;color:var(--ink-3);margin-bottom:4px}
.msg.user .bubble{background:var(--primary);color:var(--on-primary);border-radius:16px 16px 4px 16px;padding:10px 14px;display:inline-block;max-width:80%}
.msg.user{flex-direction:row-reverse;text-align:right}
.msg .ans{background:var(--panel-solid);border:1px solid var(--line);border-radius:4px 16px 16px 16px;padding:14px 16px;line-height:1.55;max-width:70ch}
.trace{font-size:12.5px;color:var(--ink-3);margin:2px 0 8px;display:grid;gap:3px}
.trace div{display:flex;gap:8px;align-items:center}
.trace .ok{color:var(--ok)}
.cites{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.dock{position:sticky;bottom:0;padding:12px 0 18px}
.convlist .it{padding:10px 12px;border-radius:12px;cursor:pointer;border:1px solid transparent}
.convlist .it:hover{background:var(--hover)}
.convlist .it.on{background:var(--soft);border-color:var(--line)}
/* drawer & modal */
.scrim{position:fixed;inset:0;background:rgba(20,15,20,.28);z-index:40;opacity:0;pointer-events:none;transition:opacity .18s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(640px,100%);background:var(--panel-solid);z-index:41;transform:translateX(100%);transition:transform .22s ease;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.12);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer.on{transform:none}
.drawer header{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.drawer header h3{margin:0;font-size:17px;letter-spacing:-.01em;line-height:1.3}
.drawer .db{overflow-y:auto;padding:18px 20px 40px;flex:1}
.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:13px;margin:10px 0}
.kv dt{color:var(--ink-3)}.kv dd{margin:0}
.md{font-size:13.5px;line-height:1.6}
.md h1{font-size:20px;letter-spacing:-.02em;margin:10px 0}.md h2{font-size:15px;margin:22px 0 6px}.md h3{font-size:14px}
.md table{border-collapse:collapse;font-size:12.5px;margin:10px 0;display:block;overflow-x:auto}
.md td,.md th{border:1px solid var(--line);padding:5px 8px;text-align:left;vertical-align:top}
.md blockquote{margin:0 0 12px;padding:8px 12px;border-radius:10px;background:var(--crit-bg);color:var(--crit);font-size:12.5px}
.md p{margin:8px 0}
.md .hl{background:color-mix(in srgb,#F2C94C 38%,transparent);border-radius:6px;padding:4px 6px;margin:6px -6px;box-shadow:0 0 0 1px color-mix(in srgb,#C9A227 50%,transparent)}
.md hr{border:0;border-top:1px solid var(--line)}
.modal{position:fixed;left:50%;top:14vh;transform:translateX(-50%) scale(.98);width:min(560px,94vw);background:var(--panel-solid);border-radius:18px;z-index:42;opacity:0;pointer-events:none;transition:all .16s;box-shadow:0 30px 80px rgba(0,0,0,.2);max-height:74vh;display:flex;flex-direction:column}
.modal.on{opacity:1;pointer-events:auto;transform:translateX(-50%)}
.modal input{border:0;outline:0;padding:16px 18px;font-size:15px;background:transparent;border-bottom:1px solid var(--line);width:100%}
.modal .res{overflow-y:auto;padding:6px}
.modal .res button{display:flex;gap:10px;width:100%;border:0;background:transparent;text-align:left;padding:9px 12px;border-radius:10px;align-items:center}
.modal .res button:hover,.modal .res button.sel{background:var(--hover)}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);background:var(--primary);color:var(--on-primary);padding:10px 16px;border-radius:999px;font-size:13px;opacity:0;transition:all .2s;z-index:60;pointer-events:none}
.toast.on{opacity:1;transform:translateX(-50%)}
/* misc */
.alert{display:flex;gap:14px;padding:14px 16px;border-radius:16px;background:var(--panel-solid);border:1px solid var(--line)}
.alert .rail{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 34px;font-weight:700}
.list-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.filters button{border:1px solid var(--line);background:var(--panel-solid);border-radius:999px;padding:5px 12px;font-size:12.5px}
.filters button.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.ram{display:grid;grid-template-columns:22px repeat(5,1fr);gap:4px;font-size:11px}
.ram .c{aspect-ratio:1.35;border-radius:8px;padding:4px;display:flex;flex-wrap:wrap;gap:3px;align-content:flex-start;position:relative}
.ram .c .n{position:absolute;right:5px;bottom:3px;font-size:10px;opacity:.55;font-weight:600}
.ram .c button{border:0;border-radius:6px;padding:1px 5px;font-size:10.5px;font-weight:600;background:rgba(255,255,255,.85);color:#222}
.ram .ax{display:grid;place-items:center;color:var(--ink-3);font-weight:600}
.ev{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:13px}
.ev .who{width:26px;height:26px;border-radius:50%;overflow:hidden;flex:0 0 26px;background:var(--soft);display:grid;place-items:center;font-size:10px;font-weight:600}
.ev .who img{width:100%;height:100%;object-fit:cover}
.lever{padding:12px 0;border-bottom:1px solid var(--line-2)}
.lever label{display:flex;justify-content:space-between;font-size:13px;font-weight:500;margin-bottom:6px}
.lever label span{font-weight:400;color:var(--ink-3);font-variant-numeric:tabular-nums}
input[type=range]{width:100%;accent-color:var(--ink)}
.sw{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer}
.sw input{appearance:none;width:34px;height:20px;border-radius:999px;background:var(--line);position:relative;transition:background .15s;margin:0;flex:0 0 34px}
.sw input::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.sw input:checked{background:var(--ink)}.sw input:checked::after{left:17px}
.stack{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--line-2)}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-top:8px}
.legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.agent-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-2)}
.agent-row img,.agent-row .ph{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--soft);display:grid;place-items:center;font-size:11px;font-weight:600;flex:0 0 30px}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 50%,transparent);animation:pl 2.4s infinite}
@keyframes pl{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 45%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
svg text{font-family:var(--font)}
.who{width:30px;height:30px;border-radius:50%;overflow:hidden;background:var(--soft);display:inline-grid;place-items:center;font-size:11px;font-weight:600;flex:0 0 30px}.who img{width:100%;height:100%;object-fit:cover;display:block}
.chip{flex-shrink:0}.t td.r{white-space:nowrap}.t td:first-child{white-space:nowrap}
.t td.rec-cell{white-space:normal;min-width:300px;max-width:440px;overflow-wrap:anywhere}
.t td.fnd-cell{white-space:nowrap}
.lever label.sw{justify-content:flex-start;margin:0}
.fbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fsearch{flex:1 1 260px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:0 10px;background:var(--panel-solid);color:var(--ink-3);height:38px}
.fsearch:focus-within{border-color:var(--ink-3)}
.fsearch input{border:0;outline:0;background:transparent;flex:1;min-width:0;font-size:14px;color:var(--ink)}
.fsearch kbd{font:500 11px var(--font);border:1px solid var(--line);border-radius:6px;padding:1px 6px}
.fdd{position:relative}
.fbtn{height:38px;border:1px solid var(--line);background:var(--panel-solid);border-radius:12px;padding:0 10px 0 12px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}
.fbtn:hover{border-color:var(--ink-3)}.fbtn.act{border-color:var(--ink);color:var(--ink)}
.fcount{background:var(--primary);color:var(--on-primary);border-radius:999px;font-size:11px;min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px}
.fpop{position:absolute;top:44px;left:0;z-index:30;min-width:230px;max-height:320px;overflow-y:auto;background:var(--panel-solid);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(40,20,30,.16);padding:6px;display:none}
.fpop.on{display:block}
.fpop-h{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 4px;font-size:12px;color:var(--ink-3);font-weight:600}
.fopt{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:9px;font-size:13px;cursor:pointer}
.fopt:hover{background:var(--hover)}.fopt.dim{opacity:.45}
.fopt input{accent-color:var(--ink);margin:0}
.fsort{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-3);margin-left:auto}
.fsort select{height:38px;border:1px solid var(--line);border-radius:12px;background:var(--panel-solid);padding:0 8px;font-size:13px;color:var(--ink)}
.factive{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:12px 0 6px;min-height:26px}
.tok{border:0;background:var(--soft);border-radius:999px;padding:4px 6px 4px 11px;font-size:12px;display:inline-flex;gap:6px;align-items:center;color:var(--ink)}
.tok span{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:var(--line);font-size:11px}
.tok:hover span{background:var(--ink);color:var(--on-primary)}
.linkbtn{border:0;background:transparent;font-size:12.5px;text-decoration:underline;color:var(--ink-2);padding:2px 4px}
mark{background:color-mix(in srgb,#F2C94C 45%,transparent);color:inherit;border-radius:3px;padding:0 1px}
@media (max-width:760px){.fsort{margin-left:0}.fpop{left:auto;right:0}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}#bg video{display:none}}
@media (max-width:1080px){.g4{grid-template-columns:repeat(2,1fr)}.g-12{grid-template-columns:1fr}.g3{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
  .side{position:fixed;left:0;top:0;bottom:0;z-index:50;transform:translateX(-105%);transition:transform .2s;margin:0;border-radius:0 18px 18px 0;padding-top:calc(22px + env(safe-area-inset-top,0px))}
  .side.open{transform:none}
  .side.collapsed{width:252px;flex-basis:252px}.side.collapsed .hide-c{display:initial}
  .mob-menu{display:grid!important}
  .scroll{padding:8px 14px 40px}.g4,.g3,.g2{grid-template-columns:1fr}.clock{display:none}
  .home-strip{grid-template-columns:1fr}.kv{grid-template-columns:110px 1fr}
}
.mob-menu{display:none;position:absolute;left:14px;top:16px}
.kb-menu{position:absolute;left:24px;top:16px;border:1px solid var(--line);background:var(--panel);width:36px;height:36px;border-radius:12px}
@media (max-width:760px){.kb-menu{left:56px}}
.dynf{position:relative}
.dynf .fsearch{height:44px}
.fsug{position:absolute;top:50px;left:0;right:0;z-index:30;background:var(--panel-solid);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(40,20,30,.16);padding:6px;display:none}
.fsug.on{display:block}
.sopt{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:9px;font-size:13px;cursor:pointer}
.sopt:hover,.sopt.sel{background:var(--hover)}
.shint{padding:6px 10px 4px;border-top:1px solid var(--line-2);margin-top:4px}
.finterp{margin:12px 0 6px;min-height:20px}.finterp b{font-weight:600;color:var(--ink-2)}.finterp .sep{margin:0 4px;opacity:.6}
th.sortable{cursor:pointer;user-select:none}th.sortable:hover{color:var(--ink)}.sarr{margin-left:4px}
.rail.disc-r{background:color-mix(in srgb,var(--mvp1) 14%,transparent);color:var(--mvp1)}
.cprec{padding:12px 14px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;background:var(--panel-solid)}
.cpflag{border-color:color-mix(in srgb,var(--high) 45%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--high) 12%,transparent)}.cpflag.ack{box-shadow:none;border-color:var(--line)}
.disc .rail{background:color-mix(in srgb,var(--mvp1) 14%,transparent);color:var(--mvp1)}
.cmp{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:2px 0 8px}
.cmp div{background:var(--soft);border-radius:10px;padding:6px 10px;font-size:12.5px;min-width:0}
.cmp div span{display:block;color:var(--ink-3);font-size:11.5px}
.kb-item{padding:12px 14px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;cursor:pointer;background:var(--panel-solid)}
.kb-item:hover{border-color:var(--ink-3)}
.dl-row{display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:13px;cursor:pointer}
.dl-row:hover{background:var(--hover)}
.dl-date{flex:0 0 74px;font-variant-numeric:tabular-nums;color:var(--ink-2)}
