/* Authenticity Lens: app styles.
   Style: achromatic ledger (tasteskill app sheet, seed 99817962). The chrome holds no colour; the one
   hue (--hue) marks the evidence strip's measured cuts, and the only other colour is a status signal
   on a flagged finding. Face: a blue-grey ledger ground.

   Grid arithmetic: column 1152px with 24px padding leaves 1104px.
   12 columns x 81px + 11 gaps x 12px = 972 + 132 = 1104.
   8 + 4 split: (8 x 81 + 7 x 12) + 12 + (4 x 81 + 3 x 12) = 732 + 12 + 360 = 1104. */

@font-face{font-family:"Geist";src:url("fonts/Geist-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
/* taste-skill-ignore: Geist Mono is used only for SHA-256 fingerprints and key IDs (app-screen rule: IDs and keys). */
@font-face{font-family:"Geist Mono";src:url("fonts/GeistMono-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  --ground:#f2f4f7; --surface:#ffffff; --raised:#f5f6f8; --active:#eceef1;
  --border:#e3e6ea; --rule:#eef0f2; --control:#d2d6db;
  --text:#0a0a0a; --muted:#5d636b; --faint:#6b6b6b;
  --primary:#141414; --primary-ink:#ffffff; --secondary:#e5e7ea;
  --hue:#1d5fbf;
  --positive:#2e7d32; --negative:#c4242a; --warning:#92400e;
  --pill-positive-bg:#dcfae5; --pill-positive-ink:#04250e;
  --pill-negative-bg:#ffedea; --pill-negative-ink:#831c1e;
  --pill-warning-bg:#fffbeb; --pill-warning-ink:#92400e;
  --pill-neutral-bg:#eceef1; --pill-neutral-ink:#3d3d3d;
  --radius-card:8px; --radius-control:6px; --radius-chip:4px;
  --gap:12px; --pad:24px; --card-pad:20px; --control-height:36px; --row-height:44px;
  --col:1152px;
  --font:"Geist",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono" /* taste-skill-ignore: IDs and fingerprints only */,ui-monospace,Consolas,monospace;
  --fs-title:24px; --fs-section:16px; --fs-kpi:30px; --fs-body:14px; --fs-small:12px;
  --t:150ms; --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--ground);color:var(--text);font:400 var(--fs-body)/20px var(--font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
[hidden]{display:none!important}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:13px} /* taste-skill-ignore: fingerprints and IDs only */
.muted{color:var(--muted)}
.small{font-size:var(--fs-small);line-height:16px}
:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:var(--radius-chip)}
::selection{background:#dbe4f3}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
svg.i{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Shell: top bar over a centred column ---------- */
.col{max-width:var(--col);margin:0 auto;padding:0 var(--pad)}
.topbar{position:sticky;top:0;z-index:20;background:var(--ground);border-bottom:1px solid var(--border)}
.topbar .col{height:48px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:15px;letter-spacing:-.01em;white-space:nowrap}
.brand svg{width:22px;height:22px}
.nav{display:flex;gap:20px;flex:1}
.nav a{font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;padding:4px 0;transition:color var(--t)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--text)}
.top-meta{font-size:var(--fs-small);color:var(--muted);white-space:nowrap}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-control)}
.menu summary::-webkit-details-marker{display:none}
.menu[open] .menu-sheet{display:flex}
.menu-sheet{ /* taste-skill-ignore: shadow on a floating menu */display:none;flex-direction:column;position:absolute;right:0;top:42px;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:0 8px 24px rgba(0,0,0,.08);padding:6px}
.menu-sheet a{padding:10px 12px;border-radius:var(--radius-control);text-decoration:none;font-weight:500}
.menu-sheet a:hover{background:var(--raised)}

main{padding:36px 0 64px}
/* The drop zone fills its row so the two entry panels end level. */
.grid.entry-grid{align-items:stretch}
.entry-grid>.span-12{align-self:start}
.drop-panel{display:flex;flex-direction:column}
.drop-panel>.panel-body{flex:1;display:flex;flex-direction:column}
.drop-panel .drop{flex:1}

/* ---------- Title row ---------- */
.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.title-main{min-width:0;flex:1}
.crumb{font-size:14px;color:var(--muted);margin-bottom:4px;display:flex;gap:6px;align-items:center}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--text)}
h1{font-size:var(--fs-title);line-height:32px;font-weight:600;letter-spacing:-.015em;overflow-wrap:break-word}
.finding{font-size:16px;line-height:24px;color:var(--text);margin-top:6px;max-width:72ch}
.finding .muted{color:var(--muted)}
.title-actions{display:flex;gap:8px;flex:none;align-items:center;padding-top:22px}

