/* The growing ticket · page styles (W2B, 2026-10-16, Rick).
   Tokens only (tokens.css). Page-local tokens are --local-* and built FROM tokens (no raw hex):
   --local-primary-deep  darker-downward stop of the tactile primary (buttons option 1 recipe; v0.2 --primary-on = white passes on --primary-fill)
   --local-ping          the one-shot flash behind a line or chip that just changed
   --local-tag-glow      soft amber glow under a price tag (light only)
   --local-dir           +1 LTR / −1 RTL, multiplies every horizontal translate */
:root,[data-theme="light"]{
  --local-primary-deep: color-mix(in srgb, var(--primary-fill) 83%, var(--ph-ink));
  --local-ping: var(--primary-muted);
  --local-tag-glow: color-mix(in srgb, var(--ph-amber) 40%, transparent);
  --local-dir: 1;
}
[data-theme="dark"]{ --local-ping: color-mix(in srgb, var(--ph-sky) 22%, transparent); --local-tag-glow: transparent; }
[dir="rtl"]{ --local-dir: -1; }

/* ── frame scaffold ── */
.frame.tk{display:flex;flex-direction:column;gap:16px}
.frame[data-opt="bar"]{padding-bottom:112px}
.tk p{margin:0}
.tk .kicker{font-size:var(--fs-ui);font-weight:600;color:var(--fg-subtle);letter-spacing:.02em}
.tk h2{margin-top:-8px}
[dir="rtl"] .tk h2,[dir="rtl"] .tk h3,[dir="rtl"] .tk .kicker{font-family:var(--font-arabic);font-stretch:normal;letter-spacing:0}
/* :where() keeps this reset at element weight, so every component class (.cta, .reset …) wins without !important */
:where(.tk) button{font:inherit;color:inherit;margin:0;-webkit-tap-highlight-color:transparent;cursor:pointer;touch-action:manipulation}
.tk svg{flex:none}
bdi{unicode-bidi:isolate}
.lm{fill:currentColor}
[data-step]{display:flex;flex-direction:column;gap:16px}

/* the mock step: the real Aura photo + caption */
.ctx{margin:0;display:flex;flex-direction:column;gap:8px}
.ctx img{display:block;width:100%;height:132px;object-fit:cover;border-radius:var(--r-tile)}
.ctx figcaption{display:flex;flex-direction:column;gap:2px;padding:0 2px}
.ctx b{font-size:var(--fs-ui);font-weight:600}
.ctx span{font-size:var(--fs-ui);color:var(--fg-muted)}

/* the demo controls (they stand in for the real step's choices) */
.demo{padding:12px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line-subtle)}
[data-theme="dark"] .demo{background:var(--surface-raised);border-color:var(--line)}
.demo-cap{font-size:var(--fs-ui);font-weight:600;color:var(--fg-muted);margin-bottom:8px!important}
.demo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
/* dark: --primary-ink on the raised card measures ≈4.1:1, so the link turns Sky (≈7:1) */
[data-theme="dark"] .reset{color:var(--secondary)}
.dbtn{min-height:62px;padding:6px 4px;border-radius:var(--r-tile);border:1px solid var(--line);background:var(--canvas);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform var(--d-180) var(--ease-brand)}
.dbtn:active:not(:disabled){transform:scale(var(--press-scale));transition-duration:var(--d-120)}
.db-l{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-ui);font-weight:600;line-height:1.2}
.db-l svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.db-p{font-size:var(--fs-ui);color:var(--fg-muted);line-height:1.2}
.dbtn:disabled{cursor:not-allowed;background:var(--surface-sunken);color:var(--fg-disabled);border-color:var(--line-subtle)}
.dbtn:disabled .db-p{color:var(--fg-disabled)}
.reset{display:block;min-height:var(--t-min);margin:4px 0 -6px auto!important;padding:0 8px;border:0;background:none;color:var(--primary-ink);font-size:var(--fs-ui)!important;font-weight:600!important;text-decoration:underline;text-underline-offset:3px}

