/* The admin layer on the design system (bundle.css = tokens for both themes + ls-* components).
   Colors only through tokens. signal/alarm only for call outcomes and the studio's chapter states. Phone < 768 px, one column < 900 px. */

/* ---- base ---- */
/* bundle.css declares @layer properties, theme, base, components, utilities; these element rules
   join its base layer (below components) so ls-* classes keep winning over bare elements. */
@layer base {
html{background:var(--ground)}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-sans);font-size:14px;line-height:20px;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
}
.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero}
.muted{color:var(--ink-2)}
.faint{color:var(--ink-3)}
.faint a{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:2px}
.hint{color:var(--ink-3);font-size:12px;line-height:16px;font-weight:400;margin:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.js .js-hide{display:none}
.ls-glyph{width:13px;height:13px}
.link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.link:hover{text-decoration-color:var(--ink)}
.simtag{font:500 10px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px dashed var(--line-strong);padding:0 5px;border-radius:var(--radius-2);white-space:nowrap}
.mode-live{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.mode-live::before{content:"";width:6px;height:6px;background:currentColor;border-radius:9999px}

/* ---- shell ---- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;display:flex;align-items:center;gap:20px;height:56px;padding:0 24px;background:var(--ground);border-bottom:1px solid var(--line)}
.brand{font-weight:600;letter-spacing:-.04em;font-size:16px;white-space:nowrap;text-decoration:none;display:flex;align-items:baseline;gap:6px}
.brand small{font:500 10px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.nav{display:flex;align-self:stretch}
.nav a{display:inline-flex;align-items:center;padding:0 12px;color:var(--ink-2);text-decoration:none;font-weight:500;position:relative;white-space:nowrap}
.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}
.nav a[aria-current=page]::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--accent)}
.search{flex:1;max-width:320px;margin:0 0 0 auto;display:flex;align-items:center;gap:8px;height:32px;padding:0 6px 0 10px;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface-1);color:var(--ink-3)}
.search input{flex:1;min-width:0;height:auto;padding:0;background:none;border:0;color:var(--ink);font:inherit;outline:none}
.search input::placeholder{color:var(--ink-3)}
.top-r{display:flex;align-items:center;gap:8px}
.top-r form{margin:0}
.iconbtn{width:32px;height:32px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-2);background:none;color:var(--ink-2);cursor:pointer;flex:none;padding:0}
.iconbtn:hover{color:var(--ink);border-color:var(--line-strong)}
.who{width:28px;height:28px;border-radius:var(--radius-2);background:var(--surface-3);display:grid;place-items:center;font:500 11px/1 var(--font-mono);color:var(--ink);cursor:pointer;list-style:none}
.menu-box{position:relative}
.menu-box>summary{list-style:none;cursor:pointer}
.menu-box>summary::-webkit-details-marker{display:none}
.menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;display:grid;gap:10px;min-width:220px;padding:12px;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--radius-4);box-shadow:var(--shadow-float)}
.menu p{margin:0}
.only-phone{display:none}
.banner{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:10px 24px;background:var(--surface-3);border-bottom:1px solid var(--line-strong)}
.banner b{font-weight:600}
.banner form{margin:0}
.tabbar{display:none}
.main{max-width:1280px;margin:0 auto;padding:32px 32px 96px}
.flash{margin:0 0 20px;padding:10px 14px;border:1px solid var(--line-strong);background:var(--surface-2);border-radius:var(--radius-4)}
.flash-error{border-color:var(--alarm)}

/* ---- page structure ---- */
.crumb{font-size:12px;color:var(--ink-3);display:flex;gap:6px;align-items:center;margin-bottom:4px}
.crumb a{color:var(--ink-2);text-decoration:none}.crumb a:hover{color:var(--ink)}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:24px}
h1.t,.main>h1{font-size:32px;line-height:40px;font-weight:600;letter-spacing:-.025em;margin:4px 0 0;text-wrap:balance}
.lead{color:var(--ink-2);margin:6px 0 0;max-width:72ch}
.sec{margin-top:40px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
h2.s{font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.01em;margin:0}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.actions form{margin:0}
.panel{border:1px solid var(--line);background:var(--surface-1);border-radius:var(--radius-4);min-width:0}
.panel-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.panel-b{padding:16px}
.grid2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;align-items:start}
.stack{display:flex;flex-direction:column;gap:16px}
.empty{padding:40px 16px;text-align:center;color:var(--ink-2);display:grid;gap:10px;justify-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius-4)}
.empty p{margin:0}
.count{color:var(--ink-3);font-size:12px;margin:0 0 8px}

