/* AS Workforce — command console. Dark first (it's a cockpit), light when the phone asks for it. */
:root{
  --bg:#0A0C0F; --panel:#101317; --raised:#151A20; --hover:#1B2129; --line:#222932; --line2:#2C3540;
  --text:#E8EBEF; --soft:#B4BCC6; --muted:#7D8794;
  --live:#3DDC97; --live-dim:rgba(61,220,151,.14);
  --need:#F2B544; --need-dim:rgba(242,181,68,.13);
  --bad:#FF6B6B; --bad-dim:rgba(255,107,107,.12);
  --link:#8FB3FF;
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --r:12px; --r-sm:8px;
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:dark;
}
@media (prefers-color-scheme:light){
  :root{
    --bg:#F6F7F9; --panel:#FFFFFF; --raised:#FFFFFF; --hover:#F0F2F5; --line:#E3E6EA; --line2:#D5D9DF;
    --text:#0E1116; --soft:#3A424D; --muted:#69727E;
    --live:#0E9F64; --live-dim:rgba(14,159,100,.10);
    --need:#B7791F; --need-dim:rgba(183,121,31,.10);
    --bad:#D64545; --bad-dim:rgba(214,69,69,.08);
    --link:#2557D6;
    color-scheme:light;
  }
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:400 14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}
.mono{font-family:var(--mono);font-feature-settings:"tnum"}

/* Gate */
.gate{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:
  radial-gradient(60% 50% at 50% 0%,rgba(61,220,151,.08),transparent 70%),var(--bg)}
.gate form{width:100%;max-width:360px;display:grid;gap:10px;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 80px -40px rgba(0,0,0,.6)}
.gate .glyph{margin-bottom:6px}
.gate h1{margin:0;font:600 20px/1.2 var(--sans);letter-spacing:-.01em}
.gate p{margin:0;color:var(--muted);font-size:13px}
.gate input{padding:11px 12px;font-size:16px;background:var(--bg);border:1px solid var(--line2);border-radius:var(--r-sm)}
.gate input:focus{border-color:var(--live);outline:0}
.gate button{padding:11px;border:0;border-radius:var(--r-sm);background:var(--text);color:var(--bg);font-weight:600}
.gate button.quiet{background:none;color:var(--muted);font-weight:500;padding:4px}
.gate .msg{min-height:1.2em}

/* Shell */
.app{display:grid;grid-template-columns:232px 1fr;min-height:100vh;min-height:100dvh}
.rail{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:18px;padding:18px 12px;border-right:1px solid var(--line);background:var(--panel)}
.mark{display:flex;align-items:center;gap:10px;padding:4px 8px}
.glyph{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--text);color:var(--bg);font:700 12px var(--mono);letter-spacing:.02em}
.word{font-weight:600;letter-spacing:-.01em}
.nav{display:grid;gap:2px}
.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);color:var(--soft);transition:background .15s,color .15s}
.nav a:hover{background:var(--hover);color:var(--text)}
.nav a[aria-current=page]{background:var(--raised);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}
.nav svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav span{flex:1}
.count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--need-dim);color:var(--need);font:500 11px/20px var(--mono);text-align:center}
.count:empty{display:none}
.count.quiet{background:var(--hover);color:var(--muted)}
.livedot{width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 var(--live);animation:ping 1.8s var(--ease) infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(61,220,151,.55)}80%,100%{box-shadow:0 0 0 7px rgba(61,220,151,0)}}
.railfoot{margin-top:auto;display:grid;gap:4px;padding:0 10px;font-size:12px}
.railfoot a,.railfoot button{color:var(--muted);background:none;border:0;padding:4px 0;text-align:left}
.railfoot a:hover,.railfoot button:hover{color:var(--text)}

