/* LAB pixel layer: loaded last. Square corners, notched pixel frames, hard shadows,
   Pixelify display type and Silkscreen labels across every page. */
:root{--font-tag:'Silkscreen',monospace;--f:var(--color-rule-strong);--drop:#0e0e06;--pink:#ff7ad9;--amber:#ffd23f;--violet:#b98cff;--orange:#ff9f43}
*,*::before,*::after{border-radius:0!important}
body{background:var(--color-paper) radial-gradient(circle,#ffe52b12 1px,transparent 1.6px) 0 0/24px 24px}
img[src*="mark.png"],.px-sprite{image-rendering:pixelated}
::selection{background:var(--color-accent);color:var(--color-paper)}

/* Pixel frame: four flat shadows leave the corners notched, the fifth is the drop shadow. */
.px-window,.experiment-desk,.scientist-roster,.block,.card,.panel,.hc,.empty,.guide-note,.protocol-step,.px-partner,.story-slot,.arcade,.lab-close .arcade,.wallet-button,.social-icon,.search,.chip,.saved-experiment,.result-pair article{border:0!important;box-shadow:0 -3px 0 var(--f),0 3px 0 var(--f),-3px 0 0 var(--f),3px 0 0 var(--f),8px 8px 0 0 var(--drop)}
.chip,.social-icon,.wallet-button,.search{box-shadow:0 -2px 0 var(--f),0 2px 0 var(--f),-2px 0 0 var(--f),2px 0 0 var(--f)}

/* Type */
.px-h1,.px-home h2,.workbench-head h1,.guide-head h1,.pg-head h1,.px-title,.desk-agent h2,.protocol-step h2,.guide-note h3,.lab-close h2{font-family:var(--font-pixel)!important;font-weight:700;letter-spacing:0!important;text-transform:none;text-shadow:4px 4px 0 var(--drop)}
.px-tag,.eyebrow,.tag-px,.slot-label,.pp-role,.pp-no,.pp-go,.win-bar,.nav-links a,.mobile-menu a,.lab-footer .f-links a,.hero-stats,.ticker-band,.scene-status,.reaction-equation,.stage-meter,.blink{font-family:var(--font-tag)!important;letter-spacing:.04em}
.px-tag{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--color-accent);text-transform:uppercase}
.px-tag::before{content:'';width:10px;height:10px;background:var(--color-accent);box-shadow:3px 3px 0 var(--color-cyan)}
.eyebrow{font-size:11px}

/* Buttons */
.px-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border:0!important;background:var(--color-accent);color:var(--color-paper)!important;font:700 16px var(--font-pixel)!important;letter-spacing:.02em;text-decoration:none;cursor:pointer;box-shadow:0 -3px 0 var(--drop),0 3px 0 var(--drop),-3px 0 0 var(--drop),3px 0 0 var(--drop),6px 6px 0 0 var(--drop);transition:transform .08s steps(2),box-shadow .08s steps(2)}
.px-btn:hover{transform:translate(-2px,-2px);box-shadow:0 -3px 0 var(--drop),0 3px 0 var(--drop),-3px 0 0 var(--drop),3px 0 0 var(--drop),8px 8px 0 0 var(--color-cyan)}
.px-btn:active{transform:translate(4px,4px);box-shadow:0 -3px 0 var(--drop),0 3px 0 var(--drop),-3px 0 0 var(--drop),3px 0 0 var(--drop)}
.px-btn.ghost{background:var(--color-panel)!important;color:var(--color-ink)!important;box-shadow:0 -3px 0 var(--color-accent),0 3px 0 var(--color-accent),-3px 0 0 var(--color-accent),3px 0 0 var(--color-accent),6px 6px 0 0 var(--drop)}
.px-btn.sm{min-height:38px;padding:0 16px;font-size:14px!important}
.px-btn.big{min-height:62px;padding:0 34px;font-size:20px!important}
.px-btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--color-cyan);outline-offset:5px}

