/* The Studio: the assay office's back room. Sits on press.css (inks, paper, type, masthead, footer)
   and mascot.css. The home page's ticket, stamp and offset-print vocabulary, set out as a workbench:
   an intake ticket on the left, an evidence dossier (a folder) on the right. */

.studio{--studio-rise:cubic-bezier(.2,.8,.2,1);
  /* Small text in the spot inks: deeper cuts of red, amber and green that keep 4.5:1 on the light stock. */
  --red-ink:#b3301c;--amber-ink:#855800;--green-ink:#17634a}
@media (prefers-color-scheme:dark){.studio{--red-ink:var(--red);--amber-ink:var(--amber);--green-ink:var(--green)}}
.skip{position:absolute;left:12px;top:-60px;z-index:10;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:4px;font:600 13px var(--mono);text-decoration:none}
.skip:focus{top:12px}
.bar nav a[aria-current="page"]{color:var(--ink);border-color:var(--red)}
.studio code{font-family:var(--mono);font-size:.9em}
.studio p code,.studio li code,.studio h3 code{background:var(--paper-2);padding:1px 5px;border-radius:3px}
.studio :focus-visible{outline:3px solid var(--red);outline-offset:2px}
[hidden]{display:none!important}

/* ---------- controls ---------- */
.studio label{display:block;margin:14px 0 6px;font:600 11.5px/1.3 var(--mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ink)}
.studio input:not([type=checkbox]):not([type=radio]):not([type=file]),.studio select,.studio textarea{
  display:block;width:100%;min-width:0;border:2px solid var(--ink);border-radius:4px;padding:11px 12px;background:var(--paper);color:var(--ink);font:14px/1.45 var(--mono)}
.studio textarea{resize:vertical}
.studio input::placeholder,.studio textarea::placeholder{color:var(--ink-soft);opacity:.75}
.studio input:focus,.studio select:focus,.studio textarea:focus{outline:3px solid var(--red);outline-offset:2px}
.studio input:disabled,.studio select:disabled,.studio textarea:disabled{opacity:.6;cursor:not-allowed}
.studio select{appearance:none;padding-right:34px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 17px) 52%,calc(100% - 11px) 52%;background-size:6px 6px;background-repeat:no-repeat}
.studio input[type=checkbox],.studio input[type=radio]{width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink);cursor:pointer;flex:none}
.code-input{font-size:12.5px!important;white-space:pre;overflow-x:auto;tab-size:2}
.s-file{position:absolute!important;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
label:has(+ .s-file:focus-visible){outline:3px solid var(--red);outline-offset:2px}

/* Buttons: the ink button with the red offset, as on the home page. Unclassed buttons print as ghosts. */
.s-btn,.studio .primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:4px;padding:0 22px;min-height:50px;
  font:650 15.5px var(--body);text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 var(--red);transition:transform .08s,box-shadow .08s,background .15s;margin:0;text-transform:none;letter-spacing:0}
.s-btn:hover,.studio .primary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--red)}
.s-btn:active,.studio .primary:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--red)}
.s-btn.ghost{background:transparent;color:var(--ink);box-shadow:4px 4px 0 var(--line)}
.s-btn.ghost:hover{background:var(--paper-2)}
.s-btn.small{min-height:40px;padding:0 14px;font:600 13px var(--mono);box-shadow:3px 3px 0 var(--red)}
.s-btn.small.ghost{box-shadow:3px 3px 0 var(--line)}
.s-btn:disabled,.studio .primary:disabled{opacity:.55;cursor:wait;transform:none}
.studio button:not(.s-btn):not(.primary):not(.text-button):not(.s-link):not([role=tab]):not([data-result-view]){
  border:1.5px solid var(--ink);background:transparent;color:var(--ink);border-radius:3px;padding:8px 12px;cursor:pointer;font:500 12.5px var(--mono);transition:background .15s,transform .08s,box-shadow .08s}
.studio button:not(.s-btn):not(.primary):not(.text-button):not(.s-link):not([role=tab]):not([data-result-view]):hover{background:var(--paper-2)}
.studio button:disabled{opacity:.55;cursor:wait}
.studio .secondary{font-weight:600!important;box-shadow:3px 3px 0 var(--line)}
.studio .secondary:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--red)}
.text-button,.s-link{display:inline-block;margin:10px 0 0;padding:2px 0;border:0;background:none;color:var(--ink);font:500 12.5px var(--mono);cursor:pointer;
  text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px;text-transform:none;letter-spacing:0}
.text-button:hover,.s-link:hover{color:var(--red-ink)}
.s-link{margin:0;color:var(--ink-soft)}
.s-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.s-row .text-button{margin:0}

.help{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--ink-soft)}
.help a,.s-section-head a,.s-fine a{color:var(--ink);text-decoration-color:var(--red);text-underline-offset:3px;text-decoration-thickness:2px}
.s-fine{font:12px/1.45 var(--mono);color:var(--ink-soft)}
.s-status:empty{display:none}
.s-status{font:12.5px/1.45 var(--mono);color:var(--ink);padding-left:10px;border-left:3px solid var(--line)}
.address-status[data-state="found"]{border-left-color:var(--green)}
.address-status[data-state="not_found"]{border-left-color:var(--amber)}
.error{margin:16px 0 0;padding:12px 14px;border:2px solid var(--red);border-radius:4px;background:var(--soft-red);color:var(--ink);font:600 14px/1.5 var(--body)}
.s-tag{font:600 10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft);border:1.2px solid var(--line);border-radius:3px;padding:1px 6px;white-space:nowrap}
.s-chip{display:inline-block;font:700 10.5px var(--mono);letter-spacing:1px;text-transform:uppercase;padding:2px 7px;border-radius:3px;border:1.5px solid var(--line);color:var(--ink-soft);white-space:nowrap}
.s-chip[data-state="ok"],.s-chip.pass{color:var(--green-ink);border-color:var(--green);background:var(--soft-green)}
.s-chip[data-state="bad"],.s-chip.needs_evidence{color:var(--amber-ink);border-color:var(--amber);background:var(--soft-amber)}
.s-chip.needs_fixes{color:var(--red-ink);border-color:var(--red);background:var(--soft-red)}
.s-chip.pop{animation:pop .45s var(--studio-rise)}
.official-badge{display:inline-block;font:700 10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;padding:3px 7px;border-radius:3px;background:var(--ink);color:var(--paper);white-space:nowrap}
.eyebrow-mini{display:inline-block;margin:0 0 8px;font:600 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-soft)}
.studio .eyebrow:not(p){display:inline-block;margin:0 0 8px;font:600 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-soft)}

/* ---------- hero ---------- */
.s-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;padding:30px 0 34px}
.s-hero h1{font-size:clamp(42px,6.4vw,78px);text-wrap:balance}
.s-hero h1 em{display:block}
.s-hero .lede code{font-size:.84em}
.s-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.s-micro{margin:16px 0 0;font:12px var(--mono);color:var(--ink-soft)}
.s-hero-art{margin:0;position:relative;aspect-ratio:1;max-width:440px;width:100%;justify-self:end;display:grid;place-items:end center;
  background:radial-gradient(var(--dot) 1.1px,transparent 1.5px) 0 0/9px 9px;border:2px solid var(--ink);border-radius:999px 999px 6px 6px}
