.nx-arcade-lobby { margin: 32px 0; }
.nx-arcade-catalog { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 20px; }
.nx-arcade-card,.nx-arcade-takeaway,.nx-arcade-settings { padding: 24px; border: 1px solid #7182a5; border-radius: 20px; background: #14253c; color: #f0f7ff; }
.nx-arcade-card h3,.nx-arcade-takeaway h3 { color: #fff; }
.nx-arcade-card .nx-games__eyebrow { color: #a0eddb; }
.nx-arcade-card { display:flex;flex-direction:column;align-items:stretch;padding:0;overflow:hidden;border-color:#4e6784;background:linear-gradient(145deg,#172c45,#142039);box-shadow:0 12px 30px #09132524; }
.nx-arcade-card-content { display:flex;flex:1;flex-direction:column;align-items:start;padding:22px; }
.nx-arcade-card-content h3 { margin:0 0 10px;font-size:clamp(22px,3vw,28px); }
.nx-arcade-card-content .nx-games__eyebrow { margin:0 0 8px; }
.nx-arcade-card-content p { line-height:1.65; }
.nx-arcade-card .nx-games__button { margin-top:auto; }
.nx-arcade-card-meta { color:#b8d1e5;font-size:14px;padding-bottom:8px; }
.nx-arcade-preview { position:relative;display:block;aspect-ratio:18/11;overflow:hidden;background:radial-gradient(ellipse at 65% 25%,#37617e,#132443 65%);isolation:isolate; }
.nx-arcade-preview img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease; }
.nx-arcade-preview::after { content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#091729b8);pointer-events:none; }
.nx-arcade-preview-label { position:absolute;left:16px;bottom:15px;right:60px;z-index:2;color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;text-shadow:0 2px 5px #0008; }
.nx-arcade-preview-note { position:absolute;top:12px;right:12px;z-index:2;padding:3px 8px;border-radius:20px;background:#0c1a31cc;color:#dae9f6;font-size:10px;letter-spacing:.06em; }
.nx-arcade-preview-play { position:absolute;right:16px;bottom:12px;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:1px solid #c4f4e8;border-radius:50%;background:#173f54c9;color:#b9ffe9;font-size:16px; }
.nx-arcade-preview:hover img { transform:scale(1.035); }
.nx-arcade-preview:focus-visible { outline:4px solid #ffd984;outline-offset:-4px; }
.nx-arcade-card[data-game="festivalwache"] .nx-arcade-preview-play { color:#ffe3c0;border-color:#f2c89b; }
.nx-arcade-card[data-game="signalcheck"] .nx-arcade-preview-play { color:#adfff1; }
.nx-arcade-card[data-game="wissensreise"] .nx-arcade-preview-play { color:#ebdbff;border-color:#d3b3fa; }
.nx-arcade-optin { display:block; margin:24px 0 8px; line-height:1.6; }
.nx-arcade-optin input { width:24px;height:24px;vertical-align:middle; }
.nx-arcade-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.nx-arcade-toolbar h2 { flex:1; margin:12px 0; }
.nx-arcade-toolbar button { min-height:48px; }
.nx-arcade-toolbar .nx-arcade-stop { background:#fff1e5;color:#653d2e;border:1px solid #cda98f; }
.nx-arcade-ended { margin:20px 0;padding:clamp(20px,4vw,36px);border:1px solid #6e99a9;border-radius:20px;background:#142c40;color:#edf8fb;overflow:auto; }
.nx-arcade-ended h3 { color:#fff;font-size:clamp(24px,4vw,34px);margin-top:0; }
.nx-arcade-ended p { line-height:1.7;max-width:70ch; }
.nx-arcade-ended-actions { display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px; }
.nx-arcade-ended-actions .nx-games__text-link { color:#b4f1e0; }
.nx-arcade-settings { margin:16px 0; padding:12px 18px; }
.nx-arcade-settings label { display:block; margin:12px 0; }
.nx-arcade-settings select { display:block; width:100%;font-size:16px;padding:12px;color:#14253c;background:#fff;border-radius:10px; }
.nx-arcade-tutorial { padding:12px 16px; border-left:4px solid #388676; background:#e8f5ef; color:#14253c; margin:12px 0; }
.nx-arcade-takeaway { margin:20px 0; }
.nx-arcade-takeaway a { color:#b0eaff;display:block;margin:14px 0; }
.nx-arcade-practice .nx-game__score-form { display:none !important; }
.nx-arcade-focused { overflow:hidden; }
.nx-arcade-selected.is-focused {
  position:fixed;inset:0;z-index:2147483000;background:#0e192d;color:#edf6ff;
  display:grid;grid-template-rows:auto minmax(0,1fr);padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
  height:100vh;height:100dvh;overflow:auto;
}
.nx-arcade-selected.is-focused > :not(.nx-arcade-toolbar):not(.nx-game):not(.nx-knowledge):not(.nx-arcade-ended) { display:none; }
.nx-arcade-selected.is-focused .nx-arcade-ended { min-height:0;grid-row:2;margin:0; }
.nx-arcade-selected.is-focused > .nx-game { min-height:0;max-height:100%;margin:0;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);overflow:auto; }
.nx-arcade-selected.is-focused > .nx-game > .nx-game__scene { grid-row:1;grid-column:1;min-height:260px;height:100%; }
.nx-arcade-selected.is-focused > .nx-game > .nx-game__panel,
.nx-arcade-selected.is-focused > .nx-game > .nx-game__finish { grid-row:1;grid-column:2;overflow:auto;min-height:0; }
.nx-arcade-selected.is-focused .nx-knowledge { overflow:auto;margin:0; }
.nx-arcade-selected.is-focused .nx-arcade-toolbar h2 { color:#fff;font-size:clamp(18px,3vw,26px); }
.nx-arcade-selected.is-focused .nx-arcade-toolbar a { color:#b0eaff; }
.nx-arcade-selected.is-focused > .nx-game > .nx-game__touch-controls { grid-row:1;grid-column:1;align-self:end;z-index:12; }
.nx-game[data-hand="left"] .nx-game__touch-controls { flex-direction:row-reverse;direction:ltr; }
.nx-game[data-swipe="on"] canvas { touch-action:none; }
.nx-game[data-hand="left"] .nx-game__touch-controls > * { direction:ltr; }
.nx-games .nx-game[data-hand="left"] .nx-game__dpad,
.nx-games .nx-game[data-hand="left"] .nx-lightpath__touch-lanes { grid-column:2;justify-self:end; }
.nx-games .nx-game[data-hand="left"] .nx-game__touch-controls > .nx-game__action-button { grid-column:1; }
.nx-games .nx-game[data-hand="single"] .nx-game__touch-controls { border-top:2px solid #78dcc3; }
.nx-field-observations,.nx-plan-builder,.nx-evidence-board { display:grid;gap:10px;margin:18px 0; }
.nx-evidence-board label { display:block;padding:14px;border:1px solid #8ca1c3;border-radius:10px; }
.nx-evidence-board input { width:24px;height:24px;vertical-align:middle;margin-right:8px; }
.nx-game .nx-consequence { padding:14px;border-left:4px solid #4a9c87;background:#e8f5ef;color:#14253c;line-height:1.6; }
.nx-plan-builder select { display:block;width:100%;font-size:16px;padding:12px;margin:8px 0;color:#14253c;background:#fff; }
.nx-game .nx-team-button { min-height:48px;padding:10px 14px;border-radius:10px;white-space:normal; }
.nx-reaction-bubble { position:absolute;z-index:10;bottom:145px;left:50%;transform:translateX(-50%);width:min(90%,400px);padding:14px 18px;background:#eefaf5;color:#14253c;border:2px solid #65b59f;border-radius:18px;box-shadow:0 8px 20px #0004;font-size:15px;line-height:1.5;pointer-events:none; }
.nx-reaction-bubble[data-state="reflect"] { background:#fff7df;border-color:#d6b768; }
@media(max-width:820px),(hover:none) and (pointer:coarse) {
  .nx-arcade-selected.is-focused > .nx-game { grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(240px,55%) minmax(0,1fr); }
  .nx-arcade-selected.is-focused > .nx-game > .nx-game__scene { grid-column:1;grid-row:1;min-height:0;height:100%; }
  .nx-arcade-selected.is-focused > .nx-game > .nx-game__panel,
  .nx-arcade-selected.is-focused > .nx-game > .nx-game__finish { grid-column:1;grid-row:2;padding:16px; }
  .nx-arcade-selected.is-focused .nx-arcade-toolbar { gap:8px; }
  .nx-arcade-selected.is-focused .nx-arcade-toolbar h2 { order:-1;flex-basis:100%;margin:0;font-size:18px; }
  .nx-arcade-selected.is-focused .nx-arcade-toolbar button { padding:8px 12px; }
  .nx-games .nx-game[data-hand="left"] .nx-game__touch-controls { grid-template-columns:minmax(112px,1fr) 152px; }
  .nx-game button,.nx-field-observations button { min-height:48px; }
}
@media(min-width:560px) and (max-height:500px) and (orientation:landscape) {
  .nx-arcade-selected.is-focused > .nx-game { grid-template-columns:minmax(0,1fr) minmax(240px,.9fr);grid-template-rows:minmax(0,1fr); }
  .nx-arcade-selected.is-focused > .nx-game > .nx-game__panel,
  .nx-arcade-selected.is-focused > .nx-game > .nx-game__finish { grid-column:2;grid-row:1; }
  .nx-arcade-selected.is-focused .nx-arcade-toolbar h2 { display:none; }
}
@media(max-width:360px) {
  .nx-games .nx-game[data-hand="left"] .nx-game__touch-controls { grid-template-columns:minmax(96px,1fr) 152px; }
}
@media(prefers-reduced-motion:reduce) { .nx-arcade-preview img { transition:none; } .nx-arcade-preview:hover img { transform:none; } }