/* Inputs */
input,textarea,select{border-width:2px!important;font-family:var(--font-body)}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--color-accent)!important;box-shadow:4px 4px 0 var(--color-soft-strong)}

/* Header */
.lab-top{background:#17170cf0;border-bottom:3px solid var(--color-rule)!important;backdrop-filter:blur(6px)}
.lab-top .brand b,.lab-footer .brand b{font-family:var(--font-pixel);font-size:30px;color:var(--color-accent);text-shadow:3px 3px 0 var(--drop)}
.nav-links a{font-size:13px;text-transform:uppercase;padding:8px 4px;position:relative}
.nav-links a.on{color:var(--color-accent)}
.nav-links a.on::after{content:'';position:absolute;left:4px;right:4px;bottom:0;height:3px;background:var(--color-accent)}
.wallet-button{background:var(--color-panel)!important;font-family:var(--font-tag)!important;font-size:12px!important}
.wallet-button.connected{--f:var(--color-accent)}
.social-icon:hover,.chip:hover{--f:var(--color-accent)}

/* Home: hero */
.px-home .lab-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px;padding-block:56px 72px}
.px-h1{font-size:clamp(58px,7.2vw,118px);line-height:.92;margin:22px 0 26px}
.px-h1 span{color:var(--color-accent);display:inline-flex;align-items:flex-end}
.caret{width:.42em;height:.12em;background:var(--color-cyan);margin:0 0 .1em .12em;animation:blink 1s steps(1) infinite}
.hero-copy p{font-size:20px;line-height:1.55;color:var(--color-muted);max-width:520px}
.hero-actions{display:flex;flex-wrap:wrap;gap:20px;margin:32px 0 36px}
.hero-stats{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0;margin:0;font-size:11px;color:var(--color-muted);text-transform:uppercase}
.hero-stats li{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-panel);box-shadow:0 -2px 0 var(--color-rule),0 2px 0 var(--color-rule),-2px 0 0 var(--color-rule),2px 0 0 var(--color-rule)}
.hero-stats b{font:700 20px var(--font-pixel);color:var(--color-accent)}