.s-hero-punch{display:block;width:58%;margin:0 6% 9% 0;justify-self:end;position:relative;z-index:1}
.s-hero-punch .tm-mascot{width:100%}
.s-hero-art figcaption{position:absolute;left:18px;bottom:16px;font:600 12px var(--mono);text-transform:uppercase;letter-spacing:1.4px;background:var(--paper);border:1.5px solid var(--ink);padding:6px 9px;border-radius:3px;z-index:2}
.s-bubble{position:absolute;right:-28px;top:6%;max-width:250px;margin:0;background:var(--card);border:2px solid var(--ink);border-radius:6px;padding:12px 14px;font:14px/1.45 var(--body);box-shadow:5px 5px 0 var(--red);z-index:3}
.s-bubble::after{content:"";position:absolute;left:40px;bottom:-11px;width:18px;height:18px;background:var(--card);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}
.s-bubble b{font-family:var(--display);font-size:16px}
.s-bubble code{font-size:.86em}
/* The dossier the hero leaves on the bench: three sheets, the top one filed. */
.s-sheets{position:absolute;left:7%;bottom:17%;width:27%;aspect-ratio:3/4}
.s-sheet{position:absolute;inset:0;border:2px solid var(--ink);border-radius:3px;background:var(--card)}
.s-sheet-3{transform:rotate(-11deg) translate(-6px,4px);background:var(--paper-2)}
.s-sheet-2{transform:rotate(-5deg);box-shadow:4px 4px 0 var(--red)}
.s-sheet-1{transform:rotate(3deg);padding:12% 12% 0;display:flex;flex-direction:column;gap:9%}
.s-sheet-1 b{font:700 9px var(--mono);letter-spacing:1.6px;color:var(--ink)}
.s-sheet-1 i{display:block;height:3px;border-radius:2px;background:var(--line)}
.s-sheet-1 i:nth-of-type(2){width:72%}.s-sheet-1 i:nth-of-type(3){width:48%;background:var(--red);opacity:.7}
.s-sheet-1 em{position:absolute;right:-12px;bottom:-12px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;transform:rotate(-14deg);
  font:italic 700 12px var(--display);color:var(--red);border:2.5px solid var(--red);background:var(--card);filter:url(#ink)}

/* ---------- what the Studio adds ---------- */
.s-adds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:6px}
.s-card{border:2px solid var(--ink);border-radius:6px;padding:20px;background:var(--card);
  background-image:radial-gradient(var(--dot) 1px,transparent 1.4px);background-size:8px 8px;background-position:right -8px bottom -8px;background-repeat:no-repeat}
.s-card .num{font:italic 600 28px var(--display);color:var(--red)}
.s-card h3{font:650 18px/1.25 var(--display);margin:6px 0 8px;letter-spacing:-.2px}
.s-card h3 code{font-size:.8em}
.s-card p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.55}
.s-card .s-tag{display:inline-block;margin-top:14px}
.s-adds .s-card:nth-child(3),.standard-grid .s-card:nth-child(2){box-shadow:6px 6px 0 var(--red)}

/* ---------- section index and heads ---------- */
.s-index{display:flex;flex-wrap:wrap;margin:44px 0 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.s-index a{flex:1 1 auto;display:flex;gap:8px;align-items:baseline;justify-content:center;padding:12px 14px;font:500 13px var(--mono);color:var(--ink-soft);text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.s-index a+a{border-left:1.5px dashed var(--line)}
.s-index a b{font:italic 600 15px var(--display);color:var(--red)}
.s-index a:hover{background:var(--card);color:var(--ink)}
.s-section{margin-top:76px}
.s-section-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:baseline;margin:56px 0 22px;scroll-margin-top:16px}
.s-section .s-section-head{margin-top:0}
.s-num{font:italic 600 clamp(40px,5vw,60px)/1 var(--display);color:var(--red);letter-spacing:-1px}
.s-section-head h2{margin:0;font:650 clamp(28px,3.6vw,40px)/1.08 var(--display);letter-spacing:-1px;text-wrap:balance}
.s-section-head p{margin:8px 0 0;color:var(--ink-soft);font-size:16px;line-height:1.55;max-width:680px}
section[id],#workspace{scroll-margin-top:16px}

/* ---------- hand-off from the quick test ---------- */
.s-handoff{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center;margin:0 0 22px;padding:12px 18px 12px 12px;
  background:var(--card);border:2px solid var(--ink);border-left:8px solid var(--red);border-radius:6px;box-shadow:5px 5px 0 var(--ink);animation:slip .6s var(--studio-rise) both}
.s-handoff-punch{width:64px;height:64px}.s-handoff-punch .tm-mascot{width:64px}
.s-handoff-kicker{margin:0;font:600 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--red-ink)}
.s-handoff-ref{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:15px}
.s-handoff-ref code{font:600 14px var(--mono);word-break:break-all}
.s-handoff .s-fine{margin:4px 0 0}
.s-handoff-actions{display:flex;gap:14px;align-items:center}

/* ---------- the workbench ---------- */
.workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;align-items:start}
.submission{min-width:0}

/* The intake ticket: the home page's ticket, with its notches and red offset. */
.s-ticket{position:relative;background:var(--card);border:2px solid var(--ink);border-radius:6px;padding:18px 22px 22px;box-shadow:7px 7px 0 var(--red)}
.s-ticket::before,.s-ticket::after{content:"";position:absolute;top:40px;width:22px;height:22px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);transform:translateY(-50%)}
.s-ticket::before{left:-13px;clip-path:inset(0 0 0 50%)}.s-ticket::after{right:-13px;clip-path:inset(0 50% 0 0)}
.s-ticket-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1.5px dashed var(--line)}
.s-ticket-no{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:1.4px}
.network-label{margin:0!important;display:inline-block!important}
.network-label select{width:auto!important;padding:6px 32px 6px 10px!important;font-size:12px!important;border-width:1.5px!important}
.s-stub{border:0;margin:0;padding:18px 0 8px;min-width:0}
.s-stub+.s-stub,.s-stub+.s-consent{border-top:1.5px dashed var(--line)}
.s-stub>legend{float:left;width:100%;padding:0;margin:0 0 6px}
.s-stub>legend+*{clear:both}
.s-stub-title{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font:650 20px/1.2 var(--display);letter-spacing:-.3px;color:var(--ink)}
.s-stub-title code{font:600 14px var(--mono)}
.s-stub-title .official-badge,.s-stub-title .s-tag{font-family:var(--mono)}
.s-stub-title .official-badge{margin-left:auto}
.s-stub-no{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%;border:2px solid var(--ink);font:700 13px var(--mono);background:var(--paper);box-shadow:2px 2px 0 var(--red)}

/* Source tabs: index tabs on a folder. */
.source-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;border-bottom:2px solid var(--ink)}
.source-tabs [role=tab]{position:relative;border:2px solid var(--ink);border-bottom:0;border-radius:5px 5px 0 0;background:var(--paper-2);color:var(--ink-soft);
  font:600 13px var(--mono);padding:10px 6px;cursor:pointer;transition:background .15s,color .15s,transform .15s;transform:translateY(3px)}
.source-tabs [role=tab]:hover{color:var(--ink);transform:translateY(1px)}
.source-tabs [role=tab][aria-selected="true"]{background:var(--card);color:var(--ink);transform:none;margin-bottom:-2px;padding-bottom:12px;box-shadow:3px -3px 0 var(--red)}
.source-tabs [role=tab]:focus-visible{outline-offset:-5px}
.source-panel{padding-top:4px;animation:fade .35s ease both}
.input-action{display:flex;gap:10px;align-items:stretch}
.input-action input{flex:1}
.input-action .s-btn{flex:none}

