/* v3.1 primitives — copied from churchos-output-system-v3-1.html; scoped to the output island */
.ws-thread .narration,.ws-canvas .narration{max-width:640px;font-size:var(--t-md);line-height:1.62}
.ws-thread .chip{color:var(--ember);font-weight:600;border-bottom:1px solid color-mix(in srgb,var(--ember) 8%,transparent);cursor:pointer}
.ws-thread .rcard,.ws-canvas .rcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);max-width:640px;overflow:hidden}
.ws-thread .live-cut-field{display:flex;flex-direction:column;gap:4px;padding:10px 16px}
.ws-thread .live-cut-field label{font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
.ws-thread .live-cut-field input,.ws-thread .live-cut-field select{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:8px 10px;font:inherit}
.ws-thread .rcard-head,.ws-canvas .rcard-head{display:flex;align-items:baseline;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}
.ws-thread .rcard-title,.ws-canvas .rcard-title{font-size:var(--t-sm);font-weight:700}
.ws-thread .rcard-count,.ws-canvas .rcard-count{font-family:'JetBrains Mono',monospace;font-size:var(--t-micro);color:var(--muted)}
.ws-thread .rcard-scope,.ws-canvas .rcard-scope{margin-left:auto;font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
.ws-thread .rcard-head > .row-link,.ws-canvas .rcard-head > .row-link{margin-left:auto}
.ws-thread .rcard .row,.ws-canvas .rcard .row,.ws-canvas .ws-canvas-sec .row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:10px 16px;border-top:1px solid var(--line);align-items:start}
.ws-thread .rcard .row:first-of-type,.ws-canvas .rcard .row:first-of-type,.ws-canvas .ws-canvas-sec .row:first-of-type{border-top:none}
.ws-thread .row-primary,.ws-canvas .row-primary{font-size:var(--t-md);line-height:1.5}
.ws-thread .row-secondary,.ws-canvas .row-secondary{font-size:var(--t-sm);color:var(--muted);margin-top:2px}
.ws-thread .row-link,.ws-canvas .row-link{font-size:var(--t-micro);color:var(--muted);white-space:nowrap;text-decoration:underline;text-underline-offset:2px;cursor:pointer;align-self:center}
.ws-thread .row-link:hover,.ws-canvas .row-link:hover{color:var(--ink)}
.ws-thread .pill,.ws-canvas .pill{display:inline-flex;align-items:center;height:20px;box-sizing:border-box;border-radius:var(--r-chip);padding:var(--chip-y) var(--chip-x);font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap;margin-top:2px}
.ws-thread .pill-quiet,.ws-canvas .pill-quiet{background:var(--bg);color:var(--muted)}
.ws-thread .pill-accent,.ws-canvas .pill-accent{background:color-mix(in srgb,var(--ember) 8%,transparent);color:var(--ember)}
.ws-thread .pill-alert,.ws-canvas .pill-alert{background:color-mix(in srgb,var(--ember) 8%,transparent);color:var(--ember)}
.ws-thread .meta-row{display:flex;gap:14px;align-items:center;max-width:640px;font-size:var(--t-micro);color:var(--muted);padding:2px 4px;flex-wrap:nowrap;overflow:hidden}
.ws-thread .helpful-slot{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;white-space:nowrap}
.ws-thread .helpful-thanks{color:var(--muted)}
.ws-thread .meta-row .dot{width:3px;height:3px;border-radius:999px;background:var(--line);flex-shrink:0}
.ws-thread .meta-row a,.ws-thread .meta-row button.turn-meta-link{color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer;background:none;border:none;font:inherit;font-size:var(--t-micro);padding:0;min-height:32px}
.ws-thread .drawer{max-width:640px;border:1px solid var(--line);border-radius:var(--r-card);padding:10px 14px;font-size:var(--t-micro);color:var(--muted);font-family:'JetBrains Mono',monospace;line-height:1.7}
.ws-thread .empty,.ws-canvas .empty{max-width:640px;border:1px dashed var(--line);border-radius:var(--r-card);padding:14px 16px;color:var(--muted);font-size:var(--t-md)}
.ws-thread .pin{max-width:640px;border:1px dashed var(--line);border-radius:var(--r-card);padding:10px 14px;display:flex;align-items:baseline;gap:10px;font-size:var(--t-sm);color:var(--ink2);background:var(--card)}
.ws-thread .pin .plabel{font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);flex-shrink:0}
.ws-thread .pin .pdismiss{margin-left:auto;color:var(--muted);cursor:pointer;font-size:var(--t-micro);text-decoration:underline;text-underline-offset:2px;background:none;border:none;padding:0;font-family:inherit}
.ws-thread .acard .btn,.ws-canvas .acard .btn,.ws-thread .fcard .btn,.ws-thread .progress .btn,.ws-thread .draftcard .btn{border-radius:var(--r-card);padding:6px 16px;min-height:32px;font-size:var(--t-sm);font-weight:700;background:var(--ember);color:var(--card);border:none;cursor:pointer}
.ws-thread .acard .btn.ghost,.ws-canvas .acard .btn.ghost,.ws-thread .fcard .btn.ghost,.ws-thread .draftcard .btn.ghost{background:transparent;color:var(--muted);font-weight:600}
.ws-thread .btn.stop,.ws-canvas .btn.stop{border-radius:var(--r-card);padding:6px 16px;min-height:32px;min-width:32px;font-size:var(--t-sm);font-weight:700;background:transparent;color:var(--ember);border:1px solid var(--line);cursor:pointer}
.ws-thread .acard,.ws-canvas .acard{max-width:640px;background:var(--card);border-radius:var(--r-card);overflow:hidden}
.ws-thread .acard.offered{border:1.5px dashed var(--line)}
.ws-thread .acard.staged{border:1.5px dashed var(--ember)}
.ws-thread .acard.writing{border:1.5px dashed var(--ember)}
.ws-thread .acard.done{border:1px solid var(--green)}
.ws-thread .acard.errored,.ws-thread .acard.unknown{border:1px solid var(--ember)}
.ws-thread .acard.held,.ws-thread .acard.retired,.ws-thread .acard.duplicate{border:1px solid var(--line)}
.ws-thread .acard-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.ws-thread .acard-state{font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none}
.ws-thread .acard.offered .acard-state{color:var(--muted)}
.ws-thread .acard.staged .acard-state,.ws-thread .acard.writing .acard-state{color:var(--ember)}
.ws-thread .acard.done .acard-state{color:var(--green)}
.ws-thread .acard.errored .acard-state,.ws-thread .acard.unknown .acard-state{color:var(--ember)}
.ws-thread .acard.held .acard-state,.ws-thread .acard.retired .acard-state,.ws-thread .acard.duplicate .acard-state{color:var(--muted)}
.ws-thread .acard-title{font-size:var(--t-sm);font-weight:700}
.ws-thread .acard-body{padding:12px 16px;font-size:var(--t-sm);color:var(--ink2)}
.ws-thread .acard-foot{display:flex;gap:8px;justify-content:flex-end;padding:10px 16px;border-top:1px solid var(--line);flex-wrap:wrap}
.ws-thread .fcard,.ws-canvas .fcard{max-width:640px;background:var(--card);border:1px solid var(--ember);border-radius:var(--r-card);overflow:hidden}
.ws-thread .fcard-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.ws-thread .fcard-state{font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--ember)}
.ws-thread .fcard-title{font-size:var(--t-sm);font-weight:700}
.ws-thread .fcard-body{padding:12px 16px;font-size:var(--t-md);line-height:1.55}
.ws-thread .fcard-body .settled{display:block;margin-top:6px;font-size:var(--t-sm);color:var(--muted)}
.ws-thread .fcard-foot{display:flex;gap:8px;justify-content:flex-end;padding:10px 16px;border-top:1px solid var(--line)}
.ws-thread .strip,.ws-canvas .strip{display:flex;align-items:center;gap:8px;padding:8px 16px;border-top:1px dashed var(--line);font-size:var(--t-micro);color:var(--muted)}
.ws-thread .strip .sdot,.ws-canvas .strip .sdot{width:6px;height:6px;border-radius:999px;flex-shrink:0}
.ws-thread .strip.seam .sdot,.ws-canvas .strip.seam .sdot{background:color-mix(in srgb,var(--ember) 8%,transparent);border:1.5px solid var(--ember)}
.ws-thread .strip.limit .sdot,.ws-canvas .strip.limit .sdot{background:var(--bg);border:1.5px solid var(--muted)}
.ws-thread .progress,.ws-canvas .progress{display:flex;align-items:center;gap:10px;max-width:640px;font-size:var(--t-micro);color:var(--muted)}
.ws-thread .spin,.ws-canvas .spin{width:10px;height:10px;border:1.5px solid var(--line);border-top-color:var(--muted);border-radius:999px;animation:sp 1s linear infinite;flex-shrink:0}
@keyframes sp{to{transform:rotate(360deg)}}
.ws-thread .pbar,.ws-canvas .pbar{flex:1;height:4px;background:var(--line);border-radius:var(--r-chip);overflow:hidden;max-width:200px}
.ws-thread .pbar i,.ws-canvas .pbar i{display:block;height:100%;background:var(--muted);width:0;transition:width .3s ease}
/* P8/P16 compact step trail (R11 amended): last three steps, done steps tick,
   the active step owns the app's only spinner. */
