/* The arcade is a lesson surface. It takes over the study viewport until exit. */
.snp-arcade-stop .arc-map-sprite { display:block; width:54px; height:54px; max-width:none; object-fit:contain; filter:drop-shadow(0 3px 2px #06152480); }
.snp-arcade-stop.is-locked .arc-map-sprite { filter:saturate(.47) brightness(.86); }
.snp-arcade-stop.is-current .snp-node-plate { outline:2px solid #ffce78; outline-offset:2px; }
.snp-arcade-stop .snp-node-icon { display:grid; place-items:center; overflow:visible; }
.snp-main.is-studying.is-arcade { display:block; position:relative; top:auto; height:auto; }
.is-arcade .snp-home > :not(.snp-hero,.snp-crumb) { display:none; }
.is-arcade .snp-hero { min-height:0; padding:14px clamp(18px,3vw,48px); gap:16px; align-items:center; }
.is-arcade .snp-hero h1 { font-size:clamp(24px,3vw,44px); margin:2px 0 6px; }
.is-arcade .snp-hero h1 br { display:none; }
.is-arcade .snp-hero h1 span:before { content:" "; }
.is-arcade .snp-hero-description { margin:4px 0; font-size:15px; line-height:1.35; }
.is-arcade .snp-hero-art { height:112px; min-height:0; width:145px; flex:0 0 145px; }
.is-arcade .snp-hero-art img { width:112px; max-height:100%; object-fit:contain; }
.is-arcade .snp-hero :is(.snp-art-label,.snp-orbit,[data-continue],.snp-save-state,.snp-route-rate) { display:none; }
.is-arcade .snp-hero-tags { margin:5px 0; gap:5px; }
.is-arcade .snp-hero-tags span { padding:3px 8px; font-size:11px; }
.snp-main.is-arcade #snp-lesson[data-kind=arcade] {
  position:relative; inset:auto; margin:12px auto 24px; padding:0; border:0; width:calc(100% - 30px);
  max-width:1440px; height:clamp(530px,73dvh,840px); min-height:0; color:#fff; border-radius:18px;
  background:#101c29; overflow:hidden; box-shadow:0 5px 28px #07121e24;
}
.snp-main.is-arcade #snp-lesson:is(:fullscreen,.arc-expanded) {
  position:fixed;z-index:2147483000;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;
  margin:0;padding:0;border-radius:0;
}
#snp-lesson[data-kind=arcade] > :not(.arc-game) { display:none !important; }
.arc-game, .arc-game * { box-sizing:border-box; }
.arc-game {
  --ink:#fffaf0; --accent:#ffdb72; --back:#162b35; --poster:url("sky.webp");
  position:relative; isolation:isolate; width:100%; flex:1 0 auto; min-height:min(100%,480px); height:100%;
  display:flex; flex-direction:column; color:var(--ink); background:var(--back);
  font-family:inherit; overflow:auto; -webkit-tap-highlight-color:transparent;
}
.arc-game[data-game=targets] { --accent:#ffbd68; --back:#38292d; --poster:url("cell.webp"); }
.arc-game[data-game=candy] { --accent:#deb4ff; --back:#24203b; --poster:url("synapse.webp"); }
.arc-game [hidden] { display:none !important; }
.arc-game button { cursor:pointer; text-transform:none; letter-spacing:normal; }
.arc-game button:focus-visible, .arc-game input:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.arc-game :is(h2, .arc-field):focus { outline:none; }
.arc-top {
  background:#0d1924; color:#f4f8fb; display:flex; align-items:center; gap:clamp(9px,2vw,30px); flex:none;
  min-height:70px; padding:9px max(16px,env(safe-area-inset-right)) 9px max(16px,env(safe-area-inset-left));
  border-bottom:1px solid #ffffff26; position:relative; z-index:3;
}
.arc-top button, .arc-secondary { background:#20313f; color:#edf4f6; border:1px solid #70818c74; border-radius:11px; font:inherit; }
.arc-nav { padding:7px 13px; font-size:21px; min-height:40px; line-height:1; }
.arc-nav span { font-size:13px; vertical-align:middle; font-weight:700; }
.arc-icon { width:40px; height:40px; font-size:19px; font-weight:bold; }
.arc-brand { display:grid; gap:1px; margin-right:auto; min-width:0; }
.arc-brand small, .arc-score small { color:#b6c8d3; font-size:11px; }
.arc-brand strong { color:white; font-size:clamp(17px,2.2vw,25px); line-height:1.18; letter-spacing:-.04em; }
.arc-level { white-space:nowrap; min-width:65px; display:grid; gap:5px; font-size:12px; }
.arc-level > span { display:flex; gap:4px; }
.arc-level i { height:4px; background:#455763; flex:1; border-radius:4px; }
.arc-level i.on { background:var(--accent); }
.arc-score { min-width:56px; display:grid; line-height:1.2; text-align:center; font-variant-numeric:tabular-nums; }
.arc-score b { font-size:20px; color:var(--accent); }
.arc-lives { display:flex; gap:2px; white-space:nowrap; font:700 clamp(15px,2.3vw,28px)/1 system-ui; color:#435363; letter-spacing:-1px; }
.arc-lives .on { color:#ff738a; text-shadow:0 2px #8c384d; }
.arc-body { flex:1; min-height:0; display:flex; flex-direction:column; }
.arc-poster, .arc-survey { flex:1; min-height:0; isolation:isolate; position:relative; background:var(--poster) center / cover; }
.arc-poster { display:flex; align-items:center; padding:clamp(26px,7vw,115px); overflow:auto; }
.arc-poster-shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#071927ed 1%,#0e2333c9 34%,#0c233821 73%),linear-gradient(0deg,#101f2970,transparent 40%); }
.arc-poster-copy { width:min(53%,710px); position:relative; }
.arc-poster-copy > small, .arc-survey-inner > small, .arc-pause-layer small, .arc-mission small { display:block; color:var(--accent); font-weight:750; font-size:clamp(11px,1.05vw,15px); line-height:1.3; }
.arc-poster-copy h2, .arc-pause-layer h2 { font-size:clamp(38px,6.3vw,96px); color:white; letter-spacing:-.065em; line-height:1.00; margin:12px 0 20px; }
.arc-poster-copy p { color:#f0f6fa; font-size:clamp(17px,1.65vw,25px); line-height:1.45; margin:8px 0; }
.arc-poster-copy p.arc-detail { font-size:clamp(13px,1.12vw,17px); color:#cedee7; }
.arc-poster-copy .arc-reward { color:var(--accent); font-weight:bold; }
.arc-poster-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.arc-game .arc-btn {
  background:var(--accent); color:#182130; border:1px solid #ffffff75; border-bottom:4px solid #0005; border-radius:13px;
  min-height:46px; padding:11px 22px; font-family:inherit; font-size:16px; font-weight:800; line-height:1.25;
}
.arc-game .arc-btn:active { translate:0 2px; }
.arc-game .arc-btn.alt { background:#1a2e3c; color:#fff; }
.arc-game button:disabled { cursor:default; opacity:.48; }
.arc-poster-art { position:absolute; width:clamp(175px,34vw,510px); aspect-ratio:1; right:8%; top:50%; transform:translateY(-50%); pointer-events:none; }
.arc-poster-art img { position:relative; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 16px 8px #18213b66); animation:arc-float 3s ease-in-out infinite; }
.arc-poster-art > span { position:absolute; inset:0; background:radial-gradient(ellipse,#fff7c961,transparent 68%); }
@keyframes arc-float { 50% { transform:translateY(-12px) rotate(3deg); } }
.arc-game[data-phase=over] .arc-poster-art { filter:saturate(.55); }
.arc-game[data-phase=over] .arc-poster-shade { background:linear-gradient(100deg,#271528f5 15%,#2c2934ad 65%,#24293860); }
.arc-mission { padding:12px clamp(16px,4vw,65px); display:flex; align-items:center; justify-content:space-between; gap:16px; flex:none; background:var(--back); }
.arc-mission h2 { color:#fff; line-height:1.3; margin:4px 0 0; font-size:clamp(17px,1.8vw,28px); }
.arc-mission strong { font-size:clamp(12px,1.25vw,19px); white-space:normal; text-align:right; color:var(--accent); flex-shrink:0; max-width:37%; }
.arc-field { flex:1; min-height:225px; position:relative; overflow:hidden; isolation:isolate; touch-action:none; user-select:none; container-type:size; }
.arc-scenery { position:absolute; z-index:-2; inset:0; background:var(--poster) center / cover; }
.arc-game[data-game=flight] .arc-scenery { inset:0; background-image:url("sky-scroll.webp"); background-position:var(--drift,0px) center; background-size:auto 100%; background-repeat:repeat-x; }
.arc-actors { position:absolute; inset:0; z-index:0; overflow:hidden; }
.arc-actors img { pointer-events:none; user-select:none; }
.arc-controls { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; flex:none; gap:16px; padding:12px clamp(14px,3vw,48px) max(12px,env(safe-area-inset-bottom)); background:#101e2a; }
.arc-controls p { font-size:clamp(12px,1.1vw,17px); line-height:1.4; margin:0; color:#d5e2e9; max-width:54ch; }
.arc-controls [data-inputs], .arc-lane-buttons { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }
.arc-secondary { padding:9px 12px; min-height:38px; font-size:13px; font-weight:650; }
.arc-bird, .arc-projectile { position:absolute; z-index:3; object-fit:contain; filter:drop-shadow(0 3px 2px #132e384d); }
.arc-bird { width:clamp(58px,8cqw,112px); max-height:16cqh; transform:translate(-50%,-50%) rotate(var(--tilt,0deg)); }
.arc-word {
  position:absolute; transform:translate(-50%,-50%); padding:.36em .85em; color:#203343; font-weight:850; font-size:clamp(13px,2.2cqw,29px);
  background:linear-gradient(#fffff4,#ffedac); white-space:nowrap; border:2px solid #a17c3e; border-radius:999px;
  box-shadow:inset 0 -3px #dbad5c,0 4px 6px #1b3c4e5e;
}
.arc-island { position:absolute; width:auto; max-width:17cqw; object-fit:fill; transform:translateX(-50%); pointer-events:none; }
.arc-island.floor { bottom:0; }
.arc-island.ceiling { top:0; transform:translateX(-50%) rotate(180deg); }
.arc-wind { position:absolute; inset:0; z-index:-1; opacity:.55; pointer-events:none; background-image:radial-gradient(ellipse 20px 2px at 20% 20%,#fff8,transparent),radial-gradient(ellipse 15px 2px at 70% 56%,#fff7,transparent); background-size:220px 130px; background-position-x:var(--wind,0); }
.arc-spark,.arc-fragment { position:absolute; pointer-events:none; z-index:6; width:8px; height:8px; border-radius:30%; }
.arc-ground { position:absolute; z-index:-1; bottom:0; height:19%; width:100%; background:linear-gradient(173deg,transparent 10%,#c28650 11%,#a35436 58%,#693f38); }
.arc-sling { position:absolute; z-index:2; width:auto; height:37%; object-fit:contain; transform:translate(-50%,-50%); }
.arc-band { z-index:3; position:absolute; height:5px; transform-origin:0 50%; border-radius:3px; background:#613520; }
.arc-projectile { width:clamp(34px,5.3cqw,78px); max-height:14cqh; }
.arc-prop { position:absolute; transform:translate(-50%,-50%); transform-origin:center; object-fit:contain; }
.arc-vial { width:auto; height:15%; z-index:2; filter:drop-shadow(0 2px 4px #114b4880); }
.arc-crate { width:auto; height:12.4%; }
.arc-dots i { position:absolute; width:6px; height:6px; border-radius:50%; background:#fff6c7; box-shadow:0 0 0 1px #604b40a0; }
.arc-fragment.crate { background:#a8582f; border:1px solid #f9b766; width:12px; height:6px; }
.arc-fragment.vial { background:#99f8e6; border:1px solid #fff; }
.arc-sliders { display:flex; gap:12px; }
.arc-sliders label { display:grid; grid-template-columns:1fr auto; align-items:center; gap:0 5px; width:clamp(85px,10vw,150px); color:#f5e6d2; font-size:12px; }
.arc-sliders output { color:var(--accent); }
.arc-sliders input { grid-column:1/-1; width:100%; height:25px; margin:0; accent-color:var(--accent); }

.arc-board { --edge:min(89cqh,89cqw,625px); position:absolute; left:50%; top:50%; width:var(--edge); height:var(--edge); transform:translate(-50%,-50%); overflow:hidden; border-radius:16px;
  outline:3px solid #d5a2ff9c; box-shadow:0 0 0 8px #221741bc,0 10px 42px #171130af;
  background:repeating-conic-gradient(#33254dee 0% 25%,#48345cee 0% 50%) 0 0 / calc(100%/3) calc(100%/3); }
.arc-game .arc-gem { position:absolute; width:calc(100%/6); height:calc(100%/6); display:grid; place-items:center; background:transparent; border:0; border-radius:13px; margin:0; padding:4.5px; touch-action:none; }
.arc-gem img { width:91%; height:91%; object-fit:contain; filter:drop-shadow(0 3px 2px #170f3190); }
.arc-gem b { white-space:nowrap; position:absolute; bottom:10%; left:50%; transform:translateX(-50%); color:#fff; background:#24172eca; padding:1px 5px; font-size:clamp(9px,1.38cqh,15px); line-height:1.25; border-radius:5px; }
.arc-game .arc-gem[aria-pressed=true] { outline:3px solid white; outline-offset:-3px; background:#ffc75d55; z-index:2; }
.arc-game .arc-gem.hinted { box-shadow:inset 0 0 0 2px #ffea8b; }
.arc-game .arc-gem.pulse:after { content:"↔"; position:absolute; top:2px; right:4px; font:bold 16px/1 system-ui; color:#fff; text-shadow:0 1px 4px #17072d; }
.arc-aggregate { width:auto; height:12.8%; z-index:2; filter:drop-shadow(0 2px 3px #250b41a6); }
.arc-combo { pointer-events:none; position:absolute; left:50%; top:12%; transform:translateX(-50%); color:#fff5aa; text-shadow:0 2px 2px #311a47,0 0 6px #402251; font-weight:900; font-size:clamp(22px,4vw,48px); }
.arc-key { display:grid; grid-template-columns:auto auto; gap:2px 12px; }
.arc-key span { display:flex; align-items:center; gap:4px; font-size:11px; color:#dce7f0; }
.arc-key img { width:19px; height:19px; object-fit:contain; }
.arc-survey { overflow:auto; display:grid; align-items:safe center; justify-items:center; padding:20px; }
.arc-survey:before { content:""; position:absolute; inset:0; background:#0f152966; z-index:-1; }
.arc-survey-inner, .arc-pause-layer > div { width:min(100%,760px); background:#102233f2; border:1px solid #d1dfe34d; border-radius:22px; padding:clamp(18px,3.5vw,48px); box-shadow:0 15px 60px #09132166; }
.arc-survey-inner h2 { color:#fff; font-size:clamp(20px,2.7vw,40px); margin:8px 0 12px; line-height:1.2; }
.arc-survey-inner ul, .arc-survey-inner p { color:#d8e7ee; font-size:14px; line-height:1.4; }
.arc-survey-inner ul { padding-left:1.2em; }
.arc-answers { display:grid; gap:8px; }
.arc-answers button { text-align:left; display:flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid #698499; border-radius:12px; background:#193748; color:#fff; font:inherit; line-height:1.36; }
.arc-answers button b { background:#334e60; padding:3px 8px; border-radius:6px; color:var(--accent); }
.arc-pause-layer { position:absolute; z-index:10; inset:0; display:grid; place-items:center; background:#101c2ae3; padding:20px; }
.arc-pause-layer > div { width:min(100%,420px); }
.arc-pause-layer h2 { font-size:36px; }
.arc-pause-layer button { margin:4px 5px 0 0; }
.arc-paused * { animation-play-state:paused !important; }
@media(orientation:portrait) {
  .arc-game[data-game=flight] { --poster:url("sky-mobile.webp"); }
  .arc-game[data-game=targets] { --poster:url("cell-mobile.webp"); }
  .arc-game[data-game=candy] { --poster:url("synapse-mobile.webp"); }
  .arc-game[data-game=targets] .arc-actors { inset:auto 0 10%; height:min(90%,78cqw); overflow:visible; }
  .arc-game[data-game=targets] .arc-ground { display:none; }
  .arc-crate,.arc-sling { filter:drop-shadow(1px 3px 2px #3c1a1175); }
}
@media(max-width:700px) {
  .arc-top { min-height:58px; gap:8px; padding:7px 9px; }
  .arc-nav { padding:5px 9px; } .arc-nav span { display:none; }
  .arc-top .arc-brand small { max-width:27vw; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:9px; }
  .arc-brand strong { font-size:16px; } .arc-score { min-width:34px; } .arc-score b {font-size:16px;}
  .arc-level { min-width:48px; font-size:10px; } .arc-icon { width:30px; height:35px; }
  .arc-lives { font-size:16px; } .arc-icon, .arc-nav { flex:none; }
  .arc-mission { padding:10px 13px; align-items:start; gap:8px; }.arc-mission h2 { font-size:17px; }
  .arc-game[data-game=flight] .arc-mission { flex-direction:column; }.arc-game[data-game=flight] .arc-mission strong {max-width:100%;align-self:flex-start;}
  .arc-poster { align-items:flex-end; padding:24px 20px max(36px,env(safe-area-inset-bottom)); }
  .arc-poster-copy { width:100%; } .arc-poster-copy h2 { font-size:clamp(32px,11vw,64px); }
  .arc-poster-shade { background:linear-gradient(0deg,#0e1b2bf9 3%,#102135df 40%,#19304718 84%); }
  .arc-poster-art { width:min(54vw,30vh); right:10%; top:24%; }
  .arc-controls { flex-direction:column; align-items:stretch; gap:7px; padding:9px 12px max(9px,env(safe-area-inset-bottom)); }
  .arc-controls [data-inputs] { justify-content:space-between; } .arc-controls p { font-size:12px; }
  .arc-key { gap:0 7px; }.arc-key span {font-size:9px;}.arc-key img {width:15px;height:15px;}
  .arc-game .arc-btn { min-height:40px; padding:9px 14px; font-size:14px; }
  .arc-scenery { background-position:46% center; }
}
@media(max-width:360px) {
  .arc-top { gap:5px; padding-inline:5px; }
  .arc-brand strong { font-size:14px; }
  .arc-score small { font-size:9px; }
  .arc-level { min-width:41px; }
}
@media(max-height:540px) and (orientation:landscape) {
  .arc-top { min-height:44px; padding-block:3px; } .arc-mission { padding-block:5px; }.arc-field {min-height:146px;}
  .arc-controls {flex-direction:row;align-items:center;padding-block:4px;} .arc-key {display:none;} .arc-poster {padding:15px 6%;}
  .arc-poster-copy {width:58%;}.arc-poster-copy h2 {font-size:35px;margin:5px 0;}.arc-poster-art {width:23%;top:50%;}
  .arc-poster-copy p {font-size:14px;}.arc-poster-actions {margin-top:8px;}
}
@media(prefers-reduced-motion:reduce) {
  .arc-poster-art img {animation:none;} .arc-game[data-game=flight] .arc-scenery {transform:none;}
}


.arc-top { justify-content:space-between; gap:14px; padding:7px 14px; min-height:56px; }
.arc-headline,.arc-status,.arc-wordmark { display:flex; align-items:center; }
.arc-headline { flex:1; min-width:0; gap:12px; }
.arc-status { flex:none; gap:12px; }
.arc-wordmark { gap:5px; flex:none; }
.arc-wordmark img { display:block; width:32px; height:32px; object-fit:contain; }
.arc-wordmark span { font-size:13px; font-weight:750; color:#f3f7ff; }
.arc-brand { min-width:0; padding-left:9px; border-left:1px solid #526373; }
.arc-brand small { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.arc-icon[aria-pressed=false]:is([data-music],[data-audio]) { opacity:.62; text-decoration:line-through; }
.arc-fx { font:700 12px/1 system-ui; }
.arc-clue { border-left:3px solid var(--accent);padding-left:12px; }
.arc-clue strong { color:var(--accent); margin-right:.3em; }
.arc-shop { border-top:1px solid #496173;margin-top:14px;padding-top:10px; }
.arc-shop > div:first-child { display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px; }
.arc-shop > div > span { color:var(--accent); font-size:13px; }
.arc-shop-list { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px; }
.arc-shop-list button { color:#fff8e9;background:#2c4050;border:1px solid #627482;border-radius:8px;padding:7px 4px;font-family:inherit; font-size:12px; font-weight:600; line-height:1.25; }
.arc-shop-list small { display:block;color:var(--accent); }
.arc-hit-score { position:absolute;z-index:8;color:#fff6ac;text-shadow:0 1px 3px #19263c,0 1px 6px #19263c;white-space:nowrap;font-size:clamp(16px,2.2cqw,30px); }
.arc-shard { position:absolute; z-index:6; pointer-events:none; width:3.5%; height:6%; background-size:200% 200%; }
.arc-ground { background:linear-gradient(0deg,#133d40a8,transparent 80%); }
.arc-game[data-game=targets] .arc-scenery { background-position:50% 65%; }
.arc-game[data-game=candy] .arc-board { --edge:min(83cqh,88cqw,590px); }
.arc-game[data-game=candy] .arc-gem img {width:100%;height:92%;filter:drop-shadow(0 2px 3px #09061a); }
.arc-game[data-game=candy] .arc-gem b { bottom:3%; }
.arc-body { overflow:hidden; }
.arc-survey { align-items:safe center; }
@media(orientation:portrait) {
  .arc-game[data-game=flight] .arc-scenery {background-image:url("sky-mobile-scroll.webp");}
}
@media(max-width:980px) {
  .arc-headline,.arc-status { gap:7px; }
  .arc-wordmark span {display:none;}
}
@media(max-width:700px) {
  .snp-main.is-arcade #snp-lesson[data-kind=arcade]:not(:fullscreen):not(.arc-expanded) { width:100%;height:clamp(540px,74dvh,730px);border-radius:0;margin:8px auto 16px; }
  .is-arcade .snp-hero { padding:10px 15px;display:flex;align-items:center; }
  .is-arcade .snp-hero-art {display:block;width:65px;height:65px;flex:0 0 65px;}
  .is-arcade .snp-hero-art img { width:65px; }
  .is-arcade .snp-hero h1 { font-size:25px; }
  .is-arcade .snp-hero-description { font-size:13px; }
  .arc-top {display:grid;grid-template-columns:1fr;gap:4px;padding:5px 10px;}
  .arc-status {justify-content:flex-start;gap:9px;}
  .arc-status [data-music] {margin-left:auto;}
  .arc-headline .arc-brand small {max-width:42vw;}
  .arc-wordmark img {width:26px;height:26px;}
  .arc-wordmark span {display:inline;font-size:10px;}
  .arc-brand {padding-left:7px;}
  .arc-headline .arc-nav {min-height:29px;}
  .arc-top .arc-icon {height:29px;min-height:29px;width:32px;}
  .arc-game .arc-survey {padding:10px;}
  .arc-shop-list {grid-template-columns:repeat(2,minmax(0,1fr));}
}

.is-arcade .snp-hero-copy { min-width:0; }
.is-arcade .snp-hero h1 span { margin-inline-start:.18em; }
.is-arcade .snp-hero-description { min-height:0; max-width:70ch; }
.is-arcade .snp-header { position:sticky;top:0;z-index:1200;background:#091724f5; }
.admin-bar .is-arcade .snp-header { top:32px; }
@media(max-width:700px) {
  .is-arcade .snp-home { padding:7px 12px 0; }
  .is-arcade .snp-crumb {margin:2px 0 7px;}
  .is-arcade .snp-hero { display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:6px; }
  .is-arcade .snp-hero-art { position:relative;inset:auto;display:grid;place-items:center;width:52px;height:55px; }
  .is-arcade .snp-hero h1 { max-width:none; }
  .is-arcade .snp-hero-art img {position:static;inset:auto;transform:none;width:52px;height:55px;}
  .is-arcade .snp-hero .snp-author {margin-top:3px;}
  .is-arcade .snp-header {min-height:48px;padding-block:4px;}
  .admin-bar .is-arcade .snp-header {top:46px;}
}

.arc-prop.arc-beam {height:4.5%;object-fit:fill;border-radius:45%;filter:drop-shadow(0 2px 3px #103939a6);}
.arc-shockwave {position:absolute;z-index:5;border:3px solid;border-radius:50%;width:8%;aspect-ratio:1;pointer-events:none;}
@media(prefers-reduced-motion:no-preference) {
  .arc-aggregate:not([hidden]) {animation:arc-breathe 1.6s ease-in-out infinite alternate;}
  .arc-aggregate:nth-child(even) {animation-delay:-.7s;}
  @keyframes arc-breathe { to {scale:1.055 .965;} }
}

.arc-range {touch-action:pan-y;}
.arc-range .arc-actors {touch-action:none;}
/* Use one unwarped coordinate system for the sling, aiming dots and rigid bodies. */
.arc-game[data-game=targets] .arc-range .arc-actors {
  inset:auto auto 2% 50%; width:min(100cqw,160cqh);height:auto;
  aspect-ratio:5/3; transform:translateX(-50%); overflow:visible;
}
.arc-range-floor {position:absolute;left:2%;right:2%;top:90%;height:5%;z-index:-1;pointer-events:none;border-top:2px solid #fbca8d94;border-radius:50% / 20%;background:linear-gradient(#b06b5aaa,transparent);}
.arc-range .arc-prop {object-fit:fill;transform-origin:center;}
.arc-range .arc-support {filter:drop-shadow(0 0 1.5px #ffd585) drop-shadow(0 2px 2px #522d38);}
.arc-range .arc-beam {border-radius:5px;border:1px solid #eecfa5;background-color:#89734e;background-repeat:repeat-x;background-size:auto 100%;}
.arc-range .arc-projectile {width:3.8%;max-height:none;}
.arc-range .arc-dots i {width:clamp(3px,.6cqw,6px);height:clamp(3px,.6cqw,6px);}
.arc-shot-report {position:absolute;z-index:6;left:8px;top:8px;width:clamp(163px,24%,220px);padding:6px 9px;border:1px solid #9bc0c587;border-radius:9px;color:#f5fffa;background:#0d2233ee;box-shadow:0 2px 10px #091b2c59;line-height:1.25;}
.arc-shot-report>div,.arc-shot-report li {display:flex;align-items:baseline;justify-content:space-between;gap:6px;}
.arc-shot-report>div {font-weight:750;font-size:clamp(12px,1.8cqw,16px);}
.arc-shot-report strong,.arc-shot-report li b {color:#ffda7d;font-variant-numeric:tabular-nums;white-space:nowrap;}
.arc-shot-report ol {max-height:clamp(65px,26cqh,125px);overflow:auto;margin:4px 0 0;padding:0;list-style:none;overscroll-behavior:contain;}
.arc-shot-report li {margin:0;padding:2px 0;font-size:clamp(11px,1.5cqw,14px);border-top:1px solid #dfeff520;}
.arc-hit-score {position:absolute;z-index:7;pointer-events:none;padding:1px 5px;border-radius:8px;background:#132138ed;font-size:clamp(15px,2.2cqw,24px);font-weight:900;line-height:1.2;white-space:nowrap;box-shadow:0 1px 3px #06102280;}

@media (orientation:portrait) {
  .arc-game[data-game=targets] .arc-range .arc-actors {width:min(111cqw,158cqh); bottom:3%;}
}

/* Use the site's complete signature at its intrinsic aspect ratio in every mode. */
.arc-game .arc-wordmark img {display:block;width:clamp(80px,8vw,122px);height:auto;max-width:none;aspect-ratio:auto;object-fit:contain;}
.arc-game[data-phase=intro] .arc-poster {align-items:safe center;}
.arc-game[data-phase=intro] .arc-poster-copy h2,.arc-game[data-phase=reload] .arc-poster-copy h2 {font-size:clamp(23px,2.9vw,45px);line-height:1.1;letter-spacing:-.035em;margin:9px 0 5px;text-wrap:pretty;}
.arc-game[data-phase=intro] .arc-poster-copy>small {font-size:clamp(13px,1.25vw,19px);}
.arc-game .arc-poster-copy .arc-credit {font-weight:450;font-size:13px;margin:6px 0 14px;color:#cfe1ed;}
.arc-credit strong {color:#e9faff;}
.arc-flight-primer {border-left:3px solid #ffe28b;padding:3px 0 3px 12px;display:grid;gap:6px;line-height:1.35;}
.arc-flight-primer b {color:#fff3b6;}.arc-flight-primer small {font-size:13px;color:#e0ecf4;}
.arc-flight-primer i {font-style:normal;font-weight:750;color:#172b30;background:#ffebaa;padding:0 5px;border-radius:5px;}
.arc-game .arc-mission h2 {font-size:clamp(15px,1.55vw,22px);text-wrap:pretty;}
.arc-game .arc-sling-vector {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
.arc-sling-vector.far{z-index:2;}.arc-sling-vector.near{z-index:4;}
.arc-range .arc-projectile {width:3.65%;z-index:3;}
.arc-enzyme-rack {position:absolute;right:8px;top:8px;z-index:5;pointer-events:none;padding:5px 8px;border:1px solid #8aa8ad8a;border-radius:9px;background:#102634ec;color:#e8f6fa;line-height:1.1;}
.arc-enzyme-rack strong {display:flex;gap:7px;justify-content:space-between;font-size:12px;}.arc-enzyme-rack b {color:#ffdc8b;}
.arc-enzyme-rack>span{display:flex;gap:2px;margin-top:3px;}.arc-enzyme-rack i{width:15px;height:15px;border-radius:50%;background:url("enzyme.webp") center/contain no-repeat;}
.arc-enzyme-rack .empty{opacity:.25;filter:grayscale(1);}
.arc-range .arc-armored {border-color:#b2e7ff;box-shadow:inset 0 0 0 1px #184d65;}
.arc-range .arc-armored::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(113deg,transparent 0 7px,#204254cc 7px 9px,#cdedff 9px 11px,transparent 11px 15px);border-radius:inherit;}
.arc-range .arc-shard {border-radius:45% 28% 48% 25%;clip-path:polygon(0 15%,65% 0,100% 55%,36% 100%);width:2.2%;height:3.3%;}
.arc-game .arc-option-ghost {position:absolute;z-index:11;pointer-events:none;display:block;text-align:left;padding:6px 12px;background:#364f63;color:#f2f7fe;border:1px solid #9ac6db;border-radius:10px;font:inherit;}
.arc-option-ghost b {margin-right:10px;}
.arc-game .arc-answers .arc-correct {background:#145342;border:2px solid #80f5bf;opacity:1;color:#fff;}
.arc-game [data-message][data-reward]{font-weight:700;color:#ffe5a0;margin:8px 0;}
.arc-game [data-message][data-reward=life]{color:#ffa9c2;}
.arc-game .arc-revelation {border-left:3px solid #75e6b2;padding:4px 12px;margin:10px 0;background:#103830;line-height:1.4;}
.arc-revelation small,.arc-revelation strong {display:block;}.arc-revelation small{color:#a3f0c7;font-weight:bold;}.arc-revelation p{margin:5px 0 8px;}
.arc-lives span {display:inline-block;}
@media(max-width:700px){
 .arc-game[data-phase=intro] .arc-poster {align-items:safe flex-end;padding:15px 16px 20px;}
 .arc-game[data-phase=intro] .arc-poster-copy h2 {font-size:clamp(20px,5.3vw,30px);}
 .arc-game[data-phase=intro] .arc-poster-copy p {font-size:14px;line-height:1.3;}
 .arc-game[data-phase=intro] .arc-poster-copy .arc-credit,.arc-game[data-phase=intro] .arc-poster-copy .arc-detail {font-size:12px;}
 .arc-game[data-phase=intro] .arc-poster-actions {margin-top:12px;}
 .arc-game[data-phase=intro] .arc-poster-shade {background:linear-gradient(0deg,#0d192bfc 10%,#142538eb 63%,#19304718 100%);}
 .arc-game[data-game=candy] .arc-mission,.arc-game[data-game=targets] .arc-mission {flex-direction:column;gap:4px;}
 .arc-game[data-game=candy] .arc-mission strong,.arc-game[data-game=targets] .arc-mission strong{max-width:100%;text-align:left;font-size:12px;}
 .arc-enzyme-rack i{width:12px;height:12px;}
}

/* Silhouettes and end caps are painted in world coordinates at their native aspect. */
.arc-range canvas.arc-tissue {display:block;position:absolute;padding:0;border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none;filter:drop-shadow(0 1px 1px #18263880);}
.arc-range canvas.arc-tissue[hidden]{display:none!important;}
.arc-range .arc-break-layer {position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;}

.arc-game {min-width:0;max-width:100%;container-type:inline-size;}
.arc-body,.arc-headline,.arc-top,.arc-status,.arc-controls,.arc-mission>* {min-width:0;max-width:100%;}
.arc-top {flex-wrap:wrap;}
.arc-status {flex-wrap:wrap;}
.arc-game .arc-poster,.arc-game .arc-survey {overflow:auto;overscroll-behavior:contain;}
.arc-game .arc-poster-copy,.arc-game .arc-survey-inner {min-width:0;overflow-wrap:anywhere;}
.arc-game .arc-poster {align-items:safe center;}
.arc-game .arc-poster-copy h2 {font-size:clamp(24px,4.2cqw,58px);}
.arc-game .arc-wallet b {color:#93f0d4;}
.arc-game .arc-body {overflow-y:auto;overflow-x:hidden;}
.arc-game[data-game=targets][data-phase=play] .arc-body {display:grid;grid-template-rows:auto minmax(180px,1fr) auto;}
.arc-game[data-game=targets] .arc-range {min-height:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}
.arc-range .arc-actors,.arc-range img,.arc-range svg,.arc-range canvas {-webkit-user-drag:none;-webkit-user-select:none;user-select:none;}
html.snp-drawing-sling,html.snp-drawing-sling * {-webkit-user-select:none!important;user-select:none!important;cursor:grabbing!important;}
.arc-range .arc-projectile {width:4.25%;height:auto;pointer-events:none;}
.arc-range .arc-enzyme-child {width:2.7%;}
.arc-range .arc-dashing {filter:drop-shadow(-5px 0 3px #ffdc39);}
.arc-blast-wave {position:absolute;z-index:5;width:25%;aspect-ratio:1;pointer-events:none;border-radius:50%;border:2px solid #ffa852;background:radial-gradient(circle,#fff6c766 4%,#ff7c213d 43%,#ffb854a6 71%,transparent 74%);}
.arc-game[data-game=targets] .arc-controls {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:center;gap:8px 16px;padding:8px 14px;}
.arc-game[data-game=targets] .arc-controls>[data-hint] {height:3em;line-height:1.45;font-size:13px;overflow:auto;align-content:center;max-width:none;}
.arc-game[data-game=targets] .arc-controls>[data-inputs] {display:grid;grid-template-columns:minmax(0,1fr) auto 6.4em;gap:8px;align-items:center;}
.arc-controls .arc-loadout {display:flex;align-items:center;gap:7px;min-width:0;}
.arc-loadout img {object-fit:contain;width:30px;height:30px;}
.arc-loadout strong,.arc-loadout small {display:block;}
.arc-loadout small {font-size:12px;line-height:1.2;color:#d3e5eb;}
.arc-game[data-game=targets] .arc-controls .arc-btn {padding:7px 10px;height:40px;min-width:0;}
.arc-game[data-game=targets] .arc-controls [data-fire] {width:100%;}
.arc-game .arc-range .arc-aggregate {animation:none;}
.arc-game .arc-market {width:min(540px,calc(100% - 20px));max-width:calc(100vw - 20px);max-height:min(80dvh,680px);overflow:auto;overscroll-behavior:contain;margin:auto;padding:16px;color:#f3faf9;background:#112532;border:1px solid #6b909c;border-radius:16px;box-shadow:0 18px 60px #08131ca6;}
.arc-market::backdrop {background:#081521c9;}
.arc-market-head,.arc-market-head>div,.arc-departments,.arc-market-actions {display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.arc-market-head {justify-content:space-between;}
.arc-game .arc-market h2,.arc-game .arc-market h3,.arc-game .arc-market p {margin:0;color:inherit;}
.arc-game .arc-market h2 {font-weight:700;font-size:24px;line-height:1.2;}
.arc-market-head span,.arc-shelves small,.arc-market-symbol {color:#9be9db;}
.arc-market button {border:1px solid #5b828c;border-radius:8px;background:#203b47;color:white;font-family:inherit;font-size:14px;font-weight:600;line-height:1.2;padding:8px 12px;}
.arc-market [data-close-store] {font-size:22px;line-height:1;}
.arc-departments {margin:14px 0;}
.arc-departments [aria-pressed=true],.arc-market [data-purchase] {background:#9ae6cf;color:#102e33;}
.arc-market button:disabled {opacity:.55;}
.arc-shelves {display:grid;gap:8px;}
.arc-shelves article {display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;background:#19333e;border:1px solid #395866;border-radius:10px;padding:10px;}
.arc-shelves img,.arc-market-symbol {width:42px;height:42px;object-fit:contain;}
.arc-market-symbol {display:grid;place-content:center;font-size:27px;font-weight:800;}
.arc-game .arc-shelves h3 {font-size:16px;line-height:1.25;}
.arc-game .arc-shelves p,.arc-shelves small {font-size:13px;line-height:1.35;}
.arc-market-actions {justify-content:end;flex-direction:column;align-items:stretch;}
.arc-game .arc-market .arc-receipt {min-height:1.5em;margin-top:8px;color:#9be9db;font-size:14px;}
.arc-rating-summary {display:inline-block;margin:4px 0;color:#abedde;font-size:14px;font-weight:650;}
.arc-rating-form {margin:14px 0 8px;padding:12px;background:#132632ed;color:white;border-radius:12px;border:1px solid #4c6877;max-width:27rem;}
.arc-rating-form fieldset {padding:0;border:0;margin:0;min-width:0;}
.arc-rating-form legend {font-size:15px;font-weight:bold;color:white;}
.arc-brains {display:flex;gap:3px;margin:5px 0;}
.arc-brains label {position:relative;cursor:pointer;border-radius:8px;display:grid;place-items:center;width:clamp(32px,8cqw,43px);height:38px;background:#263d4a;}
.arc-brains input {position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;}
.arc-brains span {font-size:22px;filter:grayscale(1);opacity:.65;}
.arc-brains label.on span {filter:none;opacity:1;}
.arc-brains label:focus-within {outline:2px solid #ffdb77;}
.arc-rating-form>label {display:grid;gap:4px;font-size:14px;}
.arc-rating-form textarea {width:100%;resize:vertical;padding:6px;border-radius:6px;color:#152a36;background:#f3fafc;font:inherit;}
.arc-rating-form small {font-size:12px;}
.arc-rating-form .arc-btn {font-size:13px;margin:8px 8px 0 0;min-height:32px;padding:5px 8px;}
.arc-rating-form [role=status] {font-size:13px;}
@container (max-width:700px){
 .arc-game .arc-top {display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:6px 10px;}
 .arc-game .arc-status {justify-content:space-between;gap:4px;}
 .arc-game .arc-status [data-music] {margin-left:auto;}
 .arc-game .arc-score,.arc-game .arc-level {min-width:0;}
 .arc-game[data-game=targets] .arc-controls {grid-template-columns:minmax(0,1fr);gap:2px;padding:5px 10px;}
 .arc-game[data-game=targets] .arc-controls>[data-inputs] {grid-template-columns:minmax(0,1fr) auto 6.4em;}
 .arc-loadout small {display:none;}
 .arc-game[data-game=targets] .arc-controls>[data-hint] {height:2.7em;line-height:1.3;}
 .arc-game .arc-poster-copy {width:100%;}
 .arc-game .arc-poster-art {opacity:.45;}
}
@media(max-width:480px) {
 .arc-game .arc-market {max-height:85dvh;padding:12px;}
 .arc-shelves article {grid-template-columns:35px minmax(0,1fr);gap:6px 9px;}
 .arc-shelves img,.arc-market-symbol {width:32px;height:32px;}
 .arc-market-actions {grid-column:2;flex-direction:row;justify-content:start;}
}

.arc-market .arc-shop-logo {width:66px;height:auto;object-fit:contain;}
.arc-brains label input {z-index:1;}
.arc-brains label span {pointer-events:none;}
.arc-game .arc-score b {min-width:3ch;}

.arc-game .arc-loadout {height:40px;max-width:18rem;padding:3px 9px;text-align:left;font:inherit;color:#f2fffc;background:#15383f;border:1px solid #61baac;border-radius:9px;cursor:pointer;}
.arc-loadout span {min-width:0;}
.arc-game .arc-loadout img {width:25px;height:25px;flex:none;}
.arc-game .arc-loadout small {display:block;color:#b5ece0;font-size:10px;line-height:1.1;}
.arc-game .arc-loadout strong {font-size:13px;line-height:1.25;white-space:nowrap;}
.arc-loadout i {margin-left:auto;color:#9be9db;font-style:normal;}
.arc-loadout:disabled {opacity:.65;cursor:default;}
.arc-game .arc-market [hidden] {display:none;}
.arc-game .arc-market .arc-market-note {margin:10px 0;color:#cbe5e4;font-size:14px;line-height:1.35;}
.arc-market .arc-selected {border-color:#88ddc9;background:#1c4147;}
.arc-market .arc-order {display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#d2ece7;}
.arc-market .arc-order input {box-sizing:border-box;width:4.4em;min-height:32px;margin:0;padding:3px 6px;color:#f0ffff;background:#102932;border:1px solid #769e9c;border-radius:5px;font:inherit;}
@container (max-width:430px){
 .arc-game[data-game=targets] .arc-controls>[data-inputs] {grid-template-columns:minmax(0,1fr) auto 5.7em;gap:4px;}
 .arc-game .arc-loadout {padding:3px 5px;gap:4px;}
 .arc-game .arc-loadout img {width:21px;height:21px;}
}
@container (max-width:305px){
 .arc-game .arc-loadout img {display:none;}
 .arc-game .arc-loadout strong {font-size:12px;}
}