/* The drop zone: a halftone tray. It warms to red and the dots drift while files hover over it. */
.s-drop{margin-top:14px;position:relative;text-align:center;padding:24px 16px 20px;border:2px dashed var(--ink);border-radius:6px;
  background:var(--paper) radial-gradient(var(--dot) 1.1px,transparent 1.5px) 0 0/9px 9px;transition:border-color .15s,background-color .15s,transform .2s var(--studio-rise),box-shadow .2s}
.s-drop-art{display:block;width:46px;height:54px;margin:0 auto 10px;position:relative}
.s-drop-art::before,.s-drop-art::after{content:"";position:absolute;inset:0;border:2px solid var(--ink);border-radius:3px;background:var(--card);transition:transform .3s var(--studio-rise)}
.s-drop-art::before{transform:rotate(-9deg) translate(-4px,2px);background:var(--paper-2)}
.s-drop-art::after{transform:rotate(4deg);background:var(--card) linear-gradient(var(--line),var(--line)) 8px 12px/60% 3px no-repeat;box-shadow:3px 3px 0 var(--red)}
.s-drop-title{margin:0;font:650 18px/1.25 var(--display)}
.s-drop-text{margin:4px 0 0;font-size:13px;color:var(--ink-soft)}
.s-drop-text code{font-size:.92em}
.s-drop-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:14px}
.studio label.s-btn,.studio label.text-button{display:inline-flex;align-items:center;margin:0;text-transform:none;letter-spacing:0}
.studio label.s-btn{color:var(--paper)}.studio label.s-btn.ghost{color:var(--ink)}
.studio label.text-button{font:500 12.5px var(--mono);text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}
.s-drop.is-over,.s-ticket.is-over .s-drop{border-style:solid;border-color:var(--red);background-color:var(--soft-red);transform:scale(1.012);box-shadow:5px 5px 0 var(--red);animation:drift 1.2s linear infinite}
.s-drop.is-over .s-drop-art::before,.s-ticket.is-over .s-drop-art::before{transform:rotate(-16deg) translate(-10px,-4px)}
.s-drop.is-over .s-drop-art::after,.s-ticket.is-over .s-drop-art::after{transform:rotate(9deg) translate(6px,-8px)}
.s-ticket.is-over{box-shadow:9px 9px 0 var(--red)}
.s-drop.is-landed{animation:land .5s var(--studio-rise)}

/* The manifest of what is on the bench. */
.s-manifest{margin-top:16px;border:1.5px solid var(--line);border-radius:5px;background:var(--paper)}
.s-manifest-head{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;border-bottom:1.5px dashed var(--line)}
.s-manifest-head h3{margin:0;font:650 16px var(--display);flex:1}
.s-manifest-punch{width:44px;height:44px;display:grid;place-items:center}
.s-manifest-punch .tm-mascot{width:44px}
.s-manifest-punch.react{animation:hop .55s var(--studio-rise)}
.file-list{padding:4px 12px 8px}
.file-list p{margin:6px 0;font:12.5px var(--mono);color:var(--ink-soft)}
.file-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font:12.5px/1.4 var(--mono);border-bottom:1px dashed var(--line);animation:row-in .4s var(--studio-rise) both}
.file-row:last-of-type{border-bottom:0}
.file-row span{min-width:0;word-break:break-all}
.file-row span::before{content:"▪";color:var(--ink-soft);margin-right:8px}
.file-row.is-tmark span::before{content:"✦";color:var(--red)}
.file-row button{padding:4px 9px!important;font-size:11.5px!important;flex:none}
.s-discover .text-button{margin:0}
.discovery-card{margin-top:12px;padding:14px 16px;border:2px solid var(--ink);border-radius:5px;background:var(--paper);font-size:13.5px;animation:fade .4s ease both}
.discovery-card>strong{font:650 16px var(--display)}
.discovery-card p{margin:6px 0;color:var(--ink-soft)}
.discovery-card ul{margin:8px 0;padding-left:18px;font:12.5px/1.5 var(--mono)}
.blueprint-blocker{padding:6px 10px;border-left:4px solid var(--amber);background:var(--soft-amber);color:var(--ink)!important;font-size:13px}
.blueprint-map{margin-top:12px;padding-top:12px;border-top:1.5px dashed var(--line)}
.blueprint-map h3{margin:2px 0 6px;font:650 18px var(--display)}
.blueprint-table{width:100%;border-collapse:collapse;font:12px var(--mono);margin:8px 0;display:block;overflow-x:auto}
.blueprint-table th{text-align:left;border-bottom:2px solid var(--ink);padding:5px 6px;color:var(--ink-soft)}
.blueprint-table td{border-bottom:1px dashed var(--line);padding:6px;vertical-align:top}
.blueprint-fingerprint{display:block;margin-top:10px;font:11.5px/1.45 var(--mono);color:var(--ink-soft);word-break:break-all}
.examples{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;font:13px var(--mono);color:var(--ink-soft)}
.studio .examples button{border:1.5px dashed var(--ink)!important;font:500 13px var(--body)!important;padding:7px 12px!important}
.studio .examples button:hover,.studio .examples button[aria-pressed="true"]{border-style:solid!important;background:var(--paper-2)}

