/* v1 layout only. Do not restyle the demo. Hidden deferred tiles leave a tighter bento.
   Spans live above 880px only: below that app.css lays every tile full width, and a
   span 12 against that six-column grid collapses the page (plan 2026-08-29-002, F1). */
@media (min-width:881px){
  .t-price.wide{grid-column:span 6;}
  .t-work.wide{grid-column:span 6;}
  .t-cons.wide{grid-column:span 6;}
  .t-repro.wide{grid-column:span 6;}
  .t-ladder{grid-column:span 12;}
}
.casa-only[hidden], .tile[hidden]{display:none !important;}
.stale-mark{
  font-family:var(--mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--t500); border:1px solid var(--line2); border-radius:2px; padding:1px 5px; margin-left:6px;
}
.errbanner{
  margin:var(--gut); padding:10px 14px; border:1px solid rgba(239,68,68,.35);
  background:rgba(239,68,68,.08); color:#f87171; font-family:var(--mono); font-size:12px;
}
.continuity{
  margin-top:8px; font-family:var(--mono); font-size:11px; color:#eab308;
  border:1px solid rgba(234,179,8,.35); border-radius:var(--radius); padding:8px 10px;
}
.released-note{
  margin-top:8px; font-family:var(--mono); font-size:11px; color:var(--t400);
  border:1px solid var(--line2); border-radius:var(--radius); padding:8px 10px;
}
.nopush{color:var(--t400); font-family:var(--mono); font-size:13px; padding:8px 0;}
.logo-img{width:27px; height:27px; border-radius:var(--radius); object-fit:cover; flex:none; border:1px solid var(--line2);}
.idmark img{width:38px; height:38px; border-radius:var(--radius); object-fit:cover; display:block;}

/* /register: one code field. Reuses demo tokens; does not restyle the market. */
.regwrap{padding:56px 0 80px;}
.regform{
  max-width:420px; margin:0 auto; padding:22px;
  border:1px solid var(--line); border-radius:var(--tr);
  background:rgba(13,14,16,.62);
  display:flex; flex-direction:column; gap:10px;
}
.regform h1{margin:0; font-size:22px; font-weight:500; letter-spacing:-.02em; color:var(--fg);}
.regnote{margin:0; color:var(--t400); font-size:13px;}
.regform input{
  width:100%; background:var(--bg2); border:1px solid var(--line2); border-radius:var(--radius);
  padding:10px 12px; font-family:var(--mono); font-size:14px; color:var(--fg); outline:0; letter-spacing:.04em;
}
.regform input::placeholder{color:var(--t500);}
.regform input:focus{border-color:var(--capx);}
.regbtn{
  margin-top:4px; background:var(--capx-a); border:1px solid var(--capx-b); color:var(--capx);
  border-radius:var(--radius); padding:10px 12px; font-family:var(--mono); font-size:11px;
  letter-spacing:.07em; text-transform:uppercase; cursor:pointer;
}
.regbtn:hover{background:rgba(197,220,107,.16);}
.regbtn:disabled{opacity:.5; cursor:default;}
.regform .errbanner{margin:0;}
.regok{
  padding:10px 12px; border:1px solid var(--capx-b); background:var(--capx-a);
  color:var(--capx); font-family:var(--mono); font-size:12px;
}

