/* FA1 HEAD TO HEAD theme (lead, written in place of the design worker's delivery).
   Matches /workspace/fa1-refs + the user's reels: pure black, neon lime accent, cyan reserved for the skeleton,
   bold italic condensed caps, letter-spaced lime labels, thin lime HUD corner brackets, rounded dark panels with lime outlines.
   Fonts are bundled locally (fonts/BarlowCondensed-*.woff2, SIL OFL), no CDN. */
@font-face{font-family:"FA1 Display";src:url("../../fonts/BarlowCondensed-ExtraBoldItalic.woff2") format("woff2");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"FA1 Display";src:url("../../fonts/BarlowCondensed-BoldItalic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
:root{
  --bg:#000;--panel:#0b0d08;--panel-2:#12150c;--line:rgba(198,255,61,.32);--line-soft:rgba(198,255,61,.14);
  --lime:#C6FF3D;--lime-hi:#E4FF8A;--lime-dim:rgba(198,255,61,.55);--cyan:#3DF2FF;--warn:#FFB23D;--bad:#FF5A4E;
  --text:#F4F6EE;--muted:#8E957F;--radius:18px;--radius-sm:12px;
  --font-display:"FA1 Display","Barlow Condensed","Oswald","Arial Narrow",system-ui,sans-serif;
  --font-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --glow:0 0 12px rgba(198,255,61,.45);
}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body.h2h{background:var(--bg);color:var(--text);font:15px/1.45 var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh}
body.h2h *{box-sizing:border-box}
:where(.h2h) :where(button,input){font:inherit;color:inherit}
.h2h ::selection{background:var(--lime);color:#000}

/* ---------- display type ---------- */
.title,.label,.pill,.chip,.btn,.topbar__title,.search__name,.score-card__total,.winner-banner__kicker,.winner-banner__name,.winner-banner__score,.score-card__name,.stage__tag,.timer,.step-chip,.strike-tab,.check-row__label,.cbar__score,.cbar__who{font-family:var(--font-display);font-style:italic;font-weight:800;text-transform:uppercase}
.title{font-size:clamp(38px,11vw,54px);line-height:.92;letter-spacing:-.005em;margin:6px 0 12px;color:var(--text)}
.title em{display:block;color:var(--lime);font-style:italic;text-shadow:var(--glow)}
h2.title{font-size:clamp(32px,9vw,44px)}
.label{display:block;color:var(--lime);font-weight:700;font-size:13px;letter-spacing:.26em;margin:0 0 6px;text-shadow:0 0 8px rgba(198,255,61,.35)}
.label.section{margin:26px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}
.sub{color:var(--muted);margin:6px 0 12px;font-size:14px}
.note{border-radius:10px;padding:8px 12px;font-size:13px;margin:8px 0;border:1px solid}
.note--warn{color:#FFD9A0;border-color:rgba(255,178,61,.4);background:rgba(255,178,61,.07)}
.note--test{color:var(--cyan);border-color:rgba(61,242,255,.35);background:rgba(61,242,255,.06);font-family:var(--font-display);font-style:italic;font-weight:700;letter-spacing:.08em}

/* ---------- header ---------- */
.topbar{position:sticky;top:0;z-index:20;background:rgba(0,0,0,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);flex-wrap:nowrap;gap:8px!important;padding-left:14px!important;padding-right:14px!important}
.topbar .brand{height:19px;width:auto;flex:none}
.topbar__title{color:var(--text);font-size:17px;letter-spacing:.06em;white-space:nowrap;flex:none}
.topbar .pill{flex:none}
.topbar .mute{flex:none;width:38px;height:38px;padding:0;border-radius:50%;font-size:16px}

/* ---------- pills & chips ---------- */
.pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.14em;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#D7DCCB;background:rgba(255,255,255,.04);line-height:1.2}
.pill--lime,.pill--onphone{border-color:var(--line);color:var(--lime);background:rgba(198,255,61,.07)}
.pill--onphone{font-size:10px;letter-spacing:.12em;padding:4px 9px}
.pill__dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:var(--glow)}
.pill--warn{border-color:rgba(255,178,61,.45);color:var(--warn)}
.pill--disc{color:var(--text)}
.pill--level{color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.chip{min-height:40px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#C9CFBB;font-size:15px;letter-spacing:.1em;cursor:pointer;transition:all .15s}
.chip.is-on{border-color:var(--lime);color:#000;background:var(--lime);box-shadow:var(--glow)}

/* ---------- panels & HUD brackets ---------- */
.panel{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:12px 0;box-shadow:inset 0 0 0 1px rgba(198,255,61,.04),0 0 24px rgba(198,255,61,.05)}
.hud{position:relative}
.hud__c{position:absolute;width:26px;height:26px;pointer-events:none;z-index:4}
.hud__c--tl{top:-6px;left:-6px;border-top:2px solid var(--lime);border-left:2px solid var(--lime)}
.hud__c--br{bottom:-6px;right:-6px;border-bottom:2px solid var(--lime);border-right:2px solid var(--lime)}
.stage .hud__c--tl{top:10px;left:10px}.stage .hud__c--br{bottom:10px;right:10px}
.hero{padding:18px 6px 6px 14px;margin:8px 0 18px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 22px;border-radius:14px;font-size:20px;letter-spacing:.08em;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--lime);text-decoration:none;transition:transform .08s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.45}
.btn--primary{background:var(--lime);color:#000;border-color:var(--lime);box-shadow:0 0 22px rgba(198,255,61,.35)}
.btn--ghost{color:var(--text);border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.03)}
.btn--sm{min-height:40px;padding:0 14px;font-size:15px;border-radius:10px}
.btn-col{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.btn-col .btn,.screen > .btn--primary{width:100%}
.screen > .btn--primary{margin:14px 0}
.back{margin:4px 0 10px}

/* ---------- search ---------- */
.search{position:relative;margin:10px 0 4px}
.search__icon{position:absolute;left:18px;top:50%;transform:translateY(-52%);color:var(--lime);font-size:26px;pointer-events:none}
.search__input{height:64px;padding:0 18px 0 54px;border-radius:16px;border:1.5px solid var(--line);background:#07080500;background-color:#080a06;color:var(--text);font-size:19px!important;outline:none;box-shadow:0 0 0 0 transparent;transition:box-shadow .15s,border-color .15s;-webkit-appearance:none;appearance:none}
.search__input::placeholder{color:#6d7360}
.search__input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(198,255,61,.18),var(--glow)}
.search__results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.search__item{display:block;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line-soft);background:linear-gradient(180deg,var(--panel-2),var(--panel));transition:border-color .15s,transform .08s;position:relative}
.search__item:hover,.search__item:focus{border-color:var(--lime);outline:none}
.search__item:active{transform:scale(.99)}
.search__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.search__name{font-size:26px;line-height:1;color:var(--text);letter-spacing:.01em}
.search__notation{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:15px;letter-spacing:.08em;padding:3px 10px;border-radius:8px;background:var(--lime);color:#000;white-space:nowrap}
.search__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.search__go{margin-left:auto;color:var(--lime);font-size:26px;line-height:1}
.search__empty{color:var(--muted);margin:10px 0}

/* ---------- combo card (Skeleton Mode) ---------- */
.combo-card .title{margin-bottom:6px}
.combo-card__head .label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.stance-toggle{display:inline-flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:10px 0}
.stance-toggle button{min-height:42px;padding:0 16px;background:transparent;border:0;color:var(--muted);font-family:var(--font-display);font-style:italic;font-weight:800;letter-spacing:.1em;font-size:15px;cursor:pointer}
.stance-toggle button.is-on{background:var(--lime);color:#000}
.strike-tabs,.step-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}
.strike-tab,.step-chip{flex:none;min-height:42px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#C9CFBB;font-size:15px;letter-spacing:.06em;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.strike-tab.is-on,.step-chip[aria-pressed="true"]{border-color:var(--lime);color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}
.step-chip__n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--lime);color:#000;font-size:14px}
.step-figure{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:radial-gradient(ellipse at 50% 40%,rgba(61,242,255,.08),transparent 70%),#030403;min-height:120px;margin:6px 0;padding:8px}
.callouts{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;counter-reset:c}
.callout{position:relative;padding:8px 10px 8px 34px;border-left:2px solid var(--lime);background:rgba(198,255,61,.05);border-radius:0 8px 8px 0;font-size:14px;counter-increment:c}
.callout::before{content:counter(c);position:absolute;left:10px;top:8px;font-family:var(--font-display);font-style:italic;font-weight:800;color:var(--lime)}
.mistake-box{margin:12px 0;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,178,61,.45);background:rgba(255,178,61,.06);font-size:14px}
.mistake-box__label{display:block;font-family:var(--font-display);font-style:italic;font-weight:800;letter-spacing:.16em;color:var(--warn);margin-bottom:4px}
.key-legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin-top:8px;letter-spacing:.08em}
.key-legend span::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;border-radius:50%}
.key--joint::before{background:var(--cyan);box-shadow:0 0 6px var(--cyan)}.key--bone::before{background:var(--cyan);border-radius:2px!important;height:3px!important;vertical-align:3px!important}.key--path::before{background:var(--lime)}

/* ---------- clip / stage ---------- */
.name-input{flex:1;min-width:0;height:52px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:#080a06;font-family:var(--font-display);font-style:italic;font-weight:800;font-size:20px;letter-spacing:.06em;text-transform:uppercase;outline:none}
.name-input:focus{border-color:var(--lime);box-shadow:var(--glow)}
.name-input::placeholder{color:#5f6553;font-size:16px}
.stage{border:1px solid var(--line);margin:12px 0;background:radial-gradient(ellipse at 50% 45%,#0b1410,#000 70%)}
.stage.is-locked{border-color:var(--lime);box-shadow:0 0 24px rgba(198,255,61,.25)}
.stage__tag{top:16px!important;left:42px!important;font-size:16px;letter-spacing:.1em;color:var(--lime);background:rgba(0,0,0,.6);padding:2px 10px;border-radius:6px}
.timer{top:16px!important;right:16px!important;font-size:22px;color:#000;background:var(--lime);padding:2px 12px;border-radius:8px;box-shadow:var(--glow)}
.stage__lockhint{margin:0;font-family:var(--font-display);font-style:italic;font-weight:800;letter-spacing:.14em;color:var(--lime);text-shadow:0 0 8px #000,0 0 10px rgba(198,255,61,.5);padding:0 16px}
.clip-actions .btn{width:100%}
.trim{margin:10px 0}.trim input[type=range]{accent-color:var(--lime)}
.tips{font-size:13px}

/* ---------- analyse ---------- */
.an-row{margin:4px 0 16px}
.an-row__head{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 6px}
.an-row__head .label{margin:0}
.an-row__pct{font-family:var(--font-display);font-style:italic;font-weight:800;font-size:22px;color:var(--text)}
.progress{height:10px;border-radius:999px;background:#151a0e;overflow:hidden;border:1px solid var(--line-soft)}
.progress__bar{height:100%;background:linear-gradient(90deg,var(--lime-dim),var(--lime));box-shadow:var(--glow);transition:width .3s}
.analyse__steps{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:10px}
.analyse__steps li{position:relative;padding-left:30px;color:var(--muted);font-size:15px}
.analyse__steps li::before{content:"";position:absolute;left:4px;top:4px;width:12px;height:12px;border-radius:50%;border:1.5px solid #3a4030}
.analyse__steps li.is-now{color:var(--text)}.analyse__steps li.is-now::before{border-color:var(--lime);box-shadow:var(--glow);animation:pulse 1s infinite alternate}
.analyse__steps li.is-done{color:#C9CFBB}.analyse__steps li.is-done::before{background:var(--lime);border-color:var(--lime)}
@keyframes pulse{to{opacity:.35}}

/* ---------- result ---------- */
.winner-banner{margin:14px 0 18px;padding:26px 18px 22px;border-radius:var(--radius);border:1px solid var(--lime);text-align:center;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,rgba(198,255,61,.22),transparent 65%),linear-gradient(180deg,#10150a,#050603);box-shadow:0 0 40px rgba(198,255,61,.18),inset 0 0 30px rgba(198,255,61,.06)}
.winner-banner .hud__c--tl{top:8px;left:8px}.winner-banner .hud__c--br{bottom:8px;right:8px}
.winner-banner__kicker{margin:0;color:var(--lime);font-size:18px;letter-spacing:.34em;text-shadow:var(--glow)}
.winner-banner__name{margin:6px 0 4px;font-size:clamp(46px,15vw,74px);line-height:.9;color:var(--text);word-break:break-word;text-shadow:0 0 18px rgba(198,255,61,.35)}
.winner-banner__score{margin:6px 0;font-size:34px;color:var(--lime);letter-spacing:.04em}
.winner-banner__score span{color:var(--muted);margin:0 6px}
.winner-banner__combo{margin:8px 0 0;color:#C9CFBB;font-family:var(--font-display);font-style:italic;font-weight:700;letter-spacing:.18em;font-size:14px;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.winner-banner--draw{border-color:var(--cyan);background:radial-gradient(ellipse at 50% 0%,rgba(61,242,255,.16),transparent 65%),linear-gradient(180deg,#071214,#030606)}
.winner-banner--draw .winner-banner__kicker{color:var(--cyan);text-shadow:0 0 12px rgba(61,242,255,.5)}
.winner-banner--draw .winner-banner__name{font-size:clamp(34px,10vw,52px)}
.winner-banner--none{border-color:var(--warn);background:radial-gradient(ellipse at 50% 0%,rgba(255,178,61,.16),transparent 65%),linear-gradient(180deg,#140f06,#050403);box-shadow:0 0 30px rgba(255,178,61,.12)}
.winner-banner--none .winner-banner__kicker{color:var(--warn);text-shadow:none}
.winner-banner--none .winner-banner__name{font-size:clamp(36px,11vw,54px)}
.winner-banner--none .winner-banner__score{font-size:15px;color:#FFD9A0;font-family:var(--font-body);font-style:normal;font-weight:600;text-transform:none;letter-spacing:0;line-height:1.5}
.winner-banner--none .hud__c{border-color:var(--warn)}
.refilm .btn-col{margin-bottom:0}
.score-cards{gap:10px;margin:6px 0}
.score-card{min-width:0;padding:14px 12px;border-radius:var(--radius);border:1px solid var(--line-soft);background:linear-gradient(180deg,var(--panel-2),var(--panel));display:flex;flex-direction:column}
.score-card--winner{border-color:var(--lime);box-shadow:0 0 22px rgba(198,255,61,.22)}
.score-card--invalid{border-color:rgba(255,178,61,.45)}
.score-card__who{margin:0;font-family:var(--font-display);font-style:italic;font-weight:700;letter-spacing:.2em;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.score-card__who .pill{font-size:9px;padding:2px 7px}
.score-card__name{margin:2px 0 0;font-size:22px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.score-card__total{margin:4px 0 8px;font-size:62px;line-height:.95;color:var(--lime);text-shadow:var(--glow)}
.score-card__total small{font-size:16px;color:var(--muted);margin-left:2px;text-shadow:none}
.score-card__total--na{color:var(--warn);text-shadow:none}
.score-card__na{margin:0;font-family:var(--font-display);font-style:italic;font-weight:800;letter-spacing:.16em;color:var(--warn)}
.score-card__why{margin:4px 0 6px;font-size:12px;color:#FFD9A0}
.score-card__parts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.score-card__part{display:grid;grid-template-columns:1fr auto;grid-template-areas:"n v" "m m";column-gap:6px;row-gap:3px;font-size:12px}
.score-card__pname{grid-area:n;font-family:var(--font-display);font-style:italic;font-weight:700;letter-spacing:.08em;color:#C9CFBB;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.score-card__pname small{color:var(--muted)}
.score-card__part b{grid-area:v;font-family:var(--font-display);font-style:italic;font-size:14px}
.score-card__part .meter{grid-area:m;width:100%;height:5px;border-radius:9px;margin:0;background:#1a1f12;overflow:hidden}
.score-card__part .meter i{border-radius:9px;box-shadow:var(--glow)}
.score-card__stats{margin:auto 0 0;padding-top:10px;font-size:11.5px;color:var(--muted);line-height:1.35}
.score-card .note{font-size:11.5px;padding:6px 8px}
/* per-check list: stacked rows, two mini bars (readable at 390px) */
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.check-row{padding:12px 12px 10px;border-radius:14px;border:1px solid var(--line-soft);background:#080a06;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.check-row.is-in{opacity:1;transform:none}
.check-row__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px}
.check-row__label{font-size:18px;letter-spacing:.03em;color:var(--text);line-height:1.05}
.check-row__target{margin-left:auto;font-size:11.5px;color:var(--muted)}
.cbar{display:grid;grid-template-columns:24px 1fr auto 30px;align-items:center;gap:8px;margin:5px 0}
.cbar__who{font-size:13px;color:var(--muted);letter-spacing:.06em}
.cbar__track{height:8px;border-radius:9px;background:#1a1f12;overflow:hidden}
.cbar__track i{display:block;height:100%;border-radius:9px;background:#596245}
.cbar__val{font-size:12px;color:#C9CFBB;font-variant-numeric:tabular-nums;white-space:nowrap}
.cbar__score{text-align:right;font-size:16px;color:#C9CFBB}
.cbar.is-better .cbar__track i{background:var(--lime);box-shadow:var(--glow)}
.cbar.is-better .cbar__who,.cbar.is-better .cbar__score{color:var(--lime)}
.dropped{margin:10px 0;color:var(--muted);font-size:13px}.dropped summary{cursor:pointer;color:#C9CFBB}
.fixes{display:flex;flex-direction:column;gap:0}
.fix-col{margin:6px 0}
.fix-col .label{margin-bottom:2px}
.verdict-line{margin:2px 0 8px;color:var(--text);font-weight:600}
.fix-col ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.fix-col li{font-size:14px}.fix-col li::marker{color:var(--lime)}
.fix-col small{display:block;color:var(--muted);font-size:12px}
.how summary{cursor:pointer;margin:0}.how .sub{margin-top:10px;font-size:13px}

/* ---------- replay ---------- */
.replay .grid2{gap:6px}
.replay .stage{margin:6px 0;border-radius:14px}
.replay__steps{margin:8px 0}
.replay__controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.replay__controls .btn{width:100%;padding:0 6px}
.replay__controls [data-act="play"]{grid-column:span 3;min-height:52px;font-size:20px}
.replay__controls .btn.is-on{border-color:var(--lime);color:var(--lime)}
#rpInfo{font-size:13px}

/* ---------- misc ---------- */
.toast{padding:12px 18px;border-radius:12px;background:#0d1009;border:1px solid var(--lime);color:var(--text);box-shadow:0 0 24px rgba(198,255,61,.25);font-size:14px}
.meter i{background:var(--lime)}
@media (min-width:600px){.fixes{display:grid;grid-template-columns:1fr 1fr;gap:10px}}
@media (prefers-reduced-motion:reduce){.check-row{transition:none}.analyse__steps li.is-now::before{animation:none}}
.replay__controls [data-act="play"]{order:-1}
.step-figure:not(:has(img)){min-height:0;background:#030403}
.cbar.is-tie .cbar__track i{background:var(--lime-dim)}

/* review fixes (22 Oct): pre-film rules, P2 ghost of P1's framing, a11y, above-the-fold actions */
.rule-box{border:1px solid var(--lime);border-radius:var(--radius);padding:12px 14px;margin:12px 0;background:rgba(198,255,61,.06)}
.rule-box p{margin:4px 0;font-size:15px;line-height:1.35}.rule-box b{color:var(--lime)}
.rule-line{font-size:13px;letter-spacing:.06em;color:var(--lime);margin:6px 0 0}
.stage__ghost{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.35;pointer-events:none;z-index:1;filter:grayscale(1)}
.stage__ghostlab{position:absolute;left:0;right:0;top:44%;text-align:center;z-index:2;color:var(--lime);font-weight:800;letter-spacing:.06em;font-size:14px;pointer-events:none;padding:0 12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#btnUp:focus-within{outline:2px solid var(--lime);outline-offset:2px}
.screen[data-screen="clip"] .stage{max-height:calc(100dvh - 330px);min-height:220px;margin-left:auto;margin-right:auto}
.search__item{width:100%;text-align:left;font:inherit;color:inherit}
.search__results li{list-style:none}
.chip,.back,#mute,.step-chip,.strike-tab,.stance-toggle button{min-height:44px}
.pill{font-size:12px}
.err-box{border:1px solid var(--warn,#ff6b3d);border-radius:var(--radius);padding:14px;margin:12px 0}
.step-canvas{display:block;margin:0 auto;max-width:100%}
/* review P3-4: no sideways scroll on 320 px phones */
@media (max-width: 340px) { .pill--onphone { font-size: 0; padding: 4px 6px; } .pill--onphone::before { content: "ON-PHONE"; font-size: 12px; } .topbar { gap: 6px; } .topbar__title { font-size: 15px; } }