/* The .tmark editor, as on the home ticket. */
.s-editor{margin-top:12px;border:2px solid var(--ink);border-radius:5px;overflow:hidden;background:var(--paper)}
.s-editor-bar{display:flex;gap:10px;align-items:center;padding:6px 8px;border-bottom:1.5px solid var(--ink);background:var(--paper-2)}
.s-file-tag{font:700 12px var(--mono);background:var(--ink);color:var(--paper);padding:2px 8px;border-radius:3px;flex:none}
.studio .s-editor textarea{border:0;border-radius:0;font-size:12.5px;line-height:1.55;white-space:pre;overflow-x:auto;min-height:140px;tab-size:2}
.studio .s-editor textarea:focus{outline-offset:-3px}
.s-notes{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.s-notes:empty{display:none}
.s-notes li{font:12.5px/1.45 var(--mono);padding:6px 9px;border-left:4px solid var(--amber);background:var(--soft-amber);border-radius:0 3px 3px 0;color:var(--ink);word-break:break-word;animation:row-in .35s var(--studio-rise) both}
.s-notes li.ok{border-left-color:var(--green);background:var(--soft-green)}
.s-notes b{color:var(--red-ink);margin-right:6px}

/* Intended behaviour */
.capabilities{border:0;padding:0;margin:14px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.capabilities legend{grid-column:1/-1;padding:0;margin-bottom:8px;font:600 11.5px var(--mono);letter-spacing:1.1px;text-transform:uppercase}
.capabilities legend span{color:var(--ink-soft);text-transform:none;letter-spacing:0;font-weight:500;margin-left:6px}
.studio .capabilities label{display:flex;gap:10px;align-items:center;margin:0;padding:10px 12px;border:1.5px solid var(--line);border-radius:4px;background:var(--paper);
  font:500 14px var(--body);letter-spacing:0;text-transform:none;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.studio .capabilities label:hover{border-color:var(--ink)}
.studio .capabilities label:has(input:checked){border-color:var(--ink);box-shadow:3px 3px 0 var(--red);background:var(--card)}
.studio .capabilities label:has([data-scope="sign:tx"]:checked),.studio .capabilities label:has([data-scope="exec:host"]:checked){box-shadow:3px 3px 0 var(--red);border-color:var(--red)}
details.permissions,details.catalogue,details.technical,.order-resume,.order-identity,.proof-evidence,.checkout-technical{margin-top:14px;border:1.5px solid var(--line);border-radius:5px;background:var(--paper);padding:0 14px}
details.permissions>summary,details.catalogue>summary,details.technical>summary,.order-resume>summary,.order-identity>summary,.proof-evidence>summary,.checkout-technical>summary,.s-faq summary,.checkout-panel>summary{
  list-style:none;display:flex;gap:10px;align-items:center;flex-wrap:wrap;cursor:pointer;padding:12px 0;font:600 13.5px var(--mono);color:var(--ink)}
details>summary::-webkit-details-marker{display:none}
details.permissions>summary::after,details.catalogue>summary::after,details.technical>summary::after,.order-resume>summary::after,.order-identity>summary::after,.proof-evidence>summary::after,.checkout-technical>summary::after,.s-faq summary::after,.checkout-panel>summary::after{
  content:"+";margin-left:auto;font:700 18px/1 var(--mono);color:var(--red);transition:transform .2s}
details[open]>summary::after{content:"−"}
details.permissions>summary span,details.technical>summary span{font:500 12px var(--mono);color:var(--ink-soft)}
details.permissions[open],details.technical[open],.order-resume[open],.order-identity[open]{border-color:var(--ink);background:var(--card);padding-bottom:14px}
details[open]>summary~*{animation:fade .3s ease both}

/* Design your audit: tiers are tickets you punch, reviewers are slips you tick. */
.tier-picker,.module-picker{border:0;padding:0;margin:14px 0 0;min-width:0}
.tier-picker legend,.module-picker legend{padding:0;margin-bottom:8px;font:600 11.5px var(--mono);letter-spacing:1.1px;text-transform:uppercase}
#module-count{color:var(--ink-soft);font-weight:500;margin-left:6px;text-transform:none;letter-spacing:0}
.tier-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.module-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.studio .tier-choice,.studio .module-choice{position:relative;display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px;border:1.5px solid var(--line);border-radius:5px;background:var(--paper);
  font:400 13px/1.45 var(--body);letter-spacing:0;text-transform:none;cursor:pointer;transition:border-color .15s,box-shadow .2s,transform .2s var(--studio-rise),background .15s}
.studio .tier-choice{flex-direction:column;padding:14px 14px 12px;border-style:dashed}
.studio .tier-choice:hover,.studio .module-choice:hover{border-color:var(--ink)}
.tier-choice span,.module-choice span{display:grid;gap:3px;min-width:0}
.tier-choice strong{font:650 18px/1.15 var(--display)}
.module-choice strong{font:650 14.5px/1.25 var(--body)}
.tier-choice small,.module-choice small{color:var(--ink-soft);font-size:12.5px}
.tier-choice em,.module-choice em{font:normal 600 11px/1.4 var(--mono);color:var(--ink-soft)}
.tier-choice em{color:var(--red-ink)}
.studio .tier-choice:has(input:checked){border-style:solid;border-width:2px;border-color:var(--ink);background:var(--card);box-shadow:4px 4px 0 var(--red);transform:translate(-1px,-1px)}
.studio .tier-choice:has(input:checked)::after{content:"✓";position:absolute;right:10px;top:10px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  border:2px solid var(--red);color:var(--red);font:700 12px var(--mono);transform:rotate(-12deg);animation:stamp-in .35s var(--studio-rise)}
.studio .module-choice:has(input:checked){border-color:var(--ink);background:var(--card)}
.studio .module-choice:has(input:disabled),.studio .tier-choice:has(input:disabled){cursor:not-allowed;opacity:.7}
.operator-note{padding-left:10px;border-left:3px solid var(--line)}
.capsule-state{margin-top:8px;padding:10px 12px;border:1.5px dashed var(--line);border-radius:4px;font:12.5px/1.5 var(--mono);color:var(--ink)}
.capsule-state p{margin:6px 0 0;color:var(--ink-soft)}
.plan-preview{margin-top:16px}
.audit-plan{margin-top:14px;padding:16px 18px;border:2px dashed var(--ink);border-radius:5px;background:var(--paper);font-size:13.5px;animation:print .5s var(--studio-rise) both}
.audit-plan h3{margin:0 0 6px;font:650 20px/1.2 var(--display)}
.audit-plan p{margin:6px 0;color:var(--ink-soft)}
.plan-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0;border:1.5px solid var(--ink);border-radius:4px;background:var(--card)}
.plan-facts div{padding:10px 12px;display:grid;gap:2px;min-width:0}
.plan-facts div+div{border-left:1.5px dashed var(--line)}
.plan-facts strong{font:650 20px/1.1 var(--display);word-break:break-word}
.plan-facts span{font:600 10.5px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft)}
.plan-blockers{margin:6px 0;padding-left:18px;color:var(--red-ink);font-size:13px}

/* Consent, the run button, the order */
.s-consent{padding:16px 0 4px}
.studio .ai-optin{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin:12px 0 0;padding:13px 15px;border:1.5px solid var(--line);border-radius:5px;background:var(--paper);
  font:650 15px/1.35 var(--display);letter-spacing:0;text-transform:none;cursor:pointer}
.studio .ai-optin small{display:block;margin-top:6px;font:400 13px/1.5 var(--body);color:var(--ink-soft)}
.studio .ai-optin:has(input:checked){border-color:var(--ink);box-shadow:4px 4px 0 var(--red);background:var(--card)}
.studio .ai-optin:has(input:disabled){cursor:not-allowed;background:var(--paper-2);border-style:dashed}
.privacy-note{margin:16px 0 0;font:12px/1.55 var(--mono);color:var(--ink-soft);padding:10px 12px;border:1.5px dashed var(--line);border-radius:4px}
.studio .s-run{width:100%;min-height:60px;margin-top:18px;font-size:17px;box-shadow:6px 6px 0 var(--red)}
.studio .s-run:hover{box-shadow:7px 7px 0 var(--red)}
.studio .s-run:active{box-shadow:2px 2px 0 var(--red)}
.studio form[aria-busy="true"] .s-run:disabled{opacity:1;cursor:progress;color:var(--paper);background:var(--ink) repeating-linear-gradient(-45deg,transparent 0 10px,rgba(255,255,255,.09) 10px 20px);background-size:28px 28px;animation:stripes .8s linear infinite}
@media (prefers-color-scheme:dark){.studio form[aria-busy="true"] .s-run:disabled{background-image:repeating-linear-gradient(-45deg,transparent 0 10px,rgba(17,23,43,.12) 10px 20px)}}
.s-run-status{text-align:center;font-family:var(--mono);font-size:12px}
.checkout-panel{margin-top:22px;padding:0 20px;border:2px dashed var(--ink);border-radius:6px;background:var(--card)}
.checkout-panel>summary{font:650 17px var(--display)}
.checkout-panel>summary .official-badge{font-family:var(--mono)}
.checkout-panel[open]{padding-bottom:20px;border-style:solid;box-shadow:5px 5px 0 var(--ink)}
.checkout-connect{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}
.checkout-connect a{font:12.5px var(--mono);color:var(--ink);text-decoration-color:var(--red);text-underline-offset:3px}
.order-intake{margin-top:18px;padding-top:12px;border-top:1.5px dashed var(--line)}
.order-intake h4{margin:0;font:650 17px var(--display)}
.checkout-steps{margin:10px 0;padding-left:20px;font-size:13.5px;display:grid;gap:4px}
#checkout-quote-result{margin-top:12px;padding:12px 14px;border:2px dashed var(--ink);border-radius:5px;background:var(--paper);font-size:13.5px}

/* ---------- the dossier: a folder with a tab ---------- */
.dossier{min-width:0}
.dossier[data-state="empty"],.dossier[data-state="working"]{position:sticky;top:16px}
.s-folder-tab{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.s-folder-tab h2{margin:0;padding:9px 16px 8px;background:var(--ink);color:var(--paper);border-radius:6px 6px 0 0;font:600 12px var(--mono);letter-spacing:1.6px;text-transform:uppercase}
.s-folder-state{margin-bottom:7px;font:700 10.5px var(--mono);letter-spacing:1.2px;text-transform:uppercase;padding:3px 8px;border:1.5px solid var(--ink-soft);border-radius:3px;color:var(--ink-soft);transform:rotate(-2deg);transition:color .2s,border-color .2s}
.dossier[data-state="working"] .s-folder-state{color:var(--red-ink);border-color:var(--red)}
.dossier[data-state="result"] .s-folder-state{color:var(--ink);border-color:var(--ink)}
.s-folder{position:relative;background:var(--card);border:2px solid var(--ink);border-radius:0 6px 6px 6px;padding:22px 24px 24px;box-shadow:7px 7px 0 var(--ink);
  background-image:radial-gradient(var(--dot) 1px,transparent 1.4px);background-size:9px 9px;background-position:right -4px bottom -4px;background-repeat:no-repeat}
.dossier[data-state="error"] .s-folder{box-shadow:7px 7px 0 var(--red)}

.s-empty-scene{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:center}
.studio-punch{display:block;width:132px;height:132px}
.studio-punch .tm-mascot{width:132px}
.s-say{position:relative;margin:0;padding:12px 15px;background:var(--paper);border:2px solid var(--ink);border-radius:6px;box-shadow:4px 4px 0 var(--red);font:650 21px/1.2 var(--display);letter-spacing:-.3px;animation:say .45s var(--studio-rise) both}
.s-say::before{content:"";position:absolute;left:-11px;top:calc(50% - 9px);width:16px;height:16px;background:var(--paper);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}
.s-empty-lead{margin:16px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.55}
.review-steps{list-style:none;margin:18px 0 0;padding:0;counter-reset:step}
.review-steps li{counter-increment:step;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;position:relative;padding:0 0 14px}
.review-steps li::before{content:counter(step,lower-roman);grid-row:1/3;width:28px;height:28px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;font:italic 600 13px var(--display);color:var(--red);background:var(--card)}
.review-steps li:not(:last-child)::after{content:"";position:absolute;left:13px;top:30px;bottom:0;border-left:2px dotted var(--line)}
.review-steps strong{font:600 15px/1.35 var(--body)}
.review-steps span{font-size:13.5px;color:var(--ink-soft)}
.boundary-note{margin-top:8px;padding:12px 14px;border:1.5px dashed var(--ink-soft);border-radius:4px;background:var(--paper)}
.boundary-note strong{font:700 11px var(--mono);letter-spacing:1.2px;text-transform:uppercase}
.boundary-note p{margin:4px 0 0;font-size:13.5px;color:var(--ink-soft)}
.dossier:is([data-state="working"],[data-state="error"]) :is(.review-steps,.boundary-note,.s-empty-lead){display:none}

/* While the review runs: the home desk's timeline, with a clock. */
.s-progress{margin-top:18px}
.s-clock{margin:0 0 12px;display:inline-flex;gap:8px;align-items:center;font:600 14px var(--mono);font-variant-numeric:tabular-nums;border:1.5px solid var(--ink);border-radius:3px;padding:3px 9px;background:var(--paper)}
.s-pulse{width:9px;height:9px;border-radius:50%;background:var(--green);animation:beat 1s ease-out infinite}
.dossier[data-state="error"] .s-pulse{background:var(--red);animation:none}
.s-timeline{list-style:none;margin:0;padding:0}
.s-timeline li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;position:relative;padding:0 0 12px;color:var(--ink-soft)}
.s-timeline li:not(:last-child)::before{content:"";position:absolute;left:10px;top:20px;bottom:0;border-left:2px dotted var(--line)}
.s-timeline b{display:block;font:600 14.5px/1.35 var(--body)}
.t-detail{display:block;font:12.5px/1.45 var(--mono);color:var(--ink-soft);min-height:1.45em}
.t-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);background:var(--paper);display:grid;place-items:center;font:700 12px/1 var(--mono)}
.s-timeline li[data-state="active"]{color:var(--ink)}
.s-timeline li[data-state="active"] .t-dot{border:2px dashed var(--red);animation:spin 1.6s linear infinite}
.s-timeline li[data-state="done"]{color:var(--ink)}
.s-timeline li[data-state="done"] .t-dot{background:var(--ink);border-color:var(--ink);color:var(--paper);animation:stamp-in .3s var(--studio-rise)}
.s-timeline li[data-state="done"] .t-dot::after{content:"✓"}
.s-timeline li[data-state="done"]:not(:last-child)::before{border-left:2px solid var(--ink)}
.s-timeline li[data-state="failed"]{color:var(--red-ink)}
.s-timeline li[data-state="failed"] .t-dot{border-color:var(--red);background:var(--soft-red);color:var(--red)}
.s-timeline li[data-state="failed"] .t-dot::after{content:"!"}