/* /c/{slug}: one large artifact stage near the top of the company page. */
.t-showcase{min-height:0;}
@media (min-width:881px){ .t-showcase{grid-column:span 6;} }
.showcase-head{
  min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:7px 10px; border-bottom:1px solid var(--line); background:rgba(13,14,16,.92);
}
.artifact-tabs{
  display:flex; align-items:center; gap:5px; min-width:0; overflow-x:auto;
  scrollbar-width:thin; scrollbar-color:var(--line3) transparent;
}
.artifact-tab{
  flex:none; border:1px solid transparent; border-radius:var(--radius); background:transparent;
  color:var(--t400); padding:8px 13px; cursor:pointer; font-family:var(--mono); font-size:10px;
  letter-spacing:.07em; text-transform:uppercase; white-space:nowrap;
  transition:color .12s,border-color .12s,background .12s;
}
.artifact-tab:hover:not(:disabled){color:var(--fg); border-color:var(--line2);}
.artifact-tab[aria-selected="true"]{
  color:var(--capx); border-color:var(--capx-b); background:var(--capx-a);
}
.artifact-tab:disabled{color:var(--t600); cursor:not-allowed; opacity:.46;}
.artifact-tab:focus-visible{outline:1px solid var(--capx); outline-offset:2px;}
.open-full{
  font-family:var(--mono); font-size:10px; letter-spacing:.07em; text-transform:uppercase;
  color:var(--capx); white-space:nowrap;
}
.open-full:hover{color:var(--fg);}
.artifact-open{padding:7px 9px; border:1px solid var(--line2); border-radius:var(--radius);}
.artifact-stage{
  /* A preview band, not a takeover: the page below must stay discoverable
     and the wheel must mostly scroll the page, not the embedded site. */
  position:relative; height:clamp(420px,57vh,660px); min-width:0; background:var(--bg); overflow:hidden;
}
.artifact-stage iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0; background:#fff;
}
.preview-empty{
  padding:16px; font-family:var(--mono); font-size:12px; color:var(--t400);
}
.artifact-empty{position:absolute; inset:0; display:grid; place-items:center; text-align:center;}
.chart-empty{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  padding:16px; font-family:var(--mono); font-size:12px; color:var(--t500); text-align:center;
}
@media (max-width:700px){
  .showcase-head{align-items:stretch; flex-direction:column; gap:6px;}
  .artifact-tabs{width:100%;}
  .artifact-tab{flex:1 0 auto; text-align:center;}
  .artifact-open{text-align:center;}
  .artifact-stage{height:clamp(220px,34vh,320px); min-height:0; max-height:none;}
  .showcase-head #artifact-open{display:none;}
  #artifact-open-below{display:block; width:100%; text-align:center; padding:12px; border-top:1px solid var(--line); min-height:44px; box-sizing:border-box;}
  .artifact-stage iframe{pointer-events:none;}
  .artifact-stage.live iframe{pointer-events:auto;}
  .stage-gate{position:absolute; inset:0; z-index:2; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#f6f7f7; font-family:var(--mono); font-size:12px; letter-spacing:.07em; text-transform:uppercase; background:linear-gradient(rgba(8,9,10,.2),rgba(8,9,10,.2)),linear-gradient(to bottom,transparent 42%,rgba(8,9,10,.78) 42%,rgba(8,9,10,.78) 58%,transparent 58%);}
  .artifact-stage.live .stage-gate{display:none;}
  .stage-done{display:inline-flex; align-items:center; justify-content:center; align-self:flex-end; min-height:44px; padding:8px 12px; cursor:pointer; border:1px solid var(--line2); border-radius:var(--radius); background:transparent; color:var(--t400); font-family:var(--mono); font-size:11px; letter-spacing:.07em; text-transform:uppercase;}
  .reader-body{max-width:none;}
  .regwrap{padding:28px 0 48px;}
  .regform{max-width:100%;}
}
@media (min-width:701px){
  #artifact-open-below{display:none;}
  .stage-gate, .stage-done{display:none;}
}

/* T1/T2 rework: thesis line, live presales rail, attestation feed, split tables, no-bind tiles. */
.thesis{border-bottom:1px solid var(--line);}
.thesis p{
  margin:0; padding:10px var(--gut); max-width:1840px; margin:0 auto;
  font-family:var(--mono); font-size:11.5px; letter-spacing:.02em; color:var(--t400);
}
.thesis p::before{content:""; display:inline-block; width:7px; height:7px; border-radius:2px;
  background:var(--capx); margin-right:9px; vertical-align:1px;}
.liverail{border-bottom:1px solid var(--line); background:var(--capx-a);}
.liverail .wrap{display:flex; align-items:center; gap:14px; padding-top:9px; padding-bottom:9px; flex-wrap:wrap;}
.liveitems{display:flex; gap:10px; flex-wrap:wrap;}
.liveitem{
  display:inline-flex; align-items:center; gap:9px; padding:6px 11px;
  border:1px solid var(--capx-b); border-radius:var(--radius);
  color:var(--t300, #d8dad4); text-decoration:none; font-size:12.5px;
}
.liveitem:hover{border-color:var(--capx); background:var(--capx-a);}
.liveitem b{color:#f6f7f7; font-weight:600;}
.liveitem .tk{font-family:var(--mono); font-size:11px; color:var(--capx);}
.liveitem .lt{font-family:var(--mono); font-size:11px; color:#f6f7f7;}
.liveitem .lq{font-family:var(--mono); font-size:10.5px; color:var(--t500);}
.liveitem .go{font-family:var(--mono); font-size:10.5px; color:var(--capx);}
.attfeed{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px;}
.attfeed .att{
  font-family:var(--mono); font-size:11px; color:var(--t400); text-decoration:none;
  border:1px solid var(--line2); border-radius:var(--radius); padding:4px 9px;
}
.attfeed a.att:hover{border-color:var(--capx); color:#f6f7f7;}
.attfeed .att b{color:var(--capx); font-weight:600;}
.secthead{display:flex; align-items:baseline; gap:10px; padding:16px 0 8px;}
.secnote{font-family:var(--mono); font-size:10.5px; color:var(--t600);}
@media (min-width:881px){ .t-nobind{grid-column:span 6;} }
.nobind-copy{margin:0 0 12px; color:var(--t400); font-size:13px; line-height:1.55; max-width:60ch;}
.nobind-actions{display:flex; gap:10px; margin-top:10px;}
.tokenlinks{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px;}
.tokenlinks a{
  font-family:var(--mono); font-size:10.5px; color:var(--t400); text-decoration:none;
  border:1px solid var(--line2); border-radius:var(--radius); padding:3px 8px;
}
.tokenlinks a:hover{border-color:var(--capx); color:var(--capx);}
@media (min-width:881px) and (max-width:1100px){ .t-nobind{grid-column:span 12;} .t-showcase{grid-column:span 12;} }

.digest{margin-top:12px; font-family:var(--mono); font-size:11px; color:var(--t400);}
.digest b{color:var(--capx); font-weight:500;}
.wrday{
  font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--t500); padding:9px 0 3px; border-bottom:1px solid var(--line);
}

/* U3 output library: list rows, reader, verdict badges. */
@media (min-width:881px){ .t-outputs{grid-column:span 12;} }
.outnote{margin:0 0 14px; color:var(--t400); font-size:13px; max-width:78ch; line-height:1.55;}
.outlist{display:flex; flex-direction:column;}
.outrow{
  display:flex; align-items:center; gap:14px; width:100%; text-align:left;
  background:transparent; border:0; border-top:1px solid var(--line);
  padding:12px 4px; cursor:pointer; color:var(--fg);
}
.outrow:hover{background:rgba(255,255,255,.03);}
.outrow .ot{flex:1; min-width:0;}
.outrow .ot b{font-size:14.5px; font-weight:600; color:#f6f7f7;}
.outrow .om{display:flex; gap:8px; margin-top:4px; flex-wrap:wrap;}
.outrow .chip{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.05em; text-transform:uppercase;
  border:1px solid var(--line2); border-radius:2px; padding:1px 6px; color:var(--t400);
}
.outrow .when{font-family:var(--mono); font-size:11px; color:var(--t500); white-space:nowrap;}
.outbadge{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.05em; text-transform:uppercase;
  border:1px solid var(--line2); border-radius:2px; padding:2px 7px; color:var(--t400); white-space:nowrap;
}
.outbadge.ok{color:var(--capx); border-color:var(--capx-b); background:var(--capx-a);}
.outbadge.bad{color:#f87171; border-color:rgba(239,68,68,.4);}
.reader-head{display:flex; align-items:center; gap:14px; margin-bottom:12px;}
.reader-verdict{flex:1; font-family:var(--mono); font-size:11px; color:var(--t400);}
.reader-verdict .lit{color:var(--capx);}
.reader-verdict .dn{color:#f87171;}
.reader-prov{
  display:flex; gap:8px; flex-wrap:wrap; padding-bottom:12px; margin-bottom:16px;
  border-bottom:1px solid var(--line);
}
.reader-prov .chip{
  font-family:var(--mono); font-size:9.5px; letter-spacing:.05em; text-transform:uppercase;
  border:1px solid var(--line2); border-radius:2px; padding:2px 7px; color:var(--t400);
}
.reader-body{max-width:76ch; font-size:14.5px; line-height:1.65; color:#e2e4de;}
.reader-body h1{font-size:24px; margin:6px 0 14px; letter-spacing:-.01em; color:#f6f7f7;}
.reader-body h2{font-size:19px; margin:22px 0 10px; color:#f6f7f7;}
.reader-body h3{font-size:16px; margin:18px 0 8px; color:#f6f7f7;}
.reader-body h4{font-size:14px; margin:16px 0 6px; color:#f6f7f7;}
.reader-body p{margin:0 0 12px;}
.reader-body ul, .reader-body ol{margin:0 0 12px; padding-left:24px;}
.reader-body li{margin:4px 0;}
.reader-body blockquote{
  margin:0 0 12px; padding:8px 14px; border-left:3px solid var(--capx-b);
  color:var(--t400); background:rgba(255,255,255,.02);
}
.reader-body pre{
  background:rgba(255,255,255,.04); border:1px solid var(--line);
  border-radius:var(--radius); padding:12px 14px; overflow-x:auto; margin:0 0 12px;
}
.reader-body code{font-family:var(--mono); font-size:12.5px; color:var(--capx);}
.reader-body a{color:var(--capx);}
.reader-body hr{border:0; border-top:1px solid var(--line2); margin:18px 0;}
.outfeed-line{margin-top:8px;}

/* Backed-and-attested band: the bound pairs, gently lit. */
#bound-zone .tbl-scroll{border:1px solid var(--capx-b); border-radius:var(--tr); background:rgba(197,220,107,.025);}
#table-bound tbody tr:hover{background:rgba(197,220,107,.05);}

/* ===== phone rails (R7) ===== */
@media (max-width:700px){
  .liveitems,.attfeed{flex-wrap:nowrap; min-width:0; overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x proximity; scrollbar-width:thin;}
  .liveitems > *,.attfeed > *{flex:none; scroll-snap-align:start;}
}

/* ===== phone type floor, v1 sheet (plan 2026-08-29-002, R11) ===== */
/* v1.css loads after app.css, so its own small sizes must be raised here; the app.css block cannot reach them. */
@media (max-width:700px){
  .stale-mark{font-size:11px;}
  .artifact-tab{font-size:11px;}
  .open-full{font-size:11px;}
  .liveitem .lq{font-size:11px;}
  .liveitem .go{font-size:11px;}
  .secnote{font-size:11px;}
  .tokenlinks a{font-size:11px;}
  .wrday{font-size:11px;}
  .outrow .chip{font-size:11px;}
  .outbadge{font-size:11px;}
  .reader-prov .chip{font-size:11px;}
  /* tap targets (R12): the plain Open links have no padding of their own */
  .open-full{display:inline-block; padding:8px 0; min-height:24px;}
  .artifact-open{padding:7px 9px;}
}