/* ---- pieces (tier, stage, signals, line tape) ---- */
.tier{font:500 11px/18px var(--font-mono);letter-spacing:.04em;padding:0 5px;border:1px solid var(--line);border-radius:var(--radius-2);color:var(--ink-3);display:inline-block}
.tier.t1{border-color:var(--ink);color:var(--ink)}
.tier.t2{border-color:var(--line-strong);color:var(--ink-2)}
.stagec{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.meter{display:inline-flex;gap:2px}
.meter i{width:5px;height:12px;background:var(--surface-3)}
.meter i.on{background:var(--ink-2)}
.meter i.half{background:linear-gradient(to top,var(--pending) 50%,var(--surface-3) 50%)}
.meter.lost i.on{background:var(--ink-3)}
.sigs{display:flex;gap:4px}
.sig{font:500 10px/18px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:0 5px;background:var(--surface-2);color:var(--ink);border-radius:var(--radius-2);border:1px solid var(--line)}
.sig.off{background:transparent;color:var(--ink-3);border-style:dashed;text-decoration:line-through;text-decoration-color:var(--line-strong)}
.tape{display:inline-flex;gap:10px}
.tape .c{display:inline-flex;flex-direction:column;align-items:center;gap:3px;font:500 9px/10px var(--font-mono);color:var(--ink-3);letter-spacing:.06em}
.nowcell{color:var(--ink-2)}
.nowcell .num{color:var(--ink)}

/* ---- firms list ---- */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0 12px}
.fsearch{height:32px;min-width:220px;flex:0 1 280px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-2);background:var(--surface-1);color:var(--ink);font:inherit}
.fsearch::placeholder{color:var(--ink-3)}
.chip{position:relative;height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface-1);color:var(--ink-2);cursor:pointer;font-size:13px;white-space:nowrap}
.chip:hover{color:var(--ink);border-color:var(--line-strong)}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip:has(input:checked){border-color:var(--ink);color:var(--ink);background:var(--surface-2)}
.chip:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.fsel{height:32px;padding:0 8px;border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface-1);color:var(--ink-2);font:inherit;font-size:13px}
.firms td{padding:10px 12px}
.firms td.firm{max-width:300px;white-space:normal}
.firms input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}
.fname{font-weight:500;color:var(--ink);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fname:hover{text-decoration:underline;text-underline-offset:3px}
.fsub{color:var(--ink-3);font-size:12px;line-height:16px}
.fcards{display:none}
/* flex-direction:row is explicit: the base `label{flex-direction:column}` rule (form-field labels)
   otherwise wins that property, since neither of these rules sets it otherwise. */
.fcard-all{display:flex;flex-direction:row;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font-weight:600;cursor:pointer}
.fcard{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}
.fcard:has(.fcard-pick input:checked){background:var(--surface-2)}
.fcard-top{display:flex;gap:10px;align-items:flex-start}
.fcard-top .fname{flex:1;min-width:0}
.fcard-pick{flex:none;width:44px;height:44px;margin:-14px 0 -14px -14px;display:inline-flex;flex-direction:row;align-items:center;justify-content:center}
.fcard .fname{white-space:normal}
.fcard-row{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:12px;line-height:16px;color:var(--ink-2)}
.bulk{position:sticky;bottom:16px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:fit-content;max-width:100%;margin:16px auto 0;padding:8px 8px 8px 16px;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--radius-4);box-shadow:var(--shadow-float)}
.bulk[hidden]{display:none}
.bulk .n{font-weight:600;margin-right:8px}
.bulk .menu-box .menu{bottom:calc(100% + 8px);top:auto;left:0;right:auto}