.ws-thread .trail{display:flex;flex-direction:column;gap:4px;max-width:640px}
.ws-thread .trail .step{display:flex;align-items:center;gap:10px;font-size:var(--t-micro);color:var(--muted)}
.ws-thread .trail .step .tick{width:10px;text-align:center;flex-shrink:0}
.ws-thread .trail [data-list-live]{display:contents}
.ws-thread .draftcard{max-width:640px;background:var(--card);border:1.5px dashed var(--ember);border-radius:var(--r-card);overflow:hidden}
.ws-thread .draftcard-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.ws-thread .draftcard-state{font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--ember)}
.ws-thread .draftcard-title{font-size:var(--t-sm);font-weight:700}
.ws-thread .draftcard-body{padding:14px 16px;font-size:var(--t-md);line-height:1.65;font-style:normal}
.ws-thread .draftcard-foot{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--line)}
.ws-thread .draftcard-note{font-size:var(--t-micro);color:var(--muted)}
.ws-thread .statrow,.ws-canvas .statrow{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;max-width:640px}
.ws-thread .stat,.ws-canvas .stat{background:var(--card);padding:12px 16px;flex:1;min-width:0}
.ws-thread .stat .sv,.ws-canvas .stat .sv{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:600;color:var(--ink)}
.ws-thread .stat .sv.up,.ws-canvas .stat .sv.up{color:var(--green)}
.ws-thread .stat .sv.down,.ws-canvas .stat .sv.down{color:var(--ember)}
.ws-thread .stat .sl,.ws-canvas .stat .sl{font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);margin-top:2px}
.ws-thread .ptable,.ws-canvas .ptable{max-width:640px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.ws-thread .ptable table,.ws-canvas .ptable table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.ws-thread .ptable th,.ws-canvas .ptable th{font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}
.ws-thread .ptable td,.ws-canvas .ptable td{padding:9px 14px;border-bottom:1px solid var(--line)}
.ws-thread .ptable tr:last-child td,.ws-canvas .ptable tr:last-child td{border-bottom:none}
.ws-thread .ptable .num,.ws-canvas .ptable .num{text-align:right;font-family:'JetBrains Mono',monospace}
.ws-thread .ptable th.num,.ws-canvas .ptable th.num{text-align:right}
.ws-thread .pcard,.ws-canvas .pcard{display:flex;align-items:center;gap:12px;max-width:640px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--ember);border-radius:var(--r-card);padding:12px 16px}
.ws-thread .pcard .pt{font-size:var(--t-sm);font-weight:700}
.ws-thread .pcard .pm{font-size:var(--t-micro);color:var(--muted)}
.ws-thread .pcard .open{margin-left:auto;font-size:var(--t-sm);font-weight:700;color:var(--ember);cursor:pointer;white-space:nowrap;min-height:32px;display:flex;align-items:center;background:none;border:none;font-family:inherit}
.ws-thread .microbars{display:flex;align-items:flex-end;gap:3px;height:28px}
.ws-thread .microbars i{display:block;width:14px;background:color-mix(in srgb,var(--ember) 8%,transparent);border-radius:2px 2px 0 0}
.ws-thread .microbars i.hi{background:var(--ember)}
.ws-thread .chooser{max-width:640px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}
.ws-thread .chooser .crow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 16px;min-height:32px;border:none;border-top:1px solid var(--line);background:transparent;cursor:pointer;font-family:inherit;font-size:var(--t-md)}
.ws-thread .chooser .crow:first-of-type{border-top:none}
.ws-thread .chooser .crow:hover{background:color-mix(in srgb,var(--ember) 8%,transparent)}
.ws-thread .chooser .cwho{font-weight:600}
.ws-thread .chooser .cdiff{font-size:var(--t-sm);color:var(--muted);margin-left:auto;text-align:right}
.ws-thread .edu{max-width:640px;display:flex;gap:10px;align-items:baseline;padding:8px 14px;border-left:2px solid var(--ember);background:color-mix(in srgb,var(--ember) 8%,transparent);border-radius:0 var(--r-card) var(--r-card) 0;font-size:var(--t-sm);color:var(--ink)}
.ws-thread .edu .egot{margin-left:auto;color:var(--ember);font-weight:700;cursor:pointer;white-space:nowrap;font-size:var(--t-micro);background:none;border:none;font-family:inherit;min-height:32px}
@media (prefers-reduced-motion:reduce){
  .ws-thread .spin,.ws-canvas .spin{animation:none}
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:'Hanken Grotesk',sans-serif;min-height:100vh;transition:background .25s}
@keyframes up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes drop{from{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:none}}
button:focus-visible,input:focus-visible,.tab:focus-visible,.tabnew:focus-visible,.fchip:focus-visible,.tgl:focus-visible,.ws-hdr-search:focus-visible,.memini:focus-visible,.mmrow:focus-visible,.cmore:focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:4px}
.bar input:focus-visible{outline:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Scrollbars: thin, transparent track, rounded thumb. Thumb is an alpha of --ink
   (contrasts paper in both themes). .ws-tab-scroll stays hidden. */
.ws-canvas-body,.ws-ctx-panel-body,.ws-modal,.ws-stage{
  --sb-thumb:color-mix(in srgb,var(--ink) 16%,transparent);
  --sb-thumb-hover:color-mix(in srgb,var(--ink) 30%,transparent);
  scrollbar-width:thin;
  scrollbar-color:var(--sb-thumb) transparent;
}
.ws-canvas-body::-webkit-scrollbar,.ws-ctx-panel-body::-webkit-scrollbar,.ws-modal::-webkit-scrollbar,.ws-stage::-webkit-scrollbar{width:11px;height:11px}
.ws-canvas-body::-webkit-scrollbar-track,.ws-ctx-panel-body::-webkit-scrollbar-track,.ws-modal::-webkit-scrollbar-track,.ws-stage::-webkit-scrollbar-track{background:transparent}
.ws-canvas-body::-webkit-scrollbar-thumb,.ws-ctx-panel-body::-webkit-scrollbar-thumb,.ws-modal::-webkit-scrollbar-thumb,.ws-stage::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:999px;border:3px solid transparent;background-clip:padding-box}
.ws-canvas-body::-webkit-scrollbar-thumb:hover,.ws-ctx-panel-body::-webkit-scrollbar-thumb:hover,.ws-modal::-webkit-scrollbar-thumb:hover,.ws-stage::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hover);background-clip:padding-box}
.ws-canvas-body::-webkit-scrollbar-corner,.ws-ctx-panel-body::-webkit-scrollbar-corner,.ws-modal::-webkit-scrollbar-corner,.ws-stage::-webkit-scrollbar-corner{background:transparent}
.ctop{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line);padding:12px clamp(16px,4vw,32px) 0}
.crow{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:12px;padding-bottom:12px;position:relative}
.orgmark{width:32px;height:32px;border-radius:8px;background:var(--ink);color:var(--bg);font-family:'Fraunces',serif;font-weight:500;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cname{font-size:14px;font-weight:700;line-height:1.2;min-width:0;flex:1}
.cname span{display:block;font-family:'Fraunces',serif;font-style:italic;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px}
.hdr-tools{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}
.tgl{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .15s,border-color .15s}
.tgl:hover{color:var(--ink);border-color:var(--ink2)}
.tgl svg{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tgl .ic-sun{display:none}
.acct{display:none;position:relative}
.acct.on{display:block}
.memini{cursor:pointer;border:none;background:none;padding:0}
.memini .pv{width:28px;height:28px;border-radius:var(--r-chip);background:var(--bg2);border:0;display:flex;align-items:center;justify-content:center;font-size:var(--t-micro);font-weight:600;color:var(--ink2);font-family:var(--f-ui);transition:color .15s}
.memini:hover .pv{color:var(--ink)}
.memenu{position:absolute;top:44px;right:0;width:248px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-popover);padding:6px;display:none;z-index:70}
.memenu.on{display:block;animation:drop .22s both}
.mmhead{padding:10px 12px 9px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}
.mmhead span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:2px;line-height:1.45}
.mmrow{display:block;width:100%;text-align:left;padding:9px 12px;border:none;border-radius:8px;font:inherit;font-size:12.5px;color:var(--ink2);cursor:pointer;background:transparent;transition:background .12s,color .12s}
.mmrow:hover{background:var(--hover);color:var(--ink)}
.mmrow:disabled{background:transparent;border:1px solid var(--line);color:var(--muted);cursor:default}
.mmnote{padding:8px 12px 7px;border-top:1px solid var(--line);margin-top:4px;font-size:10.5px;color:var(--muted);line-height:1.5}
.cmain{max-width:760px;margin:0 auto;padding:20px clamp(16px,4vw,32px) 170px}
.cmsg{display:flex;gap:8px;margin-bottom:12px;align-items:flex-start;animation:up .25s both}
.cmsg .av{width:24px;height:24px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;background:var(--ink);color:var(--bg)}
.cmsg .av.co{background:var(--ink);color:var(--bg)}
.cmsg.u{flex-direction:row-reverse}
.cbub{max-width:min(88%,640px);font-size:12px;line-height:1.7;color:var(--ink2);background:var(--bg);border:1px solid var(--line);border-radius:4px 12px 12px 12px;padding:8px 12px}
.cbub b{color:var(--ink)}
.cbub .prose p{margin:0 0 .65em}
.cbub .prose p:last-child{margin-bottom:0}
.cbub .prose ol,.cbub .prose ul{margin:.35em 0 .75em;padding-left:1.35em}
.cbub .prose li{margin:.2em 0}
.cbub .prose li + li{margin-top:.45em}
.cbub .prose code{font-size:11px;background:var(--bg2);padding:1px 4px;border-radius:4px}
.cmsg.u .cbub{background:var(--ink);color:var(--bg);border:none;border-radius:12px 4px 12px 12px}
.cstamp{display:block;margin-top:8px;font-family:'Fraunces',serif;font-style:italic;font-size:11px;color:var(--muted)}
.cstamp .fchip{font-style:normal;vertical-align:middle;padding:4px 10px}
/* Transcript anatomy meta block: line1 provenance/receipts, drawer, line2 feedback (docs/design/transcript-anatomy.md) */
.turn-meta{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-top:10px;font-family:'Hanken Grotesk',sans-serif;font-size:11px;color:var(--muted);line-height:1.5}
.turn-meta-line1{display:flex;align-items:center;flex-wrap:wrap;gap:0;font-family:'Hanken Grotesk',sans-serif;font-size:11px;color:var(--muted);line-height:1.5}
.turn-meta .cstamp{display:inline;margin-top:0;font-size:11px;font-family:'Hanken Grotesk',sans-serif;font-style:normal;color:var(--muted)}
.turn-meta-receipts{display:inline;font-size:11px;color:var(--muted)}
.turn-meta-link{font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:500;color:var(--muted);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.turn-meta-link:hover{color:var(--ink2)}
.turn-meta-feedback{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;font-family:'Hanken Grotesk',sans-serif;font-size:11px;color:var(--muted)}
.turn-meta .intent-row{margin-top:0}
.turn-meta .intent-row-label{font-size:11px;font-family:'Hanken Grotesk',sans-serif;color:var(--muted)}
.turn-meta .rcpt{width:100%}
.turn-shell [data-slot="status"]:empty,
.turn-shell [data-slot="result"]:empty,
.turn-shell [data-slot="action"]:empty,
.turn-shell [data-slot="chooser"]:empty,
.turn-shell [data-slot="narration"]:empty,
.turn-shell [data-slot="education"]:empty,
.turn-shell [data-slot="meta"]:empty{display:none}
.about-approvals{margin-top:8px;font-size:11px;color:var(--muted);line-height:1.5}
.about-approvals summary{cursor:pointer;font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:500;color:var(--muted);list-style:none}
.about-approvals summary::-webkit-details-marker{display:none}
.about-approvals[open] summary{margin-bottom:4px}
/* Supervisor Phase 2A - binary thumbs in meta block (not write-action .fchip semantics) */
.intent-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:0}
.intent-row-label{font-size:11px;color:var(--muted);font-family:'Hanken Grotesk',sans-serif}
.intent-taps{display:flex;gap:4px}
.intent-tap{display:inline-flex;align-items:center;justify-content:center;font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:600;min-width:32px;height:32px;padding:0 8px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}
.intent-tap:hover{border-color:var(--ink2);color:var(--ink2)}
.intent-tap.is-selected{border-color:var(--ink2);background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--ink2)}
.intent-tap .intent-thumb-icon{display:block;width:14px;height:14px}
.intent-report{font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:500;color:var(--muted);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.intent-report:hover{color:var(--ink2)}
.fbchips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}
.fbchip{display:inline-flex;align-items:center;font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:600;padding:0 8px;min-height:28px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}
.fbchip:hover{border-color:var(--ink2);color:var(--ink2)}
.fbchip.is-selected{border-color:var(--ink2);background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--ink2)}
.session-fb-fields,.turn-fb-fields{display:flex;flex-direction:column;gap:12px;margin:12px 0 4px}
.session-fb-fields label,.turn-fb-fields label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink2);font-family:'Hanken Grotesk',sans-serif}
.session-fb-fields input[type="number"],.session-fb-fields textarea,.turn-fb-fields textarea{font-family:'Hanken Grotesk',sans-serif;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.session-fb-fields textarea,.turn-fb-fields textarea{min-height:72px;resize:vertical}
.turn-fb-error{font-family:'Hanken Grotesk',sans-serif;font-size:12px;color:var(--emberL);margin:0 0 8px;display:none}
.turn-fb-error.on{display:block}
.turn-fb-support{font-family:'Hanken Grotesk',sans-serif;font-size:12px;margin:0 0 8px;display:none}
.turn-fb-support.on{display:block}
.turn-fb-support button{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;background:none;border:none;padding:0;color:var(--emberL);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.rlink{font-style:normal;font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);text-decoration:none;border-bottom:1px dashed var(--line);white-space:nowrap}
.rlink:hover{color:var(--ink);border-bottom-style:solid}
.mask{display:inline-flex;align-items:center;height:20px;font-size:var(--t-micro);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-chip);padding:var(--chip-y) var(--chip-x)}
.fchips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.fchip{font-family:'Hanken Grotesk';font-size:10px;font-weight:700;padding:6px 12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--ember) 40%,transparent);background:transparent;color:var(--ember);cursor:pointer}
.fchip:hover{background:color-mix(in srgb,var(--ember) 8%,transparent)}
.fchip.go{background:var(--ember);border-color:var(--ember);color:var(--card)}
.fchip.go:hover{filter:brightness(.92)}
.fchip:disabled,.fchip.go:disabled{opacity:1;cursor:default;background:transparent;border:1px solid var(--line);color:var(--muted);box-shadow:none;pointer-events:none}
.rcpt{margin-top:8px;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:8px 12px;font-size:11px;color:var(--muted);line-height:1.9;display:none}
.rcpt.show{display:block;animation:up .25s both}
.rcpt b{color:var(--ink2);font-weight:600}
.ctxcard{border:1px dashed var(--line);background:var(--card);border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:12px;color:var(--ink2);line-height:1.7;animation:up .25s both}
.ctxcard .ctxeye{font-family:'Fraunces',serif;font-style:italic;font-size:11px;color:var(--gold);margin-bottom:6px}
.ctxcard .ctxbody{color:var(--ink2)}
.okline{color:var(--green);font-weight:600}
