/* ───────────────────────────────────────────────────────────
   goost — internal console design system
   Registered exception to the worldsite canon: its own IDE shell.
   Rhymes with Idler worldsite — monochrome ink, Fragment Mono data
   layer, kill/hold/surface as the only chroma, one radius scale.
   ─────────────────────────────────────────────────────────── */

:root{
  /* ground — ink ramp aligned to the Idler worldsite canon */
  --bg:#0b0b0d; --rail:#08080a; --side:#0c0c0e; --main:#0e0e10;
  --panel:#141416; --panel-2:#1a1a1d;
  --line:rgba(255,255,255,0.11); --line-2:rgba(255,255,255,0.06); --line-strong:rgba(255,255,255,0.2);
  --fg:#f4f4f6; --sub:#b4b4ba; --faint:#85858d;
  /* the only chroma — goost verdicts */
  --surface:#47d18f; --hold:#e3a948; --kill:#f06a5e;
  /* type */
  --sans:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"Fragment Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  /* radii — one disciplined scale */
  --r1:6px;   /* chips, controls, small avatars */
  --r2:10px;  /* cards, ribs, panels */
}
*{box-sizing:border-box;margin:0;}
html,body{height:100%;}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}

/* mono data layer */
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);font-weight:400;}

/* shell */
.app{display:grid;grid-template-columns:72px 288px 1fr;height:100vh;}
@media(max-width:820px){.app{grid-template-columns:64px 1fr;} .side{display:none;}}

/* rail */
.rail{background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:6px;}
.rail .me{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#23232a,#34343c);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;letter-spacing:0.04em;color:var(--sub);margin-bottom:10px;border:1px solid var(--line);}
.rib{width:42px;height:42px;border-radius:var(--r2);display:flex;align-items:center;justify-content:center;color:var(--faint);cursor:pointer;transition:color .15s,background .15s;}
.rib svg{width:20px;height:20px;}
.rib:hover{color:var(--sub);background:var(--panel);}
.rib.on{color:var(--fg);background:var(--panel-2);}
.rib.goose{font-size:20px;}
.rib.bottom{margin-top:auto;}

/* sidebar */
.side{background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;}
.who{display:flex;align-items:center;gap:11px;padding:16px 16px 14px;}
.who .av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#34343c,#1f1f25);display:flex;align-items:center;justify-content:center;font-size:16px;border:1px solid var(--line);}
.who .nm{font-weight:600;font-size:14px;line-height:1.2;letter-spacing:-0.01em;}
.who .em{font-family:var(--mono);color:var(--faint);font-size:11px;margin-top:2px;}
.who .ic{margin-left:auto;display:flex;gap:8px;color:var(--faint);}
.who .ic svg{width:18px;height:18px;}
.nav{padding:4px 10px 16px;}
.grp{padding:18px 8px 6px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);font-weight:400;}
.nv{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:var(--r1);color:var(--sub);cursor:pointer;font-weight:450;transition:color .15s,background .15s;}
.nv:hover{background:var(--panel);color:var(--fg);}
.nv.on{background:var(--panel-2);color:var(--fg);}
.nv svg{width:18px;height:18px;color:var(--faint);flex:0 0 auto;}
.nv.on svg{color:var(--fg);}
.nv .lbl{flex:1;}
.nv .ct{font-family:var(--mono);font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums;letter-spacing:0.02em;}
.nv .pl{color:var(--faint);font-size:16px;line-height:1;opacity:0;transition:opacity .15s;}
.nv:hover .pl{opacity:1;}
.nv.child{padding-left:2.4rem;font-size:13px;}

/* main */
.main{background:var(--main);overflow-y:auto;}
.head{padding:30px 36px 0;}
.head .crumb{font-family:var(--mono);font-size:11px;letter-spacing:0.04em;color:var(--faint);margin-bottom:14px;}
.head .crumb a:hover{color:var(--sub);}
.head .crumb .sep{opacity:0.5;margin:0 6px;}
.head h1{font-size:26px;font-weight:600;letter-spacing:-0.02em;}
.head .sub{color:var(--sub);margin-top:6px;font-size:14px;max-width:64ch;}
.wrap{padding:24px 36px 60px;}

/* stat row */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:30px;}
.stat{border:1px solid var(--line);border-radius:var(--r2);background:var(--panel);padding:16px 18px;}
.stat .k{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);}
.stat .v{font-size:26px;font-weight:600;letter-spacing:-0.02em;margin-top:8px;font-variant-numeric:tabular-nums;}
.stat .v small{font-size:14px;color:var(--faint);font-weight:500;margin-left:2px;}