/* The verdict: the home page's rubber stamp, struck on the dossier. */
.s-verdict{display:grid;grid-template-columns:186px minmax(0,1fr);gap:24px;align-items:center;padding-bottom:18px;border-bottom:1.5px dashed var(--line)}
.s-stamp-wrap{position:relative;width:186px;height:156px;display:grid;place-items:center start}
.s-stamp{--c:var(--ink);position:relative;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;color:var(--c);
  border:4px solid var(--c);box-shadow:inset 0 0 0 4px var(--card),inset 0 0 0 6px var(--c);transform:rotate(-9deg);filter:url(#ink)}
.s-stamp.pass{--c:var(--green)}.s-stamp.needs_fixes{--c:var(--red)}.s-stamp.needs_evidence{--c:var(--amber)}
.s-stamp svg{position:absolute;inset:12px;transform:rotate(-90deg);width:calc(100% - 24px);height:calc(100% - 24px)}
.s-stamp .track{fill:none;stroke:var(--line);stroke-width:7;stroke-dasharray:2 4}
.s-stamp .ring{fill:none;stroke:var(--c);stroke-width:7;stroke-dasharray:327;stroke-dashoffset:327;transition:stroke-dashoffset 1s .35s var(--studio-rise)}
#result-score{font:700 32px/1 var(--display);letter-spacing:-1px;margin-top:-10px}
#result-score.long{font-size:25px;letter-spacing:-.8px}
.s-stamp small{position:absolute;top:82px;font:600 10px var(--mono);letter-spacing:1px;opacity:.75}
.s-stamp-word{position:absolute;bottom:-12px;background:var(--card);border:3px solid var(--c);padding:3px 8px;font:700 11px var(--mono);text-transform:uppercase;letter-spacing:1.6px;white-space:nowrap}
.s-stamp.slam{animation:slam .5s cubic-bezier(.2,1.6,.4,1) both}
.s-verdict-punch{position:absolute;right:-6px;bottom:-16px;width:68px;height:68px;z-index:2}
.s-verdict-punch .tm-mascot{width:68px}
.s-decision{display:inline-block;margin:0 0 8px;padding:4px 9px;border-radius:3px;font:700 11px/1.35 var(--mono);letter-spacing:1.2px;text-transform:uppercase;border:1.5px solid currentColor;color:var(--ink-soft)}
.s-decision.pass{color:var(--green-ink);background:var(--soft-green)}.s-decision.needs_fixes{color:var(--red-ink);background:var(--soft-red)}.s-decision.needs_evidence{color:var(--amber-ink);background:var(--soft-amber)}
.s-verdict-copy h3{margin:0 0 6px;font:650 26px/1.12 var(--display);letter-spacing:-.5px;word-break:break-word}
.s-verdict-copy p{margin:4px 0;font-size:14px;color:var(--ink-soft);line-height:1.5}
.s-verdict-copy .s-fine{font-size:12px;overflow-wrap:anywhere}
.evidence-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 0;border:2px solid var(--ink);border-radius:5px;background:var(--paper)}
.evidence-counts div{padding:10px 12px;min-width:0}
.evidence-counts div+div{border-left:1.5px dashed var(--line)}
.evidence-counts dt{font:600 10.5px var(--mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ink-soft)}
.evidence-counts dd{margin:2px 0 0;font:700 28px/1.1 var(--display);font-variant-numeric:tabular-nums}
.result-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}
.result-tabs{display:flex;flex-wrap:wrap;gap:3px;margin-top:20px;border-bottom:2px solid var(--ink)}
.result-tabs button{border:2px solid var(--ink);border-bottom:0;border-radius:5px 5px 0 0;background:var(--paper-2);color:var(--ink-soft);font:600 12px var(--mono);padding:8px 9px;cursor:pointer;transform:translateY(3px);transition:transform .15s,color .15s,background .15s}
.result-tabs button:hover{color:var(--ink);transform:translateY(1px)}
.result-tabs button[aria-pressed="true"]{background:var(--card);color:var(--ink);transform:none;margin-bottom:-2px;padding-bottom:10px;box-shadow:3px -3px 0 var(--red)}
.result-tabs button:focus-visible{outline-offset:-5px}
.s-view{padding-top:14px}
.s-view h4,.official-results h4{margin:18px 0 10px;font:650 18px/1.25 var(--display)}
.s-view>div>h4:first-child{margin-top:4px}
#findings{display:grid;gap:10px}
details.finding,article.finding{border:1.5px solid var(--line);border-left:6px solid var(--ink-soft);border-radius:4px;padding:0 14px;background:var(--paper);font-size:14px;animation:row-in .45s var(--studio-rise) both}
article.finding{padding:12px 14px}
#findings>details.finding:nth-child(2){animation-delay:.05s}#findings>details.finding:nth-child(3){animation-delay:.1s}#findings>details.finding:nth-child(4){animation-delay:.15s}#findings>details.finding:nth-child(n+5){animation-delay:.2s}
.finding[data-severity="critical"],.finding[data-severity="high"]{border-left-color:var(--red)}
.finding[data-severity="medium"]{border-left-color:var(--amber)}
.finding[data-severity="low"],.finding[data-severity="info"]{border-left-color:var(--green)}
details.finding>summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 0;cursor:pointer;font-weight:620;line-height:1.4}
details.finding[open]{background:var(--card);padding-bottom:12px}
.finding .severity{flex:none;font:700 10.5px var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft);border:1.5px solid currentColor;border-radius:3px;padding:2px 6px}
.finding[data-severity="critical"] .severity,.finding[data-severity="high"] .severity{color:var(--red-ink)}
.finding[data-severity="medium"] .severity{color:var(--amber-ink)}
.finding p{margin:8px 0 0;color:var(--ink-soft);line-height:1.5}
.finding h4{margin:0 0 6px;font:650 16px var(--display)}
.finding code{display:block;margin-top:8px;font:12px/1.5 var(--mono);color:var(--ink-soft);word-break:break-all}
.evidence-kind{font:12px/1.45 var(--mono)!important;padding-left:9px;border-left:3px solid var(--line)}
.studio pre{margin:8px 0 0;padding:10px 12px;background:var(--paper-2);border-radius:4px;font:12px/1.5 var(--mono);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}
details.technical summary{font-size:12.5px}
#findings details.technical{margin-top:4px}
.missing-evidence{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.missing-evidence li{position:relative;padding:7px 10px 7px 34px;font-size:13.5px;border:1.5px dashed var(--line);border-radius:4px;background:var(--paper)}
.missing-evidence li::before{content:"?";position:absolute;left:9px;top:7px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:var(--amber);color:var(--paper);font:700 11px var(--mono)}
.control-row{border-bottom:1px dashed var(--line);padding:0}
.control-row summary{display:flex;justify-content:space-between;gap:10px;padding:9px 0;cursor:pointer;font-size:14px;list-style:none}
.control-row summary span{flex:none;font:600 10.5px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--amber-ink)}
.control-row p{margin:0 0 8px;font-size:13px;color:var(--ink-soft)}
.control-row code{display:block;margin-bottom:8px;font:11.5px var(--mono);word-break:break-all}
.official-results{margin-bottom:14px}
.official-result{padding:10px 12px;border:1.5px solid var(--line);border-radius:4px;background:var(--paper);margin-top:6px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:14px}
.official-result span{font:12px var(--mono);color:var(--ink-soft)}
.official-result p{flex-basis:100%;margin:0;font-size:13px;color:var(--ink-soft)}
.runtime-observation{padding:10px 12px;border:1.5px solid var(--line);border-left:5px solid var(--ink);border-radius:4px;background:var(--paper);margin-top:8px;font-size:13.5px}
.runtime-observation p{margin:6px 0 0;color:var(--ink-soft)}
.runtime-observation a{color:var(--ink)}
.dimension-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);font:12.5px var(--mono)}
#report-hash{display:block;font:12px var(--mono);word-break:break-all;margin-top:6px}
#scope-limits{padding-left:18px;font-size:13px;color:var(--ink-soft)}
.credential-card{position:relative;margin:4px 0 12px;padding:18px 20px;border:2px solid var(--ink);border-radius:6px;background:var(--paper);box-shadow:6px 6px 0 var(--red);overflow:hidden;
  background-image:radial-gradient(var(--dot) 1.1px,transparent 1.5px);background-size:9px 9px}