.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;padding:14px 28px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.order{flex:1;display:flex;align-items:center;gap:8px;max-width:820px;padding:5px 5px 5px 14px;background:var(--panel);border:1px solid var(--line2);border-radius:var(--r);transition:border-color .2s,box-shadow .2s}
.order:focus-within{border-color:var(--live);box-shadow:0 0 0 4px var(--live-dim)}
.prompt{font:500 18px var(--mono);color:var(--live)}
.order input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:15px;padding:8px 0}
.order select{max-width:150px;border:0;background:var(--hover);border-radius:6px;padding:6px 8px;font-size:12px;color:var(--soft)}
.hint{font:500 11px var(--mono);color:var(--muted);border:1px solid var(--line2);border-radius:5px;padding:1px 6px}
.order button{border:0;border-radius:var(--r-sm);padding:9px 16px;background:var(--text);color:var(--bg);font-weight:600}
.order.sent{animation:sent .5s var(--ease)}
@keyframes sent{40%{box-shadow:0 0 0 6px var(--live-dim);border-color:var(--live)}}
.pulse{display:flex;align-items:center;gap:8px;font:500 12px var(--mono);color:var(--muted);white-space:nowrap}
.pulse i{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.pulse.on i{background:var(--live);animation:ping 1.8s var(--ease) infinite}

.view{padding:28px;max-width:1240px;width:100%;outline:0}
.view.enter{animation:enter .28s var(--ease)}
@keyframes enter{from{opacity:0;transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Type */
.h1{margin:0;font:600 26px/1.15 var(--sans);letter-spacing:-.02em}
.h2{margin:0;font:600 13px var(--sans);letter-spacing:.02em;color:var(--soft)}
.sub{margin:4px 0 0;color:var(--muted)}
.eyebrow{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.stats{display:flex;gap:8px;flex-wrap:wrap}
.stat{min-width:104px;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.stat b{display:block;font:500 20px/1.2 var(--mono);letter-spacing:-.02em}
.stat span{font-size:12px;color:var(--muted)}
.stat.need b{color:var(--need)} .stat.live b{color:var(--live)}

/* Layout */
.grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:start}
.stack{display:grid;gap:20px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.phead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.phead a{font-size:12px;color:var(--muted)} .phead a:hover{color:var(--text)}
.pbody{padding:6px}
.empty{padding:22px 16px;color:var(--muted);font-size:13px}

/* Needs */
.ncard{position:relative;display:grid;gap:8px;padding:12px 12px 12px 16px;border-radius:var(--r-sm);transition:background .15s}
.ncard+.ncard{border-top:1px solid var(--line)}
.ncard::before{content:"";position:absolute;left:4px;top:14px;bottom:14px;width:2px;border-radius:2px;background:var(--need)}
.ncard.review::before{background:var(--link)} .ncard.devhub::before{background:var(--soft)} .ncard.order::before{background:var(--bad)}
.ncard .meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.ncard .title{font-weight:500;color:var(--text)}
.ncard .body{color:var(--soft);font-size:13px;white-space:pre-wrap;max-height:7.5em;overflow:hidden}
.ncard .body.open{max-height:none}
.ncard .more{background:none;border:0;padding:0;color:var(--muted);font-size:12px}
.tag{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:999px;background:var(--hover);color:var(--soft);font:500 11px/18px var(--mono)}
.tag.need{background:var(--need-dim);color:var(--need)} .tag.live{background:var(--live-dim);color:var(--live)} .tag.bad{background:var(--bad-dim);color:var(--bad)}
.tag.link{color:var(--link)}
.acts{display:flex;flex-wrap:wrap;gap:6px}
.btn{padding:7px 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--raised);color:var(--text);font-size:13px;font-weight:500;transition:background .15s,border-color .15s,transform .1s}
.btn:hover{background:var(--hover);border-color:var(--muted)}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}
.btn.ghost{background:none;border-color:transparent;color:var(--muted)} .btn.ghost:hover{color:var(--text)}
.answer{display:flex;gap:6px}
.answer input,.answer textarea,.field{flex:1;min-width:0;padding:8px 10px;background:var(--bg);border:1px solid var(--line2);border-radius:var(--r-sm);font-size:14px}
.answer input:focus,.answer textarea:focus,.field:focus{outline:0;border-color:var(--live)}
.ncard.leaving{animation:leave .35s var(--ease) forwards}
@keyframes leave{to{opacity:0;transform:translateX(12px)}}

/* Projects */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.pcard{display:grid;gap:12px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s,transform .2s var(--ease),background .2s}
.pcard:hover{border-color:var(--line2);background:var(--raised);transform:translateY(-1px)}
.pcard .top2{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.pcard h3{margin:2px 0 0;font:600 16px/1.25 var(--sans);letter-spacing:-.01em}
.bar{height:4px;border-radius:4px;background:var(--hover);overflow:hidden}
.bar i{display:block;height:100%;background:var(--live);border-radius:4px;transition:width .6s var(--ease)}
.pfoot{display:flex;flex-wrap:wrap;gap:6px}
.ring{--p:0;width:38px;height:38px;flex:none;border-radius:50%;background:conic-gradient(var(--live) calc(var(--p)*1%),var(--hover) 0);display:grid;place-items:center}
.ring b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--panel);font:500 10px var(--mono);color:var(--soft)}
.group{margin:22px 0 10px}

/* Project page */
.crumbs{font-size:12px;color:var(--muted);margin-bottom:10px} .crumbs a:hover{color:var(--text)}
.facts{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:18px 0 20px}
.facts div{flex:1 1 220px;padding:12px 14px;background:var(--panel)}
.facts dt{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:3px 0 0;color:var(--soft);font-size:13px}
.links{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.row{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:var(--r-sm)}
.row+.row{border-top:1px solid var(--line)}
.row .grow{flex:1;min-width:0}
.row .t{color:var(--text)} .row .s{font-size:12px;color:var(--muted)}
.row.done .t{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line2)}
.check{width:20px;height:20px;flex:none;margin-top:1px;border:1.5px solid var(--line2);border-radius:6px;background:none;display:grid;place-items:center;padding:0;transition:background .15s,border-color .15s}
.check svg{width:12px;height:12px;stroke:var(--bg);stroke-width:2.4;fill:none;opacity:0;transform:scale(.6);transition:all .18s var(--ease)}
.row.done .check{background:var(--live);border-color:var(--live)}
.row.done .check svg{opacity:1;transform:none}
.piece{display:grid;gap:8px;padding:14px 12px}
.piece+.piece{border-top:1px solid var(--line)}
.notes-form{display:flex;gap:6px;padding:10px}

/* Fleet */
.fleet{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.seat{position:relative;display:grid;gap:10px;align-content:start;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.seat.working{border-color:color-mix(in srgb,var(--live) 45%,var(--line))}
.seat.working::after{content:"";position:absolute;inset:0 auto auto 0;height:2px;width:40%;background:linear-gradient(90deg,transparent,var(--live),transparent);animation:scan 1.6s linear infinite}
@keyframes scan{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
.seat .who{display:flex;align-items:center;gap:10px}
.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--hover);font:600 12px var(--mono);color:var(--soft)}
.seat .name{font-weight:600}
.seat .role{font-size:12px;color:var(--muted)}
.seat .doing{font-size:13px;color:var(--soft);min-height:2.6em}
.seat .facts2{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.strip{display:flex;gap:10px;overflow-x:auto;padding:12px;scrollbar-width:none}
.strip::-webkit-scrollbar{display:none}
.mini{flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--raised);font-size:12px;color:var(--soft)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.dot.working{background:var(--live);animation:ping 1.8s var(--ease) infinite}
.dot.error{background:var(--bad)}

/* Feeds and tables */
.feed{display:grid}
.feed .item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;padding:9px 12px;font-size:13px}
.feed .item+.item{border-top:1px solid var(--line)}
.feed .who2{font:500 11px var(--mono);color:var(--muted);min-width:64px}
.feed .when{font:400 11px var(--mono);color:var(--muted);white-space:nowrap}
.feed .what{color:var(--soft);min-width:0;overflow:hidden;text-overflow:ellipsis}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th{text-align:left;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}
.table td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--soft)}
.table td.num,.table th.num{text-align:right;font-family:var(--mono)}
.table tr:last-child td{border-bottom:0}
.bars{display:flex;align-items:flex-end;gap:4px;height:120px;padding:16px}
.bars div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%}
.bars i{display:block;width:100%;max-width:28px;min-height:2px;border-radius:4px 4px 0 0;background:var(--live);opacity:.85;transition:height .6s var(--ease)}
.bars span{font:400 10px var(--mono);color:var(--muted)}
.note{padding:12px 16px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.seg{display:inline-flex;padding:3px;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.seg button{border:0;background:none;color:var(--muted);padding:6px 12px;border-radius:7px;font-size:12px;font-weight:500}
.seg button[aria-pressed=true]{background:var(--raised);color:var(--text);box-shadow:inset 0 0 0 1px var(--line2)}

/* Toast */
.toast{position:fixed;left:50%;bottom:24px;z-index:20;transform:translate(-50%,20px);opacity:0;padding:10px 16px;border-radius:999px;background:var(--text);color:var(--bg);font-size:13px;font-weight:500;pointer-events:none;transition:all .25s var(--ease)}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* Skeleton */
.sk{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--hover),var(--raised),var(--hover));background-size:200% 100%;animation:sk 1.2s linear infinite;margin:12px 16px}
@keyframes sk{to{background-position:-200% 0}}

