/* studio-agents · triage — AI Studio design language (family: registry/cascade) */
:root{
  --bg:#121317;--bg-deep:#0e0f12;--surface:#1a1b1f;--surface-2:#212226;--surface-3:#26272c;
  --border:rgba(255,255,255,0.09);--border-strong:rgba(255,255,255,0.15);
  --text:#e8eaed;--white:#fff;--text-2:#9aa0a6;--text-3:#6b7076;
  --blue:#2e96ff;--blue-bright:#6bb6ff;--blue-soft:rgba(46,150,255,0.14);--blue-border:rgba(46,150,255,0.42);
  --amber:#f9ab00;--amber-bright:#ffc739;--amber-soft:rgba(249,171,0,0.14);--amber-border:rgba(249,171,0,0.4);
  --green:#5bd18b;--green-soft:rgba(91,209,139,0.15);--green-border:rgba(91,209,139,0.4);
  --red:#f28b82;--red-soft:rgba(242,139,130,0.13);--red-border:rgba(242,139,130,0.4);
  --disp:"Google Sans Flex","Google Sans",-apple-system,sans-serif;
  --sans:"Inter",-apple-system,"Helvetica Neue",sans-serif;
  --mono:"Google Sans Code","Roboto Mono",Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;letter-spacing:-0.006em;}
button{font-family:inherit;cursor:pointer;}
code{font-family:var(--mono);font-size:.85em;background:rgba(255,255,255,0.06);border:1px solid var(--border);border-radius:6px;padding:1px 5px;color:#d7dae0;}
a{color:var(--blue-bright);text-decoration:none;} a:hover{text-decoration:underline;}

/* gate */
.gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(1100px 560px at 72% -10%,rgba(46,150,255,0.14),transparent 62%),var(--bg);padding:24px;}
.gate[hidden]{display:none;}
.gate-card{width:100%;max-width:400px;text-align:center;}
.gate-mark{font-family:var(--mono);font-size:14px;letter-spacing:.32em;color:var(--text-2);text-transform:uppercase;margin-bottom:22px;}
.gate-mark span{color:var(--blue);}
.gate-title{font-family:var(--disp);font-size:31px;font-weight:500;color:var(--white);}
.gate-sub{color:var(--text-2);font-size:14.5px;margin:8px 0 28px;}
#gate-form{display:flex;gap:8px;}
#gate-input{flex:1;min-width:0;font-family:var(--mono);font-size:15px;padding:13px 15px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-2);color:var(--white);outline:none;}
#gate-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}
#gate-form button{padding:13px 22px;border:none;border-radius:12px;background:var(--white);color:var(--bg-deep);font-size:15px;font-weight:600;}
.gate-err{color:var(--red);font-size:13px;margin-top:12px;min-height:20px;}
.gate-card.shake{animation:shake .4s;}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}

/* topbar + layout */
.app{min-height:100dvh;display:flex;flex-direction:column;}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:0 24px;height:56px;
  background:rgba(18,19,23,0.86);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--border);}
.wordmark{font-family:var(--mono);font-size:13px;white-space:nowrap;}
.wm-a{color:var(--text-2);}.wm-sep{color:var(--text-3);margin:0 6px;}.wm-b{color:var(--blue);font-weight:500;}
.tabs{display:flex;gap:4px;}
.tab{border:none;background:none;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;color:var(--text-2);transition:.15s;}
.tab:hover{color:var(--white);background:rgba(255,255,255,0.06);}
.tab[aria-selected="true"]{background:var(--white);color:var(--bg-deep);}
.topnote{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text-3);}
.view[hidden]{display:none;} .view{flex:1;}
.wrap{max-width:1120px;margin:0 auto;padding:44px 28px 90px;}
.kicker{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin-bottom:18px;}
.hero h1{font-family:var(--disp);font-weight:600;font-size:clamp(38px,6vw,56px);letter-spacing:-.03em;color:var(--white);margin-bottom:20px;line-height:1.05;}
.lede{font-size:17.5px;max-width:760px;color:var(--text);}
.lede em{font-style:normal;color:var(--white);font-weight:500;}
.block{margin-top:52px;}
.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.block-head h2{font-family:var(--disp);font-weight:600;font-size:24px;color:var(--white);letter-spacing:-.02em;}
.block-sub{font-family:var(--mono);font-size:11.5px;color:var(--text-3);}
.foot{margin-top:60px;border-top:1px solid var(--border);padding-top:20px;}
.foot p{font-size:12.5px;color:var(--text-3);font-family:var(--mono);line-height:1.8;}

