/* The Bid Desk, reference look (Tim, 2026-10-01): the Sep 30 screens (B) in the Sep 27 language (A).
   Galebach & Company cream, Instrument Serif headings, Instrument Sans text, Space Mono for
   numbers and small-caps labels, gold hairlines. Colour is spent on one thing: who an item is
   waiting on. Jobs are marked by a small bordered code (SC, DR, BD), never by colour. */
:root{--surface:#F1EAD9;--deep:#E8DECA;--raised:#F7F2E6;--paper:#FBF8F1;--fg:#10182C;--muted:rgba(16,24,44,.76);--quiet:rgba(16,24,44,.56);--ghost:rgba(16,24,44,.28);--accent:#A98C4B;--accent-strong:#77622F;--wash:rgba(169,140,75,.12);--line:rgba(169,140,75,.35);--line-strong:rgba(169,140,75,.7);--faint:rgba(16,24,44,.10);--w-us:#8E4E47;--w-sub:#8A6A22;--w-arch:#35618E;--w-owner:#6B5AA6;--w-none:#4F7A4B;--good-wash:rgba(79,122,75,.12);--check:rgba(201,162,78,.28);--serif:"Instrument Serif",Georgia,serif;--sans:"Instrument Sans","Helvetica Neue",Arial,sans-serif;--mono:"Space Mono",ui-monospace,Menlo,monospace}
body{margin:0;background:var(--surface);color:var(--fg);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}h1,h2,h3,p{margin:0}
.page{background:var(--surface);display:flex;flex-direction:column}
.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.93em}
.top{background:var(--raised);border-bottom:1px solid var(--line);padding:0 48px;display:flex;align-items:flex-end;gap:56px}
.brand{padding:18px 0 12px;display:flex;flex-direction:column;gap:2px;text-decoration:none}
.brand b{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1}
.brand span{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--quiet)}
.tabs{display:flex;gap:28px}
.tab{padding:0 0 14px;border-bottom:2px solid transparent;text-decoration:none;color:var(--muted);font-size:15px;display:flex;gap:8px;align-items:center}
.tab.on{color:var(--fg);font-weight:600;border-bottom-color:var(--accent-strong)}
.tab i{font-style:normal;font-family:var(--mono);font-size:11px;border:1px solid var(--line-strong);border-radius:9px;padding:0 6px;color:var(--accent-strong)}
.top .who{margin-left:auto;padding-bottom:14px;font-size:14px;color:var(--quiet)}
.crumbs{background:var(--raised);border-bottom:1px solid var(--line);padding:16px 48px;display:flex;gap:10px;font-size:15px;color:var(--quiet)}
.crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line)}
.crumbs b{color:var(--fg);font-weight:600}
.band{background:var(--raised);border-bottom:1px solid var(--line);padding:24px 48px 26px;display:flex;align-items:flex-end;gap:32px}
.band h1{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.05;letter-spacing:-.01em}
.band .sub{margin-top:8px;color:var(--muted);font-size:15px;max-width:72ch}
main{padding:36px 48px 56px;display:flex;flex-direction:column;gap:30px}
.h1{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.05}
.h2{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1}
.lede{color:var(--muted);font-size:16px;max-width:76ch}
.pagehead{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px}
.pagehead .n{font-size:14px;color:var(--quiet)}
.job{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;border:1px solid var(--line-strong);background:var(--paper);border-radius:3px;padding:1px 6px;color:var(--fg)}
.wait{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--w)}
.wait::before{content:"";width:8px;height:8px;background:var(--w);border-radius:1px}
.us{--w:var(--w-us)}.subw{--w:var(--w-sub)}.arch{--w:var(--w-arch)}.owner{--w:var(--w-owner)}.none{--w:var(--w-none)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 20px;border-radius:21px;border:1px solid var(--fg);background:var(--fg);color:var(--surface);font:600 14px var(--sans);text-decoration:none;white-space:nowrap}
.btn2{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:21px;border:1px solid var(--fg);background:transparent;color:var(--fg);font:500 14px var(--sans);text-decoration:none;white-space:nowrap}
.lk{font-size:14px;color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line-strong);background:none;border-top:0;border-left:0;border-right:0;padding:0;font-family:var(--sans)}
.card{background:var(--raised);border:1px solid var(--line);border-radius:4px}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.group-h{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.group-h .eyebrow{color:var(--fg);font-weight:700}
.group-h .n{font-family:var(--mono);font-size:11px;color:var(--ghost)}
.group-h .act{margin-left:auto}
.item{display:grid;grid-template-columns:1fr auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.item .t{font-size:17px;font-weight:600;line-height:1.35}
.item .meta{display:flex;gap:14px;align-items:center;margin-top:6px;font-size:14px;color:var(--muted);flex-wrap:wrap}
.item .acts{display:flex;gap:14px;align-items:center}
.draft{margin-top:12px;background:var(--paper);border-left:2px solid var(--accent);padding:12px 16px;font-size:15px;line-height:1.55;max-width:860px}
.draft .to{font-size:12px;color:var(--quiet);margin-bottom:4px}
.quote{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.45}
.dots{display:inline-flex;gap:4px;align-items:center}
.dots i{width:9px;height:9px;border-radius:5px;border:1px solid var(--accent);display:inline-block}
.dots i.p{background:var(--accent)}
.dots i.now{background:var(--fg);border-color:var(--fg)}
.spread{display:flex;gap:26px;margin-left:auto}
.spread div{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:58px}
.spread b{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1}
.spread s{text-decoration:none;font-size:11px;color:var(--quiet)}
.spread .z b{color:var(--ghost)}
table.grid{border-collapse:collapse;width:100%;font-size:14px}
table.grid th{font-weight:600;text-align:right;padding:10px 14px;vertical-align:bottom;border-bottom:1px solid var(--line)}
table.grid th:first-child,table.grid td:first-child{text-align:left;padding-left:12px}
table.grid td{padding:10px 14px;border-bottom:1px solid var(--faint);text-align:right;vertical-align:top}
table.grid td.sec{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--quiet);text-align:left;padding-top:20px;border-bottom:1px solid var(--line)}
table.grid .bud{background:var(--deep)}
table.grid .tot td{font-weight:700;border-top:1px solid var(--line-strong)}
table.grid .chk{background:var(--check)}
table.grid small{display:block;font-size:12px;color:var(--muted);font-weight:400}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:12px;font-size:12.5px;border:1px solid var(--line-strong);background:var(--paper);white-space:nowrap}
.tag.good{background:var(--good-wash);border-color:transparent;color:var(--w-none)}
.tag.warn{background:var(--check);border-color:transparent;color:var(--accent-strong)}
.tag.bad{background:var(--w-us);border-color:var(--w-us);color:#fff}
.tag.arch{color:var(--w-arch);border-color:rgba(53,97,142,.35);background:rgba(53,97,142,.08)}
.tag.subt{color:var(--w-sub);border-color:rgba(138,106,34,.35);background:rgba(138,106,34,.08)}
.tl{display:grid;grid-template-columns:72px 1fr;gap:10px 16px;padding:14px 0;border-bottom:1px solid var(--line)}
.tl .d{font-family:var(--mono);font-size:12px;color:var(--quiet)}
.tl .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--quiet);margin-bottom:4px}
.bubble{display:inline-block;background:var(--deep);border-radius:10px;padding:8px 12px;font-size:14px}
.bubble.out{background:var(--wash)}
table.cmp{table-layout:fixed}table.cmp th:first-child{width:230px}