.credential-card[data-issued="true"]{box-shadow:6px 6px 0 var(--green)}
.credential-top,.credential-bottom{display:flex;justify-content:space-between;gap:10px;font:600 10.5px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-soft)}
.credential-bottom{margin-top:16px;padding-top:10px;border-top:1.5px dashed var(--line)}
.credential-symbol{display:block;margin:14px 0 6px}
.credential-subtitle{margin:0;font:600 10.5px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--red-ink)}
.credential-card h3{margin:4px 0;font:650 24px/1.15 var(--display);word-break:break-word}
#credential-status{margin:0;font-size:13.5px;color:var(--ink-soft)}
.delivery-results{margin-top:10px;font-size:13.5px}
.delivery-results:not(:empty){padding:10px 12px;border:1.5px dashed var(--ink);border-radius:4px;background:var(--paper)}
.delivery-results p{margin:6px 0 0;color:var(--ink-soft)}

/* Official orders */
.official-order{margin-bottom:18px;padding-bottom:16px;border-bottom:1.5px dashed var(--line)}
.order-header{display:flex;justify-content:space-between;gap:10px;align-items:center}
.order-state{font:700 10.5px var(--mono);letter-spacing:1.2px;text-transform:uppercase;padding:3px 8px;border:1.5px solid var(--ink);border-radius:3px}
.official-order[data-state="failed"] .order-state{color:var(--red-ink);border-color:var(--red)}
.official-order[data-state="delivered"] .order-state{color:var(--green-ink);border-color:var(--green)}
.official-order h3{margin:4px 0 6px;font:650 22px/1.15 var(--display)}
.official-order>p{margin:0;color:var(--ink-soft);font-size:14px}
.order-progress{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.order-progress li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:14px;color:var(--ink-soft)}
.order-step-number{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font:700 11px var(--mono)}
.order-progress li[data-state="complete"]{color:var(--ink)}
.order-progress li[data-state="complete"] .order-step-number{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.order-progress li[data-state="active"]{color:var(--ink)}
.order-progress li[data-state="active"] .order-step-number{border:2px dashed var(--red);color:var(--red-ink)}
.order-step-status{font:11px var(--mono);text-transform:uppercase;letter-spacing:1px}
.order-issue{margin-top:12px;padding:12px 14px;border:2px solid var(--red);border-radius:4px;background:var(--soft-red);font-size:13.5px}
.order-issue code{display:block;margin-top:6px;font:12px var(--mono)}
.order-identity code{display:block;font:11.5px var(--mono);word-break:break-all;margin-bottom:4px}

/* ---------- below the bench ---------- */
.standard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.catalogue{margin-top:20px!important}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-bottom:14px}
.catalogue-grid article{padding:10px 12px;border:1.5px solid var(--line);border-radius:4px;background:var(--card);font-size:13px}
.catalogue-grid strong{font:650 14.5px var(--display)}
.catalogue-grid p{margin:4px 0 0;color:var(--ink-soft)}
.stellar-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.stellar-features article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:18px 0 0;border-top:2px solid var(--ink)}
.stellar-features article>span{font:italic 600 28px/1 var(--display);color:var(--red)}
.stellar-features h3{margin:0 0 6px;font:650 18px/1.25 var(--display)}
.stellar-features p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.55}
.chain-proof{margin-top:30px;padding:22px 24px;background:var(--card);border:2px solid var(--ink);border-radius:6px;box-shadow:7px 7px 0 var(--ink);
  background-image:radial-gradient(var(--dot) 1px,transparent 1.4px);background-size:9px 9px;background-position:left -4px bottom -4px;background-repeat:no-repeat}