/* stats strip */
.stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.stat{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:10px 16px;}
.stat b{display:block;font-family:var(--mono);font-size:16px;color:var(--white);font-weight:500;}
.stat span{font-family:var(--mono);font-size:10.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;}
.stat.hot b{color:var(--blue-bright);}

/* inboxes = per-person chat-like cards */
.inboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;}
.inbox{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden;}
.inbox-head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);background:var(--surface-2);}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--blue-soft);border:1px solid var(--blue-border);color:var(--blue-bright);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:600;font-size:13px;flex-shrink:0;}
.inbox-name{font-family:var(--disp);font-weight:500;color:var(--white);font-size:15px;}
.inbox-meta{font-family:var(--mono);font-size:10.5px;color:var(--text-3);}
.inbox-count{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text-2);background:var(--surface-3);border-radius:999px;padding:3px 10px;}
.tickets{padding:10px 12px;display:flex;flex-direction:column;gap:8px;}
.ticket{border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:11px 13px;}
.t-top{display:flex;align-items:center;gap:8px;margin-bottom:5px;}
.sev{font-family:var(--mono);font-size:10px;font-weight:600;border-radius:6px;padding:2px 8px;}
.sev-P0{background:var(--red-soft);color:var(--red);border:1px solid var(--red-border);}
.sev-P1{background:var(--red-soft);color:var(--red);border:1px solid var(--red-border);}
.sev-P2{background:var(--amber-soft);color:var(--amber-bright);border:1px solid var(--amber-border);}
.sev-P3{background:var(--surface-3);color:var(--text-2);border:1px solid var(--border);}
.t-area{font-family:var(--mono);font-size:10px;color:var(--text-3);}
.t-conf{margin-left:auto;font-family:var(--mono);font-size:9.5px;color:var(--text-3);}
.t-title{font-weight:600;font-size:13.5px;color:var(--white);line-height:1.4;display:block;margin-bottom:4px;}
.t-title:hover{color:var(--blue-bright);text-decoration:none;}
.t-sum{font-size:12.5px;color:var(--text-2);line-height:1.5;margin-bottom:6px;}
.t-foot{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;color:var(--text-3);}
.t-repro{color:var(--green);} .t-repro.needs{color:var(--amber-bright);}
.t-q{margin-top:6px;font-size:12px;color:var(--amber-bright);background:var(--amber-soft);border:1px solid var(--amber-border);border-radius:8px;padding:6px 10px;}

/* verifier panel */
.verify{display:flex;flex-wrap:wrap;gap:10px;}
.v-item{border:1px solid var(--green-border);background:var(--green-soft);border-radius:12px;padding:10px 16px;}
.v-item b{display:block;font-family:var(--mono);font-size:16px;color:var(--green);font-weight:500;}
.v-item span{font-family:var(--mono);font-size:10.5px;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;}

/* findings view */
.pipeline,.findings{display:flex;flex-direction:column;gap:10px;}
.pstep,.finding{display:grid;grid-template-columns:150px 1fr;gap:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:15px 18px;}
.pstep b,.finding b{font-family:var(--disp);font-size:14.5px;color:var(--white);font-weight:500;}
.finding b{grid-column:1 / -1;}
.finding{grid-template-columns:1fr;gap:4px;}
.pstep span,.finding span{font-size:13.5px;color:var(--text-2);line-height:1.6;}
.specs{display:flex;flex-direction:column;gap:10px;}
.spec{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:14px 18px;}
.spec b{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-bright);display:block;margin-bottom:6px;}
.spec code{display:block;background:var(--bg-deep);padding:9px 12px;border-radius:8px;margin-bottom:7px;font-size:11.5px;overflow-x:auto;white-space:pre-wrap;}
.spec span{font-size:13px;color:var(--text-2);}
.spec span b{display:inline;text-transform:none;letter-spacing:0;color:var(--white);font-family:var(--sans);font-size:13px;}