/* ── ticket parts shared by every option ── */
.lines{list-style:none;margin:0;padding:0}
.ln{display:grid;grid-template-rows:1fr}
.ln-in{min-height:0;overflow:hidden}
.ln-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;padding:10px 4px;border-bottom:1px dashed var(--line-strong)}
.ln-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.ln-t b{font-size:var(--fs-ui);font-weight:600;line-height:1.3}
.ln-t span{font-size:var(--fs-ui);color:var(--fg-muted);line-height:1.3}
.ln-a{font-size:var(--fs-ui);font-weight:600;white-space:nowrap}
.ln-a.free{color:var(--fg-muted);font-weight:500}
.ln.enter{animation:ln-rows 260ms var(--ease-brand)}
.ln.enter .ln-row{animation:ln-print 260ms var(--ease-brand)}
@keyframes ln-rows{from{grid-template-rows:0fr;opacity:0}to{grid-template-rows:1fr;opacity:1}}
@keyframes ln-print{from{transform:translateY(-10px)}to{transform:none}}
.ln.ping .ln-row{animation:ping 900ms var(--ease-brand)}
@keyframes ping{0%,30%{background-color:var(--local-ping)}100%{background-color:transparent}}
.vat{display:flex;justify-content:space-between;gap:12px;padding:10px 4px 0;font-size:var(--fs-ui);color:var(--fg-muted)}
.grand{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 4px 0}
.grand span{font-size:var(--fs-body);font-weight:600}
.grand bdi{font:700 var(--fs-h2)/1.2 var(--font-display);font-stretch:var(--font-display-stretch)}
.p-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px}
.x{width:var(--t-min);height:var(--t-min);flex:none;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;transition:transform var(--d-180) var(--ease-brand)}
[data-theme="dark"] .x{background:var(--surface-active);border-color:var(--line-strong)}
.x:active{transform:scale(var(--press-scale))}
.x svg{width:20px;height:20px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.chev{width:22px;height:22px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--d-260) var(--ease-brand)}
[aria-expanded="true"] > .chev{transform:rotate(180deg)}

/* the one tactile primary (four-shadow, darker downward; buttons rules 37–39) */
.cta{min-height:var(--t-button);padding:0 22px;border:0;border-radius:var(--r-pill);background:linear-gradient(180deg,var(--primary-fill),var(--local-primary-deep));color:var(--primary-on);box-shadow:var(--tactile-shadow);font-weight:600!important;font-size:17px!important;line-height:1.2;white-space:nowrap;transition:transform var(--d-180) var(--ease-brand)}
.cta:active{transform:scale(var(--press-scale));box-shadow:var(--tactile-pressed);transition-duration:var(--d-80)}
.cta.wide{width:100%;min-height:var(--t-button-lg);margin-top:14px}

/* rolling digits (0 KB): clip-path keeps the baseline where the text is */
.roll{display:inline-flex;line-height:1;vertical-align:baseline}
.roll .d{display:inline-block;height:1em;clip-path:inset(0)}
.roll .s{display:flex;flex-direction:column;transform:translateY(calc(var(--n, 0) * -1em));transition:transform 420ms var(--ease-brand)}
.roll .s i{font-style:normal;display:block;height:1em;line-height:1}

/* floating price tag: amber = money moved (the one accent), ink label */
.ftag{position:absolute;z-index:9;pointer-events:none;padding:4px 10px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-on);font:700 var(--fs-ui)/1.25 var(--font-body);white-space:nowrap;box-shadow:0 4px 14px var(--local-tag-glow);animation:ftag 1200ms var(--ease-brand) forwards}
.ftag.minus{background:var(--surface-raised);color:var(--fg-muted);border:1px solid var(--line);box-shadow:none}
@keyframes ftag{0%{opacity:0;transform:translate(-50%,6px) scale(.95)}18%{opacity:1;transform:translate(-50%,-8px) scale(1)}72%{opacity:1;transform:translate(-50%,-14px)}100%{opacity:0;transform:translate(-50%,-26px)}}
@keyframes ftag-fade{0%{opacity:0;transform:translate(-50%,-8px)}15%,75%{opacity:1;transform:translate(-50%,-8px)}100%{opacity:0;transform:translate(-50%,-8px)}}
.ptag{display:inline-block;padding:2px 9px;border-radius:var(--r-pill);background:var(--accent);color:var(--accent-on);font:700 var(--fs-ui)/1.3 var(--font-body);white-space:nowrap}

/* scrim shared by options 1 and 4 */
.scrim{position:absolute;inset:0;z-index:5;background:var(--surface-overlay);opacity:0;visibility:hidden;transition:opacity var(--d-260) var(--ease-brand),visibility 0s var(--d-260)}
.frame.open .scrim{opacity:1;visibility:visible;transition:opacity var(--d-260) var(--ease-brand)}