/* Mobile */
.tabbar{display:none}
@media (max-width:900px){
  .grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .app{grid-template-columns:1fr}
  .rail{display:none}
  .top{padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top))}
  .order select,.hint,.pulse{display:none}
  .stats{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .view{padding:18px 16px 96px}
  .h1{font-size:22px}
  .tabbar{position:fixed;inset:auto 0 0 0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 6px max(6px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line)}
  .tabbar a{position:relative;display:grid;place-items:center;padding:10px 2px;font-size:11px;font-weight:500;color:var(--muted);border-radius:8px}
  .tabbar a[aria-current=page]{color:var(--text);background:var(--hover)}
  .tabbar .count{position:absolute;top:2px;right:6px;min-width:16px;line-height:16px;font-size:10px;padding:0 4px}
  .feed .item{grid-template-columns:1fr auto}
  .feed .who2{display:none}
}

/* New project, brief, desk */
.newp{margin-bottom:22px;animation:enter .25s var(--ease)}
.newp-form{display:grid;gap:12px;padding:16px}
.newp-form label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.newp-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
textarea.field{resize:vertical;line-height:1.5}
select.field{appearance:auto}
.brief{padding:14px 16px;white-space:pre-wrap;color:var(--soft);font-size:13px}
.brief-form{display:grid;gap:8px;padding:12px}
.dayhead{padding:10px 12px 4px;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.row.ev .evt{flex:none;width:64px;font-size:12px;color:var(--soft);padding-top:1px}
.row.ev.conflict .evt{color:var(--bad)}
.row a:not(.btn){text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}
@media (max-width:760px){.newp-form .two{grid-template-columns:1fr}}

/* Plan */
.ldot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:1px;background:hsl(var(--h) 70% 60%)}
.planbar{display:flex;align-items:center;gap:8px;margin:-6px 0 16px}
.planbar b{font-weight:600;min-width:180px;text-align:center}
.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calh{padding:8px 10px;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.calc{min-height:108px;padding:6px;display:flex;flex-direction:column;gap:3px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.calc:nth-child(7n){border-right:0}
.calc.out{opacity:.4}
.calc.today{background:var(--live-dim)}
.calc.blk-away{background:repeating-linear-gradient(135deg,transparent 0 6px,var(--hover) 6px 7px)}
.calc.blk-closed{background:var(--hover)}
.cald{display:flex;gap:6px;align-items:baseline;font:500 12px var(--mono);color:var(--soft)}
.calc.today .cald{color:var(--live)}
.blk{font:500 10px var(--sans);color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.chip{display:flex;align-items:center;min-width:0;padding:2px 6px;border-radius:5px;background:var(--raised);border:1px solid var(--line);font-size:11px;color:var(--soft);white-space:nowrap;overflow:hidden}
.chip span{overflow:hidden;text-overflow:ellipsis}
.chip.k-milestone{border-color:var(--line2);color:var(--text);font-weight:500}
.chip.k-project{background:var(--text);color:var(--bg);border-color:var(--text)}
.chip.k-event{background:none;border-style:dashed}
.chip.k-review{background:var(--need-dim);color:var(--need);border-color:transparent}
.chip.done{text-decoration:line-through;opacity:.55}
a.chip:hover{border-color:var(--muted)}
.more2{font-size:10px;color:var(--muted);padding-left:4px}
.panel.current{border-color:color-mix(in srgb,var(--live) 40%,var(--line))}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--line)}
.kpi{display:grid;gap:2px;padding:14px 16px;background:var(--panel)}
.kpi b{font:500 20px var(--mono)} .kpi span{font-size:12px;color:var(--muted)}
.tl{padding:12px 16px 16px;overflow-x:auto}
.tlhead,.tlrow{display:grid;grid-template-columns:130px 1fr;align-items:center;min-width:720px}
.tlmonths{display:grid;grid-template-columns:repeat(15,1fr);font:500 10px var(--mono);color:var(--muted);text-transform:uppercase}
.tlrow{height:38px;border-top:1px solid var(--line)}
.tllane{font-size:12px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tltrack{position:relative;height:100%;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/15 - 1px),var(--line) calc(100%/15 - 1px) calc(100%/15))}
.tlnow{position:absolute;top:0;bottom:0;width:2px;background:var(--live);opacity:.7}
.tldot{position:absolute;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--panel);border:2px solid hsl(var(--h) 70% 60%);cursor:help;transition:transform .15s}
.tldot.done{background:hsl(var(--h) 70% 60%)}
.tldot:hover{transform:scale(1.5)}
/* Brain */
.md{padding:20px 24px;max-width:780px;color:var(--soft);font-size:14px;line-height:1.65}
.md h2,.md h3,.md h4,.md h5{color:var(--text);margin:1.4em 0 .4em;line-height:1.25;letter-spacing:-.01em}
.md h2{font-size:22px;margin-top:0} .md h3{font-size:17px} .md h4,.md h5{font-size:14px}
.md p{margin:.5em 0} .md ul,.md ol{margin:.4em 0;padding-left:1.3em}
.md code{font:12.5px var(--mono);background:var(--hover);padding:1px 5px;border-radius:4px}
.md pre{font:12.5px/1.5 var(--mono);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px;overflow-x:auto;white-space:pre-wrap}
.md a{color:var(--link)}
.mdrow{font:12px var(--mono);color:var(--soft);white-space:pre-wrap;border-bottom:1px solid var(--line);padding:3px 0}
/* Search */
.top{position:sticky}
.results{position:absolute;left:28px;top:calc(100% - 6px);width:min(820px,calc(100% - 56px));max-height:min(70vh,560px);overflow-y:auto;padding:6px;background:var(--panel);border:1px solid var(--line2);border-radius:var(--r);box-shadow:0 30px 80px -30px rgba(0,0,0,.65);animation:enter .16s var(--ease)}
.res{display:flex;gap:10px;align-items:flex-start;width:100%;padding:9px 10px;border-radius:var(--r-sm);text-align:left;background:none;border:0;color:inherit}
.res .tag{flex:none;min-width:74px;justify-content:center}
.res .t{font-size:14px;color:var(--text)} .res .s{font-size:12px;color:var(--muted);margin-top:2px}
.res:hover,.res.on{background:var(--hover)}
.res.act{border-top:1px solid var(--line);border-radius:0}
.res.act + .res.act{border-top:0}
mark{background:var(--need-dim);color:var(--text);border-radius:3px;padding:0 1px}
@media (max-width:760px){.results{left:8px;width:calc(100% - 16px)} .calc{min-height:64px;padding:3px} .chip span,.chip .ldot{display:none} .chip{padding:0;width:8px;height:8px;border-radius:50%} .calh{padding:6px 2px;text-align:center}}