/* ---------- Buttons and controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-height);padding:0 14px;border-radius:var(--radius-control);border:1px solid transparent;font-weight:500;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--t),border-color var(--t),transform 80ms}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--primary);color:var(--primary-ink)}
.btn-primary:hover{background:#2c2c2c}
.btn-secondary{background:var(--secondary);color:var(--text)}
.btn-secondary:hover{background:#d9dce0}
.btn-outline{background:var(--surface);border-color:var(--control)}
.btn-outline:hover{border-color:#aeb3ba}
.btn:disabled{background:var(--active);color:var(--muted);cursor:not-allowed;transform:none;border-color:transparent}
.link{background:none;border:0;padding:0;font-weight:500;font-size:14px;color:var(--text);cursor:pointer;text-decoration:underline;text-decoration-color:var(--control);text-underline-offset:3px;display:inline-flex;align-items:center;gap:6px}
.link:hover{text-decoration-color:var(--text)}
.link.quiet{color:var(--muted);text-decoration:none}
.link.quiet:hover{color:var(--text)}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field>span{font-size:14px;font-weight:500}
.input,.select,.textarea{width:100%;background:var(--surface);border:1px solid var(--control);border-radius:var(--radius-control);padding:0 12px;height:var(--control-height);transition:border-color var(--t)}
.textarea{height:auto;padding:9px 12px;line-height:20px;resize:vertical;min-height:62px}
.input:hover,.select:hover,.textarea:hover{border-color:#aeb3ba}
.input::placeholder,.textarea::placeholder{color:var(--faint)}
.select{appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235d636b' stroke-width='1.5'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}

/* Segmented control: as wide as its options */
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;background:var(--active);border-radius:8px}
.seg button{height:30px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--muted);font-weight:500;cursor:pointer;transition:background var(--t),color var(--t)}
.seg button:hover{color:var(--text)}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--text);border-color:var(--border)}
.seg button:disabled{cursor:not-allowed;opacity:.6}

/* ---------- Panels and grid ---------- */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start}
.span-8{grid-column:span 8}.span-4{grid-column:span 4}.span-12{grid-column:1/-1}
.stack{display:flex;flex-direction:column;gap:var(--gap)}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}
.panel-body{padding:var(--card-pad)}
.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px var(--card-pad) 0}
.panel-head h2{font-size:var(--fs-section);line-height:24px;font-weight:600}
.panel-head .muted{font-size:var(--fs-small)}
.section-gap{margin-top:var(--gap)}

/* Summary strip: one container split by dividers */
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:var(--gap)}
.strip>div{padding:16px var(--card-pad);border-left:1px solid var(--border);min-width:0}
.strip>div:first-child{border-left:0}
.strip .label{font-size:14px;color:var(--muted)}
.strip .value{font-size:var(--fs-kpi);line-height:38px;font-weight:400;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px}
.strip .value small{font-size:16px;color:var(--muted);letter-spacing:0}
.strip .value.neg{color:var(--negative)}
.strip .value.dash{color:var(--muted)}
.strip .note{font-size:var(--fs-small);color:var(--muted);margin-top:2px;line-height:16px}

/* Key-value rows */
.kv{display:grid;grid-template-columns:auto 1fr;column-gap:16px}
.kv dt,.kv dd{padding:9px 0;border-top:1px solid var(--rule);font-size:14px;line-height:20px}
.kv dt{color:var(--muted)}
.kv dd{text-align:right;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.kv dt:first-of-type,.kv dt:first-of-type+dd{border-top:0}
.kv.compact dt,.kv.compact dd{padding:6px 0;font-size:13px}
.hash{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}
.copy{border:0;background:none;color:var(--muted);cursor:pointer;display:inline-flex;padding:2px;border-radius:4px}
.copy:hover{color:var(--text);background:var(--raised)}

/* Pills: pale tint with dark ink of the same hue */
.pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--radius-chip);font-size:12px;font-weight:500;white-space:nowrap;flex:none}
.pill.concern{background:var(--pill-negative-bg);color:var(--pill-negative-ink)}
.pill.clear{background:var(--pill-positive-bg);color:var(--pill-positive-ink)}
.pill.info,.pill.notrun{background:var(--pill-neutral-bg);color:var(--pill-neutral-ink)}
.pill.pending{background:var(--surface);color:var(--muted);border:1px solid var(--control)}
.pill.cue{background:var(--pill-warning-bg);color:var(--pill-warning-ink)}
.pill.basis{background:transparent;color:var(--muted);border:1px solid var(--border);font-weight:400}
.pill.basis.override{color:var(--text);border-color:var(--control)}