@media (max-width:720px){.pstep{grid-template-columns:1fr;gap:4px;}.topnote{display:none;}.wrap{padding:32px 16px 70px;}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.001s!important;}}

/* system view */
.statuslist{display:flex;flex-direction:column;gap:6px;}
.st-item{display:flex;gap:12px;align-items:baseline;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:10px 16px;font-size:14px;color:var(--text);}
.st-mark{font-family:var(--mono);flex-shrink:0;width:18px;text-align:center;}
.st-mark.ok{color:var(--green);} .st-mark.todo{color:var(--text-3);}
.cfg-fold{border:1px solid var(--border);border-radius:14px;background:var(--surface);margin-bottom:12px;overflow:hidden;}
.cfg-fold summary{cursor:pointer;list-style:none;padding:14px 18px;font-family:var(--disp);font-size:15px;font-weight:500;color:var(--white);}
.cfg-fold summary::-webkit-details-marker{display:none;}
.cfg-fold summary::before{content:"+ ";color:var(--text-3);font-family:var(--mono);}
.cfg-fold[open] summary::before{content:"− ";}
.cfg-fold pre{margin:0 18px 16px;background:var(--bg-deep);border:1px solid var(--border);border-radius:10px;padding:14px 16px;font-family:var(--mono);font-size:11.5px;line-height:1.7;color:var(--text-2);overflow-x:auto;white-space:pre-wrap;}
.cfg-fold > div{padding:0 18px 16px;}
.rt{width:100%;border-collapse:collapse;font-size:12.5px;}
.rt th{text-align:left;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);padding:8px 10px;border-bottom:1px solid var(--border-strong);}
.rt td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--text-2);}
.rt td b{color:var(--white);}
.rt-scope{font-size:11px;color:var(--text-3);}
.rt-note{font-size:11.5px;color:var(--text-3);padding:10px 0 0;font-family:var(--mono);line-height:1.8;}
.rt-note b{color:var(--text);}
.rt.runs td{font-family:var(--mono);font-size:11.5px;}
.rt .total td{color:var(--white);font-weight:600;border-bottom:none;}
.handoff{background:var(--bg-deep);border:1px solid var(--border);border-radius:12px;padding:16px 18px;font-family:var(--mono);font-size:12px;line-height:1.8;color:var(--text-2);overflow-x:auto;}

/* run bar */
.runbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;}
.sched{font-family:var(--mono);font-size:11.5px;color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:6px 14px;background:var(--surface);}
.sched b{color:var(--blue-bright);font-weight:500;}
.runbtn{border:1px solid var(--green-border);background:var(--green-soft);color:var(--green);font-family:var(--mono);font-size:12.5px;font-weight:600;border-radius:999px;padding:8px 18px;transition:.15s;}
.runbtn:hover:not(:disabled){background:rgba(91,209,139,0.25);}
.runbtn:disabled{opacity:.5;cursor:wait;}
.runkey{flex:1;min-width:260px;font-family:var(--mono);font-size:12px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);color:var(--white);outline:none;}
.runstatus{font-family:var(--mono);font-size:11.5px;color:var(--text-3);}

/* full log */
.fulllog{display:flex;flex-direction:column;gap:6px;}
.logent{border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden;}
.logent summary{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:12px;padding:11px 16px;}
.logent summary::-webkit-details-marker{display:none;}
.le-id{font-family:var(--mono);font-size:11px;color:var(--blue-bright);flex-shrink:0;}
.le-title{font-size:13.5px;color:var(--white);font-weight:500;}
.le-date{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--text-3);flex-shrink:0;}
.le-body{padding:2px 16px 13px;display:flex;flex-direction:column;gap:6px;}
.le-row{display:grid;grid-template-columns:80px 1fr;gap:10px;font-size:12.5px;color:var(--text-2);line-height:1.55;}
.le-k{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding-top:2px;}
.le-gui .le-k{color:var(--amber-bright);}
.le-gui span:last-child{color:var(--amber-bright);}
@media (max-width:720px){.le-row{grid-template-columns:1fr;gap:2px;}}