.proof-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.proof-heading h3{margin:0;font:650 24px/1.15 var(--display);letter-spacing:-.4px}
.proof-status{font:700 10.5px var(--mono);letter-spacing:1.2px;text-transform:uppercase;padding:4px 9px;border:2px solid var(--ink);border-radius:3px;transform:rotate(-2deg)}
#pilot-proof-summary{color:var(--ink-soft);font-size:15px;line-height:1.55;max-width:760px}
.proof-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0;border:2px solid var(--ink);border-radius:5px;background:var(--paper)}
.proof-metrics div{padding:12px 14px;display:grid;gap:2px}
.proof-metrics div+div{border-left:1.5px dashed var(--line)}
.proof-metrics strong{font:700 26px/1.1 var(--display)}
.proof-metrics span{font:600 10.5px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft)}
.proof-lifecycle{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:life}
.proof-lifecycle li{counter-increment:life;display:grid;gap:4px;padding:12px 14px;border:1.5px solid var(--line);border-radius:4px;background:var(--paper);font-size:13.5px}
.proof-lifecycle li::before{content:counter(life,lower-roman) ".";font:italic 600 20px var(--display);color:var(--red)}
.proof-lifecycle span{color:var(--ink-soft)}
.proof-links{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0}
.proof-links a{font:500 12.5px var(--mono);color:var(--ink);border:1.5px solid var(--ink);border-radius:3px;padding:6px 10px;text-decoration:none}
.proof-links a:hover{background:var(--paper-2)}
.proof-evidence p{font-size:13px;color:var(--ink-soft)}
.proof-boundary{font-family:var(--mono);font-size:12px}
.s-ticket-slim{padding-bottom:18px}
.s-verify-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:14px;align-items:end}
.s-verify-grid .s-btn{min-height:46px}
.studio input[type=file]:not(.s-file):not(.sr-only){display:block;width:100%;padding:8px;border:2px dashed var(--ink);border-radius:4px;background:var(--paper);font:12.5px var(--mono);color:var(--ink)}
.studio input[type=file]::file-selector-button{margin-right:10px;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);border-radius:3px;padding:6px 10px;font:600 12px var(--mono);cursor:pointer}
#verify-result{margin-top:14px}
.policy-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:stretch}
.s-panel{background:var(--card);border:2px solid var(--ink);border-radius:6px;padding:20px 22px}
.s-panel label:first-child{margin-top:0}
.s-panel .s-btn{margin-top:16px}
.s-receipt{position:relative;padding:22px 24px 30px;background:var(--paper);border:2px solid var(--ink);border-radius:6px 6px 0 0;border-bottom:0;
  -webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 6.5px,#000 7px) bottom/18px 100% repeat-x;mask:radial-gradient(circle 7px at 50% 100%,transparent 6.5px,#000 7px) bottom/18px 100% repeat-x}
.s-receipt-head{display:block;font:600 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-soft);padding-bottom:10px;border-bottom:1.5px dashed var(--line)}
.s-receipt h3{margin:14px 0 6px;font:700 30px/1.1 var(--display);letter-spacing:-.6px}
.s-receipt h3[data-allowed="true"]{color:var(--green-ink)}
.s-receipt h3[data-allowed="false"]{color:var(--red-ink)}
.s-receipt h3.stamped{animation:stamp-in .45s var(--studio-rise)}
.s-receipt p{margin:0;color:var(--ink);font-size:14.5px;line-height:1.55}
.s-receipt small{display:block;margin-top:14px;font:11.5px var(--mono);color:var(--ink-soft)}
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.price-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px;background:var(--card);border:2px solid var(--ink);border-radius:6px}
.price-card::before,.price-card::after{content:"";position:absolute;top:96px;width:20px;height:20px;border-radius:50%;background:var(--paper);border:2px solid var(--ink)}
.price-card::before{left:-12px;clip-path:inset(0 0 0 50%)}.price-card::after{right:-12px;clip-path:inset(0 50% 0 0)}
.price-card.available-plan{box-shadow:7px 7px 0 var(--red)}
.plan-status{align-self:flex-start;font:700 10.5px var(--mono);letter-spacing:1.2px;text-transform:uppercase;padding:3px 8px;border:1.5px solid var(--ink);border-radius:3px}
.price-card h3{margin:6px 0 0;font:650 24px var(--display)}
.price{margin:0;padding-bottom:12px;border-bottom:1.5px dashed var(--line);font:700 36px/1.1 var(--display);letter-spacing:-1px;color:var(--red)}
.price-card p:not(.price){margin:0;color:var(--ink-soft);font-size:14px;line-height:1.55;flex:1}
.plan-footer{font:12px var(--mono);color:var(--ink-soft)}
.price-card a{align-self:flex-start;margin-top:8px;font:600 13px var(--mono);color:var(--ink);text-decoration:none;border:1.5px solid var(--ink);border-radius:3px;padding:8px 12px;box-shadow:3px 3px 0 var(--red);transition:transform .08s,box-shadow .08s}
.price-card a:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--red)}
.pricing-note{margin-top:16px}
.s-faq{border-top:2px solid var(--ink)}
.s-faq details{border-bottom:1.5px dashed var(--line)}
.s-faq summary{padding:16px 0!important;font:650 18px/1.3 var(--display)!important}
.s-faq p{margin:0 0 16px;max-width:820px;color:var(--ink-soft);line-height:1.6}
.foot-link{margin-left:auto;color:var(--ink);white-space:nowrap}