/* ---- the app (site/desk.html): the reference look, plus what a working page needs ---- */
[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
button{cursor:pointer;font-family:inherit}
button:disabled{opacity:.5;cursor:not-allowed}
:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}
.page{min-height:100vh}
.top .who{display:flex;gap:10px;align-items:center}
.view{max-width:1440px;width:100%}
main{min-width:0}
.wall{padding:80px 48px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.empty{color:var(--quiet);padding:16px 0}
a.plain{text-decoration:none;color:inherit}
.row-acts{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.item .acts{flex-wrap:wrap;justify-content:flex-end;max-width:420px}
.item.busy{opacity:.55}
.expand{margin-top:12px;display:flex;flex-direction:column;gap:12px}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--quiet)}
.field input[type=text],.field input[type=number],.field textarea,.inp{font:15px var(--sans);padding:9px 12px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--fg);width:100%}
.field textarea{min-height:120px;line-height:1.5;resize:vertical}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px 24px}
.checks label{display:flex;gap:10px;align-items:baseline;padding:4px 0;font-size:14px}
.detail{margin-top:8px;font-size:14px;color:var(--muted)}
.detail summary{cursor:pointer;color:var(--fg);font-size:13px}
.detail pre{white-space:pre-wrap;font:14px/1.55 var(--sans);margin:8px 0 0;color:var(--fg);background:var(--paper);border-left:2px solid var(--accent);padding:10px 14px}
.opts{margin:8px 0 0;padding-left:18px;font-size:14px;color:var(--muted)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;background:var(--fg);color:var(--surface);padding:10px 18px;border-radius:20px;font-size:14px;z-index:30;max-width:90vw}
.toast.bad{background:var(--w-us)}
.thread .msg{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:96px 1fr;gap:6px 16px}
.thread .msg .d{font-family:var(--mono);font-size:12px;color:var(--quiet)}
.thread .msg .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--quiet)}
.thread .msg .sum{font-size:14px;color:var(--muted);margin-top:2px}
.thread .msg .sum b{color:var(--fg);font-weight:600}
.thread .msg pre{white-space:pre-wrap;font:14px/1.55 var(--sans);margin:8px 0 0;background:var(--paper);border-left:2px solid var(--accent);padding:10px 14px}
.thread .msg.out pre{border-left-color:var(--fg);background:var(--wash)}
.file{display:inline-block;margin-top:6px;font-size:13px;border:1px solid var(--line-strong);border-radius:3px;padding:2px 8px;background:var(--paper)}
.gapline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px;padding:6px 0;border-top:1px solid var(--faint)}
.gapline .inp{width:130px}
.tablewrap{overflow-x:auto}