/* ---- firm page ---- */
.fhead{display:grid;gap:14px;padding-bottom:8px}
.fhead .head{margin-bottom:0}
.fmeta{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--ink-2);font-size:13px;align-items:center;margin-top:6px}
.fmeta .num{color:var(--ink)}
.verdict{font-size:18px;line-height:28px;letter-spacing:-.01em;max-width:68ch;margin:0;text-wrap:pretty}
.factbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--surface-1)}
.fact{padding:12px 16px;border-left:1px solid var(--line);display:grid;gap:4px;align-content:start;min-width:0}
.fact:first-child{border-left:0}
.fact .v{color:var(--ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fact .q{color:var(--ink-3);font-size:12px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fact.is-leaked{background-image:linear-gradient(var(--surface-1),var(--surface-1)),repeating-linear-gradient(135deg,var(--alarm-hatch) 0 2px,transparent 2px 6px);background-size:calc(100% - 4px) 100%,4px 100%;background-position:right,left;background-repeat:no-repeat}
.next{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.next form{margin:0}
.next .hint{color:var(--ink-2);font-size:13px}
.ftabs{margin:24px 0}
.ftabs a.ls-tab{text-decoration:none}

/* ---- Local time card ---- */
.lt-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px}
.lt-when{font-size:16px;font-weight:500}
.lt-loc{color:var(--ink-2);font-size:13px}
.lt-verdict{margin:0 0 14px;color:var(--ink-2);max-width:64ch}
.lt-strip{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.lt-ticks{position:relative;height:14px;margin-left:72px;color:var(--ink-3);font-size:10px;font-family:var(--font-mono)}
.lt-tick{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.lt-tick:first-child{transform:none}
.lt-tick:last-child{transform:translateX(-100%)}
.lt-row{display:flex;align-items:center;gap:8px}
.lt-row-label{flex:0 0 64px;color:var(--ink-2);font-size:12px;white-space:nowrap}
.lt-bar{flex:1;position:relative;height:20px;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-2)}
.lt-fill{position:absolute;top:2px;bottom:2px;border-radius:1px}
.lt-fill-google{background:var(--ink-2)}
.lt-fill-site{background:var(--ink-3)}
.lt-fill-window{top:-1px;bottom:-1px;background:transparent;border:1.5px solid var(--line-strong);border-radius:2px;box-sizing:border-box}
.lt-row-note{position:absolute;inset:0;display:flex;align-items:center;padding-left:8px;color:var(--ink-3);font-size:11px;white-space:nowrap}
.lt-now{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}
.lt-now.is-allowed{background:var(--pending)}
.lt-status{margin:0 0 12px;color:var(--ink-2);font-size:13px}
.lt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:4px}
.lt-actions .hint{color:var(--ink-2);font-size:13px}
.trows{border:1px solid var(--line);background:var(--surface-1)}
.trow{display:grid;grid-template-columns:40px 96px minmax(0,1fr) auto 56px;align-items:center;column-gap:16px;min-height:56px;padding-right:16px;border-bottom:1px solid var(--line)}
.trow:last-child{border-bottom:0}
.trow .st{align-self:stretch;display:flex;align-items:center;justify-content:center}
.trow.is-leaked .st{background-image:repeating-linear-gradient(135deg,var(--alarm-hatch) 0 2px,transparent 2px 6px)}
.trow .win{font:500 11px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.trow .when{display:grid;min-width:0}
.trow .why{color:var(--ink-2);font-size:12px;line-height:16px}
.trow .dur{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.tfoot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 16px;border-top:1px solid var(--line);color:var(--ink-2);font-size:12px;background:var(--surface-2)}
.finds{border-top:1px solid var(--line)}
.find{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line);align-items:start}
.find .k{font:500 10px/18px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:0 6px;border:1px solid var(--line);border-radius:var(--radius-2);color:var(--ink-3);justify-self:start}
.find .k.strong{color:var(--ink);border-color:var(--ink)}
.find .k.flag{color:var(--ink);border-color:var(--line-strong);border-style:dashed}
.find details{margin-top:4px}
.find summary,details.more>summary{cursor:pointer;list-style:none}
.find summary{color:var(--ink-3);font-size:12px}
.find summary::-webkit-details-marker,details.more>summary::-webkit-details-marker{display:none}
.find summary::before,details.more>summary::before{content:"+ ";font-family:var(--font-mono)}
.find details[open] summary::before,details.more[open]>summary::before{content:"− "}
.ev{font:12px/18px var(--font-mono);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);padding:8px 10px;margin-top:6px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}
.aitag{font:500 10px/16px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pending-text);white-space:nowrap}
.snip{border:1px solid var(--line);background:var(--surface-2);padding:12px 14px;line-height:22px;white-space:pre-wrap}
.snip-to{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px;color:var(--ink-2);font-size:13px;white-space:normal}
.dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0}
.dl dt{color:var(--ink-2)}.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.tl{display:grid;margin-top:16px}
.tl-i{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;padding:8px 0;position:relative}
.tl-i::before{content:"";position:absolute;left:4px;top:20px;bottom:-8px;width:1px;background:var(--line)}
.tl-i:last-child::before{display:none}
.tl-dot{width:9px;height:9px;border:1.5px solid var(--ink-2);background:var(--ground);margin-top:5px}
.tl-i.sys .tl-dot{border-color:var(--line-strong);border-radius:9999px}
.tl-t{font:12px/16px var(--font-mono);color:var(--ink-3)}
.tl-i.sys .tl-x{color:var(--ink-2)}
.tl-i form{display:inline;margin:0}
.logf{display:grid;gap:10px;margin:0}
.logf textarea,.logf input[type=date],.logf select{width:100%;box-sizing:border-box}
.logf textarea{min-height:64px}
.logrow{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.logrow label{flex:1;min-width:140px}
.fu{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);background:var(--surface-2);margin-bottom:14px}
.fu.due{border-color:var(--pending)}
details.more{border:1px solid var(--line);background:var(--surface-1);margin-top:8px}
details.more>summary{padding:12px 16px;color:var(--ink-2)}
details.more>.panel-b,details.more>.ls-table-wrap{border-top:1px solid var(--line)}
details.more .ls-table-wrap{border-left:0;border-right:0;border-bottom:0}