/* Notices */
.notice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-control);font-size:14px;line-height:20px;background:var(--pill-warning-bg);border:1px solid #fde68a;color:var(--pill-warning-ink)}
.notice.err{background:var(--pill-negative-bg);border-color:#f6c3bd;color:var(--pill-negative-ink)}
.notice.ok{background:var(--pill-positive-bg);border-color:#b7e7c4;color:var(--pill-positive-ink)}

/* ---------- New assessment screen ---------- */
.drop{border:1px dashed var(--control);border-radius:var(--radius-card);background:var(--raised);min-height:292px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:32px;transition:border-color var(--t),background var(--t)}
.drop.drag{border-color:var(--text);background:var(--active)}
.drop h2{font-size:20px;line-height:28px;font-weight:600;letter-spacing:-.01em}
.drop p{color:var(--muted);max-width:56ch}
.drop .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}
.samples{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:16px var(--card-pad);border-top:1px solid var(--border)}
.samples span{color:var(--muted);margin-right:4px}
.steps{list-style:none;counter-reset:s}
.steps li{padding:14px 0;border-top:1px solid var(--rule)}
.steps li:first-child{border-top:0;padding-top:4px}
.steps b{display:block;font-weight:600;margin-bottom:2px}
.steps span{color:var(--muted)}
.privacy{margin-top:8px;padding-top:14px;border-top:1px solid var(--rule);color:var(--muted);font-size:13px;line-height:20px}
.about h3{font-size:14px;font-weight:600;margin:0 0 8px}
.about p{color:var(--text);line-height:22px;max-width:72ch}
.about p+p{margin-top:10px}
.about ul{list-style:none}
.about li{padding:7px 0;border-top:1px solid var(--rule);line-height:20px}
.about li:first-child{border-top:0}
.about .cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:16px}
.about .muted-list li{color:var(--muted)}
.tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);padding:0 var(--card-pad);overflow-x:auto;scrollbar-width:none}
.tabs button{background:none;border:0;height:44px;font-weight:500;color:var(--muted);cursor:pointer;position:relative;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:color var(--t)}
.tabs button:hover{color:var(--text)}
.tabs button[aria-selected="true"]{color:var(--text)}
.tabs button[aria-selected="true"]::after{content:"";position:absolute;left:-8px;right:-8px;bottom:-1px;height:2px;background:var(--text)}
.tabs .count{font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}
.tabs-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding-right:var(--card-pad)}
.tabs-row .tabs{border-bottom:0}
.tabs-row .seg{margin-bottom:6px}
.roadmap li{display:grid;grid-template-columns:120px 1fr;gap:16px}
.roadmap .when{color:var(--muted);font-variant-numeric:tabular-nums}