/* ---------- motion: CSS first, all of it off under prefers-reduced-motion (press.css) ---------- */
.s-hero-copy>*{animation:rise .7s var(--studio-rise) both}
.s-hero-copy>:nth-child(2){animation-delay:.06s}.s-hero-copy>:nth-child(3){animation-delay:.12s}.s-hero-copy>:nth-child(4){animation-delay:.18s}.s-hero-copy>:nth-child(5){animation-delay:.24s}
.s-hero-art{animation:fade .8s ease both .1s}
.s-bubble{animation:say .5s var(--studio-rise) both .7s}
.s-sheet{animation:deal .7s var(--studio-rise) both}
.s-sheet-2{animation-delay:.25s}.s-sheet-1{animation-delay:.4s}
.s-sheet-1 em{animation:slam-small .5s cubic-bezier(.2,1.6,.4,1) both 1s}
.reveal-ready [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .7s var(--studio-rise)}
.reveal-ready [data-reveal].is-in{opacity:1;transform:none}
.reveal-ready .s-adds [data-reveal]:nth-child(3),.reveal-ready .standard-grid [data-reveal]:nth-child(2),.reveal-ready .stellar-features [data-reveal]:nth-child(2){transition-delay:.08s}
.reveal-ready .s-adds [data-reveal]:nth-child(4),.reveal-ready .standard-grid [data-reveal]:nth-child(3),.reveal-ready .stellar-features [data-reveal]:nth-child(3){transition-delay:.16s}
.reveal-ready .s-adds [data-reveal]:nth-child(5){transition-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes say{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
@keyframes deal{from{opacity:0;translate:-30px 26px;rotate:-14deg}to{opacity:1;translate:0 0;rotate:0deg}}
@keyframes slam-small{0%{transform:rotate(-30deg) scale(2);opacity:0}60%{transform:rotate(-12deg) scale(.92);opacity:1}100%{transform:rotate(-14deg) scale(1)}}
@keyframes slam{0%{transform:rotate(-24deg) scale(2.1);opacity:0}55%{transform:rotate(-7deg) scale(.94);opacity:1}100%{transform:rotate(-9deg) scale(1)}}
@keyframes stamp-in{0%{transform:scale(1.6) rotate(-20deg);opacity:0}70%{transform:scale(.94) rotate(-10deg);opacity:1}100%{transform:scale(1) rotate(-12deg)}}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes hop{0%,100%{transform:none}35%{transform:translateY(-7px) rotate(-6deg)}65%{transform:translateY(1px) rotate(3deg)}}
@keyframes row-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes print{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes slip{from{opacity:0;transform:translateY(-12px) rotate(-1deg)}to{opacity:1;transform:none}}
@keyframes drift{to{background-position:9px 9px}}
@keyframes land{0%{transform:scale(1.02)}40%{transform:scale(.985)}100%{transform:none}}
@keyframes stripes{to{background-position:28px 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes beat{0%{box-shadow:0 0 0 0 var(--green)}100%{box-shadow:0 0 0 8px transparent}}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .workspace{grid-template-columns:minmax(0,1fr)}
  .dossier[data-state]{position:static}
  .s-adds{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .s-hero{grid-template-columns:1fr;gap:30px;padding-top:12px}
  .s-hero-art{justify-self:center;max-width:360px}
  .s-bubble{right:-6px;max-width:220px;font-size:13px}
  .standard-grid,.stellar-features,.price-grid,.proof-lifecycle,.catalogue-grid{grid-template-columns:1fr}
  .policy-layout{grid-template-columns:1fr}
  .s-verify-grid{grid-template-columns:1fr}
  .s-index a{flex:1 1 30%}
}
@media (max-width:640px){
  .bar .nav-wide{display:none}
  .s-hero h1{letter-spacing:-1.4px;word-spacing:.06em;font-size:40px}
  .s-card{padding:16px 18px}
  .s-cta .s-btn{flex:1 1 100%}
  .s-adds{grid-template-columns:1fr;gap:14px}
  .s-index{margin-top:32px}
  .s-index a{flex:1 1 45%;justify-content:flex-start;padding:10px 12px}
  .s-index a+a{border-left:0}
  .s-index a:nth-child(even){border-left:1.5px dashed var(--line)}
  .s-index a:nth-child(n+3){border-top:1.5px dashed var(--line)}
  .s-section{margin-top:56px}
  .s-section-head{grid-template-columns:1fr;gap:4px;margin-top:44px}
  .s-ticket{padding:16px 14px 18px;box-shadow:5px 5px 0 var(--red)}
  .s-ticket::before,.s-ticket::after,.price-card::before,.price-card::after{display:none}
  .s-stub-title{font-size:18px}
  .s-stub-title .official-badge{margin-left:0}
  .source-tabs{gap:3px}
  .source-tabs [role=tab]{font-size:12px;padding:10px 2px}
  .input-action{flex-direction:column}
  .input-action .s-btn{min-height:46px}
  .capabilities,.tier-options,.module-options{grid-template-columns:1fr}
  .plan-facts strong{font-size:16px}
  .s-handoff{grid-template-columns:48px minmax(0,1fr);padding:12px;align-items:start}
  .s-handoff-punch,.s-handoff-punch .tm-mascot{width:48px;height:48px}
  .s-handoff-actions{grid-column:1/-1}
  .s-folder{padding:18px 16px 20px;box-shadow:5px 5px 0 var(--ink)}
  .s-empty-scene{grid-template-columns:88px minmax(0,1fr);gap:14px}
  .studio-punch,.studio-punch .tm-mascot{width:88px;height:88px}
  .s-say{font-size:17px}
  .s-verdict{grid-template-columns:1fr;justify-items:start;gap:26px}
  .evidence-counts dd{font-size:22px}
  .evidence-counts dt{font-size:9.5px;letter-spacing:.6px}
  .result-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;border-bottom:0;box-shadow:inset 0 -2px 0 var(--ink);padding-top:5px;scrollbar-width:none}
  .result-tabs::-webkit-scrollbar{display:none}
  .result-tabs button{flex:none;padding:8px 9px;font-size:11.5px;transform:none!important;border-bottom:2px solid var(--ink)}
  .result-tabs button[aria-pressed="true"]{margin-bottom:0;padding-bottom:8px;border-bottom-color:var(--card)}
  .s-folder-tab h2{font-size:11px;letter-spacing:1.2px;white-space:nowrap;padding:8px 12px 7px}
  .s-folder-state{font-size:9.5px;letter-spacing:.8px;white-space:nowrap;max-width:52%;overflow:hidden;text-overflow:ellipsis}
  .proof-metrics{grid-template-columns:1fr}.proof-metrics div+div{border-left:0;border-top:1.5px dashed var(--line)}
  .s-receipt h3{font-size:26px}
  .foot{flex-wrap:wrap}.foot-link{margin-left:30px}
}