@media (max-width:760px){
 .top{padding:0 16px;gap:16px;flex-wrap:wrap}.top .who{display:none}
 main{padding:20px 16px 120px}.band,.crumbs{padding-left:16px;padding-right:16px}
 .band{flex-direction:column;align-items:flex-start}.spread{margin-left:0;flex-wrap:wrap}
 .item{grid-template-columns:1fr}.item .acts{justify-content:flex-start}
 [data-two]{grid-template-columns:1fr!important}
}
.item.stack{grid-template-columns:1fr}.item.stack .acts{justify-content:flex-start;max-width:none}
.tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.msglist .row{display:grid;grid-template-columns:110px 54px 150px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--faint);font-size:14px;align-items:baseline;cursor:pointer}
.msglist .row:hover{background:var(--wash)}
.msglist .row .d{font-family:var(--mono);font-size:12px;color:var(--quiet)}
.msglist .row .dir{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--quiet)}
.msglist .row .pv{color:var(--muted)}
.msglist .full{grid-column:1 / -1;cursor:auto}
.msglist .full pre{white-space:pre-wrap;font:14px/1.55 var(--sans);margin:6px 0 0;background:var(--paper);border-left:2px solid var(--accent);padding:10px 14px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 4px}
.filters select{width:auto}
.invitees{background:var(--paper)}
.invitees td{font-size:13px}
@media (max-width:760px){.msglist .row{grid-template-columns:90px 40px 1fr}.msglist .row .pv{grid-column:1 / -1}}
/* the job's trades, as mock-up A2 */
.spread button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:58px;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.spread button.z{cursor:default}
.spread button:not(.z):hover s{color:var(--fg)}
.spread .dots{min-height:9px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chipf{height:30px;padding:0 13px;border-radius:15px;border:1px solid var(--line-strong);background:transparent;color:var(--fg);font:500 13px var(--sans);cursor:pointer}
.chipf .num{color:var(--quiet);font-size:12px}
.chipf.on{background:var(--accent);border-color:var(--accent);color:#fff}
.chipf.on .num{color:rgba(255,255,255,.8)}
.tboard{display:flex;flex-direction:column}
.trow{display:grid;grid-template-columns:minmax(150px,1.1fr) 170px minmax(0,2fr) 170px 120px;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.trow.out{color:var(--quiet)}
.tname{display:flex;flex-direction:column;gap:2px;min-width:0}
.tname .t{font-weight:600;font-size:15px;color:var(--fg);text-decoration:none}
.tname a.t:hover{border-bottom:1px solid var(--line-strong);align-self:flex-start}
.tname small{font-size:12px;color:var(--quiet)}
.tname .money{color:var(--muted)}
.tphase{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.tstatus{font-size:14px;color:var(--muted);line-height:1.45;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.tact{display:flex;justify-content:flex-end}
.btn.sm,.btn2.sm{min-height:34px;padding:0 16px;font-size:13px}
.wait.ghost{--w:var(--ghost)}
.tboard .invitees{padding:4px 12px 12px;border-bottom:1px solid var(--line)}
@media (max-width:760px){
  .trow{grid-template-columns:1fr auto;gap:8px 12px}
  .tphase,.tstatus,.twait{grid-column:1}
  .tact{grid-column:2;grid-row:1}
  .spread{flex-wrap:wrap;gap:14px}
}

/* ---- display-only desk (Tim, 2026-10-02; mock-up 7DRteZf2xhfrhyMsJNUuvc) ---- */
.tab i.us{background:var(--w-us);border-color:var(--w-us);color:#fff}
html,body{height:100%}
body{overflow:hidden}
.page{height:100%;min-height:0}
.shell{display:flex;flex:1;min-height:0}
.maincol{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow-y:auto}
.maincol .view{flex:1}
.lk{cursor:pointer}
.quiet{color:var(--quiet)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.subnav{display:flex;gap:22px;padding:0 48px;border-bottom:1px solid var(--line);background:var(--raised);flex-wrap:wrap}
.subnav a{font-size:14px;color:var(--muted);text-decoration:none;padding:11px 0;border-bottom:2px solid transparent}
.subnav a:hover{color:var(--fg);border-bottom-color:var(--line-strong)}
.jobs{display:flex;flex-direction:column;gap:16px}
.jobcard{display:flex;flex-direction:column;gap:14px;padding:22px 24px;text-decoration:none;color:var(--fg)}
.jobcard:hover{border-color:var(--line-strong)}
.jobcard-top{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}
.jobcard-name{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:6px}
.jobs-lines{font-size:15px;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.jobcard .spread{gap:14px}
.jobcard-foot{display:flex;gap:22px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-size:13.5px}
.trow{display:grid;grid-template-columns:minmax(150px,1.1fr) 170px minmax(0,2fr) 170px 16px;gap:18px;align-items:center;padding:13px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--fg)}
a.trow:hover{background:var(--wash)}
.trow.out{color:var(--quiet)}
.tname{display:flex;flex-direction:column;gap:2px;min-width:0}
.tname .t{font-weight:600;font-size:15px}
.tname small{font-size:12px;color:var(--quiet)}
.tname .money{color:var(--muted)}
.tphase{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.tstatus{font-size:14px;color:var(--muted);line-height:1.45;min-width:0}
.tchev{color:var(--ghost);font-size:20px;line-height:1}
.wait.ghost{--w:var(--ghost)}
.chipf{height:30px;padding:0 13px;border-radius:15px;border:1px solid var(--line-strong);background:transparent;color:var(--fg);font:500 13px var(--sans);cursor:pointer}
.chipf .num{color:var(--quiet);font-size:12px}
.chipf.on{background:var(--accent);border-color:var(--accent);color:#fff}
.chipf.on .num{color:rgba(255,255,255,.85)}
.contact{display:grid;grid-template-columns:auto auto;gap:4px 14px;font-size:14px;align-self:flex-end}
.tline{display:flex;flex-direction:column}
.tl-row{display:grid;grid-template-columns:110px 96px minmax(0,1fr);gap:14px;padding:14px 4px;border-bottom:1px solid var(--faint)}
.tl-when{display:flex;flex-direction:column;gap:2px;font-size:12px}
.tl-ch{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--accent-strong);align-self:start}
.tl-row.out .tl-ch{color:var(--w-arch)}
.chi{display:inline-flex}
.tl-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.tl-body>b{font-weight:600;font-size:14.5px}
.tl-text{font-size:14px;color:var(--muted);line-height:1.5;white-space:pre-wrap}
.tl-sum{font-size:14px;color:var(--muted)}.tl-sum b{color:var(--fg);font-weight:600}
.tl-body details summary{font-size:13px;display:inline;cursor:pointer}
.tl-body pre{white-space:pre-wrap;font:14px/1.55 var(--sans);margin:8px 0 0;background:var(--paper);border-left:2px solid var(--accent);padding:10px 14px}
.tl-row.out pre{border-left-color:var(--fg);background:var(--wash)}
.tl-body .file{align-self:flex-start}
.kk{display:flex;gap:10px;align-items:baseline;padding:4px 0;font-size:14px}
.kk-on{width:16px;color:var(--w-none);font-weight:700}
.kk.off{color:var(--muted)}.kk.off .kk-on{color:var(--ghost)}
.wrow{padding:16px 4px;border-bottom:1px solid var(--line)}
.wt{font-size:16.5px;font-weight:600;line-height:1.35;margin-top:6px}
.wlinks{display:flex;gap:6px 14px;flex-wrap:wrap;margin-top:8px}
.wlinks .lk{font-size:13px}
.wmeta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:13.5px;color:var(--muted)}
.say{font-style:italic;color:var(--accent-strong)}
.ask{font-size:13px}
.quiet-row{color:var(--muted)}
.todo{display:flex;gap:14px;align-items:center;padding:13px 4px;border-bottom:1px solid var(--faint)}
.todo .box{width:20px;height:20px;border:1.5px solid var(--accent);border-radius:3px;flex:none;font-size:13px;line-height:17px;text-align:center;color:var(--w-none);background:transparent;padding:0}
.todo button.box{cursor:pointer;position:relative}
.todo button.box::after{content:"";position:absolute;inset:-12px}
.todo button.box:hover{background:var(--good-wash);border-color:var(--w-none)}
.todo .tt{flex:1;display:flex;flex-direction:column;gap:2px;font-size:15.5px;min-width:0}
.todo .tt small{font-size:12.5px;color:var(--quiet)}
.todo.is-done .tt>span{text-decoration:line-through;color:var(--quiet)}
.done-list summary{cursor:pointer;font-size:14px;display:inline}
.done-list>div{margin-top:8px}

/* the demo strip: dark, along the bottom of the page column, never in the way */
.strip{position:sticky;bottom:0;z-index:15;background:#10182C;color:#F1EAD9;padding:9px 20px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.strip.busy{opacity:.85}
.strip-row{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.strip-tag{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:#E5B94E;font-weight:700}
.strip-time{font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.strip-hour{color:rgba(241,234,217,.8);font-weight:400}
.sb{background:transparent;border:1px solid rgba(241,234,217,.35);color:#F1EAD9;border-radius:14px;height:28px;padding:0 12px;font:500 12.5px var(--sans)}
.sb:hover:not(:disabled){border-color:#F1EAD9}
.sb.go{background:#E5B94E;border-color:#E5B94E;color:#10182C;font-weight:700}
.strip-jump{display:inline-flex;gap:8px;align-items:center}
.strip-jump input{background:#1b2231;border:1px solid #343d52;border-radius:6px;color:#e6e9ef;padding:4px 8px;font:13px var(--sans);color-scheme:dark}
.strip-confirm{display:inline-flex;gap:8px;align-items:center;color:#f5c67a}
.strip-next{margin-left:auto;color:rgba(241,234,217,.75)}
.strip-note{font-size:12.5px;color:#f5c67a}
.strip-more{background:transparent;border:1px solid rgba(241,234,217,.35);color:#E5B94E;border-radius:14px;width:30px;height:28px;font-size:11px;padding:0}
.strip-more:hover{border-color:#F1EAD9}
.strip-panel{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:8px 28px;max-height:40vh;padding:4px 0 8px;border-bottom:1px solid rgba(241,234,217,.18)}
.strip-panel>div{min-height:0;overflow-y:auto;max-height:38vh}
.strip-h{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:rgba(241,234,217,.6);padding-bottom:4px}
.strip-line{display:grid;grid-template-columns:auto auto 1fr;gap:10px;padding:5px 0;border-top:1px solid rgba(241,234,217,.12);font-size:12.5px;align-items:baseline;color:rgba(241,234,217,.9)}
.strip-line .w{font-family:var(--mono);font-size:11.5px;white-space:nowrap}
.strip-line b{font-family:var(--mono);font-size:11px;color:#E5B94E}
#subs .strip-line{grid-template-columns:auto 1fr}
.strip-line.big{color:#f5c67a}
.strip-note.bad{color:#ffb4a8}

/* the chat: docked on the right, full height */
.chat{flex:0 0 400px;width:400px;height:100%;background:var(--paper);border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:16}
body.chat-off .chat{display:none}
.chat-h{padding:14px 18px 12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.chat-t{display:flex;align-items:center;gap:10px}
.chat-t b{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1}
.chat-t span{font-size:12px;color:var(--quiet);margin-right:auto}
.ico-btn{background:none;border:0;color:var(--muted);padding:5px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:0}
.ico-btn:hover{background:var(--wash);color:var(--fg)}
.ctx{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);background:var(--wash);border-radius:4px;padding:6px 10px}
.ctx svg{flex:none;color:var(--accent-strong)}
.msgs{flex:1;min-height:0;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.msgs>*{flex-shrink:0}  /* one continuous conversation: a reply never squeezes to fit (Tim, 2026-10-05) */
.me{align-self:flex-end;max-width:86%;background:var(--fg);color:var(--surface);border-radius:14px 14px 3px 14px;padding:9px 13px;font-size:14px;line-height:1.45;white-space:pre-wrap}
.ai{align-self:stretch;font-size:14px;line-height:1.55;color:var(--fg);overflow-x:auto}
.ai p{margin:0 0 8px}.ai ul,.ai ol{margin:0 0 8px;padding-left:20px}
.ai table{border-collapse:collapse;font-size:12.5px;background:#fff;border:1px solid var(--line);margin:4px 0 8px}
.ai th,.ai td{padding:5px 8px;border-bottom:1px solid var(--faint);text-align:left}
.ai code{font:12.5px var(--mono)}
.ai pre{white-space:pre-wrap;background:#fff;border:1px solid var(--line);padding:8px 10px}
.note{font-size:13px;color:var(--quiet)}
.note.bad{color:var(--w-us)}
.chat-inp{border-top:1px solid var(--line);padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px}
.chat-inp .box{display:flex;align-items:flex-end;gap:8px;background:#fff;border:1px solid var(--line-strong);border-radius:10px;padding:8px 8px 8px 12px}
.chat-inp textarea{flex:1;border:0;resize:none;font:15px/1.45 var(--sans);color:var(--fg);background:transparent;outline:none;min-height:44px;max-height:240px;overflow-y:auto}
.send{width:36px;height:36px;border-radius:18px;border:0;background:var(--fg);color:var(--surface);display:flex;align-items:center;justify-content:center;flex:none}
.chat-inp small{font-size:11.5px;color:var(--quiet)}
/* collapsed: the chat tucks down to a bar at the bottom right, above the demo strip; ⌃ brings it back (2026-10-06) */
.chat-bar{display:none}
body.chat-off .chat-bar{display:flex;position:fixed;right:24px;bottom:calc(var(--strip-h, 0px) + 16px);z-index:40;width:340px;max-width:calc(100vw - 32px);align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--line-strong);border-radius:24px;background:var(--paper);color:var(--quiet);font:14px var(--sans);text-align:left;cursor:pointer;box-shadow:0 6px 24px rgba(16,24,44,.14)}
.chat-bar span{flex:1}
.chat-bar svg{color:var(--accent-strong);flex:none}
.chat-bar:hover{color:var(--fg)}
@media (max-width:900px){
 .chat{position:fixed;inset:0;width:auto;height:auto;display:none;z-index:50}
 body.chat-open .chat{display:flex}
 body.chat-off .chat-bar{left:0;right:0;bottom:0;width:auto;max-width:none;height:66px;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:0 26px}
 .chat-bar::before{content:"";position:absolute;inset:10px 12px;border:1px solid var(--line-strong);border-radius:23px;background:#fff;z-index:-1}
 .maincol{margin-bottom:66px}
 .strip-next{margin-left:0;flex-basis:100%}
 .subnav{padding:0 16px}
 .trow{grid-template-columns:1fr auto;gap:8px 12px}
 .trow .tphase,.trow .tstatus,.trow .twait{grid-column:1}
 .trow .tchev{grid-column:2;grid-row:1}
 .tl-row{grid-template-columns:1fr;gap:4px}
 .tl-when{flex-direction:row;gap:8px}
 .contact{align-self:flex-start}
 .band{flex-direction:column;align-items:flex-start;padding-left:16px;padding-right:16px}
 .band>div{flex:0 0 auto!important;width:100%}
 .spread{flex-wrap:wrap;gap:12px}
 .strip{bottom:0;padding:8px 14px}
 .strip-panel{grid-template-columns:1fr}
 .strip-time{font-size:13px}
 #jump-open,#restart,#stopped,.strip-next,.strip-jump{display:none!important}
 main{padding:20px 16px 24px}
 .crumbs{padding-left:16px;padding-right:16px}
}
.coming{width:auto;min-width:min(100%,640px)}.coming td:first-child{width:190px}.coming:not(.one) td:nth-child(2){width:56px}
.drafts{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-width:860px}
.draftx{background:var(--paper);border-left:2px solid var(--accent);padding:8px 14px}
.draftx summary{cursor:pointer;font-size:13.5px}
.draftx .dhead b{font-weight:600}
.draftx .dbody{white-space:pre-wrap;font-size:14.5px;line-height:1.55;margin-top:8px}
.draft-rest>summary{cursor:pointer;font-size:13.5px;display:inline}
.tscript{margin-top:8px;background:var(--paper);border-left:2px solid var(--accent);padding:10px 14px;display:flex;flex-direction:column;gap:6px;max-width:760px}
.tturn{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;font-size:14px;line-height:1.5}
.tturn b{font-weight:600;color:var(--accent-strong)}
.tturn.us b{color:var(--w-arch)}
.strip-note.working{display:flex;align-items:center;gap:8px;color:#F1EAD9}
.strip-note.working .dot{width:8px;height:8px;border-radius:4px;background:#E5B94E;animation:dmblink 1.1s infinite}
@media (prefers-reduced-motion:reduce){.strip-note.working .dot{animation:none}}
@keyframes dmblink{0%,100%{opacity:1}50%{opacity:.3}}
.sim{margin-left:8px;font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);border:1px solid var(--line-strong);border-radius:3px;padding:1px 5px;vertical-align:2px}
.day-feed{display:flex;flex-direction:column;font-size:12.5px}
.feed-line{display:grid;grid-template-columns:42px 118px minmax(0,1fr);gap:8px;padding:4px 0;border-top:1px solid rgba(241,234,217,.10);align-items:baseline;animation:feedin .35s ease-out}
.feed-line .ft{font-family:var(--mono);font-size:10.5px;color:rgba(241,234,217,.5)}
.feed-line .fk{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#E5B94E}
.feed-line .fx{color:rgba(241,234,217,.92)}
.feed-line.k-write .fk{color:#9ec1ff}.feed-line.k-read .fk{color:#b7e3c0}.feed-line.k-record .fk{color:#ffffff}
.feed-line.k-procedures .fk{color:#f5c67a}.feed-line.k-done .fk,.feed-line.k-done .fx{color:#b7e3c0}
.feed-line.k-error .fk,.feed-line.k-error .fx{color:#ffb4a8}
.feed-line.running .fx{color:rgba(241,234,217,.6);font-style:italic}
.spin{width:10px;height:10px;border-radius:50%;border:2px solid rgba(229,185,78,.3);border-top-color:#E5B94E;display:inline-block;animation:spin .8s linear infinite;justify-self:start}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes feedin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.feed-line{animation:none}.spin{animation:none}}
.sugg{margin-top:10px;max-width:860px;background:var(--wash);border:1px dashed var(--line-strong);border-radius:4px;padding:10px 14px;display:flex;flex-direction:column;gap:4px}
.sugg-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sugg-say{font-size:15px;line-height:1.5}
.sugg-why{font-size:12.5px;color:var(--quiet)}
.chat-ico{width:36px;height:36px;border-radius:18px;border:1px solid var(--fg);background:var(--paper);color:var(--fg);display:inline-flex;align-items:center;justify-content:center;flex:none;cursor:pointer}
.chat-ico:hover{background:var(--fg);color:var(--surface)}
.people{display:flex;flex-direction:column;gap:8px;font-size:14px;min-width:280px;max-width:440px;align-self:flex-end}
.person{display:flex;flex-direction:column;gap:2px}
.person.gone{opacity:.6}
.person.gone b{text-decoration:line-through;text-decoration-color:rgba(16,24,44,.35)}
.pmeta{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted);word-break:break-all}
.tl-who{display:block;font-size:12px;color:var(--quiet);font-family:var(--sans)}
.tl-ch{align-items:flex-start}
.starts{display:flex;flex-direction:column;gap:4px;padding:6px 0 8px;border-bottom:1px solid rgba(241,234,217,.18);max-height:40vh;overflow-y:auto}
.start-opt{display:flex;gap:12px;align-items:baseline;text-align:left;background:transparent;border:1px solid rgba(241,234,217,.18);border-radius:6px;color:#F1EAD9;padding:8px 12px;font:13px var(--sans)}
.start-opt:hover{border-color:#E5B94E}
.start-opt b{font-weight:600;color:#E5B94E;white-space:nowrap}
.start-opt span{color:rgba(241,234,217,.8)}
/* the Excel workbook: one long bar, opened by a click (2026-10-06) */
.xbar{background:var(--raised);border:1px solid var(--line);border-radius:4px}
.xbar>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:14px;padding:16px 20px;flex-wrap:wrap}
.xbar>summary::-webkit-details-marker{display:none}
.xbar>summary:hover{background:var(--wash)}
.xbar>summary .eyebrow{color:var(--fg);font-weight:700}
.xbar-amt{font-size:15px;font-weight:600}
.xbar-hint{font-size:14px;color:var(--quiet)}
.xbar-chev{margin-left:auto;font-size:20px;line-height:1;color:var(--accent-strong);transition:transform .15s}
.xbar[open] .xbar-chev{transform:rotate(90deg)}
.xbar-in{display:flex;flex-direction:column;gap:28px;padding:4px 20px 20px;border-top:1px solid var(--line)}
.xbar-in>section:first-child{padding-top:16px}
/* a sub inline under a Waiting item (2026-10-06) */
.subin{border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:12px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.subin-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:8px}
.subin-h .quiet{color:var(--quiet)}
.subin-open{margin-left:auto;font-size:13px}
.subin .tline{gap:0}
.wlinks button.lk{cursor:pointer}
.wlinks button[aria-expanded="true"]{border-bottom-color:var(--fg);font-weight:600}
.subin-chev{display:inline-block;color:var(--accent-strong);transition:transform .15s}
.wlinks button[aria-expanded="true"] .subin-chev{transform:rotate(90deg)}
/* a trade's subs, front and center (2026-10-06) */
.sboard{display:flex;flex-direction:column}
.sitem{border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.srow{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(170px,1fr) minmax(200px,1.4fr) 18px;gap:14px;align-items:center;width:100%;background:none;border:0;padding:14px 4px;text-align:left;font:inherit;color:inherit;cursor:pointer}
.srow:hover{background:var(--wash)}
.sname{display:flex;flex-direction:column;gap:2px;min-width:0}
.sname b{font-size:16px;font-weight:600}
.sname small{font-size:13px;color:var(--quiet)}
.sstat{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sstat .num{font-size:15px}
.spill{font-size:12.5px;font-weight:600;border-radius:12px;padding:3px 10px;border:1px solid var(--line-strong);color:var(--muted);background:var(--paper)}
.spill.good{color:var(--w-none);border-color:var(--w-none);background:var(--good-wash)}
.spill.bid{color:var(--w-sub);border-color:var(--w-sub)}
.spill.will{color:var(--fg);border-color:var(--fg)}
.spill.off{color:var(--quiet);border-style:dashed}
.slast{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--muted)}
.squiet{color:var(--w-sub);font-size:13px}
.schev{color:var(--accent-strong);font-size:18px;transition:transform .15s}
.srow[aria-expanded="true"] .schev{transform:rotate(90deg)}
.sflags{display:flex;flex-direction:column;gap:4px;padding:0 4px 12px}
.sflag{font-size:13.5px;color:var(--muted)}
.sflag.us{color:var(--w-us)}
.sitem .subin{margin:0 4px 14px}
.fullcmp>summary{display:inline;cursor:pointer;font-size:14px}
.fullcmp[open]>summary{display:inline-block;margin-bottom:10px}
@media (max-width:900px){
 .srow{grid-template-columns:1fr 18px;gap:6px 10px}
 .sname{grid-column:1}.schev{grid-column:2;grid-row:1}
 .sstat,.slast{grid-column:1}
}
.sdraft{font-size:12.5px;color:var(--quiet)}