/* ---------- Analysing ---------- */
.progress{max-width:560px}
.progress li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--rule);list-style:none;color:var(--muted)}
.progress li:first-child{border-top:0}
.progress li.on{color:var(--text);font-weight:500}
.progress li.done{color:var(--text)}
.progress .state{font-size:var(--fs-small);color:var(--muted);font-variant-numeric:tabular-nums}
.spin{width:14px;height:14px;border:2px solid var(--control);border-top-color:var(--text);border-radius:50%;animation:spin .9s linear infinite;display:inline-block;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Results: video and the evidence strip ---------- */
/* The clip fills its panel so the row ends level with the File panel beside it. */
.clip-row{align-items:stretch}
.clip-panel{display:flex;flex-direction:column;height:100%}
.clip-panel>.panel-body{flex:1;display:flex;flex-direction:column;min-height:0}
.player{display:block;width:100%;flex:1 1 0;height:0;min-height:220px;max-height:460px;object-fit:contain;background:#0a0a0a;border-radius:var(--radius-control)}
.evidence-strip{margin-top:14px}
.strip-track{position:relative;height:44px;background:var(--raised);border-radius:var(--radius-control)}
.strip-track .tick{position:absolute;top:6px;bottom:6px;width:2px;margin-left:-1px;background:var(--hue);border-radius:1px}
.strip-track .flag{position:absolute;top:0;bottom:0;width:24px;margin-left:-12px;border:0;background:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:center;padding-top:4px;color:var(--text)}
.strip-track .flag::before{content:"";position:absolute;top:4px;bottom:4px;left:11px;width:2px;background:var(--text);border-radius:1px}
.strip-track .flag svg{position:relative;background:var(--raised);width:14px;height:14px}
.strip-axis{display:flex;justify-content:space-between;font-size:var(--fs-small);color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}
.strip-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:var(--fs-small);color:var(--muted);margin-top:8px;align-items:center}
.strip-legend i{display:inline-block;width:2px;height:12px;margin-right:6px;vertical-align:-2px;border-radius:1px}
.strip-empty{position:absolute;inset:0;display:flex;align-items:center;padding:0 14px;font-size:13px;color:var(--muted)}

/* ---------- Tailor the assessment: settings-style rows ---------- */
.setting{display:grid;grid-template-columns:3fr 9fr;gap:24px;padding:18px var(--card-pad);border-top:1px solid var(--rule)}
.setting:first-child{border-top:0}
.setting h3{font-size:14px;font-weight:600;line-height:20px}
.setting p{color:var(--muted);font-size:13px;line-height:18px;margin-top:2px}
.setting .expect{margin-top:10px;font-size:13px;line-height:20px;color:var(--muted)}
.intake{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.scope-note{font-size:var(--fs-small);color:var(--muted);margin-top:6px}

/* ---------- Markers ---------- */
.marker{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;padding:18px var(--card-pad);border-top:1px solid var(--rule)}
.marker:first-child{border-top:0}
.marker-title{font-weight:600;font-size:14px;line-height:20px}
.marker-q{font-size:16px;line-height:24px;font-weight:500}
.marker-name{font-size:var(--fs-small);color:var(--muted);line-height:16px;margin-bottom:2px}
.marker-text{color:var(--muted);margin-top:2px;line-height:20px;max-width:80ch}
.marker .kv{margin-top:10px;max-width:640px}
.marker-src{font-size:var(--fs-small);color:var(--muted);margin-top:8px}
.why{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px;color:var(--muted);font-size:13px;line-height:20px}
.ev{margin-top:12px;background:var(--raised);border-radius:var(--radius-control);padding:4px 14px}
.ev-row{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--rule);line-height:20px}
.ev-row:first-child{border-top:0}
.ev-row .pill{position:relative;top:-1px}
.look{margin-top:12px;color:var(--text);line-height:22px;max-width:80ch}
.look-ctx{margin-top:6px;color:var(--muted);line-height:20px;max-width:80ch}
.answer-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}
.marker .textarea{margin-top:10px;max-width:720px}
.mini{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:10px}
.chip-time{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-variant-numeric:tabular-nums}
.claim-row{display:flex;gap:8px;margin-top:12px;max-width:720px}
.claim-row .input{flex:1}
.date-row{display:flex;gap:10px;align-items:center;margin-top:12px;font-size:13px;color:var(--muted)}
.date-row .input{width:auto}
.exclude{display:flex;gap:8px;flex-wrap:wrap;width:100%;max-width:720px}
.exclude .input{flex:1 1 220px}
.na-head{padding:14px var(--card-pad) 6px;border-top:1px solid var(--border);font-weight:600}
.na-row{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:16px;padding:10px var(--card-pad);border-top:1px solid var(--rule);align-items:baseline}
.na-row:first-of-type{border-top:0}
.na-row .na-title{font-weight:500}
.na-row .na-reason{color:var(--muted);font-size:13px;margin-top:2px}
.lock{padding:20px var(--card-pad);color:var(--muted);line-height:22px}
.contest{margin-top:10px;max-width:720px}
.contest .mini{margin-top:8px}
.saved-note{margin-top:10px;padding:10px 12px;background:var(--raised);border-radius:var(--radius-control);max-width:720px}
.ai-run{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted)}

/* ---------- Inventory, decision, export ---------- */
.inv-group{padding:14px var(--card-pad);border-top:1px solid var(--rule)}
.inv-group:first-child{border-top:0}
.inv-group h3{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:4px}
.inv-group h3 .num{color:var(--muted);font-weight:400}
.inv-group ul{list-style:none}
.inv-group li{padding:6px 0;line-height:20px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px}
.inv-group li .layer{color:var(--muted);font-size:13px}
.inv-empty{padding:16px var(--card-pad);color:var(--muted)}
.decide button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 12px;text-align:left;background:var(--surface);border:1px solid var(--control);border-radius:var(--radius-control);cursor:pointer;font-weight:500;transition:border-color var(--t),background var(--t)}
.decide button:hover{border-color:#aeb3ba}
.decide button[aria-pressed="true"]{border-color:var(--text);background:var(--raised)}
.decide .dot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--control);flex:none}
.decide button[aria-pressed="true"] .dot{border:4px solid var(--text)}
.req{font-size:13px;line-height:18px;margin:14px 0 6px;color:var(--muted)}
.req.on{color:var(--negative)}
.form-msg{font-size:13px;color:var(--muted);margin-top:8px}
.form-msg:empty{display:none}
.recorded{display:flex;flex-direction:column;gap:6px}
.recorded .label{font-size:16px;font-weight:600}
.recorded q{color:var(--muted);font-style:normal}
.export-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}