/* Google, entities, fleet adjust, costs */
.gate button.google{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--raised);color:var(--text);border:1px solid var(--line2)}
.gate button.google svg{width:18px;height:18px}
.ent{display:inline-block;margin-right:7px;padding:0 5px;border-radius:4px;font:600 10px/16px var(--mono);letter-spacing:.04em;vertical-align:1px}
.ent-KW{background:rgba(214,69,69,.14);color:#F08A8A}
.ent-ASCO{background:var(--hover);color:var(--soft)}
@media (prefers-color-scheme:light){.ent-KW{color:#B42318}}
.seat .adj{justify-self:start;padding:4px 0;font-size:12px}
.adjust{display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--line)}
.adjust label{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.cost-in{width:90px;padding:5px 8px;text-align:right;background:var(--bg);border:1px solid var(--line2);border-radius:6px;font:13px var(--mono);color:var(--text)}
.cost-in:focus{outline:0;border-color:var(--live)}

/* Chat */
.chat{display:flex;flex-direction:column}
.msgs{display:flex;flex-direction:column;gap:10px;padding:14px;max-height:min(62vh,640px);min-height:180px;overflow-y:auto;scroll-behavior:smooth}
#view > .chat .msgs{max-height:calc(100dvh - 330px)}
.msg{position:relative;max-width:88%;padding:10px 13px 18px;border-radius:14px;font-size:14px;line-height:1.5;white-space:pre-wrap;animation:enter .2s var(--ease)}
.msg.me{align-self:flex-end;background:var(--text);color:var(--bg);border-bottom-right-radius:4px}
.msg.coo{align-self:flex-start;background:var(--raised);border:1px solid var(--line);border-bottom-left-radius:4px;white-space:normal}
.msg.err{opacity:.6}
.msg .md{padding:0;max-width:none;font-size:14px;line-height:1.55;color:var(--text)}
.msg .md p:first-child{margin-top:0} .msg .md p:last-child{margin-bottom:0}
.msg .when{position:absolute;right:10px;bottom:3px;font:10px var(--mono);opacity:.55}
.msg.typing{display:flex;gap:4px;padding:14px}
.msg.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:bob 1s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s} .msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes bob{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.chatform{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--line)}
.chatform textarea{flex:1;resize:none;min-height:40px;padding:9px 12px;background:var(--bg);border:1px solid var(--line2);border-radius:10px;font-size:15px;line-height:1.4}
.chatform textarea:focus{outline:0;border-color:var(--live)}

/* Threads */
.chatwrap{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}
.threads{position:sticky;top:90px;max-height:calc(100dvh - 120px);overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:2px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.newchat{width:100%;margin-bottom:6px}
.tgroup{padding:12px 8px 4px;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.thread{display:flex;min-width:0;gap:8px;align-items:flex-start;padding:9px 8px;border-radius:var(--r-sm);transition:background .15s}
.thread:hover{background:var(--hover)} .thread.on{background:var(--raised);box-shadow:inset 0 0 0 1px var(--line2)}
.thread .t{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread .s{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread .grow{min-width:0}
.thread .ldot{margin-top:6px}
.tmeta{display:grid;justify-items:end;gap:6px;flex:none}
.tmeta .when{font:10px var(--mono);color:var(--muted)}
.udot{width:8px;height:8px;border-radius:50%;background:var(--live)}
.tpane .back{display:none}
.empty-pane{display:grid;place-items:center;min-height:300px;border:1px dashed var(--line2);border-radius:var(--r)}
.tpane .chat .msgs{max-height:calc(100dvh - 300px)}
@media (max-width:900px){
  .chatwrap{grid-template-columns:1fr}
  .threads{position:static;max-height:none}
  .chatwrap.open .threads{display:none}
  .chatwrap:not(.open) .tpane{display:none}
  .tpane .back{display:inline-block;margin-bottom:10px}
}

/* Issues */
.issue{display:grid;gap:8px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.pbody .issue{border:0;border-radius:0;padding:12px}
.pbody .issue+.issue{border-top:1px solid var(--line)}
.issue .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.issue .title{font-weight:600}
.issue .body{color:var(--soft);font-size:13px;white-space:pre-wrap}
.issue .next{font-size:13px;color:var(--soft)} .issue .next b{font-weight:600;color:var(--text)}
.issue .next .due{color:var(--need)}
.issue.fixed{opacity:.6}
.hist{margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);list-style:none;display:grid;gap:4px;font-size:12px;color:var(--muted)}
.hist .when{font:10px var(--mono);margin-right:8px}
.eng{font:600 9px var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:4px;background:var(--hover)}
.eng-chatgpt{color:#7FD1B9}