/* ═════ Option 1 · Sticky total bar + bottom sheet ═════ */
.sbar{position:absolute;inset-inline:12px;bottom:12px;z-index:4;display:flex;gap:8px;align-items:center;padding:8px;border-radius:26px;background:var(--glass-fill);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));border:1px solid var(--glass-stroke);box-shadow:var(--glass-shadow)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.sbar{background:var(--surface)}}
[data-theme="dark"] .sbar{border-color:var(--line-strong)}
.sbar::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 35%,transparent),0 0 24px color-mix(in srgb,var(--primary) 30%,transparent)}
.sbar.pulse::after{animation:pulse 700ms var(--ease-brand)}
@keyframes pulse{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
.sbar-open{flex:1;min-width:0;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 10px;border:0;border-radius:18px;background:transparent;text-align:start;transition:background-color var(--d-180)}
.sbar-open:active{background:var(--local-ping)}
.sb-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.sb-amt{font:700 var(--fs-h2)/1.1 var(--font-display);font-stretch:var(--font-display-stretch)}
.sb-sub{font-size:var(--fs-ui);color:var(--fg-muted);line-height:1.2}
.chev.up{transform:rotate(180deg)}
.sbar-open[aria-expanded="true"] .chev.up{transform:none}
.ticker{position:absolute;inset-inline:16px;bottom:94px;z-index:3;display:flex;justify-content:center;pointer-events:none}
.tick-item{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border-radius:var(--r-pill);background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow-2);font-size:var(--fs-ui);font-weight:600;white-space:nowrap;animation:tkin 1800ms var(--ease-brand) forwards}
[dir="rtl"] .tick-item{padding:6px 14px 6px 6px}
@keyframes tkin{0%{opacity:0;transform:translateY(16px)}12%{opacity:1;transform:none}82%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-8px)}}
.sheet{position:absolute;inset-inline:0;bottom:0;z-index:6;max-height:88%;overflow:auto;overscroll-behavior:contain;padding:6px 16px 16px;border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--surface);box-shadow:var(--shadow-2);transform:translateY(102%);visibility:hidden;transition:transform var(--d-260) var(--ease-brand),visibility 0s var(--d-260)}
[data-theme="dark"] .sheet{background:var(--surface-raised);border-top:1px solid var(--line-strong)}
.frame.open .sheet{transform:none;visibility:visible;transition:transform var(--d-260) var(--ease-brand)}
.grab{display:block;width:40px;height:5px;border-radius:3px;background:var(--line-strong);margin:4px auto 8px}

/* ═════ Option 2 · Receipt card ═════ */
.rcpt{position:relative;padding:0 16px;border-radius:4px;background:var(--surface);box-shadow:var(--shadow-1)}
[data-theme="dark"] .rcpt{background:var(--surface-raised)}
.perf{position:absolute;inset-inline:0;height:8px;pointer-events:none;background:radial-gradient(circle at 8px 0,var(--canvas) 5px,transparent 5.6px) 0 0 / 16px 8px repeat-x}
.perf.top{top:0}
.perf.bottom{bottom:0;transform:scaleY(-1)}
.rc-head{width:100%;min-height:76px;display:flex;align-items:center;gap:12px;padding:16px 0 14px;border:0;background:none;text-align:start}
.rc-ic{width:26px;height:26px;stroke:var(--primary-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rc-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.rc-t b{font-size:var(--fs-body);font-weight:600}
.rc-t span{font-size:var(--fs-ui);color:var(--fg-muted)}
.rc-amt{font:700 var(--fs-h2)/1.1 var(--font-display);font-stretch:var(--font-display-stretch);white-space:nowrap}
.rc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--d-260) var(--ease-brand)}
.rcpt.open .rc-body{grid-template-rows:1fr}
.rc-in{min-height:0;overflow:hidden}
.rc-cut{display:block;position:relative;height:0;border-top:2px dashed var(--line-strong);margin:2px -16px 2px}
.rc-cut::before,.rc-cut::after{content:"";position:absolute;top:-10px;width:18px;height:18px;border-radius:50%;background:var(--canvas)}
.rc-cut::before{inset-inline-start:-9px} .rc-cut::after{inset-inline-end:-9px}
.rc-in .grand{padding-bottom:22px}
.rcpt .chev{color:var(--fg-muted)}
.rcpt.grow{animation:rc-grow 260ms var(--ease-brand)}
@keyframes rc-grow{0%{transform:translateY(0)}40%{transform:translateY(-3px)}100%{transform:none}}