/* Pixel window */
.px-window{background:var(--color-panel);display:flex;flex-direction:column;overflow:hidden;position:relative}
.win-bar{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:var(--color-accent);color:var(--color-paper);font-size:11px;font-weight:700;flex:none}
.win-bar span{margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win-bar i{width:12px;height:12px;border:2px solid var(--color-paper);flex:none}
.win-bar i:last-child{background:var(--color-paper)}

/* Hero scene */
.reaction-scene{min-height:0;height:auto;aspect-ratio:auto;padding:0!important;border:0}
.reaction-scene::before,.reaction-scene::after{display:none}
.scene-stage{position:relative;height:clamp(360px,36vw,500px);overflow:hidden;background:linear-gradient(var(--color-rule) 2px,transparent 2px) 0 0/32px 32px,linear-gradient(90deg,var(--color-rule) 2px,transparent 2px) 0 0/32px 32px,linear-gradient(#242411,#17170c);background-blend-mode:normal}
.scene-stars{position:absolute;inset:0;pointer-events:none}
.scene-stars::before,.scene-stars::after{content:'';position:absolute;width:4px;height:4px;background:var(--color-accent);box-shadow:60px 40px var(--color-cyan),380px 30px var(--color-accent),470px 120px var(--pink),120px 170px var(--amber),300px 80px var(--color-cyan),520px 220px var(--color-accent),40px 260px var(--violet);animation:twinkle 1.6s steps(2) infinite}
.scene-stars::after{left:20px;top:14px;animation-delay:.8s}
.reaction-equation{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:11px;text-transform:uppercase;color:var(--color-muted);z-index:3}
.reaction-equation span{padding:6px 8px;background:var(--color-paper);box-shadow:0 -2px 0 var(--color-rule-strong),0 2px 0 var(--color-rule-strong),-2px 0 0 var(--color-rule-strong),2px 0 0 var(--color-rule-strong)}
.reaction-equation .cyan{color:var(--color-cyan)}
.reaction-equation b{color:var(--color-accent)}
.reaction-flask{position:absolute;left:50%;bottom:34px;width:min(46%,250px);transform:translateX(-50%);z-index:2;animation:float 2.4s steps(4) infinite}
.reaction-flask img{width:100%;height:auto;display:block;filter:drop-shadow(6px 6px 0 var(--drop))}
.px-bubble{position:absolute;left:calc(30% + var(--i) * 5%);bottom:38%;width:10px;height:10px;background:var(--color-cyan);box-shadow:2px 2px 0 var(--drop);opacity:0;animation:rise 2.6s steps(8) infinite;animation-delay:calc(var(--i) * -.31s)}
.px-bubble:nth-child(3n){width:6px;height:6px;background:var(--color-accent)}
.spark-ring{position:absolute;left:50%;top:45%;width:0;height:0}
.px-spark{position:absolute;width:12px;height:12px;margin:-6px;background:var(--amber);box-shadow:3px 3px 0 var(--drop);opacity:0}
.px-spark:nth-child(3n){background:var(--pink)}.px-spark:nth-child(3n+1){background:var(--color-cyan)}
.px-tube{position:absolute;bottom:34px;width:34px;height:120px;background:#ffffff10;box-shadow:0 -3px 0 var(--color-ink),-3px 0 0 var(--color-ink),3px 0 0 var(--color-ink),0 3px 0 var(--color-ink);z-index:1}
.px-tube b{position:absolute;left:0;right:0;bottom:0;height:55%;background:var(--color-accent);animation:slosh 1.8s steps(3) infinite alternate}
.px-tube.t1{left:9%}.px-tube.t2{left:calc(9% + 52px);height:90px}
.px-tube.t2 b{background:var(--pink);height:65%;animation-delay:-.9s}
.scene-mol{position:absolute;z-index:1;animation:float 3.2s steps(4) infinite}
.scene-mol.m1{right:8%;top:22%}.scene-mol.m2{left:10%;top:24%;animation-delay:-1.6s}
.bench-crew{position:absolute;right:5%;bottom:34px;display:flex;gap:6px;z-index:2}
.bench-crew span{display:block;animation:hop 1.2s steps(2) infinite;animation-delay:calc(var(--d) * -.4s)}
.bench-top{position:absolute;left:0;right:0;bottom:0;height:34px;background:var(--color-rule-strong);box-shadow:inset 0 4px 0 var(--color-accent),inset 0 8px 0 var(--color-rule-strong),inset 0 12px 0 #0003;z-index:3}
.scene-status{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:3px solid var(--color-rule);font-size:12px;color:var(--color-muted);text-transform:uppercase;background:var(--color-paper)}
.status-dot{width:10px;height:10px;background:var(--color-accent);animation:blink 1s steps(1) infinite}
.status-hot{display:none;color:var(--amber)}
.scene-status .reaction-trigger{margin-left:auto;position:static;transform:none}
.reacting .status-idle{display:none}.reacting .status-hot{display:inline}.reacting .status-dot{background:var(--amber)}
.reacting .reaction-flask{animation:shake .12s steps(2) 6}
.reacting .px-spark{animation:burst .9s steps(6) forwards}
.reacting .px-bubble{animation-duration:.9s}
.reacting .bench-crew span{animation-duration:.3s}

/* Ticker */
.ticker-band{padding-block:16px;border-block:3px solid var(--drop)!important;background:var(--color-accent)!important;color:var(--color-paper)!important;font-size:24px!important;font-weight:700;overflow:hidden}
.ticker-band>div{display:flex;align-items:center;gap:28px;width:max-content;animation:marquee 22s linear infinite}
.ticker-band i{width:14px;height:14px;background:var(--color-paper);box-shadow:4px 4px 0 var(--color-cyan);flex:none}

/* Scroll story */
.px-home .reaction-story{height:250svh}
.px-home .story-pin{gap:28px;justify-content:center}
.px-home .story-pin header{max-width:820px}
.px-home .story-pin h2{font-size:clamp(40px,5vw,76px);line-height:1;margin:18px 0}
.px-home .story-pin h2 span{color:var(--color-cyan)}
.stage-meter{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:var(--color-muted)}
.stage-meter span{margin-right:8px}
.stage-meter i{width:52px;height:14px;background:var(--color-panel);box-shadow:0 -2px 0 var(--color-rule-strong),0 2px 0 var(--color-rule-strong),-2px 0 0 var(--color-rule-strong),2px 0 0 var(--color-rule-strong)}
.stage-meter i:first-of-type,[data-stage="1"] .stage-meter i:nth-of-type(2),[data-stage="2"] .stage-meter i{background:var(--color-accent)}
.story-bench{display:grid;grid-template-columns:minmax(0,1fr) minmax(40px,110px) minmax(0,1fr) minmax(40px,110px) minmax(0,1fr);align-items:center;max-width:1080px;width:100%;margin:0 auto}
.story-slot{display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 16px;background:var(--color-panel);text-align:center;transition:filter .3s steps(3),opacity .3s steps(3)}
.story-slot b{font:600 17px var(--font-body)}
.slot-label{font-size:11px;color:var(--color-accent)}
.story-slot.vessel img{width:96px;height:auto}
.story-pipe{height:14px;background:var(--color-panel);box-shadow:0 -3px 0 var(--color-rule-strong),0 3px 0 var(--color-rule-strong)}
.story-pipe i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,var(--color-cyan) 0 12px,var(--color-accent) 12px 24px);transition:width .4s steps(5)}
.reaction-story[data-stage] .s1,.reaction-story[data-stage] .s2{opacity:.4;filter:grayscale(1)}
.reaction-story[data-stage="1"] .s1,.reaction-story[data-stage="2"] .s1,.reaction-story[data-stage="2"] .s2{opacity:1;filter:none;--f:var(--color-accent)}
.reaction-story[data-stage="1"] .p0 i,.reaction-story[data-stage="2"] .p0 i,.reaction-story[data-stage="2"] .p1 i,.reaction-story:not([data-stage]) .story-pipe i{width:100%}
.reaction-story[data-stage="1"] .s1 img{animation:shake .2s steps(2) infinite}
.story-cta{align-self:center}

/* Notebook */
.px-home .notebook-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;background:none!important;color:var(--color-ink)!important;padding-block:110px;color-scheme:dark}
.px-home .notebook-section p{color:var(--color-muted)!important}
.px-home .notebook-section h2,.px-home .agent-section h2,.px-home .lab-close h2{font-size:clamp(40px,4.6vw,70px);line-height:1;margin:20px 0 22px}
.px-home h2 span{color:var(--color-accent)}
.px-home .notebook-section .px-btn{background:var(--color-accent)!important}
.notebook-sheet{transform:rotate(-1.2deg)!important;--f:var(--color-accent)}
.px-window.light{background:var(--color-light);color:var(--color-light-ink)}
.sheet-body{padding:26px 30px 30px;background:repeating-linear-gradient(transparent 0 31px,#12342c14 31px 33px)}
.sheet-top{display:flex;align-items:center;gap:12px;font:700 11px var(--font-tag);color:var(--color-light-muted)}
.sheet-body h3{font:700 clamp(26px,2.4vw,36px)/1.05 var(--font-pixel);margin:16px 0 20px}
.sheet-body dl{margin:0}
.sheet-body dl div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:12px 0;border-top:2px dashed var(--color-light-rule)}
.sheet-body dt{font:700 11px var(--font-tag);text-transform:uppercase;color:var(--color-light-muted);padding-top:3px}
.sheet-body dd{margin:0;font-weight:500}
.hand-note{margin-top:18px;display:inline-block;padding:8px 12px;background:var(--color-accent);font:700 12px var(--font-tag);color:var(--color-light-ink);transform:rotate(1.5deg)}

/* Player select */
.px-home .agent-section{padding-block:40px 110px}
.agent-section>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:end;gap:20px 56px;margin-bottom:48px}
.agent-section>header .px-tag,.agent-section>header h2{grid-column:1}
.agent-section>header p{grid-column:2;grid-row:1/3;color:var(--color-muted);font-size:18px;margin:0 0 26px}
.px-partners{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.px-partner{--f:var(--color-rule);position:relative;display:flex;flex-direction:column;padding:20px;background:var(--color-panel);color:var(--color-ink);text-decoration:none;transition:transform .1s steps(2)}
.px-partner:hover{--f:var(--c);transform:translate(-3px,-3px)}
.px-partner:hover .pp-sprite svg{animation:hop .4s steps(2) infinite}
.pp-sprite{display:grid;place-items:center;height:132px;margin:-20px -20px 18px;background:radial-gradient(circle,color-mix(in srgb,var(--c) 26%,transparent) 1.5px,transparent 2px) 0 0/12px 12px,color-mix(in srgb,var(--c) 10%,var(--color-paper));border-bottom:3px solid var(--f)}
.pp-no{position:absolute;top:10px;right:12px;font-size:11px;color:var(--color-dim);z-index:1}
.pp-role{font-size:10px;color:var(--c)}
.px-partner h3{font:700 26px var(--font-pixel);margin:6px 0 8px}
.px-partner p{font-size:14px;line-height:1.5;color:var(--color-muted);margin:0 0 16px;flex:1}
.pp-go{font-size:11px;color:var(--c)}
.px-partner.lead{grid-row:span 2}
.px-partner.lead .pp-sprite{height:auto;flex:1;min-height:260px}
.px-partner.lead h3{font-size:40px}
.px-partner.lead p{flex:none;font-size:16px}
.px-partner blockquote{margin:0 0 18px;padding:12px 14px;background:var(--color-paper);border-left:4px solid var(--c);font:13px/1.5 var(--font-mono);color:var(--color-ink)}

/* Arcade close */
.px-home .lab-close{display:block;padding-block:20px 110px}
.arcade{--f:var(--color-accent);position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 24px 48px;background:repeating-linear-gradient(transparent 0 3px,#0003 3px 4px),radial-gradient(ellipse at center,#383014,var(--color-panel) 70%)}
.arcade-crew{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:28px}
.arcade-crew svg:nth-child(odd){animation-delay:-.6s}
.arcade .px-btn{margin-top:8px}
.blink{margin-top:22px;font-size:13px;color:var(--amber);animation:blink 1.1s steps(1) infinite}

/* Shared sprite motion */
.bob{animation:hop 1.4s steps(2) infinite}

/* Footer */
.lab-footer{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) auto;align-items:center;gap:24px 40px;padding-block:44px 34px;border-top:3px dashed var(--color-rule)!important}
.lab-footer .f-brand span{display:block;margin-top:8px;color:var(--color-muted);font-size:14px}
.lab-footer .f-links{display:flex;flex-wrap:wrap;gap:10px 28px}
.lab-footer .f-links a{font-size:12px;text-transform:uppercase;color:var(--color-ink)}
.lab-footer .f-links a:hover{color:var(--color-accent)}
.lab-footer .f-social{display:flex;gap:12px;align-items:center}
.lab-footer small{grid-column:1/-1;font:11px var(--font-tag);color:var(--color-dim)}

/* Workbench */
.experiment-desk{--f:var(--color-accent);background:var(--color-light)}
.scientist-roster{background:var(--color-panel)}
.scientist-roster>button{border-left-width:4px!important}
.scientist-roster>button b{font-family:var(--font-pixel)!important;font-size:19px!important}
.desk-tabs button.on,.desk-tabs [aria-selected="true"]{box-shadow:inset 0 -4px 0 var(--color-light-ink)}
.experiment-desk input,.experiment-desk textarea,.experiment-desk select{border-color:var(--color-light-rule)!important;background:#fff8}
.example-notice{border:2px dashed var(--color-light-rule)!important}

/* Field guide */
.guide-layout{gap:48px}
.guide-layout aside{display:flex;flex-direction:column;align-items:flex-start;gap:18px;position:sticky;top:120px;align-self:start}
.guide-layout aside .px-sprite{width:180px;height:180px}
.guide-layout>div{display:grid;gap:30px}
.protocol-step{position:relative;padding:28px 30px 28px 96px!important;background:var(--color-panel);counter-increment:step}
.protocol-step .eyebrow{position:absolute;left:24px;top:28px;display:grid;place-items:center;width:48px;height:48px;background:var(--color-accent);color:var(--color-paper);font-size:16px;box-shadow:4px 4px 0 var(--drop)}
.protocol-step h2{font-size:28px;margin:0 0 10px!important}
.guide-note{padding:32px!important;margin-top:64px;background:var(--color-panel);--f:var(--color-cyan)}

/* Tokens + launch */
.hc{background:var(--color-panel);transition:transform .1s steps(2)}
.hc:hover{--f:var(--color-accent);transform:translate(-3px,-3px)}
.hc-img img{image-rendering:auto}
.pg .empty,.hc-grid .empty{border:0!important;background:var(--color-panel);display:flex;flex-direction:column;align-items:center;gap:14px;padding:64px 20px}
.empty-lab{width:96px;height:96px;object-fit:contain;animation:float 2.4s steps(4) infinite}
.empty b{font:700 24px var(--font-pixel)}
.chip{background:var(--color-panel)}
.chip.on{--f:var(--color-accent);background:var(--color-accent)!important;color:var(--color-paper)!important}
.block,.card,.panel{background:var(--color-panel)}
.card{--f:var(--color-accent)}

@keyframes blink{50%{opacity:0}}
@keyframes twinkle{50%{opacity:.25}}
@keyframes float{50%{transform:translate(var(--fx,0),-10px)}}
.reaction-flask{--fx:-50%}
@keyframes hop{50%{transform:translateY(-6px)}}
@keyframes rise{0%{opacity:0;transform:translateY(0)}15%{opacity:1}100%{opacity:0;transform:translateY(-170px)}}
@keyframes slosh{to{height:35%}}
@keyframes shake{50%{transform:translate(calc(var(--fx,0) - 5px),2px) rotate(-3deg)}}
@keyframes burst{0%{opacity:1;transform:rotate(var(--a)) translateY(0)}100%{opacity:0;transform:rotate(var(--a)) translateY(-170px)}}
@keyframes marquee{to{transform:translateX(-33.333%)}}

@media(max-width:1100px){
  .px-home .lab-hero{grid-template-columns:1fr;gap:40px}
  .px-partners{grid-template-columns:repeat(2,minmax(0,1fr))}
  .px-partner.lead{grid-row:auto;grid-column:1/-1}
  .px-partner.lead .pp-sprite{min-height:200px}
  .px-home .notebook-section{grid-template-columns:1fr;gap:48px}
  .lab-footer{grid-template-columns:1fr 1fr}
  .lab-footer .f-links{grid-column:1/-1;grid-row:2}
}
@media(max-width:800px){
  .agent-section>header{grid-template-columns:1fr}
  .agent-section>header p{grid-column:1;grid-row:auto}
  .story-bench{grid-template-columns:1fr;gap:0;max-width:440px}
  .story-slot{flex-direction:row;text-align:left;padding:12px 14px;gap:14px}
  .story-slot .px-sprite,.story-slot.vessel img{width:52px;height:auto;flex:none}
  .story-slot b{font-size:15px}
  .slot-label{display:block;margin-bottom:2px}
  .story-slot{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto}
  .story-slot>:is(svg,img){grid-row:1/3}
  .story-pipe{width:14px;height:26px;margin:3px auto;box-shadow:-3px 0 0 var(--color-rule-strong),3px 0 0 var(--color-rule-strong)}
  .story-pipe i{width:100%!important;height:0;transition:height .4s steps(5);background:repeating-linear-gradient(var(--color-cyan) 0 8px,var(--color-accent) 8px 16px)}
  .reaction-story[data-stage="1"] .p0 i,.reaction-story[data-stage="2"] .p0 i,.reaction-story[data-stage="2"] .p1 i,.reaction-story:not([data-stage]) .story-pipe i{height:100%}
  .guide-layout aside{position:relative;top:0}
  .guide-layout aside .px-sprite{width:120px;height:120px}
}
@media(max-width:600px){
  .px-h1{font-size:clamp(50px,15vw,72px)}
  .hero-copy p{font-size:17px}
  .hero-actions .px-btn{flex:1 1 100%}
  .scene-stage{height:330px}
  .reaction-equation{font-size:9px;gap:4px;top:12px}
  .reaction-equation span{padding:4px 5px}
  .px-tube.t1{left:5%}.px-tube.t2{left:calc(5% + 46px)}
  .px-tube{width:28px;height:90px}.px-tube.t2{height:70px}
  .bench-crew{right:3%;gap:0}.bench-crew span:first-child{display:none}
  .bench-crew svg{width:48px;height:48px}
  .scene-mol.m2{display:none}
  .scene-status{flex-wrap:wrap;font-size:11px}
  .ticker-band{font-size:18px!important;padding-block:12px}
  .px-home .story-pin h2{font-size:34px}
  .px-home .story-pin p{font-size:16px}
  .stage-meter i{width:34px}
  .px-partners{gap:18px}
  .px-partner{padding:14px}
  .pp-sprite{height:100px;margin:-14px -14px 14px}
  .pp-sprite svg{width:64px;height:64px}
  .px-partner.lead .pp-sprite svg{width:120px;height:120px}
  .px-partner h3{font-size:21px}
  .px-partner p{font-size:13px}
  .px-partner.lead h3{font-size:30px}
  .sheet-body{padding:20px}
  .sheet-body dl div{grid-template-columns:1fr;gap:4px}
  .arcade{padding:40px 16px 36px}
  .arcade-crew svg{width:36px;height:36px}
  .px-btn.big{font-size:16px!important;padding:0 18px;width:100%}
  .protocol-step{padding:84px 20px 22px!important}
  .protocol-step .eyebrow{top:20px;left:20px}
  .lab-footer{grid-template-columns:1fr}
  .lab-footer .f-links{grid-row:auto}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .ticker-band>div{transform:none}
}
.hero-stats b{font-family:var(--font-pixel)!important;font-size:22px;line-height:1}
.scene-status .reaction-trigger,.scene-status .reaction-trigger:hover{background:var(--color-accent)!important;color:var(--color-paper)!important}
.px-home .lab-close{border:0!important}.px-home .lab-close::before{display:none}
.experiment-desk .px-btn{background:var(--color-light-ink)!important;color:var(--color-light)!important}
.experiment-desk .px-btn.ghost{background:transparent!important;color:var(--color-light-ink)!important;box-shadow:0 -3px 0 var(--color-light-ink),0 3px 0 var(--color-light-ink),-3px 0 0 var(--color-light-ink),3px 0 0 var(--color-light-ink)}
.experiment-desk h2,.experiment-desk h3,.px-window.light h3{text-shadow:none}
.px-btn:disabled,.px-btn[disabled]{background:var(--color-panel-raised)!important;color:var(--color-muted)!important;cursor:not-allowed;transform:none!important}