/* ---- forms ---- */
@layer base {
label{display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:13px;color:var(--ink-2)}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font:inherit;font-size:14px;color:var(--ink);min-height:36px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-2);background:var(--ground);min-width:0;box-sizing:border-box}
textarea{min-height:96px;resize:vertical}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}
}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 16px}
.form-grid .wide{grid-column:1/-1}

/* ---- legacy markup on the new look (pages R2/R3 rebuild) ---- */
.main h2{font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.01em;margin:0 0 12px}
.main h3{font-size:14px;line-height:20px;font-weight:600;margin:0 0 8px}
.main p{margin:0 0 8px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}
.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-4);padding:20px;min-width:0}
.card:has(> .table){padding:0;overflow:auto;max-height:80vh}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.toolbar .spacer{flex:1}
.toolbar form{margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-4);background:transparent;color:var(--ink);font:500 14px/20px var(--font-sans);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--surface-2)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-danger{color:var(--ink)}
.btn-small{height:28px;padding:0 10px;font-size:13px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.table-wrap{overflow:auto;max-height:80vh;border:1px solid var(--line);background:var(--surface-1)}
.table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
.table th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:left;font:500 11px/16px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 12px}
.table td{border-bottom:1px solid var(--line);padding:10px 12px;vertical-align:top}
.table tr:last-child td{border-bottom:0}
.table tbody tr:hover td{background:var(--surface-2)}
.table .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.table .nowrap,.nowrap{white-space:nowrap}
.badge{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:var(--radius-2);font:500 10px/16px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}
.stats{display:flex;flex-wrap:wrap;gap:24px}
.stat{min-width:96px}
.stat-value{font:500 28px/32px var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat-label{color:var(--ink-3);font-size:12px}
.copybox{position:relative;border:1px solid var(--line);background:var(--surface-2)}
.copybox pre{margin:0;padding:12px 132px 12px 12px;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.copybox [data-copy]{position:absolute;top:8px;right:8px}
.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.list{margin:0;padding-left:20px;list-style:disc}
dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}
dl.facts dt{color:var(--ink-3)}
dl.facts dd{margin:0;min-width:0;overflow-wrap:anywhere}
.steps{list-style:none;margin:0;padding:0}
.steps li{display:grid;grid-template-columns:minmax(150px,240px) 1fr auto;align-items:center;gap:6px 16px;padding:12px;border-top:1px solid var(--line)}
.steps li:first-child{border-top:0}
.steps li.step-now{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--pending)}
.steps .step-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.steps .step-action form{margin:0}
.brief{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"firm recon" "calls recon" "leak leak";gap:16px;align-items:start}
.brief-firm{grid-area:firm}.brief-recon{grid-area:recon}.brief-calls{grid-area:calls}.brief-leak{grid-area:leak}
.brief-leak .form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.brief-leak label{display:grid;grid-template-rows:minmax(3em,auto) auto auto;align-content:start}
.leak-input{display:flex;align-items:center;gap:6px;font-weight:400}
.leak-input input{width:100%;max-width:120px}
.brief-foot{color:var(--ink-3);font-size:12px;border-top:1px solid var(--line);padding-top:8px}