/* ═════ Option 3 · Hex badge ═════ */
.hrow{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-height:66px}
.hrow .kicker{padding-top:20px}
.hwrap{position:relative;z-index:7;perspective:900px;flex:none}
.hbadge{display:flex;align-items:center;padding:0;border:0;background:none;min-height:66px;transition:transform 140ms ease-in,opacity 140ms ease-in}
.hb-amt{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-height:52px;padding-block:4px;padding-inline:12px 32px;margin-inline-end:-26px;border:1px solid var(--line-subtle);border-start-start-radius:16px;border-end-start-radius:16px;background:var(--surface);box-shadow:var(--shadow-1);white-space:nowrap}
[data-theme="dark"] .hb-amt{background:var(--surface-raised);border-color:var(--line-strong)}
.hb-amt bdi{font:700 18px/1.15 var(--font-body)}
.hb-n{font-size:var(--fs-ui);color:var(--fg-muted);line-height:1.2}
.hb-hex{position:relative;width:56px;height:64.66px;flex:none;z-index:1}
.hb-shape{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 10px color-mix(in srgb,var(--primary) 35%,transparent))}
.hb-shape polygon{fill:var(--primary-fill);stroke:var(--primary);stroke-width:2;stroke-linejoin:round}
.hb-ic{position:absolute;inset:0;margin:auto;width:26px;height:26px;stroke:var(--primary-on);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hb-hex.bump .hb-shape,.hb-hex.bump .hb-ic{animation:hbump 240ms var(--ease-brand)}
@keyframes hbump{0%{transform:scale(1)}45%{transform:scale(1.14)}100%{transform:scale(1)}}
.hring{position:absolute;inset:0;pointer-events:none;opacity:0}
.hring svg{width:100%;height:100%;overflow:visible}
.hring polygon{fill:none;stroke:var(--primary);stroke-width:2;vector-effect:non-scaling-stroke}
.hring.run{animation:hring 520ms var(--ease-brand)}
.hring.two.run{animation-delay:90ms}
@keyframes hring{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.75)}}
.hpanel{position:absolute;top:0;inset-inline-end:0;width:326px;padding:12px 16px 16px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line-subtle);box-shadow:var(--shadow-2);transform-origin:100% 0;transform:rotateY(-90deg);opacity:0;visibility:hidden;transition:transform 200ms ease-in,opacity 120ms,visibility 0s 200ms}
[dir="rtl"] .hpanel{transform-origin:0 0;transform:rotateY(90deg)}
[data-theme="dark"] .hpanel{background:var(--surface-raised);border-color:var(--line-strong)}
.hwrap.open .hbadge{transform:rotateY(90deg);opacity:0}
.hwrap.open .hpanel{transform:none;opacity:1;visibility:visible;transition:transform 220ms var(--ease-brand) 120ms,opacity 120ms 120ms}

