.affix-launch{display:grid;grid-template-columns:1.5fr .7fr;gap:1rem;align-items:center;padding:1.4rem;border:3px solid #f4b63b;background:linear-gradient(135deg,#18233f,#070b14);box-shadow:8px 8px #03050a;color:#fff}.affix-launch h2{font:900 clamp(2rem,5vw,3.6rem)/.9 Impact,sans-serif;text-transform:uppercase}.affix-cabinet{position:fixed;z-index:1000;inset:8px;margin:auto;aspect-ratio:4/3;max-width:min(1100px,calc(100vw - 16px));max-height:calc(100vh - 16px);width:auto;background:#04060d;color:#fff;border:8px solid #151c2f;outline:4px solid #f4b63b;box-shadow:0 24px 80px #000;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;font-family:var(--mono);overflow:hidden}.affix-hud{display:flex;justify-content:space-between;align-items:center;padding:.55rem 1rem;background:#080b18;border-bottom:4px solid #f4b63b}.affix-hud span{display:block;color:#65e9ff;font-size:.65rem}.affix-hud strong{font:900 1.8rem Impact}.affix-score{display:flex;gap:1rem;color:#ff6685}.affix-hud button{background:#151c2f;color:#fff}.affix-target{display:grid;grid-template-columns:auto 1fr;gap:.1rem 1rem;padding:.5rem 1rem;background:#13203a;border-bottom:3px solid #65e9ff}.affix-target span{grid-row:1/3;color:#f4b63b;font-weight:900}.affix-target p{margin:0;font-size:.75rem}.affix-world{position:relative;min-height:0;overflow:hidden;background:#03040a;outline:none}.affix-girder{position:absolute;left:3%;right:3%;height:16px;bottom:calc(7% + var(--tier)*18%);background:repeating-linear-gradient(90deg,#d63f43 0 48px,#ff7651 48px 54px);border-block:4px solid #ff8a68;box-shadow:0 5px #671a29}.affix-girder i{display:inline-block;width:8.33%;height:100%;border-right:3px solid #711c29}.affix-ladder{position:absolute;z-index:2;left:calc(5% + var(--x)*7.8%);bottom:calc(8% + var(--tier)*18%);width:32px;height:18%;border-inline:5px solid #43bde9;background:repeating-linear-gradient(to bottom,transparent 0 11px,#43bde9 11px 16px)}.affix-crate,.affix-player,.affix-reel{position:absolute;z-index:5;left:calc(5% + var(--x)*7.8%);bottom:calc(9% + var(--tier)*18%);transform:translateX(-50%)}.affix-crate{min-width:60px;padding:.12rem .3rem;border:3px solid #f4d35e;background:#6b341e;box-shadow:3px 3px #000;text-align:center}.affix-crate small{display:block;font-size:.46rem}.affix-crate b{font-size:.68rem}.affix-crate.prefix{border-color:#65e9ff}.affix-crate.suffix{border-color:#ff78b9}.affix-player{z-index:8;display:grid;justify-items:center;width:54px;transition:left .14s,bottom .14s}.affix-player .affix-critter{width:46px;height:46px}.affix-player b{background:#000c;font-size:.42rem}.affix-player.shielded{filter:drop-shadow(0 0 7px #65e9ff)}.affix-reel{width:32px;height:32px;border:6px dashed #f0b65b;border-radius:50%;background:#503621;box-shadow:inset 0 0 0 5px #151015;animation:reel .7s linear infinite}.word-jammer{position:absolute;top:1%;left:4%;display:flex;color:#ff6685;font-size:2.4rem}.word-jammer small{font-size:.48rem}.summit-gate{position:absolute;right:2%;top:2%;width:145px;height:58px;border:5px solid #777;background:#171b27;display:grid;place-items:center;text-align:center;font-size:.56rem}.summit-gate.ready{border-color:#f4b63b;box-shadow:0 0 20px #f4b63b}.affix-deck{display:grid;grid-template-columns:1.5fr 1fr auto;gap:.6rem;align-items:center;padding:.55rem;background:#0d1222;border-top:4px solid #65e9ff}.affix-inventory{display:flex;gap:.3rem;align-items:center;overflow:auto}.affix-inventory span{padding:.2rem;border:2px solid #fff;background:#1a2844}.affix-inventory small{display:block;font-size:.4rem}.affix-controls{display:flex}.affix-controls button{padding:.4rem;background:#1a2844;color:#fff}.affix-controls [data-move=jump]{background:#f4b63b;color:#111}.assembly-overlay{position:absolute;z-index:20;inset:0;display:grid;place-items:center;background:#02040be6}.assembly-machine{width:min(760px,92%);padding:1.3rem;border:6px solid #f4b63b;background:#15223d;text-align:center}.assembly-slots{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.5rem}.assembly-slots select{width:100%;padding:.65rem;background:#050711;color:#fff}.assembly-preview{margin:.8rem;padding:.7rem;border:3px dashed #f4b63b}.assembly-buttons{display:flex;justify-content:center;gap:.6rem}.assembly-machine.boom{animation:boom .65s}.affix-victory{text-align:center;background:radial-gradient(circle,#273d71,#050711 65%)}.affix-stars{font-size:4rem;color:#f4b63b}.affix-victory h2{font:900 4rem/.85 Impact;text-shadow:5px 5px #ef3f63}.affix-word-tower article{width:85%;margin:.2rem auto;padding:.3rem;border:3px solid #f4b63b;background:#14213d;display:grid;grid-template-columns:1fr 1fr 2fr;text-align:left}@keyframes reel{to{transform:translateX(-50%) rotate(360deg)}}@keyframes boom{50%{transform:scale(1.08);filter:brightness(2)}}@media(max-width:760px){.affix-cabinet{inset:3px}.affix-deck{grid-template-columns:1fr}.assembly-slots{grid-template-columns:1fr}.assembly-slots>b{display:none}}
/* The arcade owns a native modal and protected controls. */
.affix-cabinet{box-sizing:border-box;width:min(1100px,calc(100vw - 20px));height:calc(100dvh - 20px);max-height:850px;aspect-ratio:auto;padding:0;inset:0;border-radius:6px;font-family:ui-monospace,Consolas,monospace}
.affix-cabinet:not([open]){display:none}.affix-cabinet::backdrop{background:#01030be8;backdrop-filter:blur(5px)}
.affix-world{background:radial-gradient(ellipse at bottom,#19244b66,transparent 60%),repeating-linear-gradient(0deg,transparent 0 35px,#19334c44 36px 37px),#050914}
.affix-world:focus-visible{outline:3px solid #65e9ff;outline-offset:-3px}
.affix-girder{background:repeating-linear-gradient(135deg,transparent 0 18px,#8c254d 19px 23px,transparent 24px 37px),#391b39;border-block:4px solid #ff688e;box-shadow:0 4px #110d24,0 0 12px #ff407333}
.affix-player{transition:none}.affix-player .affix-critter{width:44px;height:44px;filter:drop-shadow(2px 3px #000)}
.affix-crate{min-width:52px;max-width:100px;border-radius:0;font:700 13px/1.15 ui-monospace,monospace;background:linear-gradient(135deg,#63391c,#302011);box-shadow:3px 3px #000,inset 0 0 0 2px #bf873b}.affix-crate b{font-size:13px}.affix-crate small{font-size:8px;letter-spacing:0}
.affix-target strong{font-size:clamp(16px,2vw,23px);color:#fff}.affix-target{padding:10px 16px}.affix-target p{font-size:12px}
.affix-deck{grid-template-columns:1fr auto}.affix-deck>p{grid-column:1/-1;grid-row:2;margin:0;font-size:12px}.affix-controls button{min-width:44px;min-height:42px;touch-action:none}.affix-inventory{max-height:54px}.affix-inventory small{font-size:8px}.affix-inventory em{font-size:12px}.affix-hud button{font-size:12px;padding:8px}.affix-score{font-size:14px}.summit-gate{height:35px;width:130px;font-size:9px}.word-jammer{font-size:26px;line-height:1;top:1%}
.affix-victory{display:flex;flex-direction:column;gap:8px;overflow-y:auto;align-items:center}.affix-victory .affix-hud{align-self:stretch}.affix-victory h2{font-size:clamp(28px,6vh,52px);margin:0}.affix-stars{font-size:28px}.affix-word-tower{width:100%}.affix-word-tower article{gap:12px;align-items:center;font-size:13px}.affix-victory>button{margin-bottom:16px}
.assembly-overlay{overflow-y:auto;padding:16px}.assembly-machine{box-sizing:border-box}.assembly-slots label{min-width:0;font-size:12px}.assembly-machine h2{font-size:28px}.assembly-machine p{font-size:16px}
.story-conveyor{padding:24px;background:linear-gradient(#182539,#0b1220);border:3px solid #d5aa62;overflow:hidden}.conveyor-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:24px 0 16px;border-bottom:14px dashed #57697e}.story-cart{position:relative;min-width:0;min-height:150px;background:#775034;color:#fff;border:3px solid #e8bb73;padding:12px 8px 24px;font-family:inherit;white-space:normal}.story-cart strong{display:block;font-size:14px;line-height:1.35}.story-cart small{font-size:10px;color:#fff3c9}.cart-wheels{position:absolute;bottom:-15px;left:15%;right:15%;color:#aebdcc;text-shadow:2px 2px #000}.conveyor-files{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.conveyor-files button{flex:1 1 170px;font:inherit}.conveyor-files [aria-pressed=true]{outline:4px solid #ffe47e}.story-cart.cart-correct{background:#204c3c;border-color:#77f3b8}.story-cart.cart-wrong{background:#5c2634;border-color:#ff91a4}.conveyor-status{min-height:2.5em}.conveyor-running{animation:shipment 1.4s ease-in forwards}@keyframes shipment{to{transform:translateX(120%)}}
@media(max-width:650px){.affix-hud{padding:6px;gap:5px}.affix-hud strong{font-size:22px}.affix-score{display:block;font-size:12px}.affix-score b{display:block}.affix-target{display:block;padding:6px}.affix-target span{font-size:11px}.affix-target strong{display:block}.affix-target p{display:none}.affix-crate{min-width:34px;padding:2px}.affix-crate b{font-size:10px}.affix-crate small{font-size:6px}.affix-deck{display:flex;flex-direction:column;padding:6px}.affix-inventory{align-self:stretch}.affix-controls{justify-content:center}.affix-cabinet{height:calc(100dvh - 12px);width:calc(100vw - 12px);border-width:3px}.conveyor-track{grid-template-columns:1fr}.story-cart{min-height:88px}.assembly-slots{grid-template-columns:1fr auto 1fr auto 1fr}.assembly-slots>b{display:block}.assembly-slots select{padding:8px 2px}.assembly-machine{padding:12px}.assembly-buttons{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.conveyor-running{animation:none}.affix-reel{animation:none}.assembly-machine.boom{animation:none}}
dialog.affix-cabinet[open]{display:grid;grid-template-rows:auto auto minmax(200px,1fr) auto}dialog.affix-cabinet.affix-victory[open]{display:flex}.affix-cabinet .affix-hud strong{font-family:ui-monospace,monospace;font-size:26px;letter-spacing:1px}
.affix-girder{transform:rotate(var(--angle,0deg))}.affix-crate{margin-bottom:calc((var(--x) - 5.5)*var(--slope,1)*1.6px)}
.mission-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mission-control-grid .command-card{display:block;min-width:0;padding:16px}.mission-control-grid .command-card h3{font-size:23px}.mission-control-grid .command-card button{width:100%;white-space:normal}@media(max-width:700px){.mission-control-grid{grid-template-columns:1fr}}