/* ---------- Dialog ---------- */
dialog.consent{ /* taste-skill-ignore: shadow on a modal dialog */margin:auto;max-height:calc(100vh - 32px);overflow:auto;max-width:520px;width:calc(100% - 32px);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--text);padding:24px;box-shadow:0 16px 48px rgba(0,0,0,.18)}
dialog.consent::backdrop{background:rgba(10,10,10,.45)}
dialog.consent h2{font-size:18px;line-height:26px;font-weight:600;margin-bottom:8px}
dialog.consent p{color:var(--muted);line-height:20px}
dialog.consent .kv{margin:14px 0}
dialog.consent .consent-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;line-height:20px}
dialog.consent .consent-check input{margin-top:3px;width:16px;height:16px;accent-color:var(--text)}
dialog.consent .actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}
dialog.consent .limit{color:var(--negative);font-size:13px}

/* ---------- Footer ---------- */
.footer{border-top:1px solid var(--border);padding:20px 0 32px;color:var(--muted);font-size:13px;line-height:20px}
.footer .col{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px}
.footer a{color:var(--text);text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer .credits{flex-basis:100%;max-width:90ch}

/* ---------- Tablet and phone ---------- */
@media (max-width:1100px){
  .span-8,.span-4{grid-column:1/-1}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip>div:nth-child(3){border-left:0}
  .strip>div:nth-child(n+3){border-top:1px solid var(--border)}
}
@media (max-width:760px){
  :root{--pad:16px;--card-pad:16px}
  .nav,.top-meta{display:none}
  .menu{display:block;margin-left:auto}
  main{padding-top:20px}
  .title-row{flex-direction:column;gap:12px}
  .title-actions{padding-top:0;width:100%}
  .title-actions .btn{flex:1}
  h1{font-size:22px;line-height:28px}
  .setting{grid-template-columns:1fr;gap:10px}
  .intake{grid-template-columns:1fr}
  .marker,.na-row{grid-template-columns:1fr;gap:8px}
  .na-row{grid-template-columns:1fr auto}
  .na-row .pill-slot{display:none}
  .about .cols{grid-template-columns:1fr;gap:8px}
  .roadmap li{grid-template-columns:1fr;gap:2px}
  .inv-group li{grid-template-columns:1fr;gap:0}
  .drop{min-height:240px;padding:24px}
  .seg{display:flex}
  .seg button{flex:1 1 auto;min-height:40px}
  .claim-row{flex-direction:column}
  .kv dd{text-align:left}
  .kv{grid-template-columns:1fr}
  .kv dd{border-top:0;padding-top:0}
}

/* ---------- Print (Save as PDF) ---------- */
#print-report{display:none}
@media print{
  @page{margin:16mm}
  body{background:#fff}
  body>*:not(#print-report){display:none!important}
  #print-report{display:block;font-family:var(--font);color:#111;font-size:10pt;line-height:1.45}
  #print-report h1{font-size:16pt;line-height:1.2;margin-bottom:4pt}
  #print-report h2{font-size:11.5pt;margin:14pt 0 6pt;padding-bottom:3pt;border-bottom:1px solid #ccc}
  #print-report .pr-meta{font-size:8.5pt;color:#444;word-break:break-all}
  #print-report table{width:100%;border-collapse:collapse;font-size:9pt}
  #print-report td,#print-report th{border-bottom:1px solid #ddd;padding:4pt 6pt;text-align:left;vertical-align:top}
  #print-report th{color:#555;font-weight:500}
  #print-report .pr-note{font-size:8.5pt;color:#555;margin-top:12pt}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
#video-wrap{align-self:stretch}
@media (max-width:1100px){#video-wrap{align-self:start}.clip-panel{height:auto}}
/* Decision and export: full-width rows, label column then content. */
.decide-row{display:grid;grid-template-columns:3fr 9fr;gap:24px;padding:18px var(--card-pad)}
.decide-row h3{font-size:14px;font-weight:600}
.decide-row .lead{color:var(--muted);font-size:13px;line-height:18px;margin-top:2px}
.decide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:0}
.decide-actions{display:flex;align-items:center;gap:16px;margin-top:12px;flex-wrap:wrap}
@media (max-width:760px){.decide-row{grid-template-columns:1fr;gap:10px}.decide{grid-template-columns:1fr}}