/* metric card — flat, editorial; chrome carried by a hairline, not a gradient box */
.card{border:1px solid var(--line);border-radius:var(--r2);background:var(--panel);padding:24px 26px;margin-bottom:34px;}
.card .t{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);}
.pill{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:0.08em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;color:var(--surface);background:transparent;border:0;padding:0;}
.pill .d{width:6px;height:6px;border-radius:50%;background:var(--surface);}
.card .ds{color:var(--sub);font-size:15px;margin-top:14px;max-width:60ch;line-height:1.5;}
/* calibration reads as a figure, not a SaaS progress widget */
.bar{height:2px;background:var(--panel-2);overflow:hidden;margin-top:22px;}
.bar i{display:block;height:100%;background:var(--fg);}
.card .meta{display:flex;align-items:baseline;justify-content:space-between;color:var(--faint);margin-top:14px;}
.card .meta span:first-child{font-family:var(--mono);font-size:11px;letter-spacing:0.04em;text-transform:uppercase;}
.card .meta .num{font-size:30px;font-weight:600;letter-spacing:-0.02em;color:var(--fg);font-variant-numeric:tabular-nums;}

/* section header */
.sec-h{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 14px;}
.sec-h h2{font-size:17px;font-weight:600;letter-spacing:-0.01em;}
.sec-h .btn,.btn{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:0.06em;text-transform:uppercase;color:var(--fg);border:1px solid var(--line);border-radius:var(--r1);padding:8px 13px;cursor:pointer;background:var(--panel);transition:border-color .15s,background .15s;}
.btn:hover{background:var(--panel-2);border-color:var(--line-strong);}