/* ---- manual (rendered manual.md) ---- */
.manual-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start;margin-top:24px}
.manual-toc{display:grid;gap:2px}
.manual-toc a{display:block;padding:3px 0;color:var(--ink-2);text-decoration:none;font-size:13px;line-height:18px}
.manual-toc a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong)}
.manual-toc-d{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow:auto;padding-right:8px}
.manual-toc-m{display:none;margin-bottom:20px}
.manual-toc-m .manual-toc{padding:4px 16px 12px}
.manual-content{max-width:72ch;min-width:0;overflow-wrap:anywhere}
.manual-content h1{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.015em;margin:0 0 12px}
.manual-content h2{font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.01em;margin:36px 0 12px;scroll-margin-top:72px}
.manual-content h2:first-of-type{margin-top:0}
.manual-content h3{font-size:14px;line-height:20px;font-weight:600;margin:24px 0 8px;scroll-margin-top:72px}
.manual-content p{margin:0 0 12px;color:var(--ink-2)}
.manual-content a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:2px}
.manual-content a:hover{text-decoration-color:var(--ink)}
.manual-content strong{color:var(--ink);font-weight:600}
.manual-content ul,.manual-content ol{margin:0 0 12px;padding-left:1.4em}
.manual-content ul{list-style:disc}
.manual-content ol{list-style:decimal}
.manual-content ul ul{list-style:circle}
.manual-content li{margin:4px 0}
.manual-content li::marker{color:var(--ink-3)}
.manual-content li>ul,.manual-content li>ol{margin:4px 0 0}
.manual-content code{font:.9em var(--font-mono);background:var(--surface-2);padding:.1em .35em;border-radius:var(--radius-2);color:var(--ink)}
.manual-content blockquote{margin:0 0 12px;padding:2px 16px;border-left:2px solid var(--line-strong);color:var(--ink-2)}
.manual-content hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.manual-content .table-wrap{margin:0 0 20px;max-height:none}
.manual-content .table{font-size:13px}

/* ---- studio take list ---- */
/* td.ch is positioned so its absolutely placed .sr-only word stays inside the scrolling table (no page scroll at 390 px). */
.studio-clio{gap:8px 12px}
.studio-takes th.ch,.studio-takes td.ch{width:36px;padding-left:4px;padding-right:4px;text-align:center}
.studio-takes td.ch{vertical-align:middle;position:relative}