/* ═════ Option 4 · Side ticket ═════ */
/* the tab docks in its own 60 px gutter, so it never covers content (playbook §1.1 never-clip) */
.frame[data-opt="side"]{padding-inline-end:76px}
.side{position:absolute;top:0;bottom:0;inset-inline-end:0;width:300px;z-index:6;transform:translateX(calc(100% * var(--local-dir)));transition:transform var(--d-260) var(--ease-brand)}
.side.open{transform:none}
.side.dragging{transition:none}
.tab{position:absolute;top:170px;inset-inline-start:-60px;width:60px;min-height:164px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 2px;border:1px solid var(--line);border-inline-end:0;border-start-start-radius:20px;border-end-start-radius:20px;background:var(--surface);box-shadow:var(--shadow-2);touch-action:none;user-select:none;-webkit-user-select:none}
[data-theme="dark"] .tab{background:var(--surface-raised);border-color:var(--line-strong)}
.tab-ic{width:24px;height:24px;stroke:var(--primary-ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tab-cur{font-size:var(--fs-ui);font-weight:600;color:var(--fg-muted);line-height:1.1;margin-top:4px}
.tab-amt{font:700 17px/1.1 var(--font-body);direction:ltr}
.side-chev{transform:rotate(calc(90deg * var(--local-dir)));color:var(--fg-muted);margin-top:2px}
.tab[aria-expanded="true"] .side-chev{transform:rotate(calc(-90deg * var(--local-dir)))}
.tab.nudge{animation:nudge 320ms var(--ease-brand)}
@keyframes nudge{0%{transform:none}40%{transform:translateX(calc(-10px * var(--local-dir)))}100%{transform:none}}
.tab-anchor{position:absolute;top:184px;inset-inline-start:-150px;width:60px;height:8px;pointer-events:none}
.spanel{height:100%;overflow:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;background:var(--surface);border-inline-start:1px solid var(--line);box-shadow:var(--shadow-2)}
/* closed = out of the tab order and the a11y tree, after the slide-out finishes; visible while dragging */
.side .spanel{visibility:hidden;transition:visibility 0s var(--d-260)}
.side.open .spanel,.side.dragging .spanel{visibility:visible;transition:none}
[data-theme="dark"] .spanel{background:var(--surface-raised);border-color:var(--line-strong)}

/* ═════ Option 5 · Inline ledger ═════ */
.ledger{display:flex;flex-direction:column;gap:4px}
.lchips{display:flex;flex-wrap:wrap;gap:8px}
.lchip{min-height:var(--t-min);display:inline-flex;align-items:center;gap:7px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-1);font-size:var(--fs-ui)!important;font-weight:600!important;white-space:nowrap;transition:transform var(--d-180) var(--ease-brand),border-color var(--d-180)}
[data-theme="dark"] .lchip{background:var(--surface-raised);border-color:var(--line-strong)}
.lchip:active{transform:scale(var(--press-scale));transition-duration:var(--d-120)}
.lchip svg{width:18px;height:18px;stroke:var(--primary-ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none}
.lchip .lm{width:9px;height:20px;fill:var(--primary-ink);stroke:none}
.lchip[aria-expanded="true"]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.lchip.total{background:linear-gradient(180deg,var(--primary-fill),var(--local-primary-deep));color:var(--primary-on);border-color:transparent;box-shadow:var(--tactile-shadow);font-weight:700!important}
.lchip.total svg{stroke:currentColor;width:18px;height:18px}
.lchip.total[aria-expanded="true"]{box-shadow:var(--tactile-pressed)}
.lchip.enter{animation:chin 180ms var(--ease-brand)}
@keyframes chin{from{transform:scale(.95);opacity:0}to{transform:none;opacity:1}}
.lchip.ping{animation:chping 900ms var(--ease-brand)}
@keyframes chping{0%,30%{background-color:var(--local-ping)}100%{}}
.lchip.total.ping{animation:totping 700ms var(--ease-brand)}
@keyframes totping{0%{transform:scale(1)}40%{transform:scale(1.06)}100%{transform:scale(1)}}
.editor{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--d-260) var(--ease-brand)}
.editor.open{grid-template-rows:1fr}
.ed-in{min-height:0;overflow:hidden}
.ed-card{margin-top:6px;padding:12px 14px 14px;border-radius:var(--r-tile);background:var(--surface);border:1px solid var(--line-subtle);display:flex;flex-direction:column;gap:8px}
[data-theme="dark"] .ed-card{background:var(--surface-raised);border-color:var(--line)}
.ed-card .ed-t{font-size:var(--fs-ui);font-weight:600}
.ed-card .ed-n{font-size:var(--fs-ui);color:var(--fg-muted)}
.ed-step{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ed-step output{font:700 var(--fs-h2)/1 var(--font-display);font-stretch:var(--font-display-stretch);min-width:0;text-align:center}
.sbtn{width:var(--t-button);height:var(--t-button);flex:none;border-radius:50%;border:1px solid var(--line);background:var(--canvas);display:grid;place-items:center;transition:transform var(--d-180) var(--ease-brand)}
.sbtn:active:not(:disabled){transform:scale(var(--press-scale))}
.sbtn svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.sbtn:disabled{cursor:not-allowed;background:var(--surface-sunken);color:var(--fg-disabled);border-color:var(--line-subtle)}
.ghost{min-height:var(--t-min);align-self:flex-start;padding:0 18px;border-radius:var(--r-pill);border:1.5px solid var(--line-strong);background:transparent;font-size:var(--fs-ui)!important;font-weight:600!important}

/* ── reduced motion: decoration off, state stays; tags fade, never fly (L22, motion rule 20) ── */
@media (prefers-reduced-motion:reduce){
  .frame.tk *,.frame.tk *::before,.frame.tk *::after{animation:none!important;transition:none!important}
  .frame.tk .ftag{animation:ftag-fade 1200ms linear forwards!important}
  .frame.tk .tick-item{animation:ftag-fade-in 1800ms linear forwards!important}
  @keyframes ftag-fade-in{0%{opacity:0}10%,85%{opacity:1}100%{opacity:0}}
}

/* ── lab shell at a 390 px phone (shell not ours to edit) ── */
@media (max-width:421px){
  .options{padding-inline:0;grid-template-columns:390px;justify-content:start}
  .option .label{padding-inline:16px}
}
.option .label code{display:block;margin-top:6px;line-height:1.5}