/* table */
table{width:100%;border-collapse:collapse;}
thead th{text-align:left;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint);padding:0 16px 12px;border-bottom:1px solid var(--line);}
tbody td{padding:14px 16px;border-bottom:1px solid var(--line-2);vertical-align:middle;}
tbody tr{transition:background .12s;}
tbody tr:hover td{background:rgba(255,255,255,0.02);}
.cbx{width:16px;height:16px;border:1.5px solid var(--line);border-radius:var(--r1);display:inline-block;vertical-align:middle;cursor:pointer;transition:border-color .15s;}
.cbx:hover{border-color:var(--sub);}
.who2{display:flex;align-items:center;gap:11px;}
.who2 .av{width:36px;height:36px;border-radius:var(--r1);background:linear-gradient(135deg,#26262c,#16161a);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;color:var(--sub);border:1px solid var(--line);flex:0 0 auto;}
.who2 .nm{font-weight:500;letter-spacing:-0.005em;}
.who2 .em{color:var(--faint);font-size:13px;margin-top:1px;}
.date{font-family:var(--mono);color:var(--sub);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:0.01em;}
.tag{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:0.06em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:3px 10px;display:inline-flex;align-items:center;gap:6px;color:var(--sub);}
.tag .d{width:6px;height:6px;border-radius:50%;}
.tag.t-kill{color:var(--kill);border-color:rgba(240,106,94,0.3);background:rgba(240,106,94,0.1);}
.tag.t-hold{color:var(--hold);border-color:rgba(227,169,72,0.3);background:rgba(227,169,72,0.1);}
.tag.t-surface{color:var(--surface);border-color:rgba(71,209,143,0.3);background:rgba(71,209,143,0.1);}
.d.kill{background:var(--kill);} .d.hold{background:var(--hold);} .d.surface{background:var(--surface);}
.dim{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:0.01em;}

/* model / list cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.mcard{border:1px solid var(--line);border-radius:var(--r2);background:var(--panel);padding:20px;cursor:pointer;transition:border-color .15s,background .15s;display:block;}
.mcard:hover{border-color:var(--line-strong);background:var(--panel-2);}
.mcard .top{display:flex;align-items:center;gap:12px;}
.mcard .gav{width:40px;height:40px;border-radius:var(--r1);background:linear-gradient(135deg,#34343c,#1f1f25);display:flex;align-items:center;justify-content:center;font-size:18px;border:1px solid var(--line);}
.mcard .h{font-weight:600;letter-spacing:-0.01em;}
.mcard .arch{font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:2px;letter-spacing:0.02em;}
.mcard .ds{color:var(--sub);font-size:13px;margin-top:14px;line-height:1.5;}
.mcard .foot{display:flex;gap:16px;margin-top:16px;font-family:var(--mono);font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums;}
.mcard .foot b{color:var(--sub);font-weight:400;}

/* definition rows (dimensions) */
.rows{border-top:1px solid var(--line);}
.row{display:grid;grid-template-columns:200px 1fr auto;gap:24px;align-items:center;padding:16px 8px;border-bottom:1px solid var(--line-2);}
.row .name{font-family:var(--mono);font-size:13px;letter-spacing:0.01em;}
.row .desc{color:var(--sub);font-size:13px;}
.row .n{font-family:var(--mono);font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums;}

/* empty / settings blocks */
.block{border:1px solid var(--line);border-radius:var(--r2);background:var(--panel);padding:20px 22px;margin-bottom:16px;}
.block h3{font-size:14px;font-weight:600;margin-bottom:6px;}
.block p{color:var(--sub);font-size:13px;line-height:1.55;max-width:64ch;}
.kv{display:grid;grid-template-columns:160px 1fr;gap:10px 24px;margin-top:4px;}
.kv dt{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:0.01em;}
.kv dd{color:var(--sub);font-size:13px;}

/* ── chat console ── */
.chat{display:flex;flex-direction:column;height:100vh;}
.chat-head{padding:18px 36px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;flex:0 0 auto;}
.chat-head .gav{width:38px;height:38px;border-radius:var(--r1);background:linear-gradient(135deg,#34343c,#1f1f25);display:flex;align-items:center;justify-content:center;font-size:18px;border:1px solid var(--line);flex:0 0 auto;}
.chat-head .nm{font-weight:600;letter-spacing:-0.01em;display:flex;align-items:center;gap:9px;}
.chat-head .arch{font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:2px;letter-spacing:0.02em;}
.chat-head .pill{margin-left:0;}
.chat-head .spacer{flex:1;}
.chat-head .crumb{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:0.04em;}

/* capability strip */
.caps{display:flex;gap:8px;flex-wrap:wrap;padding:14px 36px;border-bottom:1px solid var(--line-2);flex:0 0 auto;}
.cap{font-family:var(--mono);font-size:11px;letter-spacing:0.04em;color:var(--sub);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 13px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:border-color .15s,color .15s,background .15s;}
.cap:hover{border-color:var(--line-strong);color:var(--fg);background:var(--panel-2);}
.cap svg{width:14px;height:14px;color:var(--faint);}
.cap:hover svg{color:var(--fg);}

/* thread */
.thread{flex:1;overflow-y:auto;padding:28px 36px;display:flex;flex-direction:column;gap:22px;}
.msg{display:flex;gap:14px;max-width:760px;}
.msg .ava{width:30px;height:30px;border-radius:var(--r1);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:15px;border:1px solid var(--line);}
.msg.goost .ava{background:linear-gradient(135deg,#34343c,#1f1f25);}
.msg.you{align-self:flex-end;flex-direction:row-reverse;}
.msg.you .ava{background:linear-gradient(135deg,#23232a,#34343c);font-family:var(--mono);font-size:11px;color:var(--sub);}
.msg .body{font-size:14px;line-height:1.6;}
.msg .who-l{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:0.04em;margin-bottom:6px;}
.msg.you .body{text-align:right;}
.msg.you .bub{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r2);padding:12px 15px;color:var(--fg);display:inline-block;text-align:left;}
.msg.goost .txt{color:var(--sub);}
.msg.goost .txt b{color:var(--fg);font-weight:600;}

/* inline verdict card in a message */
.vcard{border:1px solid var(--line);border-radius:var(--r2);background:var(--panel);padding:14px 16px;margin-top:12px;max-width:520px;}
.vcard .vh{display:flex;align-items:center;gap:10px;}
.vcard .vh .nm{font-weight:600;font-size:13px;}
.vcard .vr{color:var(--sub);font-size:13px;margin-top:8px;line-height:1.5;}
.vcard .vf{display:flex;gap:14px;margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums;}
.vcard .vf b{color:var(--sub);font-weight:400;}

/* composer */
.composer{flex:0 0 auto;padding:16px 36px 22px;border-top:1px solid var(--line);}
.composer .box{border:1px solid var(--line);border-radius:var(--r2);background:var(--panel);display:flex;align-items:flex-end;gap:10px;padding:12px 14px;transition:border-color .15s;}
.composer .box:focus-within{border-color:var(--line-strong);}
.composer textarea{flex:1;background:transparent;border:0;outline:0;resize:none;color:var(--fg);font-family:var(--sans);font-size:14px;line-height:1.5;max-height:160px;}
.composer textarea::placeholder{color:var(--faint);}
.composer .send{width:34px;height:34px;border-radius:var(--r1);background:var(--fg);color:var(--bg);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;transition:opacity .15s;}
.composer .send:hover{opacity:0.85;}
.composer .send svg{width:17px;height:17px;}
.composer .hint{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:0.04em;margin-top:9px;display:flex;gap:14px;}