/* ---- one column ---- */
@media (max-width:899px){
  .grid2{grid-template-columns:minmax(0,1fr)}
  .manual-grid{grid-template-columns:minmax(0,1fr)}
  .manual-toc-d{display:none}
  .manual-toc-m{display:block}
}
/* ---- phone ---- */
@media (max-width:767px){
  .top{padding:0 16px;gap:10px}
  .nav,.search,.pause-inline,.hide-phone{display:none}
  .only-phone{display:inline-grid}
  .top-r{margin-left:auto}
  .banner{padding:10px 16px}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:sticky;bottom:0;z-index:30;background:var(--ground);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
  .tabbar a{display:grid;justify-items:center;gap:3px;padding:8px 0 9px;font-size:11px;line-height:14px;color:var(--ink-2);text-decoration:none;position:relative}
  .tabbar a[aria-current=page]{color:var(--ink)}
  .tabbar a[aria-current=page]::before{content:"";position:absolute;top:-1px;left:25%;right:25%;height:2px;background:var(--accent)}
  .main{padding:20px 16px calc(32px + env(safe-area-inset-bottom,0px))}
  h1.t,.main>h1{font-size:24px;line-height:32px}
  .ftable{display:none}
  .fcards{display:grid}
  .bulk{bottom:calc(72px + env(safe-area-inset-bottom,0px));padding-left:12px}
  .factbar{grid-template-columns:1fr 1fr}
  .fact:nth-child(3){border-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line)}
  .lt-ticks{margin-left:56px}
  .lt-row-label{flex-basis:48px}
  .lt-tick:nth-child(2n){display:none}
  .fsearch{flex-basis:100%}
  .card{padding:16px}
  .copybox pre{padding:44px 12px 12px}
  .brief{grid-template-columns:1fr;grid-template-areas:"firm" "recon" "calls" "leak"}
  .brief-leak label{grid-template-rows:auto}
  .steps li{grid-template-columns:1fr;padding:10px 8px}
}
@media (max-width:559px){
  .trow{grid-template-columns:40px minmax(0,1fr) auto;row-gap:2px;padding-block:10px}
  .trow .st{grid-row:1/span 3}
  .trow .win{grid-column:2}
  .trow .when{grid-column:2/span 2}
  .trow .out{grid-column:3;grid-row:1}
  .trow .dur{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- print: always light, the brief on one page ---- */
@media print{
  :root,[data-theme]{color-scheme:light;--ground:#fff;--surface-1:#fff;--surface-2:#f6f4f0;--surface-3:#efece6;--line:#dcd7ce;--line-strong:#78726a;--ink:#161412;--ink-2:#57524b;--ink-3:#655f57;--accent:#161412;--on-accent:#fff;--signal:#14a060;--signal-text:#0a7a4a;--signal-soft:#e3f4ea;--alarm:#a81e12;--alarm-text:#a81e12;--alarm-soft:#fbe7e3;--pending:#8a5a00;--pending-text:#8a5a00;--pending-soft:#f7eed9;--alarm-hatch:#a81e1229}
  @page{margin:12mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body{font-size:11px;line-height:15px}
  .top,.banner,.tabbar,.flash,.no-print{display:none!important}
  .main{max-width:none;padding:0}
  h1.t,.main>h1{font-size:20px;line-height:24px}
  .main h2{font-size:13px;margin-bottom:6px}
  .stack{gap:6px}
  .card{border:0;padding:0;break-inside:avoid}
  .brief{gap:12px 24px}
  .stat-value{font-size:18px;line-height:22px}
  .hint,.stat-label{font-size:10px}
  a{text-decoration:none}
  .form-grid{gap:6px 12px}
  .brief-leak .form-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  label{font-size:11px}
  input{border:0!important;padding:0!important;font-weight:600;min-height:0!important}
  .leak-input input{width:5em}
  input[type=number]{-moz-appearance:textfield;appearance:textfield}
  input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
  .brief-foot{font-size:10px}
  .manual-toc-d,.manual-toc-m{display:none!important}
  .manual-grid{grid-template-columns:minmax(0,1fr)}
  .manual-content{max-width:none}
}

a.ls-tab{text-decoration:none}
.ls-tab[aria-current=page]{color:var(--ink)}
.ls-tab[aria-current=page]::after{background:var(--accent)}
.ls-tab[aria-current=page] .ls-tab-count{background:var(--surface-3);color:var(--ink)}
fieldset.kinds{display:flex;flex-wrap:wrap;gap:6px;border:0;padding:0;margin:0}
