@charset "UTF-8";
/* Generated by tools/build_css_bundle.py; edit the original stylesheets. */

/* NOWAYOUT SOURCE: assets/fonts/fonts.css */
/* Fuentes autoalojadas (SIL Open Font License 1.1, ver OFL.txt) */
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 400; font-display: swap; src: url('../assets/fonts/archivo-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 500; font-display: swap; src: url('../assets/fonts/archivo-latin-500-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 600; font-display: swap; src: url('../assets/fonts/archivo-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 700; font-display: swap; src: url('../assets/fonts/archivo-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Big Shoulders Display'; font-style: normal; font-weight: 700; font-display: swap; src: url('../assets/fonts/big-shoulders-display-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Big Shoulders Display'; font-style: normal; font-weight: 800; font-display: swap; src: url('../assets/fonts/big-shoulders-display-latin-800-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Big Shoulders Display'; font-style: normal; font-weight: 900; font-display: swap; src: url('../assets/fonts/big-shoulders-display-latin-900-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('../assets/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url('../assets/fonts/ibm-plex-mono-latin-600-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* NOWAYOUT SOURCE: css/app.css */
/* NOWAYOUT — identidad oscura. Display: Big Shoulders Display · Texto: Archivo · Datos: IBM Plex Mono
   Concepto: una puerta cerrada en la oscuridad; el ámbar es la única luz (la del faro). */
:root {
  --bg: #06080b;
  --bg2: #0c1015;
  --bg3: #121820;
  --line: #222b35;
  --line2: #2f3a46;
  --fg: #ebe5d6;
  --dim: #98a1ab;
  --mute: #66707b;
  --amber: #f2a541;
  --amber2: #ffcf7a;
  --red: #e2463a;
  --ok: #63c58f;
  --phos: #8fe0c9;
  --paper: #e9e1cc;
  --ink: #1d1a15;
  --f-display: 'Big Shoulders Display', 'Arial Narrow', 'Roboto Condensed', sans-serif;
  --f-body: 'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --f-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --r: 14px;
  --safe-t: env(safe-area-inset-top, 0px);
  --safe-b: env(safe-area-inset-bottom, 0px);
  color-scheme: dark;
}
* { box-sizing: border-box; }
/* sensación de app: sin resaltados de toque, sin menús de pulsación larga ni selección accidental */
html, body { -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
input, textarea, .doc, .chat-log, .tx-line { -webkit-user-select: text; user-select: text; }
html, body { height: 100%; margin: 0; background: var(--bg); color: var(--fg); font-family: var(--f-body); font-size: 16px; -webkit-font-smoothing: antialiased; overscroll-behavior: none; }
body { overflow: hidden; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
[hidden] { display: none !important; }
.screen { position: fixed; inset: 0; overflow: hidden; }
.scroll { overflow-y: auto; -webkit-overflow-scrolling: touch; }
.mono { font-family: var(--f-mono); font-variant-numeric: tabular-nums; }
/* botones del faro: cristal oscuro con canto de latón; el principal es la lámpara (con los tres destellos cada 15 s) */
.btn { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: 0 22px; border-radius: 999px; border: 1px solid #4b3f26; background: linear-gradient(180deg, rgba(31, 37, 45, .94), rgba(13, 17, 22, .94)); box-shadow: inset 0 1px 0 rgba(255, 233, 190, .07), 0 6px 18px rgba(0, 0, 0, .35); font-weight: 600; letter-spacing: .02em; transition: background .2s, border-color .2s, box-shadow .25s, transform .1s; touch-action: manipulation; }
.btn:hover { border-color: #a07a35; box-shadow: inset 0 1px 0 rgba(255, 233, 190, .1), 0 0 0 3px rgba(242, 165, 65, .08), 0 6px 22px rgba(242, 165, 65, .12); }
.btn:active { transform: scale(.98); }
.btn.primary { color: #1b1203; border-color: #ffcf7a; background: radial-gradient(120% 140% at 50% 0%, #ffd58a 0%, #f6b04c 45%, #d98a2b 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), inset 0 -2px 6px rgba(120, 60, 0, .35), 0 0 22px rgba(242, 165, 65, .35), 0 8px 26px rgba(0, 0, 0, .45); text-shadow: 0 1px 0 rgba(255, 230, 180, .5); }
.btn.primary:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -2px 6px rgba(120, 60, 0, .3), 0 0 34px rgba(255, 190, 90, .55), 0 8px 26px rgba(0, 0, 0, .45); }
.btn.primary::after { content: ''; position: absolute; top: -20%; bottom: -20%; width: 38%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .65), transparent); transform: skewX(-18deg); animation: lampSweep 15s linear infinite; pointer-events: none; }
@keyframes lampSweep { 0% { left: -60%; } 2% { left: 130%; } 2.01%, 5.7% { left: -60%; } 7.7% { left: 130%; } 7.71%, 11.4% { left: -60%; } 13.4% { left: 130%; } 13.41%, 100% { left: -60%; } }
.btn.ghost { background: rgba(6, 8, 11, .35); border-color: #3a3222; box-shadow: none; }
.btn.danger { border-color: #8a2a20; background: linear-gradient(180deg, rgba(60, 16, 12, .9), rgba(28, 8, 6, .9)); }
.reduce .btn.primary::after { animation: none; display: none; }
.btn.danger { color: #ffd9d4; }
.btn.small { min-height: 38px; padding: 0 14px; font-size: 14px; }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.eyebrow { font-family: var(--f-mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--dim); }

/* ---------------------------------------------------------------- PORTADA */
#gate { background: radial-gradient(120% 80% at 70% 10%, #13202b 0%, var(--bg) 55%) , var(--bg); }
#gate canvas.bg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .9; }
.gate-wrap { position: relative; height: 100%; overflow-y: auto; padding: calc(var(--safe-t) + 22px) 20px calc(var(--safe-b) + 28px); display: flex; flex-direction: column; gap: 22px; max-width: 1080px; margin: 0 auto; }
.brand { display: flex; align-items: center; gap: 12px; }
.wordmark { font-family: var(--f-display); font-weight: 900; font-size: 30px; letter-spacing: .04em; line-height: 1; }
.wordmark .o { display: inline-block; width: .74em; height: .74em; border: .14em solid currentColor; border-radius: 50%; position: relative; vertical-align: -.02em; margin: 0 .01em; }
.wordmark .o::after { content: ''; position: absolute; left: 50%; top: 30%; width: .16em; height: .32em; background: currentColor; transform: translateX(-50%); border-radius: .08em; }
.lockline { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-mono); font-size: 12px; letter-spacing: .14em; color: #ffb4ab; border: 1px solid #5a2620; background: #1c0c0a; padding: 6px 12px; border-radius: 999px; text-transform: uppercase; }
.lockline::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 12px var(--red); animation: blink 1.6s infinite; }
@keyframes blink { 50% { opacity: .25; } }
.gate-hero { display: grid; gap: 14px; margin-top: 4vh; }
.gate-hero h1 { font-family: var(--f-display); font-weight: 900; font-size: clamp(48px, 13vw, 128px); line-height: .86; letter-spacing: -.005em; margin: 0; text-wrap: balance; text-transform: uppercase; }
.gate-hero h1 em { font-style: normal; color: var(--amber); }
.gate-hero p.lead { font-size: clamp(17px, 2.3vw, 21px); line-height: 1.5; color: #d6d0c2; max-width: 46ch; margin: 0; }
.gate-grid { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 860px) { .gate-grid { grid-template-columns: 1.2fr 1fr; align-items: start; } }
.card { background: rgba(12, 16, 21, .82); border: 1px solid var(--line); border-radius: var(--r); padding: 18px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.room-card { display: grid; gap: 12px; }
.room-card .tag { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { font-family: var(--f-mono); font-size: 12px; padding: 5px 10px; border: 1px solid var(--line2); border-radius: 999px; color: var(--dim); white-space: nowrap; }
.chip.amber { color: var(--amber); border-color: #5b4219; }
.room-card h2 { font-family: var(--f-display); font-weight: 800; font-size: 34px; margin: 0; letter-spacing: .01em; text-transform: uppercase; }
.room-card p { margin: 0; color: #cfc8b9; line-height: 1.55; }
.how { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: s; }
.how li { counter-increment: s; display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: start; color: #d6cfbf; line-height: 1.45; }
.how li::before { content: counter(s); font-family: var(--f-mono); font-size: 13px; color: var(--amber); border: 1px solid #5b4219; border-radius: 50%; width: 26px; height: 26px; display: grid; place-items: center; }
.cta { display: flex; flex-wrap: wrap; gap: 12px; }
.cta .btn { flex: 1 1 200px; }
.fine { font-size: 13px; color: var(--mute); line-height: 1.5; margin: 0; }
.settings-row { display: flex; flex-wrap: wrap; gap: 8px; }
.toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line2); background: transparent; font-size: 14px; color: var(--dim); }
.toggle[aria-pressed="true"] { color: var(--fg); border-color: var(--amber); }
.toggle .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--mute); }
.toggle[aria-pressed="true"] .dot { background: var(--amber); box-shadow: 0 0 10px var(--amber); }
.unlocked-banner { border-color: #2c5a41; background: rgba(13, 30, 22, .85); }

/* ---------------------------------------------------------------- SALA DE ESPERA */
#lobby { background: var(--bg); }
.lobby-wrap { height: 100%; overflow-y: auto; padding: calc(var(--safe-t) + 18px) 18px calc(var(--safe-b) + 24px); max-width: 760px; margin: 0 auto; display: grid; gap: 16px; align-content: start; }
.lobby-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.field { display: grid; gap: 6px; }
.field label { font-size: 13px; color: var(--dim); }
.input { min-height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--line2); background: var(--bg2); color: var(--fg); width: 100%; }
.input.code { font-family: var(--f-mono); letter-spacing: .3em; text-transform: uppercase; font-size: 20px; text-align: center; }
.code-big { font-family: var(--f-mono); font-size: clamp(30px, 9vw, 44px); letter-spacing: .22em; color: var(--amber); text-align: center; }
.players { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.player { display: grid; grid-template-columns: 12px 1fr auto; gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg2); }
.player .st { width: 10px; height: 10px; border-radius: 50%; background: var(--mute); }
.player.on .st { background: var(--ok); box-shadow: 0 0 8px var(--ok); }
.player .nm { font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player .rl { font-size: 13px; color: var(--dim); }
.ready { font-family: var(--f-mono); font-size: 12px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line2); color: var(--dim); }
.ready.yes { color: #062514; background: var(--ok); border-color: var(--ok); }
.roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.role { text-align: left; display: grid; gap: 4px; padding: 14px; border-radius: 12px; border: 1px solid var(--line2); background: var(--bg2); min-height: 92px; }
.role b { font-family: var(--f-display); font-size: 22px; letter-spacing: .02em; text-transform: uppercase; }
.role span { font-size: 13px; color: var(--dim); line-height: 1.35; }
.role .who { font-family: var(--f-mono); font-size: 12px; color: var(--amber); }
.role[aria-pressed="true"] { border-color: var(--amber); box-shadow: inset 0 0 0 1px var(--amber); }
.net-status { font-family: var(--f-mono); font-size: 12px; color: var(--dim); display: flex; align-items: center; gap: 8px; }
.net-status::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--mute); }
.net-status.ok::before { background: var(--ok); }
.net-status.bad::before { background: var(--red); }
.row { display: flex; gap: 10px; flex-wrap: wrap; }
.row > * { flex: 1 1 160px; }
.split { display: grid; gap: 16px; }

/* ---------------------------------------------------------------- CARGA / INTRO */
#loading { display: grid; place-items: center; background: var(--bg); padding: 24px; }
.load-box { width: min(420px, 100%); display: grid; gap: 14px; text-align: center; }
.bar { height: 4px; background: var(--line); border-radius: 4px; overflow: hidden; }
.bar > i { display: block; height: 100%; width: 0; background: var(--amber); transition: width .25s; }
#intro { display: grid; place-items: center; background: #000; padding: 24px; z-index: 30; }
.intro-text { max-width: 34ch; font-size: clamp(19px, 3.6vw, 26px); line-height: 1.5; text-wrap: balance; color: #e6dfcf; min-height: 6em; }
.intro-text p { margin: 0 0 1em; opacity: 0; transform: translateY(6px); transition: opacity 1.2s, transform 1.2s; }
.intro-text p.on { opacity: 1; transform: none; }
.intro-actions { position: absolute; left: 0; right: 0; bottom: calc(var(--safe-b) + 24px); display: flex; justify-content: center; gap: 10px; padding: 0 18px; flex-wrap: wrap; }

/* ---------------------------------------------------------------- JUEGO */
#game { background: #000; touch-action: none; }
#gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.hud-top { position: absolute; left: 0; right: 0; top: 0; padding: calc(var(--safe-t) + 10px) 12px 0; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: start; pointer-events: none; z-index: 5; }
.hud-top > * { pointer-events: auto; }
.timer { background: rgba(6, 8, 11, .72); border: 1px solid var(--line); border-radius: 12px; padding: 6px 12px; display: grid; gap: 0; min-width: 96px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.timer .t { font-family: var(--f-mono); font-size: 26px; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.timer .c { font-family: var(--f-mono); font-size: 11px; color: var(--dim); letter-spacing: .08em; }
.timer.warn .t { color: var(--amber); }
.timer.crit .t { color: var(--red); animation: blink 1s infinite; }
.objectives { background: rgba(6, 8, 11, .6); border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; font-size: 14px; line-height: 1.35; max-width: 520px; justify-self: center; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.objectives ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 3px; }
.objectives li::before { content: '◇ '; color: var(--amber); }
.objectives.flash { animation: objflash 1.2s; }
@keyframes objflash { 0% { border-color: var(--amber); } 100% { border-color: var(--line); } }
.iconbtn { width: 46px; height: 46px; border-radius: 12px; border: 1px solid var(--line); background: rgba(6, 8, 11, .72); display: grid; place-items: center; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.iconbtn svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.hud-right { display: flex; gap: 8px; }
.hud-bottom { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 10px calc(var(--safe-b) + 10px); display: grid; gap: 8px; z-index: 5; pointer-events: none; }
.hud-bottom > * { pointer-events: auto; }
/* Un control temporal; conserva las filas inferiores y su zona segura. */
.hud-bottom > .game-fullscreen-slot { min-height: 60px; display: flex; justify-content: center; align-items: flex-start; pointer-events: none; }
.game-fullscreen-entry { position: relative; isolation: isolate; pointer-events: auto; min-height: 44px; max-width: calc(100vw - 40px); padding: 10px 23px; border: 1px solid #a93437; border-radius: 13px 8px 12px 7px; color: #f5ddd2; background: radial-gradient(ellipse at 28% 0, #931826 0, #4d101c 32%, transparent 63%), linear-gradient(165deg, #300b13, #10080b 80%); font-family: var(--f-mono); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; text-shadow: 0 1px 4px #000; box-shadow: inset 0 2px 8px #b72a2c55, 0 0 13px #8c192946, 0 3px 12px #0009; cursor: pointer; animation: gameFullscreenPulse 1.1s ease-in-out infinite; }
.game-fullscreen-entry::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit; background: radial-gradient(ellipse at 81% 21%, #bd3333aa 0 3%, transparent 5%), radial-gradient(ellipse at 12% 80%, #981a27aa 0 9%, transparent 11%), linear-gradient(105deg, transparent 38%, #a322302e 40%, transparent 46%); }
.game-fullscreen-entry:focus-visible { outline: 2px solid #f3bc99; outline-offset: 4px; }
.game-fullscreen-blood { position: absolute; left: 12px; right: 12px; top: calc(100% - 1px); height: 14px; pointer-events: none; }
.game-fullscreen-blood i { position: absolute; top: 0; left: calc(9% + var(--drop) * 19%); width: 3px; height: calc(5px + var(--drop) * 1px); transform-origin: top; border-radius: 0 0 60% 60%; background: linear-gradient(#a92632, #5e101d); animation: gameFullscreenDrip 1.7s ease-in-out infinite; animation-delay: calc(var(--drop) * -.22s); }
.game-fullscreen-blood i::after { content: ''; position: absolute; bottom: -2px; left: -1px; width: 5px; height: 6px; border-radius: 65% 65% 55% 55%; background: #a52532; box-shadow: inset -1px -1px 2px #460c16; }
#game.has-fullscreen-prompt .subs { bottom: calc(var(--safe-b) + 196px); }
@keyframes gameFullscreenPulse { 50% { transform: scale(1.025); box-shadow: inset 0 2px 8px #d13b3c70, 0 0 20px #9b213f66, 0 3px 12px #0009; } }
@keyframes gameFullscreenDrip { 0%, 100% { transform: scaleY(.55); opacity: .66; } 64% { transform: scaleY(1.16); opacity: 1; } }
.game-fullscreen-entry[data-reduced="true"], .game-fullscreen-entry[data-reduced="true"] .game-fullscreen-blood i { animation: none; }
.floors { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; background: rgba(6, 8, 11, .72); border: 1px solid var(--line); border-radius: 14px; padding: 5px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.floors button { min-height: 44px; border-radius: 10px; border: 1px solid transparent; background: transparent; font-size: 13px; font-weight: 600; line-height: 1.1; padding: 4px 2px; color: var(--dim); display: grid; place-items: center; gap: 1px; }
.floors button small { font-family: var(--f-mono); font-size: 10px; font-weight: 400; color: var(--mute); }
.floors button[aria-current="true"] { background: var(--bg3); color: var(--fg); border-color: var(--line2); }
.floors button.locked { opacity: .5; }
.actions { display: flex; gap: 8px; justify-content: space-between; }
.actions .btn { flex: 1; min-height: 44px; font-size: 14px; background: rgba(6, 8, 11, .78); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.badge { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--amber); color: #1b1203; font-size: 11px; font-weight: 700; display: inline-grid; place-items: center; }
.nav-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 64px; border-radius: 12px; border: 1px solid var(--line); background: rgba(6, 8, 11, .55); display: grid; place-items: center; z-index: 4; }
.nav-arrow.l { left: 8px; } .nav-arrow.r { right: 8px; }
.nav-arrow svg { width: 22px; height: 22px; stroke: var(--fg); fill: none; stroke-width: 2; }
#hotspots { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.hs { position: absolute; left: 0; top: 0; width: 44px; height: 44px; margin: -22px 0 0 -22px; pointer-events: auto; display: grid; place-items: center; border: 0; background: none; padding: 0; will-change: transform; }
.hs .ring { width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(242, 165, 65, .95); background: rgba(242, 165, 65, .14); box-shadow: 0 0 14px rgba(242, 165, 65, .45); animation: pulse 2.4s infinite; }
.hs.seen .ring { border-color: rgba(235, 229, 214, .65); background: rgba(235, 229, 214, .08); box-shadow: none; animation: none; width: 24px; height: 24px; }
.hs.nav .ring { border-style: dashed; border-color: rgba(143, 224, 201, .8); background: rgba(143, 224, 201, .08); animation: none; }
.hs .lbl { position: absolute; left: 50%; top: calc(100% - 4px); transform: translateX(calc(-50% + var(--lx, 0px))); font-size: 12px; font-weight: 600; padding: 3px 8px; border-radius: 8px; background: rgba(6, 8, 11, .82); border: 1px solid var(--line); white-space: nowrap; color: var(--fg); }
.hs.up .lbl { top: auto; bottom: calc(100% - 4px); }
.hs.nolbl .lbl { visibility: hidden; }
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15); } }
.subs { position: absolute; left: 50%; transform: translateX(-50%); bottom: calc(var(--safe-b) + 130px); width: min(680px, calc(100% - 24px)); z-index: 6; display: grid; gap: 6px; pointer-events: none; }
.sub { background: rgba(0, 0, 0, .78); border-left: 3px solid var(--phos); padding: 8px 12px; border-radius: 8px; font-size: 16px; line-height: 1.45; }
.sub.vhf { border-left-color: var(--amber); }
.sub.phone { border-left-color: #c9b6ff; }
.sub .who { display: block; font-family: var(--f-mono); font-size: 11px; letter-spacing: .1em; color: var(--dim); text-transform: uppercase; margin-bottom: 2px; }
.narr { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); width: min(560px, calc(100% - 40px)); text-align: center; font-size: clamp(19px, 3.4vw, 25px); line-height: 1.45; text-wrap: balance; color: #f1ead8; text-shadow: 0 2px 18px #000, 0 0 2px #000; z-index: 7; pointer-events: none; opacity: 0; transition: opacity 1s; }
.narr.on { opacity: 1; }
.toast { position: absolute; left: 50%; transform: translateX(-50%); top: calc(var(--safe-t) + 74px); z-index: 9; background: rgba(12, 16, 21, .95); border: 1px solid var(--line2); border-radius: 12px; padding: 10px 14px; font-size: 14px; max-width: calc(100% - 24px); }
.vignette-red { position: absolute; inset: 0; pointer-events: none; z-index: 2; box-shadow: inset 0 0 160px rgba(160, 20, 10, .0); transition: box-shadow 1s; }
.vignette-red.on { box-shadow: inset 0 0 180px rgba(160, 20, 10, .55); }

/* ---------------------------------------------------------------- PANELES */
.sheet { position: absolute; left: 0; right: 0; bottom: 0; max-height: 88%; z-index: 20; background: var(--bg2); border-top: 1px solid var(--line2); border-radius: 18px 18px 0 0; display: grid; grid-template-rows: auto 1fr; transform: translateY(105%); transition: transform .32s cubic-bezier(.2, .8, .2, 1); box-shadow: 0 -20px 50px rgba(0, 0, 0, .6); }
.sheet.open { transform: none; }
@media (min-width: 900px) { .sheet { left: auto; top: 0; right: 0; width: 460px; max-height: none; border-radius: 0; border-top: 0; border-left: 1px solid var(--line2); transform: translateX(105%); } .sheet.open { transform: none; } }
.sheet-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px 10px; border-bottom: 1px solid var(--line); }
.sheet-head h3 { margin: 0; font-family: var(--f-display); font-size: 24px; letter-spacing: .02em; text-transform: uppercase; }
.sheet-body { overflow-y: auto; padding: 16px 16px calc(var(--safe-b) + 20px); display: grid; gap: 14px; align-content: start; }
.panel-note { font-size: 14px; color: var(--dim); line-height: 1.5; margin: 0; }
.status { font-family: var(--f-mono); font-size: 13px; padding: 8px 10px; border-radius: 8px; background: #0a0d10; border: 1px solid var(--line); color: var(--phos); }
.status.bad { color: #ffb4ab; }
.status.ok { color: var(--ok); }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ctl { display: grid; gap: 6px; justify-items: center; text-align: center; }
.ctl label, .ctl .lab { font-family: var(--f-mono); font-size: 11px; letter-spacing: .12em; color: var(--dim); text-transform: uppercase; }
.rotary { width: 76px; height: 76px; border-radius: 50%; border: 2px solid #3a3f44; background: radial-gradient(circle at 35% 30%, #3b3f43, #121417 70%); position: relative; box-shadow: 0 6px 16px rgba(0, 0, 0, .5); touch-action: none; }
.rotary::after { content: ''; position: absolute; left: 50%; top: 6px; width: 4px; height: 22px; margin-left: -2px; background: var(--amber); border-radius: 2px; transform-origin: 50% 32px; transform: rotate(var(--a, 0deg)); }
.rotary.big { width: 120px; height: 120px; }
.rotary.big::after { top: 10px; height: 30px; transform-origin: 50% 50px; }
.val { font-family: var(--f-mono); font-size: 15px; color: var(--fg); }
.radio-face { background: #d8cfb6; color: #2b2418; border-radius: 12px; padding: 12px; display: grid; gap: 10px; box-shadow: inset 0 0 0 2px #b8ad92; }
.dialwin { position: relative; height: 70px; border-radius: 6px; background: linear-gradient(#ffd99a, #f3b965); overflow: hidden; box-shadow: inset 0 2px 8px rgba(0, 0, 0, .5); }
.dialwin canvas { width: 100%; height: 100%; display: block; }
.counter { font-family: var(--f-mono); font-size: 30px; font-weight: 600; text-align: center; color: #ffcc6a; background: #170f05; border-radius: 6px; padding: 4px 0; letter-spacing: .08em; }
.counter small { font-size: 14px; color: #c7964c; }
.scope { height: 64px; background: #04110d; border-radius: 6px; box-shadow: inset 0 0 0 1px #12352a; }
.scope canvas { width: 100%; height: 100%; display: block; }
.finebtns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.finebtns button { min-height: 44px; border-radius: 10px; border: 1px solid #a99f84; background: #e7dfc8; color: #2b2418; font-family: var(--f-mono); font-weight: 600; }
.seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; background: #c9bea2; border-radius: 10px; padding: 4px; }
.seg button { min-height: 40px; border-radius: 8px; border: 0; background: transparent; color: #4d4330; font-family: var(--f-mono); font-weight: 600; font-size: 13px; }
.seg button[aria-pressed="true"] { background: #2b2418; color: #ffcf7a; }
.dark-seg { background: var(--bg3); }
.dark-seg button { color: var(--dim); }
.dark-seg button[aria-pressed="true"] { background: var(--amber); color: #1b1203; }
.meter { height: 12px; border-radius: 6px; background: #0a0d10; border: 1px solid var(--line); overflow: hidden; }
.meter > i { display: block; height: 100%; background: linear-gradient(90deg, var(--ok), var(--amber)); width: 0; transition: width .15s; }
.checklist { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.checklist li { display: flex; gap: 8px; align-items: center; color: var(--dim); }
.checklist li::before { content: '○'; color: var(--mute); }
.checklist li.ok { color: var(--fg); }
.checklist li.ok::before { content: '●'; color: var(--ok); }
.opt-grid { display: grid; gap: 8px; }
.opt { text-align: left; min-height: 48px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--line2); background: var(--bg3); font-size: 15px; }
.opt[aria-pressed="true"] { border-color: var(--amber); box-shadow: inset 0 0 0 1px var(--amber); }
.lever-ui { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; }
.lever-track { width: 70px; height: 220px; border-radius: 35px; background: #0a0c0e; border: 2px solid #3c3428; position: relative; touch-action: none; }
.lever-knob { position: absolute; left: 50%; width: 58px; height: 58px; margin-left: -29px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #5b4a2c, #1c160d); border: 2px solid #b48a3c; top: 81px; transition: top .25s; }
.lever-side { display: grid; gap: 8px; font-size: 14px; }
.lever-side h4 { margin: 0; font-family: var(--f-display); font-size: 28px; letter-spacing: .04em; }
.doc { background: var(--paper); color: var(--ink); border-radius: 6px; padding: 18px; font-size: 15.5px; line-height: 1.6; box-shadow: 0 10px 30px rgba(0, 0, 0, .5); }
.doc h4 { margin: 0 0 8px; font-family: var(--f-display); font-size: 24px; letter-spacing: .01em; }
.doc p { margin: 0 0 .8em; }
.doc .head { font-family: 'Times New Roman', Georgia, serif; font-weight: 700; font-size: 26px; line-height: 1.1; margin-bottom: 10px; text-transform: uppercase; letter-spacing: .01em; }
.doc.typed { font-family: var(--f-mono); font-size: 14px; }
.doc.hand { font-family: 'Segoe Print', 'Bradley Hand', 'Comic Sans MS', cursive; font-size: 16px; background: #efe6cc; }
.doc table { width: 100%; border-collapse: collapse; font-size: 14px; }
.doc td, .doc th { border-bottom: 1px solid #b5a988; padding: 6px 4px; text-align: left; vertical-align: top; }
.doc .legend { font-size: 13px; color: #4a4232; margin-top: 10px; }
.logline { display: grid; grid-template-columns: 54px 1fr; gap: 8px; padding: 6px 0; border-bottom: 1px dashed #b9ad8d; }
.logline b { font-family: var(--f-mono); }
.margin { margin-top: 12px; padding: 10px; border: 2px solid #8d2c1e; color: #8d2c1e; transform: rotate(-1.2deg); font-weight: 700; }
.doclist { display: grid; gap: 8px; }
.doclist button { text-align: left; min-height: 48px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--line2); background: var(--bg3); }
.tabs { display: flex; gap: 6px; overflow-x: auto; }
.tabs button { min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line2); background: transparent; color: var(--dim); white-space: nowrap; }
.tabs button[aria-pressed="true"] { color: #1b1203; background: var(--amber); border-color: var(--amber); }
.tx-line { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.5; }
.tx-line .who { display: block; font-family: var(--f-mono); font-size: 11px; color: var(--dim); }
.hintbox { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg3); }
.hintbox p { margin: 0; line-height: 1.5; }
.chart-wrap { position: relative; background: #e9e4d2; border-radius: 8px; overflow: hidden; touch-action: pan-x pan-y; }
.chart-wrap svg { width: 100%; height: auto; display: block; }
.coord { font-family: var(--f-mono); font-size: 13px; color: var(--phos); }
.chat-log { display: grid; gap: 6px; max-height: 40vh; overflow-y: auto; font-size: 14px; }
.chat-log .m b { color: var(--amber); }
.quick { display: flex; flex-wrap: wrap; gap: 6px; }
.quick button { min-height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--line2); background: transparent; font-size: 13px; }
.confirm { display: grid; gap: 10px; padding: 14px; border-radius: 12px; border: 1px solid var(--red); background: #1a0b09; }

/* ---------------------------------------------------------------- LLAMADA (pantalla de llamada entrante) */
.call { position: fixed; inset: 0; z-index: 50; color: #fff; display: grid; grid-template-rows: auto 1fr auto; padding: calc(var(--safe-t) + 34px) 24px calc(var(--safe-b) + 34px); font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', system-ui, Roboto, 'Segoe UI', sans-serif; overflow: hidden; }
.call .bgblur { position: absolute; inset: -40px; background: linear-gradient(180deg, rgba(20, 26, 34, .55), rgba(6, 8, 11, .92)); backdrop-filter: blur(26px) saturate(1.2); -webkit-backdrop-filter: blur(26px) saturate(1.2); z-index: -1; }
.call.android .bgblur { background: linear-gradient(180deg, #17222b, #0a0f13); }
.call .who { text-align: center; display: grid; gap: 6px; margin-top: 6vh; }
.call .who .nm { font-size: clamp(30px, 8vw, 40px); font-weight: 400; letter-spacing: .01em; }
.call .who .sub2 { font-size: 16px; opacity: .75; }
.call .avatar { width: 92px; height: 92px; border-radius: 50%; margin: 0 auto 10px; display: grid; place-items: center; font-size: 38px; background: #4b5662; }
.call.android .avatar { background: #2b5f73; }
.call .mid { display: grid; place-items: center; }
.call .subs-call { width: min(520px, 100%); min-height: 4.5em; font-size: 17px; line-height: 1.5; text-align: center; color: #f3efe6; text-wrap: balance; }
.call .ios-actions { display: flex; justify-content: space-between; gap: 18px; max-width: 360px; margin: 0 auto; width: 100%; }
.callbtn { width: 76px; height: 76px; border-radius: 50%; border: 0; display: grid; place-items: center; color: #fff; }
.callbtn svg { width: 34px; height: 34px; fill: #fff; }
.callbtn.decline { background: #eb4d3d; }
.callbtn.accept { background: #34c759; }
.callcap { font-size: 13px; text-align: center; margin-top: 8px; opacity: .85; }
.slide { position: relative; height: 72px; border-radius: 36px; background: rgba(255, 255, 255, .16); max-width: 340px; margin: 0 auto; width: 100%; overflow: hidden; touch-action: none; }
.slide .knob { position: absolute; left: 6px; top: 6px; width: 60px; height: 60px; border-radius: 50%; background: #34c759; display: grid; place-items: center; }
.slide .knob svg { width: 28px; height: 28px; fill: #fff; }
.slide .txt { position: absolute; inset: 0; display: grid; place-items: center; font-size: 18px; color: rgba(255, 255, 255, .85); pointer-events: none; background: linear-gradient(90deg, rgba(255, 255, 255, .35), #fff, rgba(255, 255, 255, .35)); -webkit-background-clip: text; background-clip: text; color: transparent; background-size: 200% 100%; animation: shine 2.2s linear infinite; }
@keyframes shine { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.swipeup { display: grid; justify-items: center; gap: 10px; touch-action: none; }
.swipeup .phone-ic { width: 74px; height: 74px; border-radius: 50%; background: #1f8f4e; display: grid; place-items: center; box-shadow: 0 0 0 0 rgba(31, 143, 78, .6); animation: ringpulse 1.6s infinite; }
.swipeup .phone-ic svg { width: 32px; height: 32px; fill: #fff; }
@keyframes ringpulse { 70% { box-shadow: 0 0 0 26px rgba(31, 143, 78, 0); } 100% { box-shadow: 0 0 0 0 rgba(31, 143, 78, 0); } }
.android-actions { display: flex; justify-content: center; gap: 70px; margin-top: 16px; }
.call .incall { display: grid; justify-items: center; gap: 22px; }
.call .incall .timer2 { font-variant-numeric: tabular-nums; opacity: .8; font-size: 16px; }
.call.desktop { max-width: 420px; margin: 3vh auto; inset: auto; position: fixed; left: 0; right: 0; top: 0; bottom: 0; height: min(860px, 94vh); border-radius: 44px; border: 10px solid #15191d; box-shadow: 0 30px 90px rgba(0, 0, 0, .8); }

/* ---------------------------------------------------------------- FINAL */
#ending { z-index: 40; background: rgba(0, 0, 0, .55); display: grid; place-items: center; place-items: safe center; padding: calc(var(--safe-t) + 24px) 20px calc(var(--safe-b) + 24px); overflow-y: auto; }
.end-skip { position: absolute; top: calc(var(--safe-t) + 12px); right: 12px; z-index: 2; }
.end-box { width: min(640px, 100%); display: grid; gap: 18px; text-align: center; }
.end-beat { font-size: clamp(18px, 3.4vw, 24px); line-height: 1.5; color: #efe8d6; opacity: 0; transition: opacity 1.4s; text-shadow: 0 2px 16px #000; }
.end-beat.on { opacity: 1; }
.end-title { font-family: var(--f-display); font-weight: 900; font-size: clamp(40px, 10vw, 84px); text-transform: uppercase; line-height: .9; letter-spacing: .01em; }
.end-msg { font-size: clamp(19px, 3.5vw, 26px); line-height: 1.45; color: var(--amber2); text-wrap: balance; }
.end-card { background: rgba(10, 13, 17, .92); border: 1px solid var(--line2); border-radius: 16px; padding: 20px; display: grid; gap: 14px; text-align: left; }
.end-card .k { font-family: var(--f-mono); font-size: 12px; letter-spacing: .14em; color: var(--dim); text-transform: uppercase; }
.unlock-stamp { font-family: var(--f-mono); letter-spacing: .2em; font-size: 13px; color: #062514; background: var(--ok); padding: 8px 14px; border-radius: 999px; justify-self: center; }
.deny-stamp { font-family: var(--f-mono); letter-spacing: .2em; font-size: 13px; color: #fff; background: var(--red); padding: 8px 14px; border-radius: 999px; justify-self: center; }

/* ---------------------------------------------------------------- CATÁLOGO */
#catalog { background: var(--bg); overflow-y: auto; }
.cat-top { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: calc(var(--safe-t) + 14px) 18px 12px; background: linear-gradient(180deg, var(--bg) 70%, rgba(6, 8, 11, 0)); }
.cat-hero { position: relative; margin: 0 18px; border-radius: 18px; overflow: hidden; min-height: 300px; display: grid; align-items: end; border: 1px solid var(--line); }
.cat-hero canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.cat-hero .in { position: relative; padding: 22px; display: grid; gap: 10px; background: linear-gradient(0deg, rgba(6, 8, 11, .92) 30%, rgba(6, 8, 11, 0)); }
.cat-hero h2 { margin: 0; font-family: var(--f-display); font-weight: 900; font-size: clamp(38px, 8vw, 64px); text-transform: uppercase; line-height: .9; }
.cat-row { padding: 22px 0 0; }
.cat-row h3 { margin: 0 18px 10px; font-size: 18px; font-weight: 700; }
.cat-strip { display: grid; grid-auto-flow: column; grid-auto-columns: min(62vw, 240px); gap: 12px; overflow-x: auto; padding: 0 18px 8px; scroll-snap-type: x mandatory; }
.tile { scroll-snap-align: start; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); background: var(--bg2); display: grid; grid-template-rows: auto 1fr; }
.tile canvas { width: 100%; aspect-ratio: 2 / 3; display: block; }
.tile .meta { padding: 10px 12px 12px; display: grid; gap: 6px; }
.tile .meta b { font-family: var(--f-display); font-size: 20px; text-transform: uppercase; letter-spacing: .02em; }
.tile .soon { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; color: var(--amber); }
.tile .done { font-family: var(--f-mono); font-size: 11px; letter-spacing: .14em; color: var(--ok); }
.cat-foot { padding: 30px 18px calc(var(--safe-b) + 40px); color: var(--mute); font-size: 13px; }

@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
.reduce * { animation: none !important; }
.hs.nolbl:hover .lbl, .hs.nolbl:focus-visible .lbl { visibility: visible; z-index: 2; }

/* parte de guardia */
.score-line { display: grid; gap: 4px; justify-items: center; text-align: center; padding: 6px 0 2px; }
.score-line .pts { font-family: var(--f-display); font-weight: 900; font-size: clamp(40px, 9vw, 60px); line-height: 1; color: var(--amber); font-variant-numeric: tabular-nums; }
.score-line span { color: var(--dim); }
.score-line .rank { font-family: var(--f-mono); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--fg); }
.parte { display: grid; gap: 12px; border-top: 1px solid var(--line); padding-top: 14px; text-align: left; }
.parte .stats { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; margin: 0; font-size: 14px; }
.parte dt { color: var(--dim); min-width: 0; }
.parte dd { margin: 0; font-family: var(--f-mono); font-variant-numeric: tabular-nums; text-align: right; }
.badges { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 8px; }
.badge-m { display: grid; gap: 2px; padding: 10px 12px; border: 1px solid #5c4a24; background: rgba(242, 165, 65, .08); border-radius: 10px; }
.badge-m b { color: var(--amber); font-size: 14px; }
.badge-m span { color: var(--dim); font-size: 12.5px; line-height: 1.35; }
.credits p { margin: 0 0 4px; font-size: 14px; line-height: 1.45; }

/* avisos de cuenta atrás */
.alert-banner { position: absolute; left: 50%; top: 30%; transform: translate(-50%, -50%); z-index: 12; display: grid; gap: 6px; justify-items: center; text-align: center; pointer-events: none; animation: alertIn .5s cubic-bezier(.2, .9, .2, 1.2) both; }
.alert-banner b { font-family: var(--f-display); font-weight: 900; font-size: clamp(38px, 10vw, 76px); letter-spacing: .02em; text-transform: uppercase; color: #ff5a4a; text-shadow: 0 0 24px rgba(255, 60, 40, .55), 0 2px 0 #000; line-height: .95; }
.alert-banner span { font-family: var(--f-mono); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #f1d9c9; text-shadow: 0 1px 8px #000; }
.alert-banner.out { opacity: 0; transition: opacity 1s; }
@keyframes alertIn { from { opacity: 0; transform: translate(-50%, -50%) scale(1.35); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
.countdown { position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%); z-index: 12; pointer-events: none; font-family: var(--f-display); font-weight: 900; font-size: clamp(110px, 34vw, 240px); line-height: 1; color: #ff4a3a; text-shadow: 0 0 40px rgba(255, 40, 20, .6), 0 4px 0 #000; font-variant-numeric: tabular-nums; }
.countdown.beat { animation: cdBeat 1s ease-out both; }
@keyframes cdBeat { 0% { opacity: 0; transform: translate(-50%, -50%) scale(1.6); } 18% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 80% { opacity: .9; } 100% { opacity: 0; transform: translate(-50%, -50%) scale(.92); } }
.reduce .alert-banner, .reduce .countdown.beat { animation: none; }
.narr.low { top: auto; bottom: calc(var(--safe-b) + 150px); transform: translateX(-50%); font-size: clamp(16px, 2.6vw, 20px); background: rgba(4, 6, 9, .55); padding: 10px 14px; border-radius: 12px; }

/* invitación por enlace */
.invite-card { display: grid; gap: 10px; border-color: #5b4219; background: linear-gradient(180deg, rgba(40, 28, 10, .55), rgba(12, 16, 21, .9)); }
.invite-card h2 { margin: 0; font-family: var(--f-display); font-weight: 900; font-size: clamp(30px, 8vw, 46px); line-height: .95; text-transform: uppercase; }
.invite-card h2 em { font-style: normal; color: var(--amber); }
.invite-card p { margin: 0; color: #d6cfbf; line-height: 1.5; }

/* Solo la cuenta atrás compartida y la entrada al faro. */
#intro.room-countdown { overflow: hidden; isolation: isolate; }
.arrival-storm, .arrival-aura { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; }
.arrival-storm { filter: saturate(.55) brightness(.55); }
.arrival-aura { background: radial-gradient(ellipse at 50% 45%, rgba(242,165,65,.08), rgba(6,8,11,.35) 45%, #06080b 100%); box-shadow: inset 0 0 120px #000; animation: arrivalAura 2s ease-in-out infinite alternate; }
.room-countdown .intro-text { text-align: center; max-width: 34ch; }
.arrival-digit { position: relative; width: 1.05em; margin: .08em auto .3em; font-family: var(--f-display); font-weight: 900; font-size: clamp(100px, 32vw, 220px); line-height: 1; color: #af2838; text-shadow: 0 0 24px rgba(167,20,37,.4), 0 4px 30px #000; }
.arrival-number { position: relative; display: block; z-index: 1; }
.arrival-number::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(112deg, transparent 38%, rgba(255,208,152,.12) 46%, transparent 55%); mix-blend-mode: screen; }
.arrival-digit::before { content: ''; position: absolute; width: .46em; height: .12em; left: calc(50% - .23em); bottom: .12em; background: radial-gradient(ellipse, #661823, transparent 70%); opacity: 0; pointer-events: none; }
.arrival-trails { position: absolute; inset: 0; pointer-events: none; }
.arrival-trails i { position: absolute; left: calc(35% + var(--drop) * 14%); top: 81%; width: .025em; height: calc(.16em + var(--drop) * .045em); background: linear-gradient(#8d2130, #a72435 60%, #49101a); border-radius: 25% 25% 60% 60%; transform-origin: top; opacity: .55; }
.arrival-trails i::after { content: ''; position: absolute; bottom: -.007em; left: -.004em; width: .033em; height: .043em; border-radius: 65% 65% 50% 50%; background: #991f30; box-shadow: inset -.009em -.004em .006em #4b1420; }
.arrival-digit.pulse { animation: arrivalPulse .9s cubic-bezier(.2,.8,.2,1) both; }
.arrival-digit.pulse::before { animation: arrivalSmear .9s ease-out both; }
.arrival-digit.pulse .arrival-trails i { animation: arrivalDrip .92s cubic-bezier(.18,.64,.38,1) both; animation-delay: calc(var(--drop) * .035s); }
.room-arrival { position: fixed; inset: 0; z-index: 100; background: #06080b; pointer-events: none; animation: arrivalOpen 1.2s ease-out forwards; }
.arrival-beam { position: absolute; inset: -20%; background: conic-gradient(from 250deg at 50% 50%, transparent 0deg, rgba(255,207,122,.18) 25deg, transparent 50deg); filter: blur(16px); animation: arrivalSweep 1.2s ease-out forwards; }
.room-arrival.gentle { animation-duration: .4s; }
.room-arrival.gentle .arrival-beam { display: none; }
@keyframes arrivalPulse { 0% { opacity: .35; transform: scale(1.08); } 25% { opacity: 1; } 100% { transform: scale(1); opacity: .93; } }
@keyframes arrivalSmear { 0% { opacity: .28; transform: translateY(0) scaleY(1); } 100% { opacity: 0; transform: translateY(.09em) scaleY(1.07); } }
@keyframes arrivalDrip { 0% { opacity: .16; transform: scaleY(.3); } 55% { opacity: .72; } 100% { opacity: .4; transform: scaleY(1); } }
@keyframes arrivalAura { to { box-shadow: inset 0 0 180px #000; opacity: .75; } }
@keyframes arrivalOpen { 0%, 12% { opacity: 1; } 100% { opacity: 0; } }
@keyframes arrivalSweep { to { transform: rotate(65deg); opacity: 0; } }
.reduce .arrival-aura, .reduce .arrival-digit, .reduce .arrival-beam { animation: none; }
.arrival-digit.gentle, .arrival-digit.gentle::before, .arrival-digit.gentle .arrival-trails i, .reduce .arrival-digit::before, .reduce .arrival-trails i { animation: none; }
.arrival-digit.gentle::before, .reduce .arrival-digit::before { display: none; }
.reduce .room-arrival { animation: arrivalOpen .4s ease-out forwards; }
@media (prefers-reduced-motion: reduce) { .room-arrival { animation: arrivalOpen .4s ease-out forwards !important; } .arrival-aura, .arrival-digit, .arrival-digit::before, .arrival-trails i, .arrival-beam { animation: none !important; } .arrival-digit::before { display: none; } }

/* NOWAYOUT SOURCE: css/landing-bridge.css */
#landingVisual { position: fixed; inset: 0; width: 100%; height: 100%; border: 0; z-index: 0; background: #06080b; }
body[data-scene=gate] #gate { background: transparent; pointer-events: none; }
body[data-scene=gate] #gate > * { display: none; }
.screen { z-index: 1; }
body:not([data-scene=gate]) #landingVisual { pointer-events: none; }
body[data-scene=lobby] #lobby { background: linear-gradient(90deg,#06080bba,#06080b33 65%,#06080b44); }
body[data-scene=lobby] .lobby-wrap { max-width: 860px; position: relative; gap: 18px; padding-top: calc(var(--safe-t) + 22px); }
.lobby-wrap { scrollbar-width: thin; scrollbar-color: #52606a80 transparent; }
body[data-scene=lobby] .lobby-wrap > * { animation: lobbyArrive .65s ease both; }
body[data-scene=lobby] .lobby-wrap > :nth-child(2) { animation-delay: .13s; }
body[data-scene=lobby] #lobbyBody > .card { background: #0c1015bd; box-shadow: inset 0 1px 0 #ffdea70e,0 14px 40px #0003; }
.lobby-signal { margin: 0; font: 400 10px/1.7 var(--f-mono); color: #d8c4a0; letter-spacing: .12em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; }
.lobby-signal::before { content: ''; width: 5px; height: 5px; background: var(--amber); border-radius: 50%; box-shadow: 0 0 11px #f2a54180; animation: signalBreath 4s ease-in-out infinite; }
.lobby-heading { margin: 0; max-width: 12ch; font: 900 clamp(38px,8vw,60px)/.95 var(--f-display); text-transform: uppercase; letter-spacing: .02em; text-shadow: 0 3px 20px #000; }
.lobby-heading em { font-style: normal; color: var(--amber); }
.lobby-lead { margin: 0; color: #b4b7b5; font-size: 13px; line-height: 1.6; max-width: 48ch; }
body[data-scene=loading] #loading { background: #06080b77; }
body[data-scene=loading] .load-box { padding: 26px; background: #0c1015c7; border: 1px solid #4b3f26; border-radius: 18px; box-shadow: 0 20px 70px #0006; }
body[data-scene=intro] #intro:not(.room-countdown) { background: #06080bb8; }
.game-net { position: absolute; z-index: 8; top: calc(var(--safe-t) + 67px); left: 50%; transform: translateX(-50%); max-width: calc(100% - 30px); background: #1c0c0aed; border: 1px solid #8a392b; border-radius: 999px; padding: 8px 13px; color: #ffd9d4; font: 400 11px/1.4 var(--f-mono); text-align: center; pointer-events: none; }
@keyframes lobbyArrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes signalBreath { 50% { opacity: .4; box-shadow: 0 0 4px #f2a54133; } }
@media(min-width:960px) { body[data-scene=lobby] .lobby-wrap { margin-left: max(32px,calc((100vw - 1280px)/2 + 64px)); margin-right: 0; max-width: 760px; } }
.reduce .lobby-wrap > *, .reduce .lobby-signal::before { animation: none !important; }
@media(prefers-reduced-motion:reduce) { .lobby-wrap > *, .lobby-signal::before { animation: none !important; } }
.community-wrap { width: min(100%, 840px); margin: 0 auto; padding: 24px; }
.community-top { justify-content: space-between; align-items: center; margin-bottom: 26px; }
.community-brand { color: var(--fg); font: 900 34px/1 var(--f-display); }
.cat-community { padding: 20px 4vw; }

/* NOWAYOUT SOURCE: css/avatars.css */
/* Retratos del equipo: metal húmedo, sombras frías y luz del faro. */
.avatar-portrait {
  display: inline-flex;
  flex: 0 0 var(--avatar-size, 64px);
  width: var(--avatar-size, 64px);
  height: var(--avatar-size, 64px);
  overflow: hidden;
  vertical-align: middle;
  border: 1px solid #52606a70;
  border-radius: 11px;
  background: #0b131a;
  box-shadow: inset 0 0 0 1px #03060a70, 0 3px 8px #0005;
}
.avatar-portrait-svg { display: block; width: 100%; height: 100%; }
.avatar-identity { display: flex; gap: 10px; align-items: center; min-width: 0; }
.avatar-meta { min-width: 0; flex: 1; }
.avatar-editor { padding: 12px 14px; }
.avatar-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.avatar-summary::-webkit-details-marker { display: none; }
.avatar-summary-thumb { display: inline-flex; }
.avatar-summary-thumb .avatar-portrait { border-radius: 7px; }
.avatar-summary-title {
  font-family: var(--f-mono, monospace);
  font-size: 12px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--fg, #ebe5d6);
}
.avatar-summary-action { margin-left: auto; color: var(--dim, #98a1ab); font-size: 12px; }
.avatar-summary::after {
  content: '';
  width: 6px;
  height: 6px;
  border-right: 1px solid var(--amber, #f2a541);
  border-bottom: 1px solid var(--amber, #f2a541);
  transform: rotate(45deg);
  margin: -3px 3px 0 2px;
}
.avatar-editor[open] .avatar-summary::after { transform: rotate(225deg); margin-top: 3px; }
.avatar-editor-body {
  display: grid;
  grid-template-columns: 85px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line, #222b35);
}
.avatar-preview { display: flex; align-items: center; justify-content: center; }
.avatar-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.avatar-field { display: grid; min-width: 0; gap: 6px; }
.avatar-field > span { color: var(--dim, #98a1ab); font-size: 12px; }
.avatar-select {
  display: block;
  min-width: 0;
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line2, #2f3a46);
  border-radius: 10px;
  padding: 0 8px;
  background: var(--bg2, #0c1015);
  color: var(--fg, #ebe5d6);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  touch-action: manipulation;
}
.avatar-select:focus-visible { outline: 2px solid var(--amber, #f2a541); outline-offset: 2px; }
.avatar-selfie { margin-top: 14px; }
.avatar-selfie-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.avatar-selfie-actions .btn { min-height: 40px; padding: 0 12px; font-size: 12px; }
.avatar-selfie-status { margin: 8px 0 0; color: var(--amber2, #ffcf7a); font-size: 12px; line-height: 1.45; }
.avatar-selfie-status:empty { display: none; }
.avatar-selfie-error { color: #ffb4ab; }
.avatar-selfie-note { margin: 8px 0 0; color: var(--dim, #98a1ab); font-size: 11px; line-height: 1.5; }
@media (max-width: 560px) {
  .avatar-fields { grid-template-columns: 1fr; gap: 8px; }
  .avatar-field { grid-template-columns: 78px minmax(0, 1fr); align-items: center; gap: 8px; }
  .avatar-editor-body { gap: 12px; }
}
@media (max-width: 380px) {
  .avatar-field { grid-template-columns: 1fr; gap: 4px; }
  .avatar-summary-action { font-size: 11px; }
}

/* NOWAYOUT SOURCE: css/rewards.css */
/* Logros de Cabo Néboa: latón, cristal oscuro y la luz que continúa. */
.reward-panel {
  display: grid;
  gap: 18px;
  text-align: left;
  padding: 22px;
  border: 1px solid #69502c;
  border-radius: 16px;
  background: radial-gradient(ellipse at 100% 0, #57411c20, transparent 52%), linear-gradient(145deg, #111923f5, #080d13f8);
  box-shadow: inset 0 1px 0 #f7ddb018, 0 12px 30px #0004;
}
.reward-header { display: flex; align-items: center; gap: 16px; }
.reward-seal { width: 90px; height: 90px; flex: 0 0 90px; }
.reward-seal svg { display: block; width: 100%; height: 100%; }
.reward-seal-beam { animation: rewardBeacon 15s ease-in-out infinite; }
.reward-kicker { margin: 0; color: var(--amber2, #ffcf7a); font: 11px/1.5 var(--f-mono, monospace); letter-spacing: .09em; text-transform: uppercase; }
.reward-title { margin: 7px 0 8px; color: var(--fg, #ebe5d6); font: 800 34px/.98 var(--f-display, sans-serif); letter-spacing: .015em; text-transform: uppercase; }
.reward-subtitle { margin: 0; color: #b8b7ac; font-size: 13px; line-height: 1.5; }
.reward-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--fg, #ebe5d6); font-size: 13px; }
.reward-local-label { margin-left: auto; color: var(--dim, #98a1ab); font-size: 11px; }
.reward-gifts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.reward-gift { padding: 17px; border: 1px solid #665031; border-radius: 12px; background: linear-gradient(150deg, #7d562719, #070d14a6); }
.reward-gift-friend { border-color: #435861; background: linear-gradient(150deg, #26485621, #070d14a6); }
.reward-gift-friend .reward-kicker { color: #bad1d6; }
.reward-percent { margin: 8px 0 3px; color: var(--amber2, #ffcf7a); font: 800 65px/.9 var(--f-display, sans-serif); letter-spacing: -.03em; }
.reward-percent span { font-size: .58em; margin-left: 3px; }
.reward-gift-friend .reward-percent { color: #ccdde0; }
.reward-gift-description { margin: 8px 0 0; color: #b5bbb9; font-size: 12px; line-height: 1.5; }
.reward-pending { display: inline-block; margin: 15px 0 0; padding: 5px 8px; border: 1px solid #55503d; border-radius: 999px; color: #c7bba0; font: 10px/1.3 var(--f-mono, monospace); }
.reward-used { display: inline-block; margin: 15px 0 0; padding: 5px 8px; border: 1px solid #364a40; border-radius: 999px; color: #a8beb2; font: 10px/1.3 var(--f-mono, monospace); }
.reward-gift-active { display: grid; gap: 9px; justify-items: start; margin-top: 16px; }
.reward-qr { width: 148px; max-width: 100%; padding: 0; background: #fff; border: 1px solid #fff; border-radius: 8px; overflow: hidden; }
.reward-qr svg { display: block; width: 100%; height: auto; }
.reward-achievement-qr { display: flex; align-items: center; gap: 16px; padding-top: 4px; }
.reward-achievement-qr .reward-qr { width: 116px; flex: 0 0 116px; }
.reward-code { display: block; max-width: 100%; color: var(--fg, #ebe5d6); font: 10px/1.5 var(--f-mono, monospace); overflow-wrap: anywhere; user-select: text; -webkit-user-select: text; }
.reward-link { color: var(--amber2, #ffcf7a); font-size: 12px; line-height: 1.5; text-underline-offset: 3px; }
.reward-actions { display: flex; }
.reward-name-field { display: grid; gap: 6px; color: var(--dim, #98a1ab); font-size: 12px; }
.reward-name { font-size: 14px; }
.reward-access { display: grid; gap: 9px; padding: 15px; border: 1px solid #695432; border-radius: 12px; background: radial-gradient(ellipse at 100% 0, #b7853613, transparent 65%), #070e16a6; }
.reward-access .reward-pending { justify-self: start; margin-top: 2px; }
.reward-access-digits { color: #f4ddb0; font: 500 clamp(22px, 6vw, 30px)/1.3 var(--f-mono, monospace); letter-spacing: .045em; user-select: text; -webkit-user-select: text; }
.reward-access-word { color: #ccd9de; font: 500 17px/1.3 var(--f-mono, monospace); letter-spacing: .1em; user-select: text; -webkit-user-select: text; }
.reward-access-copy { justify-self: start; min-height: 40px; font-size: 12px; }
.reward-access-note { margin: 0; color: var(--dim, #98a1ab); font-size: 11px; line-height: 1.5; }
.reward-actions .reward-activate { width: 100%; min-height: 48px; font-size: 13px; }
.reward-status { margin: 0; color: #b9c8bd; font-size: 12px; line-height: 1.5; }
.reward-status-error { color: #ffb4ab; }
.reward-note { margin: 0; color: var(--dim, #98a1ab); font-size: 11px; line-height: 1.5; }
.reward-inventory { display: grid; gap: 18px; padding: 24px 18px; max-width: 760px; margin: 0 auto; }
.reward-inventory-title { margin: 0; color: var(--fg, #ebe5d6); font: 800 40px/1 var(--f-display, sans-serif); text-transform: uppercase; }
@keyframes rewardBeacon { 0%, 100% { opacity: .4; } 20%, 29%, 70% { opacity: .7; } 24%, 27%, 32% { opacity: 1; } 45% { opacity: .35; } }
.reduce .reward-seal-beam { animation: none; opacity: .65; }
@media (prefers-reduced-motion: reduce) { .reward-seal-beam { animation: none; opacity: .65; } }
@media (max-width: 520px) {
  .reward-panel { padding: 18px; gap: 16px; }
  .reward-header { gap: 12px; }
  .reward-seal { width: 70px; height: 70px; flex-basis: 70px; }
  .reward-title { font-size: 28px; }
  .reward-kicker { font-size: 10px; }
  .reward-gifts { grid-template-columns: 1fr; }
  .reward-gift { padding: 16px; }
  .reward-identity { font-size: 12px; }
  .reward-local-label { margin-left: 0; }
}

/* NOWAYOUT SOURCE: css/catalog.css */
/* Fotografías originales y cintas del archivo. Estilos aislados de la Sala 0. */
#catalog.catalog-cinema { --cat-pad:clamp(18px,4vw,68px); background:#06090d; color:#eee9dd; overflow-x:hidden; }
.catalog-cinema .cat-top { position:relative; z-index:5; padding:calc(var(--safe-t) + 22px) var(--cat-pad) 20px; min-height:80px; background:#06090d; gap:16px; }
.cat-brand { display:flex; align-items:center; gap:20px; }
.catalog-cinema .wordmark { font-size:31px; color:#ede6d5; }
.cat-brand-note,.cat-kicker,.cat-section-note,.cat-demo-label,.cat-availability { font-family:var(--f-mono); font-size:10px; line-height:1.65; letter-spacing:.16em; text-transform:uppercase; }
.cat-brand-note { border-left:1px solid #4c4231; padding-left:20px; color:#998e78; }
.cat-nav { display:flex; align-items:center; gap:20px; }
.cat-nav-link { padding:12px 0; border:0; background:transparent; color:#b8b9b7; font-size:13px; }
.cat-nav-link:hover { color:#f0c981; }
.catalog-cinema .cat-hero { border:0; border-radius:0; margin:0; min-height:740px; overflow:hidden; display:block; background:#0b1219; isolation:isolate; padding:56px var(--cat-pad) 38px; }
.cat-plane-photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% 45%; transform-origin:77% 43%; animation:cat-plane-drift 23s ease-in-out infinite alternate; }
.cat-plane-aura { position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(90deg,#05090d7a,#05090d0f 54%,transparent 80%),linear-gradient(0deg,#06090d 0%,#06090dad 14%,transparent 50%,#06090d1a); }
.cat-flight-data { position:absolute; top:36px; right:var(--cat-pad); z-index:2; color:#b7c5ca; display:flex; gap:10px; align-items:center; opacity:.7; font:9px var(--f-mono); letter-spacing:.17em; }
.cat-flight-data i { width:38px; height:1px; background:#788b91; }
.cat-hero-copy { position:relative; z-index:2; width:min(440px,45%); margin-bottom:28px; }
.cat-kicker { color:#bca779; margin:0 0 13px; overflow-wrap:anywhere; }
.catalog-cinema .cat-hero h2 { max-width:430px; font:900 clamp(62px,6.5vw,94px)/.9 var(--f-display); text-transform:uppercase; letter-spacing:-.015em; text-wrap:balance; margin:0; text-shadow:0 2px 18px #0008; }
.cat-hero-intro { font-size:14px; line-height:1.65; color:#c7c8c5; max-width:36ch; margin:18px 0; }
.cat-hero-actions { display:flex; align-items:center; gap:15px; flex-wrap:wrap; }
.cat-demo-label { max-width:140px; color:#d8c49e; font-size:9px; letter-spacing:.08em; }
.cat-play { min-height:46px; font-size:13px; padding:0 20px; }
.cat-play-icon { font-size:11px; }
.cat-last-ending { color:#aeb2b2; font-size:11px; margin:14px 0 0; line-height:1.6; }
.cat-featured { position:relative; z-index:2; width:min(560px,49%); }
.cat-feature-head,.cat-section-head { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.cat-feature-head { margin-bottom:15px; }
.catalog-cinema .cat-feature-head h3 { font-size:16px; margin:0; letter-spacing:.03em; font-weight:600; }
.cat-section-note { color:#8f979d; margin:5px 0 0; font-size:9px; letter-spacing:.08em; }
.cat-feature-controls { display:flex; align-items:center; gap:2px; }
.cat-control { display:inline-grid; place-items:center; width:36px; height:36px; border:1px solid #83827244; background:#060a0e9e; color:#e8d9b8; border-radius:50%; font-size:25px; font-weight:400; line-height:1; padding:0; touch-action:manipulation; }
.cat-control:hover { border-color:#c49f62; background:#27313a; }
.cat-motion { font-size:13px; }
.cat-motion:disabled { opacity:.38; cursor:default; }
.cat-feature-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; padding:7px 0; }
.cat-cassette { min-width:0; padding:0; text-align:left; color:#f1eadc; background:transparent; border:0; position:relative; display:block; touch-action:manipulation; border-radius:4px; }
.cat-feature-track,.catalog-cinema .cat-strip { perspective:1100px; }
.cat-cassette { transform-style:preserve-3d; }
.cat-cassette-art { position:relative; display:block; aspect-ratio:2/3; overflow:hidden; border-radius:3px 6px 6px 3px; border:1px solid #8479675c; background:#11171d; box-shadow:4px 6px 14px #0007,inset 0 0 0 1px #ead4a522; transform-origin:center bottom; transition:transform .55s ease,border-color .5s ease,box-shadow .5s ease; }
.cat-cassette-art img { display:block; width:100%; height:100%; object-fit:cover; animation:cat-cover-breathe 26s ease-in-out infinite alternate; }
.cat-spine { position:absolute; top:0; bottom:0; left:0; width:13px; padding:12px 2px 8px; writing-mode:vertical-rl; transform:rotate(180deg); color:#cfc5af; font:7px var(--f-mono); letter-spacing:.13em; background:linear-gradient(90deg,#000c,#2630389e 60%,#000d); border-left:1px solid #cfc4a726; white-space:nowrap; }
.cat-cassette-shade { position:absolute; inset:0; background:linear-gradient(0deg,#030608f0 0%,#06090ba8 17%,transparent 58%,#03050855); }
.cat-cassette-top { position:absolute; left:23px; right:8px; top:10px; display:flex; justify-content:space-between; align-items:center; gap:4px; color:#d5d2c3; font:7px var(--f-mono); letter-spacing:.08em; }
.cat-tape-mark { border:1px solid #eee5cc80; padding:1px 3px; font-size:6px; letter-spacing:.02em; color:#eee3cb; }
.cat-release-badges { position:absolute; z-index:2; top:40px; left:23px; right:8px; display:flex; align-items:flex-start; gap:6px; flex-wrap:wrap; pointer-events:none; }
.cat-release-badge { display:inline-block; padding:5px 7px; font:700 7px/1.15 var(--f-mono); letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; clip-path:polygon(2% 6%,24% 0,54% 4%,99% 0,100% 91%,72% 100%,42% 95%,0 100%); }
.cat-release-available { color:#e7d5b2; background:#171814e8; border:1px solid #b9996694; box-shadow:0 3px 7px #0007; transform:rotate(-2deg); }
.cat-release-new { color:#fff0d3; background:linear-gradient(140deg,#a93a37,#661e2a); border:1px solid #e0986a6b; text-shadow:0 1px 1px #310712; transform:rotate(3deg); }
.catalog-cinema .cat-completion-spot { position:absolute; z-index:2; top:76px; left:23px; right:8px; pointer-events:none; }
.catalog-cinema .cat-completion-mark { display:inline-block; padding:6px 9px; border:1px solid #a7c1a478; border-radius:3px; background:#101d19e8; color:#d0e2c8; font:700 9px/1.4 var(--f-mono); letter-spacing:.04em; box-shadow:0 3px 8px #0006; }
.catalog-cinema [data-completion=granted] .cat-completion-mark { border-color:#b9996680; background:#1d1912e8; color:#e7d5b2; }
.catalog-cinema .cat-completion-panel { display:grid; justify-items:start; gap:12px; margin:16px 0; }
.catalog-cinema .cat-completion-retry { min-height:44px; max-width:100%; text-align:left; white-space:normal; line-height:1.5; }
.catalog-cinema .cat-completion-spot[hidden],.catalog-cinema .cat-completion-panel[hidden],.catalog-cinema .cat-completion-retry[hidden] { display:none; }
@media (max-width:600px) { .catalog-cinema .cat-completion-spot { top:54px; left:16px; } .catalog-cinema .cat-completion-spot .cat-completion-mark { font-size:7px; padding:4px 6px; } .catalog-cinema .cat-completion-retry { font-size:11px; } }
@media (max-width:600px) { .cat-release-badges { top:29px; left:16px; gap:4px; } .cat-release-badge { padding:4px; font-size:5px; letter-spacing:.025em; } }
.cat-cassette-title { position:absolute; left:23px; right:10px; bottom:36px; font:800 clamp(20px,2.1vw,29px)/.98 var(--f-display); text-transform:uppercase; text-wrap:balance; color:#f3e8d2; text-shadow:0 2px 4px #000b; }
.cat-cassette-bottom { position:absolute; left:23px; right:9px; bottom:13px; display:flex; align-items:center; justify-content:space-between; gap:4px; color:var(--tape-tone); font:6px var(--f-mono); letter-spacing:.02em; }
.cat-tape-reels { color:#ded6c2aa; font-size:10px; white-space:nowrap; }
.cat-cassette-shine { position:absolute; inset:-50% -70%; pointer-events:none; background:linear-gradient(110deg,transparent 38%,#d4e8f515 43%,#ecf5fc2b 47%,transparent 53%); transform:translateX(-40%); opacity:0; transition:transform .8s ease,opacity .8s ease; }
.cat-cassette-meta { display:grid; gap:5px; margin-top:12px; color:#c7c5bd; }
.cat-cassette-meta b { font:700 20px/1.05 var(--f-display); letter-spacing:.015em; text-transform:uppercase; }
.cat-cassette-meta > span { font-size:10px; color:#929a9f; line-height:1.5; }
.cat-feature-card .cat-cassette-meta { display:none; }
.cat-feature-card .cat-cassette-art { transform:translateY(0) rotate(.4deg); opacity:.76; transition:transform .65s ease,opacity .65s ease,border-color .65s ease; }
.cat-feature-card.is-current .cat-cassette-art { transform:translateY(-6px) rotate(-.6deg); opacity:1; border-color:var(--tape-tone); box-shadow:3px 8px 18px #0009,0 0 0 1px #f0d19a18; }
.cat-feature-card.is-current .cat-cassette-shine { transform:translateX(28%); opacity:.75; }
.cat-feature-card .cat-cassette-title { font-size:clamp(18px,1.9vw,26px); }
.cat-feature-caption { display:flex; gap:11px; align-items:center; min-height:25px; margin-top:8px; color:#c5c4b9; }
.cat-feature-counter { font:8px var(--f-mono); letter-spacing:.07em; color:#b09b75; flex-shrink:0; }
.cat-feature-current { font-size:10px; color:#afb7bd; line-height:1.35; }
.cat-observed { display:block; font:8px var(--f-mono); color:#bfb094; margin-top:9px; }
.catalog-cinema .cat-row { padding:34px 0 0; }
.cat-section-head { margin:0 var(--cat-pad) 23px; }
.cat-section-head .cat-kicker { margin-bottom:5px; font-size:9px; }
.catalog-cinema .cat-section-head h3 { font:700 clamp(25px,3vw,34px) var(--f-display); text-transform:uppercase; letter-spacing:.035em; margin:0; }
.catalog-cinema .cat-strip { padding:0 var(--cat-pad) 27px; gap:24px; grid-auto-columns:clamp(166px,19.4vw,250px); scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#756243 #0b1015; }
.cat-room-card { scroll-snap-align:start; padding-right:4px; }
.cat-room-card .cat-cassette-title { font-size:clamp(24px,2.7vw,36px); }
@media (hover:hover) {
  .cat-room-card:hover .cat-cassette-art,.cat-feature-card:hover .cat-cassette-art { transform:translate3d(0,-10px,32px) rotateY(-7deg) rotateZ(-.5deg); border-color:var(--tape-tone); box-shadow:11px 19px 27px #000a; opacity:1; }
  .cat-room-card:hover .cat-cassette-shine,.cat-cassette:focus-visible .cat-cassette-shine { transform:translateX(28%); opacity:.8; }
}
.cat-cassette:focus-visible { outline-offset:5px; }
.cat-cassette:focus-visible .cat-cassette-art { transform:translate3d(0,-10px,32px) rotateY(-7deg); opacity:1; border-color:var(--tape-tone); }
.catalog-cinema .cat-next { position:relative; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:30px; padding:42px var(--cat-pad) 33px; background:radial-gradient(ellipse at 76% 52%,#487f7920,transparent 53%),#06090d; perspective:1200px; }
.catalog-cinema .cat-next-copy { max-width:420px; }
.catalog-cinema .cat-next-copy .cat-kicker { color:#90a7a8; font-size:8px; }
.catalog-cinema .cat-next-copy h3 { font:800 clamp(37px,5vw,65px)/.97 var(--f-display); text-transform:uppercase; margin:0 0 18px; color:#d4dedb; }
.catalog-cinema .cat-next-copy > p:last-child { font:12px/1.8 var(--f-body); color:#9caaad; max-width:40ch; }
.catalog-cinema .cat-next-cover { justify-self:center; width:217px; border:0; padding:0; background:transparent; color:#d0dcd1; text-align:left; perspective:900px; touch-action:manipulation; }
.catalog-cinema .cat-next-art { position:relative; display:block; aspect-ratio:2/3; overflow:hidden; border-radius:3px 8px 7px 3px; border:1px solid #799b925d; background:radial-gradient(ellipse at 56% 51%,#75917732,transparent 50%),linear-gradient(160deg,#172926,#0b141a 54%,#101c1d); box-shadow:7px 10px 24px #0009,inset 0 0 0 3px #c8d9b20a; transform:rotateY(-9deg) rotateZ(1deg); transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s; }
.catalog-cinema .cat-next-art::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent 0 3px,#05101838 3px 4px); opacity:.6; }
.catalog-cinema .cat-next-art::after { content:''; position:absolute; left:8%; right:0; height:1px; background:linear-gradient(90deg,transparent,#c6ddbcaa,transparent); top:44%; animation:catNextScan 10s ease-in-out infinite; opacity:.5; }
.catalog-cinema .cat-next-spine { position:absolute; left:0; top:0; bottom:0; width:16px; writing-mode:vertical-rl; transform:rotate(180deg); padding:15px 3px; font:6px var(--f-mono); letter-spacing:.14em; color:#a5b4a6; background:linear-gradient(90deg,#03070f,#54756c36,#010710); }
.catalog-cinema .cat-next-top { position:absolute; top:17px; left:29px; font:6px var(--f-mono); letter-spacing:.15em; color:#8faea4; }
.catalog-cinema .cat-next-orbit { position:absolute; width:174px; height:174px; left:30px; top:63px; border:1px solid #89b4a534; border-radius:50%; border-bottom-color:#aad4b744; animation:catNextOrbit 58s linear infinite; }
.catalog-cinema .cat-next-orbit::before { content:''; position:absolute; width:4px; height:4px; border-radius:50%; top:11px; left:42px; background:#afd3b4; box-shadow:0 0 10px #afd3b4; }
.catalog-cinema .cat-next-orbit-second { width:130px; height:130px; left:52px; top:85px; border-style:dashed; animation-direction:reverse; }
.catalog-cinema .cat-next-door { position:absolute; top:93px; left:82px; width:68px; height:106px; border:1px solid #b0cdb679; border-bottom:0; background:linear-gradient(90deg,#071118,#91caba17); box-shadow:7px 0 15px #6ba6901c; transform:rotateY(-20deg); }
.catalog-cinema .cat-next-door i { position:absolute; right:3px; top:0; height:100%; width:2px; background:#d2e3aee0; box-shadow:0 0 18px 3px #a1c77a40; animation:catNextGlow 7s ease-in-out infinite; }
.catalog-cinema .cat-next-name { position:absolute; bottom:49px; left:32px; right:20px; font:800 41px/.94 var(--f-display); text-transform:uppercase; color:#d4dfc8; text-shadow:0 2px 10px #000b; }
.catalog-cinema .cat-next-receiving { position:absolute; bottom:18px; left:31px; font:6px var(--f-mono); letter-spacing:.08em; color:#a0b59c; }
.catalog-cinema .cat-next-cover-action { display:block; margin:16px 4px 0; text-align:center; font:8px var(--f-mono); letter-spacing:.05em; color:#8ca198; }
.catalog-cinema .cat-next-cover:focus-visible { outline:2px solid #b4ceb2; outline-offset:8px; }
.catalog-cinema .cat-next-cover:focus-visible .cat-next-art { transform:translate3d(0,-8px,40px) rotateY(3deg) rotateZ(-1deg); }
.catalog-cinema .cat-next-details { position:relative; grid-column:1/-1; padding:28px 35px; border:1px solid #819b7948; background:linear-gradient(130deg,#55774a15,#0c151c); scroll-margin:25px; }
.catalog-cinema .cat-next-details[hidden] { display:none; }
.catalog-cinema .cat-next-details h3 { font:800 36px/1 var(--f-display); margin:0 35px 15px 0; text-transform:uppercase; color:#d4dabe; }
.catalog-cinema .cat-next-details > p { font:12px/1.8 var(--f-body); color:#a6b2ab; max-width:70ch; }
.catalog-cinema .cat-next-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:23px; }
.catalog-cinema .cat-next-lock { color:#a1b694; font:8px var(--f-mono); letter-spacing:.1em; }
.catalog-cinema .cat-next-close { position:absolute; top:12px; right:12px; }
.catalog-cinema .cat-plans-book { position:relative; flex-shrink:0; min-width:110px; min-height:63px; padding:0; border:0; background:transparent; color:#dac5a1; perspective:500px; transform:rotate(-2deg); touch-action:manipulation; }
.catalog-cinema .cat-plans-pages { position:absolute; inset:6px -4px 3px 8px; border-radius:2px 7px 3px 2px; background:repeating-linear-gradient(0deg,#9c947a,#9c947a 1px,#242c30 1px,#242c30 3px); transform:rotateY(0deg); box-shadow:3px 5px 12px #0009; }
.catalog-cinema .cat-plans-cover { position:relative; display:grid; justify-items:center; padding:10px 15px 9px 21px; border:1px solid #846c4a; border-left:6px solid #5b472e; border-radius:3px 7px 6px 3px; background:radial-gradient(ellipse at 85% 13%,#c39d5229,transparent 60%),linear-gradient(120deg,#28251d,#11191b); box-shadow:inset 0 0 0 3px #b8995610,inset 0 1px 0 #d4b27d21; transform-origin:0 50%; transform:rotateY(-8deg); transition:transform .5s ease; }
.catalog-cinema .cat-plans-cover::before { content:''; position:absolute; top:0; bottom:0; width:1px; background:#c6b38e3d; left:6px; }
.catalog-cinema .cat-plans-seal { position:absolute; top:5px; left:10px; color:#bba270; font-size:9px; opacity:.7; }
.catalog-cinema .cat-plans-cover strong { font:700 22px/.96 var(--f-display); text-transform:uppercase; white-space:nowrap; }
.catalog-cinema .cat-plans-cover > span:last-child { margin-top:7px; font:5px var(--f-mono); letter-spacing:.12em; white-space:nowrap; color:#a89c82; }
.catalog-cinema .cat-plans-book:focus-visible { outline:2px solid #d0b980; outline-offset:5px; }
.catalog-cinema .cat-plans-book:focus-visible .cat-plans-cover { transform:rotateY(-31deg); }
@media (hover:hover) and (pointer:fine) {
  .catalog-cinema .cat-next-cover:hover .cat-next-art { transform:translate3d(0,-8px,40px) rotateY(3deg) rotateZ(-1deg); box-shadow:13px 18px 37px #000b; }
  .catalog-cinema .cat-plans-book:hover .cat-plans-cover { transform:rotateY(-31deg); }
}
@keyframes catNextOrbit { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes catNextGlow { 0%,100% { opacity:.3; } 50% { opacity:.95; } }
@keyframes catNextScan { 0%,100% { opacity:0; transform:translateY(-40px); } 40% { opacity:.5; } 70% { opacity:0; transform:translateY(95px); } }
#catalog[hidden] .cat-next-art::after,#catalog[hidden] .cat-next-orbit,#catalog[hidden] .cat-next-door i { animation-play-state:paused; }
.cat-reduced .cat-next *,.cat-reduced .cat-next *::before,.cat-reduced .cat-next *::after,.reduce .catalog-cinema .cat-next *,.reduce .catalog-cinema .cat-next *::before,.reduce .catalog-cinema .cat-next *::after { animation:none !important; transition:none !important; }
.cat-reduced .cat-plans-cover,.reduce .catalog-cinema .cat-plans-cover { transition:none; }
@media (max-width:900px) {
  .catalog-cinema .cat-top { flex-wrap:wrap; }
  .catalog-cinema .cat-brand { flex:1 1 auto; }
  .catalog-cinema .cat-nav { flex-wrap:wrap; justify-content:flex-end; }
  .catalog-cinema .cat-next { grid-template-columns:1.2fr .8fr; gap:20px; }
  .catalog-cinema .cat-next-cover { width:190px; }
  .catalog-cinema .cat-next-name { font-size:35px; }
  .catalog-cinema .cat-next-orbit { width:148px; height:148px; left:29px; top:52px; }
  .catalog-cinema .cat-next-orbit-second { width:114px; height:114px; left:45px; top:69px; }
  .catalog-cinema .cat-next-door { top:75px; left:76px; width:53px; height:91px; }
}
@media (max-width:600px) {
  .catalog-cinema .cat-top { gap:15px 12px; }
  .catalog-cinema .cat-top .cat-nav { flex:1 1 100%; justify-content:space-between; gap:9px; }
  .catalog-cinema .cat-plans-book { min-height:48px; min-width:95px; }
  .catalog-cinema .cat-plans-cover { padding:8px 10px 7px 16px; }
  .catalog-cinema .cat-plans-cover strong { font-size:19px; }
  .catalog-cinema .cat-plans-cover > span:last-child { font-size:4px; margin-top:5px; }
  .catalog-cinema .cat-next { padding-top:31px; grid-template-columns:1fr; gap:24px; }
  .catalog-cinema .cat-next-copy h3 { font-size:40px; }
  .catalog-cinema .cat-next-copy > p:last-child { font-size:11px; max-width:47ch; }
  .catalog-cinema .cat-next-cover { width:205px; }
  .catalog-cinema .cat-next-name { font-size:40px; }
  .catalog-cinema .cat-next-door { top:87px; left:80px; width:62px; height:100px; }
  .catalog-cinema .cat-next-orbit { top:61px; left:26px; width:170px; height:170px; }
  .catalog-cinema .cat-next-orbit-second { top:80px; left:46px; width:130px; height:130px; }
  .catalog-cinema .cat-next-details { padding:22px; }
  .catalog-cinema .cat-next-details h3 { font-size:32px; }
  .catalog-cinema .cat-next-details > p { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  .catalog-cinema .cat-next *,.catalog-cinema .cat-next *::before,.catalog-cinema .cat-next *::after { animation:none !important; transition:none !important; }
  .catalog-cinema .cat-plans-cover { transition:none; }
}
.cat-detail { position:relative; margin:26px var(--cat-pad) 8px; display:grid; grid-template-columns:.9fr 1.1fr; min-height:310px; border:1px solid #7a6c4b66; background:#0e151c; border-radius:9px; overflow:hidden; box-shadow:0 10px 28px #0005; scroll-margin:20px; }
.cat-detail-photo { min-height:310px; overflow:hidden; position:relative; }
.cat-detail-photo img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 37%; }
.cat-detail-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent 50%,#0e151c); }
.cat-detail-copy { padding:38px 42px 36px 28px; align-self:center; }
.cat-detail-copy h3 { font:800 clamp(33px,4vw,55px)/1 var(--f-display); text-transform:uppercase; margin:0 0 10px; color:#ede3cd; text-wrap:balance; }
.cat-detail-copy > p { font-size:13px; line-height:1.75; color:#bac0c4; max-width:49ch; }
.cat-detail-copy .cat-detail-tag { color:var(--tape-tone); font-size:11px; }
.cat-detail-copy .cat-closed { color:#d0b680; font:9px/1.6 var(--f-mono); letter-spacing:.12em; margin-top:24px; }
.cat-detail-close { position:absolute; top:12px; right:12px; background:#070a0fdb; z-index:2; }
.cat-available { padding:26px 0 22px; }
.cat-sala0 { display:grid; grid-template-columns:1.1fr 1fr; margin:0 var(--cat-pad); background:#10161b; border:1px solid #374149; border-radius:8px; overflow:hidden; min-height:270px; }
.cat-sala0-photo { position:relative; min-height:270px; overflow:hidden; }
.cat-sala0-photo img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:63% center; }
.cat-sala0-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent 40%,#10161b); }
.cat-sala0-copy { padding:32px 35px; align-self:center; }
.cat-availability { color:#bfae7a; font-size:9px; }
.cat-sala0-copy h4 { font:800 clamp(30px,4vw,45px)/1 var(--f-display); text-transform:uppercase; margin:11px 0 13px; text-wrap:balance; }
.cat-sala0-copy p { font-size:13px; line-height:1.7; color:#a9b4ba; margin-bottom:21px; max-width:49ch; }
.cat-sala0-copy .cat-record { font:10px/1.6 var(--f-mono); color:#c8b17e; }
.catalog-cinema .cat-foot { padding:38px var(--cat-pad) calc(var(--safe-b) + 38px); color:#a0a5a6; font-size:11px; line-height:1.75; border-top:1px solid #2b3239; margin-top:24px; }
.cat-foot-wordmark { color:#c2af87; font:10px var(--f-mono); letter-spacing:.2em; margin-bottom:20px; }
.cat-copyright { margin-top:27px; text-align:center; color:#8d9498; font-size:10px; }
.catalog-cinema .cat-community { margin:0; padding:24px var(--cat-pad); }
.catalog-cinema > .reward-inventory { margin-left:var(--cat-pad); margin-right:var(--cat-pad); }
@keyframes cat-plane-drift { from { transform:scale(1.015) translate3d(0,-.3%,0) rotate(-.15deg); } to { transform:scale(1.05) translate3d(-.4%,.6%,0) rotate(.15deg); } }
@keyframes cat-cover-breathe { from { transform:scale(1.015); } to { transform:scale(1.075) translateY(-.9%); } }
.cat-photo-paused .cat-plane-photo,.cat-paused .cat-cassette-art img { animation-play-state:paused; }
.cat-reduced .cat-plane-photo,.cat-reduced .cat-cassette-art img,.reduce .catalog-cinema .cat-plane-photo,.reduce .catalog-cinema .cat-cassette-art img { animation:none; }
.cat-reduced .cat-cassette-art,.cat-reduced .cat-cassette-shine,.reduce .catalog-cinema .cat-cassette-art,.reduce .catalog-cinema .cat-cassette-shine { transition:none; }
@media (min-width:1600px) {
  .catalog-cinema .cat-hero { min-height:850px; padding-top:85px; }
  .cat-featured { width:620px; }
  .cat-hero-copy { margin-bottom:40px; }
}
@media (max-width:900px) {
  .cat-brand-note { display:none; }
  .catalog-cinema .cat-hero { min-height:740px; padding-top:45px; }
  .cat-hero-copy { width:48%; }
  .catalog-cinema .cat-hero h2 { font-size:65px; }
  .cat-featured { width:54%; }
  .cat-demo-label { display:none; }
  .cat-cassette-bottom { font-size:5px; }
  .cat-tape-reels { font-size:8px; }
  .cat-spine { width:10px; }
  .cat-cassette-top,.cat-cassette-title,.cat-cassette-bottom { left:17px; }
}
@media (max-width:600px) {
  .catalog-cinema .cat-top { padding-top:calc(var(--safe-t) + 17px); padding-bottom:17px; min-height:71px; }
  .catalog-cinema .wordmark { font-size:27px; }
  .cat-nav { gap:13px; }
  .cat-nav-link { display:none; }
  .cat-nav .btn.small { min-height:35px; font-size:11px; padding:0 13px; }
  .catalog-cinema .cat-hero { min-height:0; padding:247px var(--cat-pad) 26px; }
  .cat-plane-photo { height:470px; object-position:86% 40%; }
  .cat-plane-aura { background:linear-gradient(0deg,#06090d 0%,#06090d 28%,#06090da3 47%,transparent 75%,#06090d14); }
  .cat-flight-data { top:15px; font-size:7px; gap:7px; }
  .cat-flight-data i { width:21px; }
  .cat-hero-copy { width:100%; margin-bottom:27px; }
  .cat-kicker { font-size:8px; margin-bottom:12px; }
  .catalog-cinema .cat-hero h2 { font-size:clamp(49px,13vw,68px); max-width:370px; text-wrap:initial; }
  .cat-hero-intro { margin-top:14px; margin-bottom:15px; max-width:43ch; font-size:12px; line-height:1.7; }
  .cat-hero-actions { gap:11px; }
  .cat-play { min-height:44px; font-size:12px; }
  .cat-demo-label { display:block; font-size:7px; max-width:120px; }
  .cat-last-ending { font-size:9px; margin-top:11px; }
  .cat-featured { width:100%; }
  .cat-feature-head { margin-bottom:9px; }
  .catalog-cinema .cat-feature-head h3 { font-size:14px; }
  .cat-section-note { font-size:8px; margin-top:3px; }
  .cat-control { width:32px; height:32px; }
  .cat-feature-controls { gap:3px; }
  .cat-feature-track { gap:9px; padding-top:9px; }
  .cat-feature-card .cat-cassette-title { font-size:clamp(17px,4.9vw,26px); bottom:29px; right:6px; }
  .cat-cassette-top { left:16px; top:7px; right:5px; font-size:5px; }
  .cat-tape-mark { font-size:4px; }
  .cat-feature-card .cat-cassette-bottom { bottom:10px; left:16px; right:5px; font-size:4px; }
  .cat-tape-reels { font-size:7px; }
  .cat-feature-caption { margin-top:5px; }
  .cat-feature-current { font-size:9px; }
  .cat-observed { font-size:6px; line-height:1.5; }
  .catalog-cinema .cat-row { padding-top:26px; }
  .cat-section-head { display:block; margin-bottom:17px; }
  .cat-section-head > .cat-section-note { margin-top:7px; }
  .catalog-cinema .cat-section-head h3 { font-size:28px; }
  .catalog-cinema .cat-strip { grid-auto-columns:min(46vw,200px); gap:16px; padding-bottom:24px; }
  .cat-room-card .cat-cassette-title { font-size:25px; }
  .cat-cassette-meta b { font-size:19px; }
  .cat-cassette-meta > span { font-size:9px; }
  .cat-detail { grid-template-columns:1fr; margin-top:14px; }
  .cat-detail-photo { min-height:230px; max-height:270px; }
  .cat-detail-photo::after { background:linear-gradient(0deg,#0e151c,transparent 55%); }
  .cat-detail-copy { padding:4px 23px 27px; }
  .cat-detail-copy h3 { font-size:35px; }
  .cat-detail-copy > p { font-size:12px; }
  .cat-detail-close { width:36px; height:36px; }
  .cat-available { padding-top:24px; }
  .cat-sala0 { grid-template-columns:1fr; }
  .cat-sala0-photo { min-height:210px; }
  .cat-sala0-photo::after { background:linear-gradient(0deg,#10161b,transparent 60%); }
  .cat-sala0-copy { padding:6px 24px 27px; }
  .cat-sala0-copy h4 { font-size:35px; }
  .cat-sala0-copy p { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .catalog-cinema .cat-plane-photo,.catalog-cinema .cat-cassette-art img { animation:none; }
  .catalog-cinema .cat-cassette-art,.catalog-cinema .cat-cassette-shine { transition:none; }
}

/* La escena se ve entera: las cintas ocupan su propia franja bajo la fotografía. */
.catalog-cinema .cat-plane-hero { min-height:680px; height:clamp(600px,55.2vw,825px); padding:38px var(--cat-pad) 25px; }
.catalog-cinema .cat-plane-photo { object-position:50% 50%; }
.catalog-cinema .cat-plane-aura { background:linear-gradient(180deg,#03080bc9 0%,#03080b70 27%,transparent 48%,#06090d2b 82%,#06090d 100%); }
.catalog-cinema .cat-plane-hero .cat-hero-copy { width:min(730px,65%); margin-bottom:0; }
.catalog-cinema .cat-plane-hero h2.cat-alarm-headline { position:relative; max-width:none; font:900 clamp(56px,5.8vw,88px)/.92 var(--f-display); color:#e2564b; text-transform:uppercase; letter-spacing:-.015em; text-shadow:2px 3px 0 #21090bf0,0 0 25px #ce322438; transform:rotate(-1.3deg); }
.catalog-cinema .cat-alarm-headline > span { display:block; }
.catalog-cinema .cat-alarm-headline .cat-weekly-words { display:inline-block; margin-top:5px; color:#ef6b5b; }
.catalog-cinema .cat-hero-challenge { display:inline-block; position:relative; max-width:600px; padding:8px 13px 9px; margin:19px 0 21px; border:1px solid #a2413b8a; background:linear-gradient(110deg,#4b11196e,#0a0c12b8); color:#f0c6a5; font:700 clamp(21px,2.2vw,29px)/1.15 var(--f-display); text-transform:uppercase; letter-spacing:.02em; transform:rotate(.4deg); clip-path:polygon(1% 5%,24% 0,41% 4%,62% 0,100% 4%,99% 97%,72% 100%,53% 96%,29% 100%,0 95%); }
.catalog-cinema .cat-featured-strip { width:auto; padding:30px var(--cat-pad) 25px; background:radial-gradient(ellipse at 30% 0,#4e614217,transparent 60%),#080d13; border-bottom:1px solid #a38b512e; }
.catalog-cinema .cat-featured-strip .cat-feature-head { max-width:950px; margin:0 auto 20px; }
.catalog-cinema .cat-featured-strip .cat-feature-track { width:min(850px,100%); margin:auto; gap:clamp(20px,3vw,43px); }
.catalog-cinema .cat-featured-strip .cat-feature-caption { width:min(950px,100%); margin:18px auto 0; }
.catalog-cinema .cat-featured-strip .cat-feature-card .cat-cassette-title { font-size:clamp(23px,3vw,39px); }
.catalog-cinema .cat-featured-strip .cat-cassette-art { max-height:340px; aspect-ratio:2/3; }
.catalog-cinema .cat-featured-strip .cat-cassette-top { font-size:8px; top:12px; }
.catalog-cinema .cat-featured-strip .cat-cassette-bottom { font-size:7px; bottom:14px; }
@media (min-width:1600px) { .catalog-cinema .cat-plane-hero { height:850px; padding-top:55px; } }
@media (max-width:1000px) {
  .catalog-cinema .cat-plane-hero { min-height:590px; height:620px; padding-top:27px; }
  .catalog-cinema .cat-plane-hero .cat-hero-copy { width:min(680px,74%); }
  .catalog-cinema .cat-plane-hero h2.cat-alarm-headline { font-size:clamp(51px,6vw,65px); }
  .catalog-cinema .cat-hero-challenge { font-size:23px; margin:16px 0 17px; }
}
@media (max-width:600px) {
  .catalog-cinema .cat-plane-hero { min-height:0; height:auto; padding:350px var(--cat-pad) 28px; }
  .catalog-cinema .cat-plane-photo { height:385px; object-position:89% 40%; }
  .catalog-cinema .cat-plane-aura { background:linear-gradient(0deg,#06090d 0%,#06090d 19%,#06090ddd 40%,#06090d55 64%,transparent 90%); }
  .catalog-cinema .cat-plane-hero .cat-hero-copy { width:100%; }
  .catalog-cinema .cat-plane-hero h2.cat-alarm-headline { font-size:clamp(26px,7.5vw,34px); line-height:.96; }
  .catalog-cinema .cat-alarm-headline .cat-weekly-words { margin-top:8px; }
  .catalog-cinema .cat-hero-challenge { font-size:clamp(17px,4.6vw,19px); line-height:1.12; margin:14px 0 16px; padding:8px 10px; }
  .catalog-cinema .cat-featured-strip { padding-top:27px; }
  .catalog-cinema .cat-featured-strip .cat-feature-track { gap:13px; }
  .catalog-cinema .cat-featured-strip .cat-feature-head { margin-bottom:16px; }
  .catalog-cinema .cat-featured-strip .cat-feature-card .cat-cassette-title { font-size:clamp(17px,4.9vw,27px); }
  .catalog-cinema .cat-featured-strip .cat-cassette-top { font-size:5px; top:8px; }
  .catalog-cinema .cat-featured-strip .cat-cassette-bottom { font-size:4px; bottom:10px; }
  .catalog-cinema .cat-featured-strip .cat-feature-caption { margin-top:12px; }
}


/* NOWAYOUT SOURCE: css/catalog-storm.css */
/* Postefectos del catálogo: cristal húmedo, tormenta azul y escape de motor ámbar. */
.catalog-storm-effects { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; contain:layout paint size; --storm-flash:0; }
.catalog-storm-canvas { opacity:.98; }
.catalog-storm-sky-light { position:absolute; inset:0; opacity:calc(var(--storm-flash) * .65); background:radial-gradient(ellipse at 66% 4%,#e1f4ffb5 0,#adcfe85c 23%,#7299ba24 44%,transparent 70%); mix-blend-mode:screen; }
.catalog-storm-bolts { position:absolute; inset:0; width:100%; height:100%; fill:none; opacity:calc(var(--storm-flash) * .96); }
.catalog-storm-bolts g { stroke:#e7f7ff; stroke-width:1.45; stroke-linejoin:round; filter:drop-shadow(0 0 2px #bad5ff); }
.catalog-storm-air { position:absolute; inset:-8% -15%; opacity:.22; background:repeating-linear-gradient(167deg,transparent 0 78px,#bbd5df20 79px,transparent 81px 137px); transform:translate3d(0,0,0); animation:catalogStormWind 4.3s linear infinite; }
.catalog-storm-lens { position:absolute; inset:0; background:linear-gradient(112deg,transparent 0 7%,#aecbd410 7.1%,transparent 7.5% 94%,#aac6d212 94.1%,transparent 94.5%),linear-gradient(90deg,#060a103d,transparent 7% 93%,#060a102e); }
.catalog-storm-lens::before { content:''; position:absolute; inset:-18% -40%; background:linear-gradient(116deg,transparent 38%,#d2e5e515 42%,#e6f5f02d 43%,transparent 46%); opacity:.43; transform:translateX(-16%); animation:catalogStormReflection 12s ease-in-out infinite alternate; }
.catalog-storm-lens::after { content:''; position:absolute; inset:0; opacity:calc(.18 + var(--storm-flash) * .44); background:radial-gradient(ellipse at 97% 4%,#d4ecff33,transparent 35%),linear-gradient(107deg,transparent 70%,#bcced91c 70.2%,transparent 70.7%); mix-blend-mode:screen; }
.catalog-storm-rim { position:absolute; inset:0; opacity:calc(.08 + var(--storm-flash) * .67); background:linear-gradient(90deg,#c2dff53d,transparent 1.7% 98.3%,#d5eaff66),linear-gradient(0deg,transparent 96.7%,#cce8ff3d); mix-blend-mode:screen; }
.catalog-storm-glass { position:absolute; inset:0; width:100%; height:100%; fill:none; opacity:.65; }
.catalog-storm-crack-shadow { stroke:#000a; stroke-width:2.6; transform:translate(1px,1px); }
.catalog-storm-crack-edge { stroke:#a8c6d0; stroke-width:.72; stroke-opacity:.51; }
.catalog-storm-crack-hair { stroke:#adcdd3; stroke-width:.35; stroke-opacity:.35; }
.catalog-storm-crack-glint { stroke:#edfaff; stroke-width:1.1; opacity:calc(.12 + var(--storm-flash) * .78); }
.catalog-storm-paused .catalog-storm-air,.catalog-storm-paused .catalog-storm-lens::before { animation-play-state:paused; }
.catalog-storm-reduced .catalog-storm-air,.catalog-storm-reduced .catalog-storm-lens::before { animation:none; }
.catalog-storm-reduced .catalog-storm-sky-light,.catalog-storm-reduced .catalog-storm-bolts { display:none; }
.catalog-storm-reduced .catalog-storm-glass { opacity:.42; }
@keyframes catalogStormWind { from { transform:translate3d(0,-2.2%,0); } to { transform:translate3d(-10%,2.2%,0); } }
@keyframes catalogStormReflection { from { transform:translateX(-16%); opacity:.32; } to { transform:translateX(12%); opacity:.57; } }
@media (max-width:600px) { .catalog-storm-glass { opacity:.57; } }
@media (prefers-reduced-motion:reduce) { .catalog-storm-effects *,.catalog-storm-effects *::before { animation:none !important; } .catalog-storm-sky-light,.catalog-storm-bolts { display:none; } }

/* NOWAYOUT SOURCE: css/catalog-unlock.css */
/* Caja encontrada en el desierto: madera vieja, cobre y la luz de NOWAYOUT. */
.nwo-chest-opening {
  position: fixed; inset: 0; z-index: 1200; overflow: hidden; isolation: isolate;
  background: radial-gradient(ellipse at 50% 62%, #45311d 0, #1a1816 27%, #090d12 65%, #06080b 100%);
  color: var(--fg, #ebe5d6); font-family: var(--f-body, system-ui, sans-serif);
  animation: nwoChestArrival .55s ease-out both;
}
.nwo-chest-opening::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 50% 50%, transparent 28%, #05080aa8 92%); }
.nwo-chest-sand {
  position: absolute; inset: 57% -20% -18%; transform: rotate(-3deg);
  background: repeating-radial-gradient(ellipse at 20% 150%, transparent 0 28px, #bfa5790c 29px 30px, transparent 32px 48px), linear-gradient(170deg, #413529 0, #31261c 28%, #131311 76%);
  border-radius: 48% 46% 0 0; box-shadow: inset 0 2px 1px #baa78013;
}
.nwo-chest-horizon { position: absolute; width: 140%; height: 22%; left: -20%; top: 52%; border-radius: 55% 65% 0 0; transform: rotate(6deg); background: linear-gradient(180deg, #352a2159, transparent); }
.nwo-chest-scene { position: absolute; width: min(620px, 100%); height: min(430px, 56vh); left: 50%; top: 45%; transform: translate(-50%, -12%); perspective: 850px; }
.nwo-chest-box { position: absolute; width: 64%; aspect-ratio: 360 / 260; left: 18%; bottom: 10%; transform-style: preserve-3d; transform: rotateY(-9deg) rotateX(-4deg); animation: nwoChestDiscover 5.05s cubic-bezier(.2,.65,.3,1) both; }
.nwo-chest-body { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.nwo-chest-lid { position: absolute; left: 4.2%; top: 1%; width: 90%; height: 50%; transform-origin: 50% 100%; transform-style: preserve-3d; backface-visibility: visible; animation: nwoChestLid 5.05s cubic-bezier(.24,.7,.2,1) both; }
.nwo-chest-lid svg { display: block; width: 100%; height: 100%; }
.nwo-chest-lid::after { content: ''; position: absolute; inset: 1px; border-radius: 35% 35% 0 0; background: linear-gradient(180deg, #f2a54100, #ffcf7a14); opacity: 0; animation: nwoChestCopper 5.05s ease both; pointer-events: none; }
.nwo-chest-shadow { position: absolute; width: 66%; height: 10%; bottom: 8%; left: 17%; border-radius: 50%; background: radial-gradient(ellipse, #000b, #0000 70%); transform: scaleY(.6); }
.nwo-chest-inner-light { position: absolute; left: 9%; top: 43%; width: 81%; height: 10%; border-radius: 50%; background: radial-gradient(ellipse, #ffe3a6b8, #db93327a 48%, transparent 75%); opacity: 0; animation: nwoChestLight 5.05s ease both; }
.nwo-chest-halo { position: absolute; inset: -18% -10% 5%; background: radial-gradient(ellipse at 50% 72%, #eeb86c2e, #d2913420 25%, transparent 63%); opacity: 0; animation: nwoChestLight 5.05s ease both; }
.nwo-chest-beam { position: absolute; width: 75%; height: 104%; left: 12.5%; bottom: 24%; transform-origin: 50% 100%; clip-path: polygon(48% 100%, 0 0, 100% 0, 52% 100%); background: linear-gradient(0deg, #ffcc7473, #ffd7981a 55%, #ffe8b700); opacity: 0; animation: nwoChestLight 5.05s ease both; pointer-events: none; }
.nwo-chest-beam-two { width: 44%; left: 28%; transform: rotate(9deg); background: linear-gradient(0deg, #ffdaa35c, #ffcc7314 45%, transparent); }
.nwo-chest-dust { position: absolute; inset: 0; pointer-events: none; }
.nwo-chest-dust i { position: absolute; width: var(--dust-size); height: var(--dust-size); left: var(--dust-x); bottom: 38%; border-radius: 50%; background: #e5bd78; opacity: 0; animation: nwoChestDust 2.9s var(--dust-delay) cubic-bezier(.2,.6,.4,1) both; }
.nwo-chest-copy { position: absolute; z-index: 2; left: 20px; right: 20px; top: calc(env(safe-area-inset-top, 0px) + 7%); text-align: center; animation: nwoChestCopy .8s ease both; }
.nwo-chest-kicker { margin: 0 0 14px; color: var(--amber2, #ffcf7a); font: 11px/1.5 var(--f-mono, monospace); letter-spacing: .12em; text-transform: uppercase; }
.nwo-chest-copy h2 { margin: 0; font: 900 clamp(40px, 8.5vw, 76px)/.94 var(--f-display, sans-serif); text-transform: uppercase; letter-spacing: .015em; }
.nwo-chest-story { max-width: 38ch; margin: 14px auto 0; color: #bfb9ac; font-size: clamp(13px, 2vw, 15px); line-height: 1.6; text-wrap: balance; }
.nwo-chest-status { min-height: 20px; margin: 15px 0 0; color: #d6b97f; font: 10px/1.5 var(--f-mono, monospace); letter-spacing: .04em; }
.nwo-chest-skip { position: absolute; z-index: 3; bottom: calc(env(safe-area-inset-bottom, 0px) + 22px); left: 50%; transform: translateX(-50%); min-height: 44px; padding: 0 18px; border: 1px solid #675238; border-radius: 999px; background: #080d12bb; color: #c9beaa; font: 12px var(--f-body, system-ui, sans-serif); touch-action: manipulation; }
.nwo-chest-skip:hover { border-color: #b48c50; color: #ffdfaa; }
.nwo-chest-skip:focus-visible { outline: 2px solid #ffcf7a; outline-offset: 4px; }
.nwo-chest-opening.nwo-chest-leaving { animation: nwoChestDeparture .28s ease-in both; }
@keyframes nwoChestArrival { from { opacity: 0; } to { opacity: 1; } }
@keyframes nwoChestCopy { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes nwoChestDiscover { 0% { opacity: 0; transform: rotateY(-9deg) rotateX(-4deg) translateY(10px) scale(.95); } 20% { opacity: 1; } 75%,100% { opacity: 1; transform: rotateY(-9deg) rotateX(-4deg) scale(1.04); } }
@keyframes nwoChestLid { 0%,28% { transform: rotateX(0); } 35% { transform: rotateX(-5deg); } 70%,100% { transform: rotateX(-108deg); } }
@keyframes nwoChestLight { 0%,31% { opacity: 0; } 65% { opacity: .78; } 82%,100% { opacity: 1; } }
@keyframes nwoChestCopper { 0%,36% { opacity: 0; } 72%,100% { opacity: 1; } }
@keyframes nwoChestDust { 0% { opacity: 0; transform: translate3d(0,0,0); } 22% { opacity: .54; } 100% { opacity: 0; transform: translate3d(var(--dust-dx), calc(-1 * var(--dust-rise)), 0); } }
@keyframes nwoChestDeparture { from { opacity: 1; } to { opacity: 0; } }
@media (max-width: 480px) {
  .nwo-chest-copy { top: calc(env(safe-area-inset-top, 0px) + 10%); left: 22px; right: 22px; }
  .nwo-chest-copy h2 { max-width: 9ch; margin: 0 auto; font-size: clamp(38px, 11vw, 52px); }
  .nwo-chest-story { max-width: 29ch; font-size: 13px; }
  .nwo-chest-scene { top: 51%; height: min(340px, 45vh); }
  .nwo-chest-box { width: 76%; left: 12%; bottom: 10%; }
  .nwo-chest-beam { bottom: 25%; }
}
@media (max-height: 520px) and (min-width: 481px) {
  .nwo-chest-copy { left: 5%; right: auto; width: 43%; top: 15%; text-align: left; }
  .nwo-chest-copy h2 { font-size: clamp(34px, 6vw, 54px); }
  .nwo-chest-story { margin-left: 0; }
  .nwo-chest-scene { left: 73%; top: 35%; width: 52%; height: 70vh; }
}
.nwo-chest-gentle, .nwo-chest-gentle * { animation: none !important; }
.nwo-chest-gentle .nwo-chest-box { opacity: 1; }
.nwo-chest-gentle .nwo-chest-lid { transform: rotateX(-108deg); }
.nwo-chest-gentle .nwo-chest-inner-light, .nwo-chest-gentle .nwo-chest-halo { opacity: .65; }
.nwo-chest-gentle .nwo-chest-beam, .nwo-chest-gentle .nwo-chest-dust { display: none; }
@media (prefers-reduced-motion: reduce) { .nwo-chest-opening, .nwo-chest-opening * { animation: none !important; } .nwo-chest-dust { display: none; } }

/* NOWAYOUT SOURCE: css/witness.css */
/* El Testigo. Sólo este componente anima las fotografías y su humo acotado. */
.witness-root { position:fixed; inset:0; z-index:14; pointer-events:none; overflow:hidden; contain:layout paint; --witness-flash:.4; color:#dedacb; }
.witness-stage { position:absolute; left:0; top:0; width:var(--witness-width,98px); height:var(--witness-height,148px); pointer-events:none; transform-origin:50% 87%; --witness-neck:23%; --witness-face-x:50%; --witness-face-y:13%; }
.witness-stage[data-pose="sitting"] { --witness-neck:36%; --witness-face-x:44%; --witness-face-y:22%; }
/* Portada: recorte de la misma capucha; el área de toque conserva 44 px. */
.witness-stage[data-view="head"] { --witness-neck:20%; transform-origin:50% 74%; }
.witness-stage[data-view="head"] .witness-figure { overflow:hidden; transform-origin:50% 74%; }
.witness-stage[data-view="head"] .witness-figure img { inset:auto; top:2px; left:calc(50% - var(--witness-width)*1.225); width:calc(var(--witness-width)*2.45); height:calc(var(--witness-width)*3.675); object-fit:fill; }
.witness-stage[data-view="head"] .witness-head { clip-path:inset(0 32% 79.4%); -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 19.5%,transparent 20.6%); mask-image:linear-gradient(to bottom,#000 0%,#000 19.5%,transparent 20.6%); }
.witness-stage[data-view="head"] .witness-body,.witness-stage[data-view="head"] .witness-boot,.witness-stage[data-view="head"] .witness-salute,.witness-stage[data-view="head"] .witness-walk-sprite,.witness-stage[data-view="head"] .witness-foot-shadow,.witness-stage[data-view="head"] .witness-smoke { display:none !important; }
.witness-head-leaving .witness-actor { animation:witness-head-hide .23s ease-in forwards; pointer-events:none; }
.witness-head-arriving .witness-actor { animation:witness-head-show .39s ease-out both; pointer-events:none; }
.witness-actor { appearance:none; display:block; position:absolute; inset:0; padding:0; margin:0; width:100%; height:100%; border:0; background:transparent; border-radius:45% 45% 20% 20%; pointer-events:auto; cursor:pointer; outline-offset:5px; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.witness-actor:focus-visible { outline:1px solid #d4ae68; }
.witness-figure { position:absolute; inset:0; display:block; transform-origin:50% 87%; animation:witness-breath 6.7s ease-in-out infinite; }
.witness-figure img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; -webkit-user-drag:none; }
.witness-body { -webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent calc(var(--witness-neck) - 2%),#000 calc(var(--witness-neck) + 1%),#000 100%); mask-image:linear-gradient(to bottom,transparent 0%,transparent calc(var(--witness-neck) - 2%),#000 calc(var(--witness-neck) + 1%),#000 100%); }
.witness-head { -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(var(--witness-neck) - 2%),transparent calc(var(--witness-neck) + 2%)); mask-image:linear-gradient(to bottom,#000 0%,#000 calc(var(--witness-neck) - 2%),transparent calc(var(--witness-neck) + 2%)); transform-origin:50% var(--witness-neck); animation:witness-head-idle 11s ease-in-out infinite; }
.witness-crack { -webkit-mask-image:radial-gradient(ellipse 4% 12% at var(--witness-face-x) var(--witness-face-y),#000 0%,#000 35%,transparent 83%); mask-image:radial-gradient(ellipse 4% 12% at var(--witness-face-x) var(--witness-face-y),#000 0%,#000 35%,transparent 83%); filter:brightness(1.6) drop-shadow(0 0 2px #ffbe58); opacity:.16; }
.witness-speaking .witness-crack { animation:witness-radio-light 1.8s ease-in-out infinite; }
.witness-speaking .witness-head { animation:witness-head-speaking 4.8s ease-in-out infinite; }
.witness-stage[data-pose="sitting"] .witness-crack { -webkit-mask-image:radial-gradient(ellipse 5% 13% at 44% 21%,#000 0%,#000 35%,transparent 83%); mask-image:radial-gradient(ellipse 5% 13% at 44% 21%,#000 0%,#000 35%,transparent 83%); }
.witness-boot,.witness-salute { opacity:0; }
.witness-walk-sprite { position:absolute; top:0; bottom:0; left:calc(50% - var(--witness-height)*.259765625); width:calc(var(--witness-height)*.51953125); background-repeat:no-repeat; background-size:400% 200%; display:none; transform:scaleX(var(--walk-direction,1)); }
.witness-salute { transition:opacity .28s ease; z-index:3; }
.witness-salute.is-visible { opacity:1; }
.witness-foot-shadow { position:absolute; display:block; bottom:0; left:30%; width:42%; height:8px; border-radius:50%; background:radial-gradient(ellipse,#0009 0%,#0004 40%,transparent 72%); opacity:.58; transform:scaleX(.92); }
.witness-stage[data-pose="sitting"] .witness-foot-shadow { width:51%; left:24%; }
.witness-walking .witness-figure { animation:none; }
.witness-walking .witness-figure > img { opacity:0 !important; }
.witness-walking .witness-walk-sprite { display:block; animation:witness-walk-frames 1.04s steps(1,end) infinite; }
.witness-boot-left { clip-path:polygon(27% 76%,50% 76%,50% 100%,27% 100%); transform-origin:40% 77%; }
.witness-boot-right { clip-path:polygon(50% 76%,75% 76%,75% 100%,50% 100%); transform-origin:60% 77%; }
.witness-walking .witness-boot-left { animation:witness-step-left .64s ease-in-out infinite; }
.witness-walking .witness-boot-right { animation:witness-step-right .64s ease-in-out infinite; }
.witness-walking .witness-foot-shadow { animation:witness-step-shadow 1.04s ease-in-out infinite; }
.witness-flying .witness-figure { animation:witness-flight-lean 2.1s ease-in-out both; }
.witness-flying .witness-foot-shadow { opacity:.15; transform:scaleX(.55); transition:opacity .3s; }
.witness-turn .witness-figure { transform:rotate(-2deg); transition:transform .3s ease; }
.witness-ritual .witness-figure { animation:none; transform:rotate(0); }
.witness-ritual .witness-head { animation:none; }
.witness-smoke { position:absolute; inset:0; display:block; pointer-events:none; z-index:4; opacity:0; }
.witness-smoke i { position:absolute; left:calc(21% + var(--puff,0)*8%); bottom:calc(5% + var(--puff,0)*12%); width:73px; height:79px; border-radius:50%; background:radial-gradient(ellipse at 33% 33%,#c0cedd70 0%,#829aa649 25%,transparent 64%),radial-gradient(ellipse at 65% 57%,#73848e77 0%,#7f969e44 37%,transparent 73%); filter:blur(3px); opacity:0; transform:scale(.25); }
.witness-smoke i:nth-child(1) { --puff:0; }
.witness-smoke i:nth-child(2) { --puff:1; }
.witness-smoke i:nth-child(3) { --puff:2; }
.witness-smoke i:nth-child(4) { --puff:3; }
.witness-smoke i:nth-child(5) { --puff:4; }
.witness-dissolving .witness-actor { animation:witness-dissolve .68s ease-in forwards; pointer-events:none; }
.witness-dissolving .witness-smoke,.witness-returning .witness-smoke { opacity:1; }
.witness-dissolving .witness-smoke i { animation:witness-smoke-out .76s ease-out both; animation-delay:calc(var(--puff)*.025s); }
.witness-returning .witness-actor { animation:witness-return .7s ease-out both; pointer-events:none; }
.witness-returning .witness-smoke i { animation:witness-smoke-in .7s ease-in both; animation-delay:calc(var(--puff)*.017s); }
.witness-curious .witness-head { animation:witness-curious .85s ease-out both; }
.witness-flinch .witness-figure { animation:witness-flinch .75s ease-out both; }
.witness-flinch .witness-crack { opacity:calc(.25 + var(--witness-flash)*.35); }
.witness-root[data-emotion="sad"] .witness-head { animation:witness-sad-head 6s ease-in-out infinite; }
.witness-root[data-emotion="death"] .witness-figure { filter:brightness(.82); }
.witness-root[data-emotion="surprise"] .witness-crack { opacity:.54; }
.witness-root[data-emotion="joy"] .witness-crack { filter:brightness(1.8) drop-shadow(0 0 3px #ffd287); }
.witness-root[data-emotion="challenge"] .witness-head { animation:witness-challenge-head 6s ease-in-out infinite; }
.witness-root[data-emotion="fear"] .witness-head { animation:witness-tense-head 6s ease-in-out infinite; }
.witness-bubble { position:absolute; z-index:7; width:280px; pointer-events:auto; padding:13px 15px 11px; border:1px solid #86704d80; border-radius:8px; background:linear-gradient(135deg,#111921f5,#080c12f7); box-shadow:0 8px 25px #0007,inset 0 1px 0 #e2ca9a12; color:#d8d9cf; font-family:var(--f-body,system-ui); }
.witness-bubble-top { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.witness-bubble-kicker { font:8px/1.5 var(--f-mono,monospace); letter-spacing:.13em; color:#bfad86; }
.witness-bubble-actions { display:flex; gap:1px; }
.witness-control { display:inline-grid; place-items:center; padding:0; width:32px; height:32px; color:#cbbfa9; background:transparent; border:0; border-radius:50%; font-size:22px; font-weight:400; }
.witness-control:hover { background:#40516055; }
.witness-control svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.witness-bubble-text { font-size:13px; line-height:1.65; margin:7px 0 11px; max-height:34vh; overflow-y:auto; color:#deded5; user-select:text; -webkit-user-select:text; overflow-wrap:anywhere; }
.witness-hide { display:block; min-height:30px; padding:0; color:#a6aaa8; background:transparent; border:0; border-bottom:1px solid #a6aaa83b; font-size:9px; letter-spacing:.02em; }
.witness-restore { position:absolute; right:14px; bottom:calc(env(safe-area-inset-bottom,0px) + 16px); pointer-events:auto; width:40px; height:40px; padding:0; border:1px solid #a88b575c; background:#111922d9; border-radius:50%; color:#d4af70; font:28px var(--f-mono,monospace); box-shadow:0 4px 13px #0005; }
.witness-paused .witness-figure,.witness-paused .witness-head,.witness-paused .witness-crack,.witness-paused .witness-boot,.witness-paused .witness-foot-shadow,.witness-paused .witness-walk-sprite { animation-play-state:paused; }
.witness-reduced .witness-figure,.witness-reduced .witness-head,.witness-reduced .witness-crack,.witness-reduced .witness-boot,.witness-reduced .witness-actor,.witness-reduced .witness-smoke i,.witness-reduced .witness-walk-sprite { animation:none !important; transition:none !important; }
.witness-reduced .witness-smoke { display:none; }
@keyframes witness-breath { 0%,100% { transform:translate3d(0,0,0) rotate(-.35deg); } 50% { transform:translate3d(.35px,-1.4px,0) rotate(.4deg); } }
@keyframes witness-head-idle { 0%,100% { transform:rotate(-.7deg); } 34% { transform:rotate(.9deg); } 64% { transform:rotate(-.3deg); } }
@keyframes witness-head-speaking { 0%,100% { transform:rotate(-1deg); } 47% { transform:rotate(1.4deg) translateY(-.3px); } }
@keyframes witness-sad-head { 0%,100% { transform:rotate(1.8deg) translateY(.8px); } 50% { transform:rotate(2.6deg) translateY(1.3px); } }
@keyframes witness-challenge-head { 0%,100% { transform:rotate(-1.8deg); } 50% { transform:rotate(-.7deg) translateY(-.7px); } }
@keyframes witness-tense-head { 0%,100% { transform:rotate(.4deg); } 40% { transform:rotate(-1.4deg) translateY(-.5px); } 70% { transform:rotate(.8deg); } }
@keyframes witness-radio-light { 0%,100% { opacity:.3; } 24% { opacity:.66; } 56% { opacity:.38; } 80% { opacity:.57; } }
@keyframes witness-step-weight { 0%,100% { transform:translateY(0) rotate(-.7deg); } 25% { transform:translateY(-1.8px) rotate(.5deg); } 50% { transform:translateY(0) rotate(.7deg); } 75% { transform:translateY(-1.8px) rotate(-.5deg); } }
@keyframes witness-step-left { 0%,100% { transform:rotate(0); } 25% { transform:translate(1px,-2.5px) rotate(-3deg); } 50%,75% { transform:translateY(.5px) rotate(1deg); } }
@keyframes witness-step-right { 0%,100% { transform:translateY(.5px) rotate(-1deg); } 25% { transform:rotate(0); } 75% { transform:translate(-1px,-2.5px) rotate(3deg); } }
@keyframes witness-step-shadow { 0%,50%,100% { opacity:.6; transform:scaleX(.92); } 25%,75% { opacity:.36; transform:scaleX(.84); } }
@keyframes witness-walk-frames { 0%,100% { background-position:0% 0%; } 12.5% { background-position:33.333333% 0%; } 25% { background-position:66.666667% 0%; } 37.5% { background-position:100% 0%; } 50% { background-position:0% 100%; } 62.5% { background-position:33.333333% 100%; } 75% { background-position:66.666667% 100%; } 87.5% { background-position:100% 100%; } }
@keyframes witness-flight-lean { 0%,100% { transform:rotate(0); } 25% { transform:rotate(-3deg); } 70% { transform:rotate(2deg); } }
@keyframes witness-dissolve { 0% { opacity:1; transform:translateY(0) scale(1); filter:blur(0); } 45% { opacity:.58; filter:blur(1px); } 100% { opacity:0; transform:translateY(-8px) scale(.93); filter:blur(3px); } }
@keyframes witness-return { 0% { opacity:0; transform:translateY(-8px) scale(.93); filter:blur(3px); } 65% { opacity:.7; filter:blur(.7px); } 100% { opacity:1; transform:translateY(0) scale(1); filter:blur(0); } }
@keyframes witness-smoke-out { 0% { opacity:0; transform:translate(-25px,16px) scale(.28) rotate(-19deg); } 36% { opacity:.95; } 100% { opacity:0; transform:translate(calc(-34px + var(--puff)*8px),-38px) scale(1.35) rotate(37deg); } }
@keyframes witness-smoke-in { 0% { opacity:0; transform:translate(calc(-34px + var(--puff)*8px),-38px) scale(1.35) rotate(37deg); } 36% { opacity:.9; } 100% { opacity:0; transform:translate(-25px,16px) scale(.28) rotate(-19deg); } }
@keyframes witness-curious { 0%,100% { transform:rotate(0); } 45% { transform:rotate(-3deg) translateY(-.3px); } }
@keyframes witness-flinch { 0%,100% { transform:rotate(0); } 25% { transform:rotate(2.5deg) translate(1px,-1px); } 55% { transform:rotate(-1deg); } }
@keyframes witness-head-hide { from { opacity:1; transform:translateY(0); } to { opacity:0; transform:translateY(1px); } }
@keyframes witness-head-show { from { opacity:0; transform:translateY(1px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:600px) {
  .witness-bubble { padding:11px 13px 10px; }
  .witness-bubble-text { font-size:12px; }
  .witness-control { width:36px; height:36px; }
  .witness-smoke i { width:62px; height:70px; filter:blur(2px); }
}
@media (prefers-reduced-motion:reduce) {
  .witness-figure,.witness-head,.witness-crack,.witness-boot,.witness-actor,.witness-smoke i { animation:none !important; transition:none !important; }
  .witness-smoke { display:none; }
}


/* NOWAYOUT SOURCE: css/community-atmosphere.css */
/* El archivo y sus perfiles comparten la misma noche; las tarjetas conservan contraste. */
#community { isolation:isolate; background:#06090d; }
.community-sky { position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:-1; opacity:.52; }
.community-sky .cat-plane-photo { width:100%; height:100%; object-fit:cover; object-position:75% 45%; }
.community-sky::after { content:''; position:absolute; inset:0; z-index:3; background:linear-gradient(90deg,#06090de0,#06090d84),linear-gradient(0deg,#06090de8,transparent 75%); }
.community-wrap { position:relative; z-index:2; }
.community-panel { background:linear-gradient(135deg,#0d141aec,#080d12f5); border-color:#70614970; box-shadow:0 18px 60px #0005,inset 0 1px #ffdea709; }
.community-brand { text-shadow:0 2px 16px #0009; }
.cat-nav,.community-nav { position:relative; }
.archive-audio-panel { position:absolute; right:0; top:calc(100% + 12px); z-index:15; width:min(320px,calc(100vw - 36px)); padding:20px; border:1px solid #88714b; border-radius:12px; background:#0b131afa; box-shadow:0 12px 40px #0009; color:#ddd7c9; display:grid; gap:16px; text-align:left; }
.archive-audio-panel .row { align-items:center; justify-content:space-between; }
.archive-audio-panel .row b { font-size:13px; }
.archive-audio-panel label.row { justify-content:flex-start; gap:10px; font-size:12px; }
.archive-audio-panel input[type=checkbox] { accent-color:#eeb45a; width:18px; height:18px; }
.archive-audio-panel .fine { font-size:10px; line-height:1.6; margin:0; color:#9ba6ad; }
@media(max-width:600px) { .community-wrap { padding:22px 18px; } .community-sky { opacity:.4; } }
.reduce .community-sky .cat-plane-photo { animation:none; }
@media(prefers-reduced-motion:reduce) { .community-sky .cat-plane-photo { animation:none; } }

/* NOWAYOUT SOURCE: css/room-invitation.css */
/* Canal del faro: vidrio, latón y una sola señal. Sin imágenes ni lienzos extra. */
.room-invitation {
  --invite-remaining: 1;
  position: relative; isolation: isolate; min-width: 0; max-width: 100%;
  display: grid; gap: 15px; padding: clamp(16px, 3.8vw, 24px);
  border: 1px solid #755a3366; border-radius: 14px; overflow: hidden;
  background: radial-gradient(100% 90% at 0 0, #d5963c15, transparent 62%), linear-gradient(140deg, #151b22ec, #090d13f2);
  box-shadow: inset 0 1px 0 #ffe0ad12, inset 0 -1px 0 #0009, 0 12px 32px #0003;
  color: var(--fg, #ebe5d6);
}
.room-invitation::before {
  content: ''; position: absolute; z-index: -1; inset: -30% -60%; pointer-events: none;
  background: linear-gradient(106deg, transparent 42%, #f2a5410d 48%, #ffcf7a13 50%, transparent 58%);
  transform: translateX(-35%); animation: invitationBeam 15s ease-in-out infinite;
}
.room-invite-grain { position: absolute; z-index: -1; inset: 0; pointer-events: none; opacity: .27; background: repeating-linear-gradient(0deg, transparent, transparent 3px, #bcc6cb0a 4px); }
.room-invite-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.room-invite-header > div { min-width: 0; }
.room-invite-kicker { margin: 0 0 5px; color: #c4ac86; font: 400 9px/1.5 var(--f-mono, monospace); letter-spacing: .14em; }
.room-invite-header h3 { margin: 0; font: 800 clamp(26px, 5.8vw, 34px)/1 var(--f-display, sans-serif); text-transform: uppercase; letter-spacing: .035em; }
.room-invite-beacon { flex: 0 0 auto; display: flex; align-items: end; gap: 3px; height: 22px; color: var(--amber, #f2a541); }
.room-invite-beacon i { display: block; width: 3px; border-radius: 2px; height: 6px; background: currentColor; box-shadow: 0 0 7px #f2a54144; animation: invitationSignal 5s ease-in-out infinite; }
.room-invite-beacon i:nth-child(2) { height: 12px; animation-delay: .2s; }
.room-invite-beacon i:nth-child(3) { height: 19px; animation-delay: .4s; }
.room-invite-alert { display: grid; gap: 6px; min-width: 0; padding: 13px 14px; border: 1px solid #b18a424d; border-left: 3px solid #d5a052; border-radius: 8px; background: linear-gradient(110deg, #b5772212, #080d1180); }
.room-invite-alert-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #d9bd87; font: 500 10px/1.5 var(--f-mono, monospace); }
.room-invite-alert-top > span:first-child { max-width: 25ch; }
.room-invite-arrival-clock { flex: 0 0 auto; color: #ffcf7a; font: 500 clamp(25px, 6vw, 32px)/1 var(--f-mono, monospace); font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.room-invite-arrival-label { color: #b8ac95; font: 400 9px/1.4 var(--f-mono, monospace); letter-spacing: .03em; }
.room-invite-alert-text { margin: 0; max-width: 45ch; color: #e3d4b8; font: 400 13px/1.5 var(--f-body, sans-serif); }
.room-invitation[data-start-urgent="true"] .room-invite-alert { border-color: #95574880; border-left-color: #db7252; background: linear-gradient(110deg, #953b211f, #100d1080); }
.room-invitation[data-start-urgent="true"] .room-invite-arrival-clock { color: #ffd1b9; }
.room-invitation[data-start-urgent="true"] .room-invite-alert-top { color: #d7a48b; }
.room-invite-readout { display: grid; gap: 7px; }
.room-invite-label { color: #a9adb0; font: 400 10px/1.5 var(--f-mono, monospace); text-transform: uppercase; letter-spacing: .12em; }
.room-invite-code { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(4px, 1.2vw, 8px); width: 100%; margin: 0; color: #ffcf7a; font: 500 clamp(25px, 7vw, 43px)/1.2 var(--f-mono, monospace); -webkit-user-select: text; user-select: text; }
.room-invite-code > span { display: grid; place-items: center; min-width: 0; padding: 10px 0; border: 1px solid #92734344; border-radius: 7px; background: linear-gradient(#06090ec9, #1b1b19b3); box-shadow: inset 0 1px 5px #0008, inset 0 -1px 0 #ffe0ad10; text-shadow: 0 0 14px #f2a54129; -webkit-user-select: text; user-select: text; }
.room-invite-deadline { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: #b7b9b8; font: 400 11px/1.4 var(--f-mono, monospace); }
.room-invite-clock { color: #e5dac4; font-size: 18px; font-variant-numeric: tabular-nums; letter-spacing: .05em; white-space: nowrap; }
.room-invite-tuning { position: relative; overflow: hidden; height: 3px; margin-top: -8px; border-radius: 2px; background: #66707b26; }
.room-invite-tuning i { display: block; height: 100%; background: linear-gradient(90deg, #815c30, #f2a541); transform-origin: left; transform: scaleX(var(--invite-remaining)); transition: transform .8s linear; }
.room-invite-send {
  display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; min-height: 66px;
  padding: 12px 14px; border: 1px solid #74946c6b; border-radius: 10px; text-decoration: none;
  color: #efe8d7; background: linear-gradient(120deg, #2d342cec, #20291fea 65%, #1b2222ef);
  box-shadow: inset 0 1px 0 #f1ebda12, 0 6px 16px #0004; touch-action: manipulation;
  transition: border-color .2s, background .2s, transform .15s, box-shadow .2s;
}
.room-invite-send-icon { flex: 0 0 auto; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #88b28c80; border-radius: 50%; color: #a1d6ab; }
.room-invite-send-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.room-invite-send-copy { display: grid; gap: 4px; min-width: 0; }
.room-invite-send-copy strong { font: 600 15px/1.3 var(--f-body, sans-serif); }
.room-invite-send-copy > span { color: #b9c0b4; font: 400 10px/1.4 var(--f-body, sans-serif); }
.room-invite-arrow { flex: 0 0 auto; margin-left: auto; color: #cfb484; font-size: 22px; }
.room-invite-send:hover { border-color: #9bbc7f; background: linear-gradient(120deg, #394231, #2a362a 65%, #222c28); box-shadow: inset 0 1px 0 #f1ebda18, 0 0 20px #c5ab6c0e, 0 6px 16px #0004; }
.room-invite-send:active { transform: translateY(1px); }
.room-invite-send:focus-visible { outline: 2px solid var(--amber, #f2a541); outline-offset: 3px; }
.room-invite-send[aria-disabled="true"] { opacity: .55; cursor: default; border-color: #62665a55; background: #20242a; transform: none; box-shadow: none; }
.room-invite-share-options { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: -6px; }
.room-invite-share-options a { min-height: 32px; display: inline-flex; align-items: center; color: #cbb895; font: 400 11px/1.4 var(--f-body, sans-serif); text-decoration: underline; text-underline-offset: 3px; touch-action: manipulation; }
.room-invite-share-options a:hover { color: #ffcf7a; }
.room-invite-share-options a[aria-disabled="true"] { color: #8f9393; cursor: default; text-decoration: none; }
.room-invite-status { margin: 0; color: #b4b3a9; font: 400 11px/1.55 var(--f-body, sans-serif); }
.room-invitation[data-urgent="true"] .room-invite-clock { color: #ffcf7a; }
.room-invitation[data-expired="true"] { border-color: #6b53424d; }
.room-invitation[data-expired="true"] .room-invite-clock, .room-invitation[data-expired="true"] .room-invite-code { color: #a5a49d; }
.room-invitation[data-expired="true"] .room-invite-beacon { color: #8d8270; }
.room-invitation[data-paused="true"]::before, .room-invitation[data-paused="true"] .room-invite-beacon i { animation-play-state: paused; }
.room-invitation[data-expired="true"]::before, .room-invitation[data-expired="true"] .room-invite-beacon i { animation: none; }
.reduce .room-invitation::before, .reduce .room-invite-beacon i, .room-invitation[data-reduced="true"]::before, .room-invitation[data-reduced="true"] .room-invite-beacon i { animation: none; }
.reduce .room-invite-tuning i, .room-invitation[data-reduced="true"] .room-invite-tuning i { transition: none; }
@keyframes invitationBeam { 0%, 14% { transform: translateX(-35%); opacity: 0; } 32% { opacity: 1; } 48%, 100% { transform: translateX(35%); opacity: 0; } }
@keyframes invitationSignal { 0%, 30%, 100% { opacity: .42; } 42%, 60% { opacity: .95; } }
@media (min-width: 680px) { .room-invite-code { max-width: 440px; } .room-invite-send { justify-content: flex-start; } }
@media (max-width: 360px) { .room-invitation { padding: 13px; gap: 12px; } .room-invite-send { gap: 9px; padding: 11px 10px; } .room-invite-send-copy strong { font-size: 14px; } .room-invite-send-copy > span { font-size: 9px; } }
@media (prefers-reduced-motion: reduce) { .room-invitation::before, .room-invite-beacon i { animation: none; } .room-invite-tuning i, .room-invite-send { transition: none; } }

/* NOWAYOUT SOURCE: css/loading-lore.css */
/* Llegadas cinematográficas: capas vectoriales, lluvia y luz sin cambiar los recursos 3D. */
.nwo-lore-loading { isolation:isolate; background:#03080d!important; }
.nwo-lore-scene { --lore-progress:0; position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; color:#ddd7c8; background:radial-gradient(ellipse at 62% 31%,#233b46 0%,#111e28 31%,#04090f 72%); }
.nwo-lore-horizon { position:absolute; width:min(1240px,125vw); height:min(78vh,820px); right:-8%; bottom:0; opacity:.85; }
.nwo-lore-art { width:100%; height:100%; overflow:visible; }
.nwo-lore-haze { position:absolute; inset:-15%; background:radial-gradient(ellipse at 67% 29%,#97abb317,transparent 36%),linear-gradient(166deg,transparent 43%,#697c8112 48%,transparent 54%); animation:nwo-lore-drift 12s ease-in-out infinite alternate; }
.nwo-lore-lighthouse-beam { transform-origin:558px 151px; animation:nwo-lore-beam 6.6s ease-in-out infinite; }
.nwo-lore-lamp { filter:drop-shadow(0 0 12px #edc591); animation:nwo-lore-lamp 6.6s ease-in-out infinite; }
.nwo-lore-water { animation:nwo-lore-water 4.8s ease-in-out infinite alternate; }
.nwo-lore-aircraft { filter:drop-shadow(0 12px 20px #0008); }
.nwo-lore-airframe { transform-origin:485px 247px; animation:nwo-lore-flight 4s ease-in-out infinite alternate; }
.nwo-lore-engine-fire { transform-origin:87px 84px; animation:nwo-lore-fire .8s ease-in-out infinite alternate; filter:drop-shadow(0 0 9px #ca7b39aa); }
.nwo-lore-wing-light { animation:nwo-lore-signal 3s ease-in-out infinite; }
.nwo-lore-radio-rings { transform-origin:558px 151px; animation:nwo-lore-radio 4.4s ease-out infinite; }
.nwo-lore-rain { position:absolute; inset:-40% -8% 0; overflow:hidden; transform:rotate(17deg); opacity:.55; }
.nwo-lore-rain i { position:absolute; left:var(--lr-x); top:-10%; width:1px; height:13%; opacity:var(--lr-alpha); background:linear-gradient(transparent,#9abbc6); animation:nwo-lore-rain var(--lr-speed) var(--lr-delay) linear infinite; }
.nwo-lore-glass { position:absolute; inset:0; opacity:.26; background:repeating-linear-gradient(88deg,transparent 0 29px,#afc7d507 30px,transparent 32px 73px),linear-gradient(139deg,transparent 32%,#b3c9d006 33%,transparent 36%); }
.nwo-lore-vignette { position:absolute; inset:0; background:linear-gradient(0deg,#020509 0%,transparent 50%,#02060977 100%),radial-gradient(ellipse at 62% 47%,transparent 24%,#02060bb3 83%); }
.nwo-lore-copy { position:absolute; z-index:1; left:max(6vw,24px); top:clamp(60px,15vh,190px); width:min(470px,70vw); }
.nwo-lore-mark { font:10px/1.6 "IBM Plex Mono",monospace; letter-spacing:.2em; color:#b79b72; margin:0 0 20px; }
.nwo-lore-copy h2 { font:700 clamp(38px,6vw,78px)/.95 "Big Shoulders Display",sans-serif; letter-spacing:-.015em; text-transform:uppercase; text-wrap:balance; margin:0; color:#e5e0d5; text-shadow:0 2px 20px #000; }
.nwo-lore-line { max-width:340px; margin:20px 0 0; color:#acb6b8; font:12px/1.8 "IBM Plex Mono",monospace; text-wrap:balance; }
.nwo-lore-telemetry { position:absolute; bottom:28px; left:max(6vw,24px); right:max(6vw,24px); display:flex; justify-content:space-between; gap:18px; font:9px/1.5 "IBM Plex Mono",monospace; letter-spacing:.13em; color:#769096; }
.nwo-lore-percent { color:#bdac8f; font-weight:400; }
.nwo-lore-loading .load-box { position:relative; z-index:2; margin-top:clamp(235px,40vh,420px); background:#071019cc!important; box-shadow:0 16px 55px #0007; border-color:#3b4a4a!important; width:min(420px,calc(100vw - 48px)); }
.nwo-lore-loading .load-box .eyebrow { color:#c5af8d; }
.nwo-lore-arrival { position:fixed; inset:0; z-index:10020; display:grid; place-items:center; overflow:hidden; }
.nwo-lore-arrival .nwo-lore-copy { top:clamp(80px,20vh,230px); }
.nwo-lore-arrival .nwo-lore-horizon { right:0; width:min(1480px,145vw); }
.nwo-lore-catalog .nwo-lore-telemetry { display:none; }
.nwo-lore-skip { position:absolute; z-index:3; bottom:max(30px,env(safe-area-inset-bottom)); right:max(6vw,24px); border:1px solid #86704b88; border-radius:4px; background:#091015cc; color:#d6c4a7; font:11px/1.5 "IBM Plex Mono",monospace; padding:11px 18px; cursor:pointer; }
.nwo-lore-skip:focus-visible { outline:2px solid #ddbe8a; outline-offset:5px; }
.nwo-lore-paused *, .nwo-lore-gentle * { animation-play-state:paused!important; }
.nwo-lore-gentle .nwo-lore-rain { opacity:.13; }
html.reduce .nwo-lore-scene * { animation:none!important; }
@keyframes nwo-lore-drift { to { transform:translate3d(-3%,2%,0); } }
@keyframes nwo-lore-beam { 0%,100%{opacity:.25;transform:scaleX(.38)} 48%{opacity:1;transform:scaleX(1)} }
@keyframes nwo-lore-lamp { 0%,100%{opacity:.55} 48%{opacity:1} }
@keyframes nwo-lore-rain { to{transform:translate3d(0,115vh,0)} }
@keyframes nwo-lore-water { to{transform:translate3d(-15px,5px,0);opacity:.6} }
@keyframes nwo-lore-flight { to{translate:10px 15px;rotate:1deg} }
@keyframes nwo-lore-fire { to{opacity:.32;transform:scaleX(.73)} }
@keyframes nwo-lore-signal { 0%,65%,100%{opacity:.25} 76%,85%{opacity:1} }
@keyframes nwo-lore-radio { 0%{opacity:0;scale:.45} 30%{opacity:.8} 100%{opacity:0;scale:1.1} }
@media (max-width:600px) {
  .nwo-lore-copy { top:12vh; width:calc(100% - 48px); }
  .nwo-lore-copy h2 { font-size:clamp(38px,11vw,54px); max-width:340px; }
  .nwo-lore-mark { font-size:9px; max-width:280px; margin-bottom:16px; }
  .nwo-lore-line { font-size:11px; max-width:285px; margin-top:15px; }
  .nwo-lore-horizon { width:190vw; height:70vh; right:-67%; bottom:6%; }
  .nwo-lore-loading .load-box { margin-top:46vh; padding:20px!important; }
  .nwo-lore-channel { display:none; }
  .nwo-lore-arrival .nwo-lore-horizon { width:180vw; right:-46%; bottom:3%; }
  .nwo-lore-arrival .nwo-lore-copy { top:12vh; }
}
@media (prefers-reduced-motion:reduce) { .nwo-lore-scene * { animation:none!important; } }

/* NOWAYOUT SOURCE: css/payments.css */
/* Sello del archivo: animaciones breves, sin escenas ni sonidos sobre la partida. */
.nw-pay-offer{margin:18px 0 2px;padding:13px 15px;border:1px solid #bc965d3d;border-left:2px solid #d4ad72;background:linear-gradient(115deg,#100e0cea,#050a0de8);border-radius:3px;color:#e3d5c1;max-width:100%;box-sizing:border-box}
.nw-pay-offer-note{font-size:12px;line-height:1.6;margin:0;color:#d4c4ad;overflow-wrap:anywhere}
.nw-pay-offer-action{margin-top:10px;background:#090d10;border:1px solid #aa865c61;color:#e5cba4;padding:10px 15px;min-height:44px;font:inherit;font-size:12px;border-radius:3px;cursor:pointer}
.nw-pay-offer-action:disabled{opacity:.64;cursor:default}
.nw-pay-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;box-sizing:border-box;background:#02070bed;backdrop-filter:blur(9px);overflow-y:auto;overscroll-behavior:contain;animation:nw-pay-night .35s ease-out both}
.nw-pay-dialog{position:relative;isolation:isolate;width:min(100%,470px);max-height:calc(100dvh - 40px);overflow-y:auto;box-sizing:border-box;padding:34px 30px 28px;border:1px solid #b28d5773;border-radius:8px;background:radial-gradient(ellipse at 50% 0%,#8e6b2e18,transparent 55%),linear-gradient(160deg,#141614,#060b0f 70%);color:#eadfcb;box-shadow:0 20px 70px #000b,0 0 0 4px #bc985406;animation:nw-pay-arrival .65s cubic-bezier(.17,.8,.27,1) both}
.nw-pay-dialog h2{font-size:clamp(25px,7vw,36px);line-height:1.2;margin:15px 0;color:#eedaba;overflow-wrap:anywhere}
.nw-pay-close{position:absolute;right:9px;top:9px;z-index:2;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#050a0c9e;color:#e2c99c;font-size:25px;cursor:pointer}
.nw-pay-seal{width:72px;height:72px;margin:4px auto 20px;border:1px solid #c8a265a1;border-radius:50%;display:grid;place-items:center;color:#d8b478;box-shadow:inset 0 0 0 5px #0c1010,inset 0 0 0 6px #bf97593d,0 0 25px #ae8b3420;position:relative;animation:nw-pay-seal-in 1.1s ease-out both}
.nw-pay-seal:before,.nw-pay-seal:after{content:"";position:absolute;inset:11px;border:1px solid #d2ae6647;transform:rotate(45deg)}
.nw-pay-seal:after{inset:17px;transform:rotate(18deg)}
.nw-pay-seal span{font-family:Georgia,serif;font-size:34px;text-shadow:0 0 14px #b59b5255;z-index:1}
.nw-pay-kicker{font:10px/1.5 ui-monospace,monospace;letter-spacing:.18em;color:#b89867;margin:0}
.nw-pay-status{min-height:46px;color:#d1c4af;font-size:14px;line-height:1.65;margin:14px 0;overflow-wrap:anywhere}
.nw-pay-content{position:relative;z-index:1;display:grid;gap:14px;min-width:0}
.nw-pay-price{font-size:30px;color:#e7c283;line-height:1.3}
.nw-pay-note{margin:0;font-size:12px;color:#a9b0ad;line-height:1.65}
.nw-pay-action,.nw-pay-back{box-sizing:border-box;width:100%;min-height:48px;padding:13px 15px;border:1px solid #bd965b8c;border-radius:3px;background:linear-gradient(110deg,#c19960,#ddbb83);color:#111616;font:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer}
.nw-pay-back{border-color:#84735b70;background:#101718;color:#d7c6a9;font-size:13px}
.nw-pay-action:disabled,.nw-pay-back:disabled{opacity:.58;cursor:wait}
.nw-pay-overlay button:focus-visible,.nw-pay-offer button:focus-visible{outline:2px solid #f0d397;outline-offset:4px}
.nw-pay-smoke{pointer-events:none;position:absolute;z-index:-1;inset:0;overflow:hidden;border-radius:inherit;opacity:.6}
.nw-pay-smoke:before,.nw-pay-smoke:after{content:"";position:absolute;width:130%;height:130%;left:-15%;top:-10%;background:radial-gradient(ellipse at 45% 65%,#9c83501c,transparent 38%),radial-gradient(ellipse at 75% 15%,#bec7be15,transparent 34%);filter:blur(12px);animation:nw-pay-smoke 2.5s ease-out both}
.nw-pay-smoke:after{transform:rotate(135deg);animation-delay:.15s}
.nw-pay-confirmed .nw-pay-seal{border-color:#e5c88f;box-shadow:inset 0 0 0 6px #c09b4420,0 0 35px #d5b86b45;animation:nw-pay-unseal 1.2s ease-out both}
.nw-pay-confirmed .nw-pay-seal:before{animation:nw-pay-unlock .9s ease-out both}
.nw-pay-confirmed .nw-pay-seal span{color:#f4d8a1}
.nw-pay-overlay[hidden],.nw-pay-offer [hidden]{display:none!important}
@keyframes nw-pay-night{from{opacity:0}to{opacity:1}}
@keyframes nw-pay-arrival{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes nw-pay-seal-in{from{opacity:.2;transform:rotate(-35deg) scale(.85)}to{opacity:1;transform:none}}
@keyframes nw-pay-smoke{from{opacity:0;transform:translateY(45px) scale(.85)}35%{opacity:.8}to{opacity:.2;transform:translateY(-25px) scale(1.15)}}
@keyframes nw-pay-unseal{0%{transform:scale(.94)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes nw-pay-unlock{from{transform:rotate(45deg)}to{transform:rotate(135deg)}}
.nw-pay-reduced,.nw-pay-reduced *,html.reduce .nw-pay-overlay,html.reduce .nw-pay-overlay *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.nw-pay-overlay,.nw-pay-overlay *{animation:none!important;transition:none!important}}
@media(max-width:420px){.nw-pay-overlay{padding:12px}.nw-pay-dialog{padding:30px 22px 22px;max-height:calc(100dvh - 24px)}.nw-pay-status{font-size:13px}.nw-pay-seal{width:64px;height:64px}}

.nw-pay-plans{position:relative;isolation:isolate;margin:28px 0;padding:24px;border:1px solid #b28d573b;border-radius:6px;background:radial-gradient(ellipse at 50% 0,#8e6b2e12,transparent 70%),#080d10;color:#e2d2b9}
.nw-pay-plans h3{font-size:clamp(22px,4vw,30px);margin:8px 0 12px}.nw-pay-plans-note{font-size:13px;color:#b5bcb8;line-height:1.65;margin:0 0 18px}
.nw-pay-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.nw-pay-plan{min-width:0;padding:18px;border:1px solid #b99b6a36;background:linear-gradient(150deg,#1c1c1544,#070d10);border-radius:3px}.nw-pay-plan h4{font-size:13px;line-height:1.5;margin:0 0 12px;color:#d5b37b}.nw-pay-plan-price{font-size:clamp(18px,2.8vw,26px);letter-spacing:-.02em;line-height:1.35;white-space:nowrap}.nw-pay-plan p{font-size:11px;line-height:1.6;color:#b4bcb9;margin:12px 0}.nw-pay-plan .nw-pay-offer-action{width:100%;font-size:11px}.nw-pay-manage{width:auto;margin-top:18px;min-height:44px}
@media(max-width:620px){.nw-pay-plans{padding:18px}.nw-pay-plan-grid{grid-template-columns:1fr}.nw-pay-plan{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:15px}.nw-pay-plan h4{margin:0}.nw-pay-plan-price{grid-column:2;grid-row:1;font-size:21px}.nw-pay-plan p{margin:4px 0;grid-column:1/-1}.nw-pay-plan .nw-pay-offer-action{grid-column:1/-1}}

/* Cámara propia de los pagos: piedra, puerta ritual y ceniza en toda la vista. */
.nw-pay-chamber{background:#030609;backdrop-filter:none;padding:max(28px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));isolation:isolate}
.nw-pay-chamber-scenery{position:fixed;inset:-1%;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 35%,#263e423a,transparent 52%),linear-gradient(110deg,#050708,#10191c 50%,#040608);transform:translate3d(var(--pact-x,0px),var(--pact-y,0px),0)}
.nw-pay-vault{position:absolute;inset:-3%;background:repeating-linear-gradient(0deg,transparent 0 103px,#c6aea109 104px,#0005 106px,transparent 108px),repeating-linear-gradient(90deg,#05060650 0 15.8%,#76878512 16%,#03060890 16.3% 16.8%,transparent 17% 33%);box-shadow:inset 0 0 160px 45px #010407;transform:scale(1.04);animation:nw-pact-breathe 11s ease-in-out infinite alternate}
.nw-pay-door{position:absolute;left:50%;top:9%;width:min(69vw,650px);height:92%;transform:translateX(-50%);border:1px solid #8d8a6857;border-top:4px solid #353b32;border-radius:46% 46% 0 0;box-shadow:0 0 0 13px #151c1c,0 0 0 15px #a1a58719,0 0 0 31px #080e10,0 0 0 32px #78867d23,0 0 120px #42798013,inset 0 0 75px #020305;overflow:hidden;background:#050809;perspective:1000px}
.nw-pay-door:before{content:'';position:absolute;inset:6% 6% 0;border:1px solid #a990542b;border-radius:46% 46% 0 0;box-shadow:0 0 25px #b0883014,inset 0 0 30px #07080a}
.nw-pay-door:after{content:'';position:absolute;left:calc(50% - 1px);top:24%;bottom:0;width:2px;background:linear-gradient(transparent,#d8a55b66 42%,#cd83474d);box-shadow:0 0 23px 4px #d8893924;animation:nw-pact-fissure 7s ease-in-out infinite alternate}
.nw-pay-door i{position:absolute;inset:0 50% 0 0;display:block;transform-origin:left;background:repeating-linear-gradient(92deg,#18201deb 0,#222923eb 3px,#0b1112eb 9px,#17201ae8 29px),linear-gradient(#212b28,#060c0e);box-shadow:inset -2px 0 0 #7e745553,inset 10px 0 45px #0009;transform:rotateY(-9deg)}
.nw-pay-door-right{inset:0 0 0 50%!important;transform-origin:right!important;transform:rotateY(9deg)!important;box-shadow:inset 2px 0 0 #7e745553,inset -10px 0 45px #0009!important}
.nw-pay-chamber-floor{position:absolute;bottom:-20%;left:-30%;width:160%;height:55%;background:repeating-conic-gradient(from 42deg at 50% 0,#5866600b 0deg .15deg,transparent .25deg 9deg),repeating-linear-gradient(0deg,transparent 0 39px,#8c9c7612 40px,transparent 42px),radial-gradient(ellipse at 50% 0,#b9945324,transparent 55%),linear-gradient(#0a1113,#020305);transform:perspective(500px) rotateX(29deg);box-shadow:0 -60px 140px #9f8a2510}
.nw-pay-chamber-rays{position:absolute;inset:-30%;background:conic-gradient(from 173deg at 50% 20%,transparent 0deg,#d8ac5510 11deg,transparent 23deg,#719b9c09 33deg,transparent 45deg);transform-origin:50% 20%;animation:nw-pact-rays 16s ease-in-out infinite alternate;filter:blur(12px)}
.nw-pay-chamber-runes{position:absolute;width:min(82vw,930px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.46}
.nw-pay-chamber-runes i{position:absolute;inset:calc(var(--ring)*10%);border:1px solid #bf996137;border-radius:50%;background:repeating-conic-gradient(from 14deg,transparent 0deg 13deg,#cbae621b 13.2deg 13.6deg,transparent 13.8deg 30deg);box-shadow:inset 0 0 24px #5f725509,0 0 24px #e4982208;animation:nw-pact-rune 80s linear infinite;animation-direction:alternate}
.nw-pay-chamber-runes i:nth-child(2){animation-direction:reverse;animation-duration:110s;border-style:dashed}.nw-pay-chamber-runes i:nth-child(3){animation-duration:140s;opacity:.45}
.nw-pay-chamber-dust{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;opacity:.82}
.nw-pay-chamber .nw-pay-dialog{width:min(100%,480px);padding:38px 32px 30px;background:radial-gradient(ellipse at 50% 0,#c39b3510,transparent 70%),linear-gradient(155deg,#142024ed,#080d10f5 75%);border-color:#c4a2676b;box-shadow:0 35px 140px #000e,0 0 0 5px #d5b76805,inset 0 1px 0 #ffe4a810;backdrop-filter:blur(14px);border-radius:5px}
.nw-pay-chamber .nw-pay-smoke:before,.nw-pay-chamber .nw-pay-smoke:after{animation:nw-pact-mist 19s ease-in-out infinite alternate;opacity:.3;background:radial-gradient(ellipse at 12% 65%,#79a4a025,transparent 48%),radial-gradient(ellipse at 83% 10%,#c59b6329,transparent 40%)}
.nw-pay-chamber .nw-pay-smoke:after{animation-duration:27s;animation-direction:alternate-reverse}
.nw-pay-chamber .nw-pay-seal{box-shadow:inset 0 0 0 5px #0c1010,inset 0 0 0 6px #bf97593d,0 0 25px #ae8b3420;animation:nw-pact-seal 8s ease-in-out infinite alternate}
.nw-pay-chamber .nw-pay-kicker{color:#c6a577;letter-spacing:.2em;font-size:9px}
.nw-pay-chamber .nw-pay-status{padding-bottom:17px;border-bottom:1px solid #b59d6b20;min-height:0}
.nw-pay-storefront .nw-pay-dialog{width:min(100%,850px);text-align:center;max-height:calc(100dvh - 56px)}
.nw-pay-storefront .nw-pay-dialog h2{font-family:var(--f-display,Georgia,serif);font-size:clamp(30px,5vw,47px);margin:10px 0;color:#ebd6b1;letter-spacing:.02em}
.nw-pay-chamber-prologue{max-width:43ch;margin:0 auto;color:#b9c5c0;font-size:14px;line-height:1.75}
.nw-pay-storefront .nw-pay-plans{margin:0;padding:16px 0;border:0;background:none}
.nw-pay-storefront .nw-pay-plans .cat-kicker,.nw-pay-storefront .nw-pay-plans h3{display:none}
.nw-pay-storefront .nw-pay-plan{text-align:left;padding:21px 16px;border-color:#b9965d42;position:relative;isolation:isolate;overflow:hidden;box-shadow:inset 0 1px 0 #d4ba7010;background:radial-gradient(ellipse at 50% 0,#9e7b2824,transparent 75%),#091216c7;transition:border-color .35s,transform .35s}
.nw-pay-storefront .nw-pay-plan:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 34%,#b7b6960b 47%,transparent 62%);transform:translateX(-100%);animation:nw-pact-glint 13s ease-in-out infinite}
.nw-pay-storefront .nw-pay-plan:nth-child(2):before{animation-delay:3s}.nw-pay-storefront .nw-pay-plan:nth-child(3):before{animation-delay:6s}
.nw-pay-storefront .nw-pay-plan:focus-within{border-color:#dec389a0;transform:translateY(-2px)}
.nw-pay-enter{width:auto;margin-top:19px;font-size:12px;padding:11px 19px;border-color:#c3a16a75;background:linear-gradient(110deg,#101a1c,#1c251f);color:#e5cca0}
.nwo-payment-entry{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:0;background:transparent;color:#ad9a7e;font:10px/1.4 ui-monospace,monospace;letter-spacing:.07em;cursor:pointer;transition:color .2s}
.nwo-payment-entry:hover,.nwo-payment-entry:focus-visible{color:#e2c494}.nwo-payment-entry:focus-visible{outline:1px solid #dbb979;outline-offset:3px}
.nw-pay-chamber[data-fx-paused=true] .nw-pay-chamber-scenery *,.nw-pay-chamber[data-fx-paused=true] .nw-pay-smoke:before,.nw-pay-chamber[data-fx-paused=true] .nw-pay-smoke:after,.nw-pay-chamber[data-fx-paused=true] .nw-pay-seal,.nw-pay-chamber[data-fx-paused=true] .nw-pay-plan:before{animation-play-state:paused!important}
.nw-pay-chamber[data-fx-paused=true] *:before,.nw-pay-chamber[data-fx-paused=true] *:after{animation-play-state:paused!important}
@keyframes nw-pact-breathe{to{opacity:.78;transform:scale(1.07)}}
@keyframes nw-pact-fissure{to{opacity:.58;transform:scaleX(.72)}}
@keyframes nw-pact-rays{to{transform:rotate(7deg);opacity:.4}}
@keyframes nw-pact-rune{to{transform:rotate(360deg)}}
@keyframes nw-pact-mist{from{transform:translate(-3%,3%) scale(1.04)}to{transform:translate(4%,-4%) scale(1.12)}}
@keyframes nw-pact-seal{to{transform:translateY(-2px);opacity:.8}}
@keyframes nw-pact-glint{0%,60%{transform:translateX(-100%);opacity:0}70%{opacity:1}90%,100%{transform:translateX(100%);opacity:0}}
@media(max-width:620px){.nw-pay-chamber{padding:12px}.nw-pay-chamber .nw-pay-dialog{padding:30px 22px 22px;max-height:calc(100dvh - 24px)}.nw-pay-storefront .nw-pay-plan{padding:16px}.nw-pay-door{width:86vw;top:5%}.nw-pay-chamber-runes{width:120vw}.nw-pay-chamber-prologue{font-size:12px}.nw-pay-storefront .nw-pay-seal{margin-bottom:13px}.nw-pay-storefront .nw-pay-dialog h2{font-size:32px}.nw-pay-storefront .nw-pay-plans-note{font-size:11px}}

/* Liber Pacti: one brief book-opening scene, followed by three readable chapters. */
.nw-pay-grimoire [hidden]{display:none!important}
.nw-pay-grimoire .nw-pay-dialog{z-index:2;width:min(100%,930px);padding:34px 30px 25px;border:1px solid #c1a06975;background:radial-gradient(ellipse at 50% 0,#bf92371c,transparent 56%),linear-gradient(155deg,#1a211fed,#0a1012fa 75%);box-shadow:0 35px 140px #000e,inset 0 0 0 5px #dbc28708,inset 0 0 0 6px #a2854720;animation:nw-book-chapters-arrive 1.7s cubic-bezier(.2,.7,.2,1) both}
.nw-pay-grimoire .nw-pay-dialog:after{content:'';position:absolute;pointer-events:none;inset:12px;border:1px solid #b89b5630;border-radius:2px;z-index:-1}
.nw-pay-grimoire .nw-pay-seal{width:56px;height:56px;margin:0 auto 12px}
.nw-pay-grimoire .nw-pay-seal span{font-size:26px}
.nw-pay-grimoire .nw-pay-dialog h2{font-size:clamp(29px,4.4vw,44px);margin:8px 0;font-family:var(--f-display,Georgia,serif);text-shadow:0 3px 18px #0009}
.nw-pay-grimoire .nw-pay-status{font-size:12px;margin:9px 0 12px;padding-bottom:12px}
.nw-pay-grimoire .nw-pay-content{gap:13px}
.nw-pay-grimoire .nw-pay-chamber-prologue{max-width:48ch;color:#c5c0a9;font:italic 13px/1.6 Georgia,serif}
.nw-pay-grimoire .nw-pay-plans{padding:2px 0 8px}
.nw-pay-grimoire .nw-pay-plans-note{max-width:64ch;margin:0 auto 15px;color:#adae9e;font-size:12px}
.nw-pay-grimoire .nw-pay-plan-grid{gap:15px;perspective:1200px;align-items:stretch}
.nw-pay-grimoire .nw-pay-chapter{display:flex;flex-direction:column;position:relative;padding:21px 18px 17px;min-width:0;border:1px solid #ba99554f;border-bottom:2px solid #a8843a75;border-radius:3px 5px 8px 3px;background:repeating-linear-gradient(0deg,transparent 0 28px,#baa27205 29px,transparent 30px),radial-gradient(ellipse at 0 0,#9a71412a,transparent 70%),linear-gradient(150deg,#1e2826,#0c1417 80%);box-shadow:inset 5px 0 0 #070d12c9,inset 6px 0 0 #c4a67025,inset -1px 0 0 #ead39f14,0 8px 22px #0005;transform-origin:left center;animation:nw-book-chapter-reveal .65s cubic-bezier(.2,.7,.2,1) calc(1.05s + var(--chapter)*.11s) both;transition:transform .35s,border-color .35s,box-shadow .35s}
.nw-pay-grimoire .nw-pay-chapter-yearly{border-color:#d5b76c8a;background:radial-gradient(ellipse at 50% 0,#b28e3933,transparent 75%),linear-gradient(150deg,#272821,#101615 80%);box-shadow:inset 5px 0 0 #090e11c9,inset 6px 0 0 #d8b66535,0 8px 28px #0006,0 0 25px #b7952510}
.nw-pay-chapter-number{align-self:flex-start;display:grid;place-items:center;width:31px;height:31px;margin-bottom:12px;border:1px solid #bda16a68;box-shadow:inset 0 0 0 3px #10181a;color:#d6c098;font:14px/1 Georgia,serif;transform:rotate(-4deg)}
.nw-pay-grimoire .nw-pay-chapter-kicker{margin:0 0 7px;text-transform:uppercase;letter-spacing:.12em;color:#aa9977;font:9px/1.5 ui-monospace,monospace}
.nw-pay-grimoire .nw-pay-chapter h4{margin:0 0 12px;min-height:46px;color:#e0caa0;font:21px/1.12 Georgia,serif}
.nw-pay-grimoire .nw-pay-plan-price{font-size:clamp(23px,2.8vw,31px);color:#ecd19d;letter-spacing:-.035em;padding-bottom:15px;border-bottom:1px solid #b7985930}
.nw-pay-chapter-features{margin:15px 0 19px;padding:0;list-style:none;color:#b8c0b2;font:11px/1.55 system-ui,sans-serif;text-align:left;flex:1}
.nw-pay-chapter-features li{position:relative;padding-left:13px;margin:0 0 9px}
.nw-pay-chapter-features li:before{content:'◆';position:absolute;left:0;top:2px;color:#ad9157;font-size:6px}
.nw-pay-grimoire .nw-pay-chapter .nw-pay-offer-action{margin-top:auto;min-height:47px;border-color:#b4945b87;background:linear-gradient(140deg,#8e71302b,#172225);color:#e2cda6;font-size:12px;font-weight:600;letter-spacing:.025em}
.nw-pay-grimoire .nw-pay-chapter .nw-pay-offer-action:disabled{opacity:.54;cursor:default}
.nw-pay-grimoire .nw-pay-chapter .nw-pay-offer-action[aria-busy=true]{cursor:wait}
.nw-pay-grimoire .nw-pay-chapter .nw-pay-offer-action:not(:disabled):hover{border-color:#e0c078;background:linear-gradient(140deg,#92722e50,#20302e)}
.nw-pay-checkout-disclosure{max-width:85ch;margin:0 auto;font-size:11px;color:#a7ada7}
.nw-pay-grimoire .nw-pay-discount{width:min(100%,620px);box-sizing:border-box;align-self:center;padding:13px 15px;border:1px dashed #b4945b55;border-radius:3px;background:linear-gradient(115deg,#b99b4810,#08121680);text-align:left}
.nw-pay-discount-label{display:block;margin:0 0 8px;color:#d2bd96;font:11px/1.5 ui-monospace,monospace;letter-spacing:.04em}
.nw-pay-discount-controls{display:flex;gap:9px;align-items:stretch}
.nw-pay-discount-input{width:100%;min-width:0;min-height:42px;box-sizing:border-box;padding:9px 12px;border:1px solid #b4945b55;border-radius:3px;background:#071115b8;color:#eddfc4;font:14px/1.5 ui-monospace,monospace;letter-spacing:.05em;text-transform:uppercase}
.nw-pay-discount-input::placeholder{color:#a5a593;text-transform:none;letter-spacing:0}
.nw-pay-discount-input:focus-visible{outline:2px solid #d8bc78;outline-offset:2px}
.nw-pay-discount-input[aria-invalid=true]{border-color:#c87566}
.nw-pay-discount-input:disabled{opacity:.5}
.nw-pay-grimoire .nw-pay-discount-apply{flex:0 0 auto;width:auto;min-height:42px;margin:0;padding:9px 14px;border-color:#b4945b75;color:#e2cda6;font-size:11px;white-space:nowrap}
.nw-pay-discount-status{margin:8px 0 0;color:#b9b6a0;font:11px/1.6 system-ui,sans-serif;overflow-wrap:anywhere}
.nw-pay-grimoire .nw-pay-chapter[data-reading=applied] .nw-pay-plan-price{font-size:22px;letter-spacing:-.02em;color:#e9cd91}
.nw-pay-plan-renewal{margin:8px 0 0;color:#cfc3a5;font:11px/1.6 system-ui,sans-serif}
@media(max-width:620px){.nw-pay-grimoire .nw-pay-discount{padding:11px 12px}.nw-pay-discount-controls{gap:7px}.nw-pay-grimoire .nw-pay-discount-apply{padding:9px 10px;font-size:10px}.nw-pay-plan-renewal{grid-column:1/-1;grid-row:4;margin:4px 0}.nw-pay-grimoire .nw-pay-chapter[data-reading=applied] .nw-pay-plan-price{font-size:18px;text-align:right}.nw-pay-discount-status{font-size:10px}}
.nw-pay-room-picker{display:grid;gap:9px;padding:17px;border:1px solid #d0ad6270;background:#0c1518;text-align:left;scroll-margin:12px}
.nw-pay-room-picker h3{font:22px/1.3 Georgia,serif;color:#e0c899;margin:0 0 5px}
.nw-pay-room-choice{text-align:left;border-color:#ba9a6f57}
.nw-pay-auth-required{border-color:#d1b478a3;color:#f0d8ab}
.nw-pay-book-opening{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;pointer-events:none;z-index:3;isolation:isolate;animation:nw-book-opening-veil 1.65s ease both}
.nw-pay-book-halo{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 45%,#8d703f32,transparent 45%),#030709b8;animation:nw-book-halo 1.65s ease both}
.nw-pay-book-stage{width:216px;height:285px;perspective:1200px;transform-style:preserve-3d;animation:nw-book-opening-stage 1.65s cubic-bezier(.2,.6,.2,1) both}
.nw-pay-book{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(8deg) rotateY(-23deg) rotateZ(-5deg)}
.nw-pay-book-cover,.nw-pay-book-back,.nw-pay-book-leaf{position:absolute;inset:0;transform-origin:left center;backface-visibility:visible;border-radius:3px 10px 10px 3px}
.nw-pay-book-back{background:#1b211d;border:2px solid #947549;transform:translateZ(-22px);box-shadow:12px 17px 45px #000c}
.nw-pay-book-spine{position:absolute;top:0;bottom:0;left:-11px;width:23px;transform:rotateY(-90deg);background:repeating-linear-gradient(0deg,#1a251f 0 48px,#a9894d 49px 54px,#11211c 55px 96px);border:1px solid #ac8d4a55;box-shadow:inset 0 0 14px #000c}
.nw-pay-book-cover{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:17px;padding:19px;box-sizing:border-box;border:2px solid #aa8c50;background:radial-gradient(ellipse at 50% 30%,#5c61404d,transparent 70%),repeating-linear-gradient(44deg,#29362b 0 2px,#1c2c22 3px 5px);box-shadow:inset 0 0 0 8px #081913,inset 0 0 0 9px #ad8b4677,inset 0 0 35px #0008,3px 5px 16px #0009;transform:translateZ(3px);animation:nw-book-cover-open 1.35s .08s cubic-bezier(.25,.62,.2,1) both}
.nw-pay-book-cover:before{content:'';position:absolute;inset:26px 23px;border:1px solid #b491494f;clip-path:polygon(0 10%,10% 0,90% 0,100% 10%,100% 90%,90% 100%,10% 100%,0 90%)}
.nw-pay-book-corner{position:absolute;right:9px;width:19px;height:19px;border:2px solid #bca46b;border-left:0;transform:rotate(45deg)}
.nw-pay-book-corner-top{top:12px;border-bottom:0}.nw-pay-book-corner-bottom{bottom:12px;border-top:0;transform:rotate(-45deg)}
.nw-pay-book-engraving,.nw-pay-book-title{color:#d4bc87;font:10px/1.5 Georgia,serif;letter-spacing:.17em;text-shadow:0 2px 3px #0009}
.nw-pay-book-title{font-size:12px;letter-spacing:.18em}
.nw-pay-book-mark{display:grid;place-items:center;width:83px;height:83px;border:1px solid #b49a6277;border-radius:50%;color:#e0c38a;font:55px/1 Georgia,serif;box-shadow:inset 0 0 0 4px #0d1f17,inset 0 0 0 5px #bb945943,0 0 28px #d2a15114;text-shadow:0 2px 8px #000}
.nw-pay-book-leaf{inset:7px 3px 7px 5px;transform:translateZ(calc(-2px - var(--leaf)*2px));background:repeating-linear-gradient(0deg,#b8ad861d 0 17px,#70654432 18px,#cfc29a33 19px 20px),linear-gradient(100deg,#b0a47c,#e0d4b3 13%,#c1b388 90%);border:1px solid #a6956c;box-shadow:inset 8px 0 13px #6e664e67;animation:nw-book-leaf-turn 1.2s calc(.12s + var(--leaf)*.045s) cubic-bezier(.25,.62,.2,1) both}
.nw-pay-book-opening-label{color:#c2b18a;font:italic 13px/1.6 Georgia,serif;letter-spacing:.025em;text-align:center;margin:0 20px}
.nw-pay-book-candles{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.nw-pay-book-candles>i{position:absolute;left:calc(5% + var(--candle)*30%);bottom:7%;width:10px;height:48px;border-radius:2px;background:linear-gradient(90deg,#332c23,#85725b 45%,#312d25);box-shadow:0 10px 25px #0008;opacity:.7;transform:rotate(calc(-1deg + var(--candle)*.6deg))}
.nw-pay-book-candles>i:nth-child(2),.nw-pay-book-candles>i:nth-child(3){bottom:13%;height:61px;opacity:.32}
.nw-pay-book-candles b{position:absolute;left:1px;top:-20px;width:8px;height:23px;border-radius:60% 35% 45% 45%;background:radial-gradient(ellipse at 50% 80%,#fff7d7 0 10%,#e8c676 20%,#c4833488 67%,transparent 77%);box-shadow:0 0 16px 5px #dc994229,0 0 70px 18px #d6a55013;transform-origin:50% 100%;animation:nw-book-candle 3.1s calc(var(--candle)*-.8s) ease-in-out infinite alternate}
.nw-pay-grimoire[data-fx-paused=true] *{animation-play-state:paused!important}
@media(hover:hover) and (pointer:fine){.nw-pay-grimoire .nw-pay-chapter:hover{transform:translateY(-5px) rotateY(-2deg);border-color:#cdb07694;box-shadow:inset 5px 0 0 #080f13c9,inset 6px 0 0 #c4a67035,0 15px 30px #0008}}
@keyframes nw-book-cover-open{0%,12%{transform:translateZ(3px) rotateY(0)}72%,100%{transform:translateZ(3px) rotateY(-148deg)}}
@keyframes nw-book-leaf-turn{0%,22%{transform:translateZ(calc(-2px - var(--leaf)*2px)) rotateY(0)}65%{transform:translateZ(calc(-2px - var(--leaf)*2px)) rotateY(calc(-95deg - var(--leaf)*4deg))}100%{transform:translateZ(calc(-2px - var(--leaf)*2px)) rotateY(calc(-130deg - var(--leaf)*2deg))}}
@keyframes nw-book-opening-stage{0%{opacity:0;transform:translateY(18px) scale(.9)}15%,63%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-50px) scale(.65)}}
@keyframes nw-book-opening-veil{0%,65%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes nw-book-halo{0%,50%{opacity:1}100%{opacity:0}}
@keyframes nw-book-chapters-arrive{0%,55%{opacity:0;transform:translateY(22px) scale(.96)}100%{opacity:1;transform:none}}
@keyframes nw-book-chapter-reveal{from{opacity:0;transform:rotateY(15deg) translateY(10px)}to{opacity:1;transform:none}}
@keyframes nw-book-candle{0%{opacity:.6;transform:rotate(-5deg) scaleY(.93)}55%{opacity:.85;transform:rotate(3deg) scaleY(1.05)}100%{opacity:.68;transform:rotate(-2deg) scaleY(.96)}}
.nw-pay-grimoire.nw-pay-reduced .nw-pay-book-opening,html.reduce .nw-pay-grimoire .nw-pay-book-opening{display:none}
@media(prefers-reduced-motion:reduce){.nw-pay-grimoire .nw-pay-book-opening{display:none}}
@media(max-width:620px){.nw-pay-grimoire .nw-pay-dialog{padding:27px 20px 20px}.nw-pay-grimoire .nw-pay-chapter{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:15px 14px 15px 20px;animation-delay:calc(.95s + var(--chapter)*.08s)}.nw-pay-chapter-number{width:25px;height:25px;grid-column:1;grid-row:1;margin:0}.nw-pay-grimoire .nw-pay-chapter-kicker{grid-column:1;grid-row:2;font-size:8px;margin:4px 0 0}.nw-pay-grimoire .nw-pay-chapter h4{grid-column:1;grid-row:3;font-size:19px;min-height:0;margin:0}.nw-pay-grimoire .nw-pay-chapter .nw-pay-plan-price{grid-column:2;grid-row:2/4;align-self:center;border:0;padding:0;font-size:24px;max-width:100%}.nw-pay-chapter-features{grid-column:1/-1;margin:10px 0 7px;font-size:10px}.nw-pay-chapter-features li{margin-bottom:5px}.nw-pay-grimoire .nw-pay-chapter .nw-pay-offer-action{grid-column:1/-1;min-height:45px}.nw-pay-grimoire .nw-pay-plan-grid{gap:11px}.nw-pay-grimoire .nw-pay-dialog h2{font-size:30px}.nw-pay-grimoire .nw-pay-seal{width:44px;height:44px;margin-bottom:8px}.nw-pay-grimoire .nw-pay-seal span{font-size:22px}.nw-pay-book-stage{width:184px;height:248px}.nw-pay-book-opening{gap:22px}.nw-pay-book-candles>i:nth-child(2),.nw-pay-book-candles>i:nth-child(3){display:none}}
@media(max-height:730px) and (min-width:621px){.nw-pay-grimoire .nw-pay-dialog{padding:23px 26px 20px}.nw-pay-grimoire .nw-pay-seal{width:40px;height:40px;margin-bottom:7px}.nw-pay-grimoire .nw-pay-seal span{font-size:22px}.nw-pay-grimoire .nw-pay-dialog h2{font-size:33px}.nw-pay-grimoire .nw-pay-chapter{padding:17px 15px 14px}.nw-pay-chapter-number{margin-bottom:8px}.nw-pay-grimoire .nw-pay-chapter h4{font-size:20px;margin-bottom:8px}.nw-pay-chapter-features{margin:11px 0 13px}.nw-pay-chapter-features li{margin-bottom:7px}}

/* NOWAYOUT SOURCE: css/stats.css */
/* Histórico y registros reales: un rastro de sangre discreto, sin cubrir el escenario. */
.nwo-stats-panel { --stats-aura:#cfad79; min-width:0; color:#b9b6ac; font-family:"IBM Plex Mono",monospace; }
.nwo-stats-counts { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.nwo-stats-count { display:grid; gap:4px; min-width:0; }
.nwo-stats-count b { color:#d5c4a5; font-weight:500; font-size:19px; line-height:1; }
.nwo-stats-count span { color:#9b9e9b; font-size:9px; line-height:1.5; letter-spacing:.04em; }
.nwo-stats-count-plays>span { color:#dc8c84; }
.nwo-stats-count-wins>span { color:#8fcaa3; }
.nwo-stats-room { display:block; }
.cat-cassette>.nwo-stats-room { padding:0 14px 12px; }
.nwo-stats-room .nwo-stats-counts { gap:14px; }
.nwo-stats-room .nwo-stats-count b { font-size:13px; }
.nwo-stats-room .nwo-stats-count span { font-size:7px; }
.nwo-stats-room .nwo-stats-note { margin-top:5px;font-size:7px; }
.nwo-stats-coming { color:#8d938d;font:7px/1.5 "IBM Plex Mono",monospace; }
.nwo-stats-note { color:#788281; font:8px/1.6 "IBM Plex Mono",monospace; max-width:560px; margin:9px 0 0; }
.nwo-stats-signal { position:relative; isolation:isolate; width:fit-content; max-width:100%; margin-top:14px; border:1px solid #70423877; border-radius:16px 20px 19px 7px; background:linear-gradient(151deg,#281516c9,#0a1015f0 73%); box-shadow:inset 0 1px #b7654521,0 4px 24px #14070944; }
.nwo-stats-blood { position:absolute; z-index:-1; left:16px; top:calc(100% - 3px); width:2px; height:8px; border-radius:0 0 8px 8px; background:linear-gradient(#653123,#341411); opacity:.65; animation:nwo-stats-drip 12s ease-in-out infinite alternate; }
.nwo-stats-blood::after { content:""; position:absolute; width:3px; height:5px; border-radius:50%; bottom:-1px; left:-.5px; background:#5f2f26; box-shadow:0 0 4px #411913; }
.nwo-stats-profile { display:flex; align-items:center; gap:10px; padding:10px 13px; min-width:0; text-decoration:none; color:inherit; border-radius:inherit; animation:nwo-stats-appear .45s ease-out; }
.nwo-stats-profile:focus-visible { outline:2px solid var(--stats-aura); outline-offset:4px; }
.nwo-stats-profile .avatar-portrait { flex-shrink:0; filter:drop-shadow(0 0 6px #c89b4826); }
.nwo-stats-identity { display:grid; gap:4px; min-width:0; }
.nwo-stats-identity b { color:#d0b995; font:500 11px/1.2 "IBM Plex Mono",monospace; overflow-wrap:anywhere; }
.nwo-stats-identity>span { color:#977f69; font-size:8px; line-height:1.2; }
.nwo-stats-score { color:#ad8971; font-size:10px; white-space:nowrap; margin-left:9px; }
.nwo-stats-empty { margin:0; padding:8px 11px; color:#95867c; font-size:8px; line-height:1.6; }
.nwo-stats-gate { width:fit-content; max-width:100%; }
.nwo-stats-gate .nwo-stats-profile { padding:7px 10px; gap:7px; }
.nwo-stats-gate .nwo-stats-identity b { font-size:9px; }
.nwo-stats-gate .nwo-stats-score { font-size:8px; }
.nwo-stats-gate .nwo-stats-note { max-width:330px; font-size:7px; opacity:.8; }
.nwo-stats-catalog { position:relative; margin:24px auto; padding:clamp(20px,3vw,36px); border:1px solid #7d644522; background:radial-gradient(ellipse at 72% 70%,#492c1623,transparent 65%),#080e14d9; border-radius:14px; }
.nwo-stats-catalog .nwo-stats-counts { gap:clamp(18px,4vw,54px); }
.nwo-stats-catalog .nwo-stats-count b { font-size:25px; }
.nwo-stats-catalog .nwo-stats-signal { margin-top:19px; }
.nwo-stats-tower { max-width:660px; margin:38px auto 0; text-align:center; }
.nwo-stats-eyebrow { color:#a7916b; font:9px/1.6 "IBM Plex Mono",monospace; letter-spacing:.15em; margin:0 0 10px; }
.nwo-stats-tower h3 { margin:0 0 25px; color:#ded3be; font:600 clamp(29px,4vw,43px)/1.05 "Big Shoulders Display",sans-serif; }
.nwo-stats-pyramid { display:flex; flex-direction:column; align-items:center; list-style:none; margin:0; padding:0; gap:6px; }
.nwo-stats-rank { width:var(--rank-width); max-width:100%; box-sizing:border-box; min-height:62px; display:flex; flex-direction:column; justify-content:center; gap:6px; border:1px solid #68573d33; border-radius:3px; background:linear-gradient(90deg,transparent,#1b1b2077,transparent); padding:12px 20px; }
.nwo-stats-rank b { font-size:10px; font-weight:400; color:#787c7b; }
.nwo-stats-rank span { font-size:8px; color:#596564; }
.nwo-stats-rank-open { border-color:#ba915350; background:linear-gradient(90deg,#241c1033,#392b1680,#241c1033); box-shadow:0 0 28px #b5884012,inset 0 1px #b99a6322; }
.nwo-stats-rank-open b { color:#d0b582; }
.nwo-stats-rank-open span { color:#a38e6c; }
.nwo-stats-rank-locked { opacity:.72; }
.nwo-stats-rank-note { margin:17px auto 0; max-width:470px; color:#818b88; font:9px/1.8 "IBM Plex Mono",monospace; text-wrap:balance; }
.nwo-stats-tower blockquote { color:#b49c76; font:400 12px/1.9 "IBM Plex Mono",monospace; margin:26px 0 0; text-wrap:balance; }
.nwo-stats-paused *, .nwo-stats-gentle * { animation-play-state:paused!important; }
html.reduce .nwo-stats-panel * { animation:none!important; }
@keyframes nwo-stats-drip { to{height:15px;opacity:.35} }
@keyframes nwo-stats-appear { from{opacity:.25;translate:0 2px} to{opacity:1;translate:0 0} }
@media (max-width:520px) { .nwo-stats-counts{gap:16px}.nwo-stats-count b{font-size:17px}.nwo-stats-count span{font-size:8px}.nwo-stats-catalog .nwo-stats-count b{font-size:20px}.nwo-stats-rank{padding:12px 7px}.nwo-stats-rank b{font-size:9px}.nwo-stats-rank span{font-size:7px}.nwo-stats-catalog{padding:20px 14px}.nwo-stats-tower blockquote{font-size:10px} }
@media (prefers-reduced-motion:reduce) { .nwo-stats-panel * { animation:none!important; } }

/* NOWAYOUT SOURCE: css/monthly-challenge.css */
.nwo-monthly{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:20px;align-items:center;max-width:1320px;margin:20px auto 32px;padding:22px;border:1px solid #9d743438;border-radius:14px;background:linear-gradient(112deg,#151312f2,#0a0d12ef 60%,#271711dc);box-shadow:0 14px 54px #0005;color:#d4c9b4;overflow:hidden}.nwo-monthly-seal{width:58px;height:68px;display:grid;place-items:center;clip-path:polygon(50% 0,93% 20%,88% 76%,50% 100%,12% 76%,7% 20%);background:linear-gradient(135deg,#dbab5b40,#291c18);border:1px solid #b48b52;color:#deb46f;font:700 25px 'IBM Plex Mono',monospace;text-shadow:0 0 22px #ed9a27}.nwo-monthly-copy h3{font-family:'Big Shoulders Display',sans-serif;font-size:32px;letter-spacing:.04em;color:#f0debd;margin:5px 0 7px}.nwo-monthly-copy p{font-size:13px;line-height:1.6;max-width:750px;margin:5px 0}.nwo-monthly-copy .nwo-monthly-terms{color:#a4937d;font-size:11px}.nwo-monthly-film[hidden]{display:none}.nwo-monthly-film{position:relative;grid-column:1/-1;width:100%;aspect-ratio:2.8;background:#05080b;isolation:isolate;overflow:hidden;border:1px solid #9266375c;border-radius:10px;box-shadow:inset 0 0 100px #000}.nwo-monthly-film-art{position:absolute;inset:0;overflow:hidden}.nwo-monthly-storm{position:absolute;inset:-15%;background:linear-gradient(#02070b55,#020609e8),url('../assets/catalog/catalog-plane-storm-v1.jpg') center/cover;animation:nwo-monthly-flight 16s ease-in-out both}.nwo-monthly-signal{position:absolute;inset:-20%;background:conic-gradient(from 90deg at 50% 50%,transparent 0 96%,#deb36550 99%,transparent);mix-blend-mode:screen;animation:nwo-monthly-beam 8s linear infinite}.nwo-monthly-vault{position:absolute;left:calc(50% - 70px);top:30%;width:140px;height:100px;border:2px solid #ba854852;border-radius:8px;background:linear-gradient(135deg,#272219,#0b0d0b);transform:perspective(500px) rotateX(10deg) rotateY(-15deg);box-shadow:0 0 70px #dd932a18;animation:nwo-monthly-vault 16s ease-out both}.nwo-monthly-vault i:first-child{position:absolute;inset:12px;border:1px solid #b78f4b65;box-shadow:inset 0 0 30px #e6ad5320}.nwo-monthly-vault i:nth-child(2){position:absolute;width:36px;height:36px;left:52px;top:28px;border:3px solid #8c7348;border-radius:50%;background:#111;box-shadow:0 0 30px #df9e3d45}.nwo-monthly-vault i:nth-child(3){position:absolute;top:60%;left:-80%;width:260%;height:3px;background:linear-gradient(90deg,transparent,#edc978,transparent);box-shadow:0 0 23px #e69e35;animation:nwo-monthly-beam 7s linear infinite}.nwo-monthly-embers i{position:absolute;width:2px;height:2px;background:#eeb95a;bottom:10%;left:calc(8% + var(--i)*7%);box-shadow:0 0 8px #ffd179;animation:nwo-monthly-ember calc(3s + var(--i)*.13s) linear infinite;animation-delay:calc(var(--i)*-.3s)}.nwo-monthly-scene{position:absolute;inset:12% 10% 20%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:13px;opacity:0;pointer-events:none;text-shadow:0 3px 18px #000}.nwo-monthly-scene span{font:10px 'IBM Plex Mono',monospace;letter-spacing:.25em;color:#d9a967}.nwo-monthly-scene b{font:700 clamp(22px,4vw,48px)/1.1 'Big Shoulders Display',sans-serif;color:#f0e1c7;max-width:660px}.nwo-monthly-scene-one{animation:nwo-monthly-scene 5.3s ease both}.nwo-monthly-scene-two{animation:nwo-monthly-scene 5.3s 5.2s ease both}.nwo-monthly-scene-three{animation:nwo-monthly-final 5.5s 10.4s ease both}.nwo-monthly-film-note{position:absolute;left:20px;bottom:10px;font:9px 'IBM Plex Mono',monospace;color:#d2b794}.nwo-monthly-close{position:absolute;right:12px;bottom:14px;background:#080d11cb;color:#d8bc89;border:1px solid #ad7a4559;border-radius:6px;font-size:11px;padding:8px 11px;cursor:pointer}.nwo-monthly-paused *{animation-play-state:paused!important}.nwo-monthly-gentle *{animation:none!important}.nwo-monthly-gentle .nwo-monthly-scene{display:none}.nwo-monthly-gentle .nwo-monthly-scene-three{display:flex;opacity:1}.nwo-monthly-film-ended .nwo-monthly-scene-three{opacity:1}.nwo-monthly-film-ended .nwo-monthly-storm{animation-play-state:paused}.nwo-monthly:not(.nwo-monthly-playing) .nwo-monthly-film *{animation:none}.nwo-monthly-close:focus-visible{outline:2px solid #e9b55f;outline-offset:3px}@keyframes nwo-monthly-flight{from{transform:scale(1.05) translateY(1%)}to{transform:scale(1.18) translateY(-3%)}}@keyframes nwo-monthly-beam{to{transform:rotate(360deg)}}@keyframes nwo-monthly-ember{to{transform:translate(22px,-190px);opacity:0}}@keyframes nwo-monthly-vault{0%,24%{opacity:0;transform:perspective(500px) rotateX(14deg) rotateY(-15deg) scale(.8)}45%,100%{opacity:.6;transform:perspective(500px) rotateX(6deg) rotateY(7deg) scale(1)}}@keyframes nwo-monthly-scene{0%,100%{opacity:0;transform:translateY(10px)}15%,83%{opacity:1;transform:translateY(0)}}@keyframes nwo-monthly-final{0%{opacity:0;transform:translateY(10px)}15%,100%{opacity:1;transform:translateY(0)}}@media(max-width:650px){.nwo-monthly{margin:16px 12px 28px;padding:16px;grid-template-columns:42px 1fr;gap:12px}.nwo-monthly-seal{width:38px;height:48px;font-size:18px}.nwo-monthly-copy h3{font-size:27px}.nwo-monthly>.btn{grid-column:2;justify-self:start}.nwo-monthly-film{aspect-ratio:1.35}.nwo-monthly-film-note{bottom:46px;font-size:8px;left:12px}.nwo-monthly-vault{top:27%;opacity:.4}.nwo-monthly-scene{inset:8% 8% 24%}}@media(prefers-reduced-motion:reduce){.nwo-monthly *{animation:none!important}.nwo-monthly-scene{display:none}.nwo-monthly-scene-three{display:flex;opacity:1}}

/* NOWAYOUT SOURCE: css/community-fund.css */
.community-fund{--fund-progress:0%;--fund-tone:#ba8852;position:relative;isolation:isolate;overflow:hidden;padding:17px 19px;border:1px solid #b48e5a42;border-radius:5px;background:radial-gradient(ellipse at 100% 0,#8b58251a,transparent 60%),linear-gradient(135deg,#17120fa3,#080e13e6);color:#d9c8ad;box-sizing:border-box;max-width:100%;box-shadow:inset 0 1px 0 #edc9900c}
.community-fund-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.community-fund-kicker{font:10px/1.5 ui-monospace,monospace;letter-spacing:.14em;color:#c8a570;margin:0}.community-fund-goal{font:600 12px/1.5 ui-monospace,monospace;color:#e2c795;white-space:nowrap}.community-fund-copy{font-size:12px;line-height:1.7;color:#b3b6ad;margin:10px 0 13px;max-width:760px}.community-fund-numbers{font-size:12px;line-height:1.5;color:#dbc29b;margin-bottom:9px}.community-fund-amount{overflow-wrap:anywhere}.community-fund-bar{height:7px;border-radius:2px;overflow:hidden;background:#020609ba;border:1px solid #8b714132;box-shadow:inset 0 1px 4px #0008}.community-fund-fill{width:var(--fund-progress);height:100%;background:linear-gradient(90deg,#673429,var(--fund-tone),#edd394);box-shadow:0 0 12px #db986755;transition:width .8s ease-out,background .4s;max-width:100%}.community-fund-status{font:10px/1.7 ui-monospace,monospace;color:#969e9d;margin:9px 0 0}.community-fund-unknown .community-fund-fill{width:100%;opacity:.15;background:repeating-linear-gradient(120deg,#9f8154 0 5px,transparent 5px 13px);box-shadow:none;transition:none}
.community-fund-prizes{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;margin:12px 0 0;padding-top:9px;border-top:1px solid #ac82532a;font:10px/1.6 ui-monospace,monospace;color:#bba17d}.community-fund-prize-label{color:#d4bb91}.community-fund-prize-soon{padding:1px 5px;border:1px solid #ad885039;border-radius:3px;color:#ad9d83;font-size:9px}.community-fund-prize-terms{flex-basis:100%;margin:0;color:#928d81;font-size:9px}
.community-fund-level-1{--fund-tone:#cc964e;border-color:#c9985061;box-shadow:inset 0 1px 0 #e9c68412,0 0 18px #ae73280b}.community-fund-level-2{--fund-tone:#d28b47;border-color:#d29a586a;box-shadow:inset 0 1px 0 #e9c68416,0 0 24px #b1723510}.community-fund-level-3{--fund-tone:#ca6f4a;border-color:#c184587d;box-shadow:inset 0 1px 0 #e9c6841a,0 0 28px #bc733719}.community-fund-level-4{--fund-tone:#c96347;border-color:#d194618c;box-shadow:inset 0 1px 0 #e9c68420,0 0 32px #cb863a20}.community-fund-level-5{--fund-tone:#e5b667;border-color:#ddbb78aa;box-shadow:inset 0 1px 0 #ffe9b323,0 0 35px #d6a85529}
.community-fund-lightning{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:linear-gradient(125deg,transparent 15%,#e8c07524 48%,transparent 80%)}.community-fund-flash .community-fund-lightning{animation:communityFundLightning .8s ease-out both}@keyframes communityFundLightning{0%,100%{opacity:0}18%{opacity:.16}25%{opacity:.02}40%{opacity:.22}70%{opacity:.03}}
.community-fund-paused *{animation-play-state:paused!important}.community-fund-reduced *,.reduce .community-fund *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.community-fund *{animation:none!important;transition:none!important}}@media(max-width:440px){.community-fund{padding:15px}.community-fund-copy{font-size:11px}.community-fund-kicker{font-size:9px}.community-fund-goal{font-size:11px}}

/* NOWAYOUT SOURCE: css/payment-marks.css */
.payment-marks{position:relative;isolation:isolate;max-width:720px;margin:24px auto 0;padding:20px 16px 14px;border-top:1px solid rgba(197,143,71,.17);color:#b8aaa0;text-align:center}
.payment-marks:before{content:"";position:absolute;z-index:-1;left:14%;right:14%;top:0;height:1px;background:linear-gradient(90deg,transparent,#b98947,transparent);opacity:.4;pointer-events:none}
.payment-marks-title{margin:0 0 15px;color:#c3ae90;font:600 12px/1.55 var(--font,system-ui,sans-serif);letter-spacing:.045em}
.payment-marks-row{display:flex;justify-content:center;align-items:stretch;gap:12px;max-width:520px;margin:0 auto}
.payment-marks-seal{position:relative;isolation:isolate;display:flex;flex:1;min-width:0;max-width:164px;min-height:102px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px 14px 16px;border:1px solid rgba(155,123,83,.24);border-radius:8px;background:linear-gradient(150deg,rgba(28,24,24,.84),rgba(8,10,12,.9));box-shadow:inset 0 1px rgba(235,206,162,.07),0 5px 14px rgba(0,0,0,.13)}
.payment-marks-seal:before,.payment-marks-seal:after{content:"";position:absolute;width:9px;height:9px;border-color:#b98b50;border-style:solid;opacity:.32;pointer-events:none}
.payment-marks-seal:before{left:4px;top:4px;border-width:1px 0 0 1px}
.payment-marks-seal:after{right:4px;bottom:4px;border-width:0 1px 1px 0;animation:payment-marks-receiver 12s ease-in-out infinite}
.payment-marks-engraving{font:500 8px/1.2 var(--font,system-ui,sans-serif);letter-spacing:.14em;color:#827562;white-space:nowrap}
.payment-marks .payment-marks-logo{display:block;flex:none;width:116px;max-width:100%;height:48px;object-fit:contain;object-position:center;padding:0;margin:0;border:0;border-radius:0;background:none;filter:none;box-shadow:none;transform:none;animation:none;transition:none;opacity:1}
.payment-marks-note{max-width:480px;margin:14px auto 0;color:#90867b;font:400 10px/1.65 var(--font,system-ui,sans-serif)}
.payment-marks-paused .payment-marks-seal:after{animation-play-state:paused}
.payment-marks-reduced .payment-marks-seal:after{animation:none;opacity:.32}
@keyframes payment-marks-receiver{0%,75%,100%{opacity:.26}82%{opacity:.48}88%{opacity:.3}}
@media(max-width:430px){.payment-marks{padding-left:8px;padding-right:8px}.payment-marks-row{gap:8px}.payment-marks-seal{padding:12px 10px;min-height:94px}.payment-marks-engraving{font-size:7px;letter-spacing:.06em}.payment-marks .payment-marks-logo{height:43px}.payment-marks-title{font-size:11px}.payment-marks-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.payment-marks-seal:after{animation:none;opacity:.32}}

/* NOWAYOUT SOURCE: css/analytics.css */
.nwo-analytics{max-width:560px;margin:12px auto;color:#bbb7ad;font:12px/1.6 "Archivo",sans-serif;text-align:left}
.nwo-analytics summary{width:max-content;margin:auto;cursor:pointer;padding:8px 12px;color:#aaa89e;letter-spacing:.06em}
.nwo-analytics[open]{padding:10px 16px;border:1px solid #ab7b353b;border-radius:6px;background:#0b0c10d9}
.nwo-analytics p{margin:8px 0}.nwo-analytics-state{color:#d0ac70}
.nwo-analytics-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.nwo-analytics-actions button{border:1px solid #a68a575c;background:#191916;color:#e3ded0;font:inherit;padding:9px 12px;border-radius:4px;cursor:pointer;min-height:40px}
.nwo-analytics-actions button[aria-pressed=true]{border-color:#c99c5a;color:#f1c787}
.nwo-analytics-actions button:disabled{opacity:.45;cursor:default}
.nwo-analytics :focus-visible{outline:2px solid #c99c5a;outline-offset:3px}

/* NOWAYOUT SOURCE: css/profiles-epic.css */
/* Sólo el archivo de perfiles: latón mojado, luz del faro y sellos reales. */
#community .profiles-epic {
  --profile-edge: #9c804e69;
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at 95% 0, #83572619, transparent 52%), linear-gradient(135deg, #0c151cf5, #080c11fa);
  border-color: #9b815952;
  box-shadow: 0 22px 65px #0007, inset 0 1px 0 #ffe0a611;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
#community .profiles-epic > .eyebrow { color: #baac8e; font-size: 10px; line-height: 1.7; }
#community .profiles-epic > h1 {
  margin: 12px 0 22px;
  font: 800 clamp(32px, 5.5vw, 48px)/1.04 var(--f-display);
  letter-spacing: .012em;
  color: #efe3cc;
  text-shadow: 0 2px 15px #0008;
  text-wrap: balance;
}
#community .profiles-epic .profile-card {
  --profile-aura: #dba85e;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(115deg, #bd86431a, transparent 28%), linear-gradient(150deg, #1a252dcc, #0a1017e8 75%);
  box-shadow: inset 0 1px 0 #ffe5b012, inset 3px 0 0 #bda16e3b, 0 8px 24px #0004;
  transition: transform .28s cubic-bezier(.2,.7,.25,1);
  animation-play-state: paused;
}
#community .profiles-epic .profile-card.profile-has-entered { animation-name:profileEpicArrival; animation-duration:.62s; animation-timing-function:cubic-bezier(.2,.75,.25,1); }
#community .profiles-epic .profile-card::before {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 170px;
  height: 170px;
  right: -68px;
  top: -74px;
  border: 1px solid #c8a26420;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, transparent 25%, #b77c3213 26%, transparent 28%, transparent 42%, #c4924c15 43%, transparent 45%);
  box-shadow: 0 0 0 17px #d4aa6105, 0 0 0 37px #d4aa6104;
  opacity: .45;
}
#community .profiles-epic .profile-card::after {
  content: '';
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: -35% auto -35% -45%;
  width: 38%;
  background: linear-gradient(110deg, transparent 5%, #d7b17105 36%, #eed7a618 48%, #8aa8bc0a 54%, transparent 82%);
  transform: translateX(0) skewX(-16deg);
  opacity: 0;
}
#community .profiles-epic .profile-card > * { position: relative; z-index: 1; }
#community .profiles-epic .profile-identity { min-height: 64px; }
#community .profiles-epic .profile-name {
  min-width: 0;
  color: #f0e5d0;
  font: 800 clamp(25px, 4.3vw, 34px)/1.08 var(--f-display);
  letter-spacing: .016em;
  text-shadow: 0 2px 9px #0008;
}
#community .profiles-epic .profile-portrait-stage { position: relative; flex: 0 0 64px; width: 64px; height: 64px; }
#community .profiles-epic .profile-portrait-stage::before {
  content: '';
  position: absolute;
  pointer-events: none;
  inset: -9px;
  border-radius: 50%;
  border: 1px solid #c8a37037;
  background: radial-gradient(circle, transparent 37%, #dda25115 61%, transparent 72%);
  opacity: .55;
}
#community .profiles-epic .profile-portrait-stage .avatar-portrait {
  position: relative;
  z-index: 1;
  border-color: #ae8e575e;
  box-shadow: inset 0 0 0 1px #03060a70, 0 4px 12px #0009, 0 0 20px #c39a4c19;
}
#community .profiles-epic .profile-achievement { color: #adb5b7; margin: 15px 0 12px; max-width: 54ch; font-size: 12px; line-height: 1.6; }
#community .profiles-epic .profile-seal {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  max-width: 100%;
  padding: 5px 11px 5px 6px;
  border-color: #bfa36b65;
  border-radius: 4px 12px 12px 4px;
  color: #e7c88e;
  background: linear-gradient(115deg, #b6853819, #080e145e);
  box-shadow: inset 0 1px 0 #ffe6b211, 0 3px 9px #0004;
  font-size: 10px;
  line-height: 1.5;
  white-space: normal;
}
#community .profiles-epic .profile-seal-mark { flex: 0 0 27px; width: 27px; height: 27px; display: grid; place-items: center; color: #ebca89; }
#community .profiles-epic .profile-seal-mark svg { display: block; width: 27px; height: 27px; }
#community .profiles-epic .profile-link { margin-left: 10px; font-size: 12px; min-height: 40px; border-color: #a2895b55; vertical-align: middle; }
#community .profiles-epic .profile-coat-slate { --profile-aura: #89abbc; }
#community .profiles-epic .profile-coat-dark { --profile-aura: #869fba; }
#community .profiles-epic .profile-coat-red { --profile-aura: #c9765c; }
#community .profiles-epic .profile-card-achieved .profile-portrait-stage::after {
  content: '';
  position: absolute;
  pointer-events: none;
  inset: -5px;
  border-radius: 50%;
  border: 1px dashed var(--profile-aura);
  opacity: .34;
  transform: rotate(-18deg);
}
/* No frame loop, filter animation, bitmap or persistent will-change layers. */
#community .profiles-epic .profile-card-achieved::before { animation: profileEpicAura 11s ease-in-out infinite; }
#community .profiles-epic .profile-card-achieved::after { animation: profileEpicGlass 19s ease-in-out infinite; }
#community .profiles-epic .profile-card-achieved .profile-portrait-stage::after { animation: profileEpicOrbit 38s linear infinite; }
#community .profiles-epic .profile-card-achieved .profile-seal-mark { animation: profileEpicSeal 9s ease-in-out infinite; }
#community .profiles-epic .profile-card:nth-child(2n)::before { animation-delay: -4s; }
#community .profiles-epic .profile-card:nth-child(2n)::after { animation-delay: -8s; }
#community .profiles-epic .profile-card:nth-child(3n) .profile-seal-mark { animation-delay: -3s; }
#community .profiles-epic .profile-card::before,
#community .profiles-epic .profile-card::after,
#community .profiles-epic .profile-portrait-stage::after,
#community .profiles-epic .profile-seal-mark { animation-play-state: paused; }
#community .profiles-epic .profile-motion-on,
#community .profiles-epic .profile-motion-on::before,
#community .profiles-epic .profile-motion-on::after,
#community .profiles-epic .profile-motion-on .profile-portrait-stage::after,
#community .profiles-epic .profile-motion-on .profile-seal-mark { animation-play-state: running; }
@media (hover:hover) and (pointer:fine) {
  #community .profiles-epic .profile-motion-on:hover { transform: translateY(-2px); }
}
#community .profiles-epic .profile-motion-on:focus-within { transform: translateY(-2px); }
@keyframes profileEpicAura { 0%,100% { opacity:.35; transform:scale(.985); } 50% { opacity:.78; transform:scale(1.025); } }
@keyframes profileEpicGlass { 0%,78%,100% { opacity:0; transform:translateX(0) skewX(-16deg); } 82% { opacity:.75; } 94% { opacity:0; transform:translateX(400%) skewX(-16deg); } }
@keyframes profileEpicOrbit { from { transform:rotate(-18deg); } to { transform:rotate(342deg); } }
@keyframes profileEpicSeal { 0%,100% { opacity:.7; transform:scale(1); } 50% { opacity:1; transform:scale(1.045); } }
@keyframes profileEpicArrival { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:440px) {
  #community .profiles-epic .profile-link { display:flex; width:fit-content; margin:13px 0 0; }
  #community .profiles-epic .profile-seal { font-size:10px; }
}
#community[hidden] .profiles-epic .profile-card,
#community[hidden] .profiles-epic .profile-card::before,
#community[hidden] .profiles-epic .profile-card::after,
#community[hidden] .profiles-epic .profile-portrait-stage::after,
#community[hidden] .profiles-epic .profile-seal-mark { animation-play-state:paused; }
.reduce #community .profiles-epic *,
.reduce #community .profiles-epic *::before,
.reduce #community .profiles-epic *::after { animation:none!important; transition:none!important; transform:none!important; }
@media (prefers-reduced-motion:reduce) {
  #community .profiles-epic *, #community .profiles-epic *::before, #community .profiles-epic *::after { animation:none!important; transition:none!important; transform:none!important; }
}

/* NOWAYOUT SOURCE: css/catalog-account.css */
/* Explicado por sus propias marcas: el expediente y el Panteón sólo viven en el catálogo. */
.catalog-cinema .cat-account { --account-gold:#dbbb7d; --account-blood:#bd342f; position:relative; isolation:isolate; padding:42px var(--cat-pad) 34px; color:#eee5d4; background:radial-gradient(ellipse at 80% 42%,#6d151e1c,transparent 52%),linear-gradient(180deg,#06090d,#0c1217 53%,#080d12); border-top:1px solid #b599632c; border-bottom:1px solid #b599632c; scroll-margin-top:20px; }
.catalog-cinema .cat-account-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.catalog-cinema .cat-account-heading .cat-kicker { margin-bottom:7px; }
.catalog-cinema .cat-account-heading h2 { font:800 clamp(30px,4vw,52px)/1 var(--f-display); text-transform:uppercase; margin:0; text-wrap:balance; }
.catalog-cinema .cat-account-signal { display:flex; align-items:center; gap:9px; font:8px var(--f-mono); letter-spacing:.15em; color:#9eaaae; }
.catalog-cinema .cat-account-signal i { width:5px; height:5px; border-radius:50%; background:#dcb97a; box-shadow:0 0 9px #e6b36e8c; animation:catAccountSignal 4s ease-in-out infinite; }
.catalog-cinema .cat-account-stage { display:grid; grid-template-columns:.8fr .8fr 1.2fr; gap:clamp(20px,3vw,42px); align-items:center; min-height:335px; }
.catalog-cinema .cat-character { position:relative; min-width:0; height:322px; display:grid; justify-items:center; align-items:start; padding-top:20px; perspective:700px; }
.catalog-cinema .cat-character-orbit { position:absolute; width:232px; height:232px; top:5px; border:1px solid #d0ab6342; border-radius:50%; border-left-color:transparent; border-right-color:#d0ab6370; transform:rotateX(20deg) rotateY(-18deg); animation:catAccountOrbit 42s linear infinite; opacity:.65; }
.catalog-cinema .cat-character-orbit::before { content:''; position:absolute; top:19px; left:31px; width:5px; height:5px; border-radius:50%; background:#dbbb7d; box-shadow:0 0 15px #ccab6cb5; }
.catalog-cinema .cat-character-orbit-second { width:206px; height:206px; top:18px; border-style:dashed; border-color:#819ca72b; animation-direction:reverse; animation-duration:66s; }
.catalog-cinema .cat-character-beam { position:absolute; top:14px; width:190px; height:240px; background:linear-gradient(180deg,transparent,#c29e5820); clip-path:polygon(35% 0,65% 0,100% 100%,0 100%); transform-origin:50% 100%; animation:catAccountBeam 12s ease-in-out infinite; }
.catalog-cinema .cat-character-figure { position:relative; z-index:2; margin-top:12px; transform:rotateY(-12deg) rotateX(3deg); animation:catAccountCharacter 8s ease-in-out infinite; }
.catalog-cinema .cat-character-figure .avatar-portrait { display:block; width:160px; height:174px; border:1px solid #c5a8728a; border-radius:11px; overflow:hidden; box-shadow:12px 16px 28px #000b,-1px 0 0 #e5d3b645,0 0 32px #be96562a; }
.catalog-cinema .cat-character-figure .avatar-portrait-svg { display:block; width:100%; height:100%; }
.catalog-cinema .cat-character-platform { position:absolute; width:218px; height:56px; top:210px; border:1px solid #ae906044; border-radius:50%; background:radial-gradient(ellipse,#d7b0681c,#070d12 58%); box-shadow:0 8px 0 #020609,0 9px 0 #92774e44,0 20px 22px #0007; transform:rotateX(50deg); }
.catalog-cinema .cat-character-caption { position:absolute; bottom:0; width:100%; text-align:center; }
.catalog-cinema .cat-account-state { font:7px var(--f-mono); letter-spacing:.18em; color:#97886d; }
.catalog-cinema .cat-account-name { font:800 clamp(24px,2.6vw,37px)/1.1 var(--f-display); text-transform:uppercase; letter-spacing:.015em; margin:8px 0; overflow-wrap:anywhere; }
.catalog-cinema .cat-account-location { display:block; color:#9fa9ae; font:9px/1.6 var(--f-mono); }
.catalog-cinema .cat-account-data { min-width:0; padding:28px 0 20px; }
.catalog-cinema .cat-account-iq .cat-kicker { font-size:9px; color:#cdbb97; }
.catalog-cinema .cat-account-iq-digits { display:flex; align-items:baseline; gap:9px; }
.catalog-cinema .cat-account-iq-value { font:900 clamp(78px,8vw,132px)/.86 var(--f-display); color:#f0dbc0; letter-spacing:-.035em; text-shadow:0 0 24px #deb57922; }
.catalog-cinema .cat-account-iq-digits > span { color:#6f7c85; font:10px var(--f-mono); }
.catalog-cinema .cat-account-iq-note { color:#a9adb0; font:11px/1.7 var(--f-body); max-width:28ch; margin:18px 0 24px; }
.catalog-cinema .cat-account-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0; padding-top:18px; border-top:1px solid #a3916833; }
.catalog-cinema .cat-account-metrics dt { color:#8e9b9f; font:8px/1.4 var(--f-mono); }
.catalog-cinema .cat-account-metrics dd { margin:7px 0 0; }
.catalog-cinema .cat-account-metrics strong { color:#d7c39e; font:700 clamp(21px,2.2vw,29px)/1 var(--f-display); letter-spacing:.025em; }
.catalog-cinema .cat-account-competitive { min-width:0; padding-top:24px; }
.catalog-cinema .cat-panteon { display:flex; align-items:center; gap:19px; position:relative; width:100%; min-height:214px; padding:31px 26px 36px 19px; text-align:left; border:0; color:#f2d7bd; background:transparent; isolation:isolate; transform:rotate(-1.2deg); transition:transform .35s ease; touch-action:manipulation; }
.catalog-cinema .cat-panteon::before { content:''; position:absolute; z-index:-2; inset:0; background:radial-gradient(ellipse at 82% 15%,#b5313a75,transparent 60%),linear-gradient(145deg,#542128,#210e17 53%,#621d23); clip-path:polygon(2% 10%,16% 5%,27% 7%,42% 1%,53% 5%,68% 0,77% 6%,97% 3%,99% 28%,96% 41%,100% 69%,97% 88%,79% 91%,64% 100%,54% 94%,40% 98%,25% 93%,3% 96%,0 73%,3% 59%,0 30%); box-shadow:inset 0 0 44px #0009; }
.catalog-cinema .cat-panteon::after { content:''; position:absolute; z-index:-1; inset:7px; opacity:.7; background:linear-gradient(113deg,transparent 42%,#d3756052 42.2%,transparent 42.8%),radial-gradient(ellipse at 6% 16%,#d7493866,transparent 14%),radial-gradient(ellipse at 88% 84%,#b7312855,transparent 27%); clip-path:polygon(0 7%,22% 3%,42% 7%,61% 0,100% 5%,96% 96%,71% 100%,46% 93%,3% 96%); animation:catPanteonEmber 5s ease-in-out infinite; }
.catalog-cinema .cat-panteon-scar { position:absolute; pointer-events:none; width:64%; height:2px; top:39%; right:0; background:linear-gradient(90deg,transparent,#ce565968,transparent); transform:rotate(-24deg); opacity:.55; }
.catalog-cinema .cat-panteon-crest { display:block; flex:0 0 66px; width:66px; height:84px; color:#dbb27c; animation:catPanteonCrest 8s ease-in-out infinite; }
.catalog-cinema .cat-panteon-crest svg { display:block; width:100%; height:100%; }
.catalog-cinema .cat-panteon-copy { position:relative; min-width:0; }
.catalog-cinema .cat-panteon-kicker { display:block; font:7px/1.6 var(--f-mono); letter-spacing:.14em; color:#dc9d8b; max-width:30ch; }
.catalog-cinema .cat-panteon-copy > strong { display:block; margin:10px 0 15px; font:900 clamp(34px,4.1vw,57px)/.9 var(--f-display); text-transform:uppercase; letter-spacing:-.01em; text-shadow:1px 3px 0 #170a12,0 0 20px #ab493424; }
.catalog-cinema .cat-panteon-open { display:block; font:9px/1.6 var(--f-mono); color:#dec4aa; }
.catalog-cinema .cat-panteon-drips { position:absolute; height:32px; bottom:0; left:16%; right:13%; pointer-events:none; z-index:-1; }
.catalog-cinema .cat-panteon-drips i { position:absolute; display:block; height:33px; width:5px; border-radius:0 0 60% 60%; background:linear-gradient(#78252b,#9c3029); transform-origin:50% 0; animation:catPanteonDrip 9s ease-in-out infinite; }
.catalog-cinema .cat-panteon-drips i:nth-child(1) { left:7%; height:25px; animation-delay:-2s; }
.catalog-cinema .cat-panteon-drips i:nth-child(2) { left:52%; height:42px; width:3px; animation-delay:-6s; }
.catalog-cinema .cat-panteon-drips i:nth-child(3) { left:89%; height:20px; width:7px; animation-delay:-4s; }
.catalog-cinema .cat-panteon-rule { color:#aa9994; font:9px/1.7 var(--f-mono); margin:22px 11px 0; max-width:48ch; }
.catalog-cinema .cat-account-trophies { display:flex; align-items:center; gap:28px; margin:25px 0 26px; padding:21px 0; border-top:1px solid #a48c5c28; border-bottom:1px solid #a48c5c28; }
.catalog-cinema .cat-account-trophies > .cat-kicker { flex:0 0 120px; font-size:8px; margin:0; }
.catalog-cinema .cat-achievement-list { display:flex; gap:15px; flex-wrap:wrap; }
.catalog-cinema .cat-achievement { display:flex; align-items:center; gap:12px; min-width:0; padding:10px 16px 10px 10px; color:#dbc591; background:linear-gradient(120deg,#b88a3820,#080d13); border:1px solid #ab8b504d; border-radius:2px 17px 4px 9px; }
.catalog-cinema .cat-achievement-locked { border-style:dashed; color:#9d9d90; background:#09101780; }
.catalog-cinema .cat-achievement-mark { flex:0 0 34px; width:34px; height:34px; }
.catalog-cinema .cat-achievement-mark svg { display:block; width:100%; height:100%; }
.catalog-cinema .cat-achievement strong { display:block; font:700 19px/1.1 var(--f-display); text-transform:uppercase; }
.catalog-cinema .cat-achievement small { display:block; font:8px/1.6 var(--f-mono); color:#939fa2; margin-top:5px; max-width:70ch; }
.catalog-cinema .cat-account-connect { position:relative; padding:23px 25px; border:1px solid #8b81583b; background:linear-gradient(135deg,#bd9f5810,#091018); }
.catalog-cinema .cat-connect-heading { display:flex; justify-content:space-between; gap:15px; align-items:center; }
.catalog-cinema .cat-connect-heading .cat-kicker { font-size:8px; margin:0 0 16px; }
.catalog-cinema .cat-connect-controls { display:flex; gap:18px; align-items:end; flex-wrap:wrap; }
.catalog-cinema .cat-account-alias { display:grid; gap:7px; flex:1 1 220px; max-width:370px; }
.catalog-cinema .cat-account-alias > span { font:8px var(--f-mono); color:#b4b4a5; }
.catalog-cinema .cat-account-input { box-sizing:border-box; min-width:0; width:100%; min-height:46px; padding:10px 14px; background:#04090ff0; color:#e9dfc9; border:1px solid #9e947351; border-radius:3px; font:14px var(--f-body); }
.catalog-cinema .cat-account-input::placeholder { color:#77878c; }
.catalog-cinema .cat-google-signin { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:46px; padding:10px 16px; border:1px solid #c4af7869; border-radius:3px; background:#d7cdbb; color:#15232b; font:600 12px var(--f-body); touch-action:manipulation; }
.catalog-cinema .cat-google-signin:hover { background:#eee1c8; }
.catalog-cinema .cat-google-mark { font:800 20px var(--f-body); }
.catalog-cinema .cat-account-signout { padding:5px 0; border:0; background:transparent; color:#b1a798; font:9px var(--f-mono); }
.catalog-cinema .cat-account-save { min-height:46px; }
.catalog-cinema .cat-account-consent { display:flex; gap:10px; align-items:flex-start; margin-top:17px; font:10px/1.7 var(--f-body); color:#a5aead; }
.catalog-cinema .cat-account-consent input { margin-top:3px; accent-color:#c5a16a; flex-shrink:0; width:15px; height:15px; }
.catalog-cinema .cat-account-message { margin:12px 0 0; font:10px/1.7 var(--f-body); color:#acb4b7; }
.catalog-cinema .cat-account-nav { display:flex; align-items:center; gap:17px; }
.catalog-cinema .cat-nav-account { min-height:37px; padding:8px 13px; border:1px solid #b5a17555; background:#bb9c5817; color:#ddcfb4; font:10px var(--f-body); border-radius:3px; }
.catalog-cinema .cat-nav-panteon { background:transparent; border:0; color:#cf9385; padding:10px 0; font:700 20px var(--f-display); text-transform:uppercase; }
.catalog-cinema .cat-board { box-sizing:border-box; width:min(1000px,calc(100vw - 34px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #ac77605c; border-radius:3px 13px 5px 17px; background:#080e14; color:#eee3cf; box-shadow:0 28px 100px #000c; overflow:auto; }
.catalog-cinema .cat-board::backdrop { background:#02040be8; }
.catalog-cinema .cat-board-shell { position:relative; background:radial-gradient(ellipse at 83% 0,#6f1c242e,transparent 53%); padding:33px 34px 25px; }
.catalog-cinema .cat-board-head { display:flex; align-items:center; gap:22px; padding-right:24px; }
.catalog-cinema .cat-board-emblem { flex:0 0 61px; width:61px; height:80px; color:#c7a374; }
.catalog-cinema .cat-board-emblem svg { width:100%; height:100%; }
.catalog-cinema .cat-board-head .cat-kicker { color:#b08671; font-size:8px; margin:0 0 8px; }
.catalog-cinema .cat-board-head h2 { margin:0; font:900 clamp(32px,5vw,65px)/.98 var(--f-display); text-transform:uppercase; color:#e6c8ac; text-wrap:balance; }
.catalog-cinema .cat-board-intro { margin:9px 0 0; color:#a99d99; font:11px/1.7 var(--f-body); }
.catalog-cinema .cat-board-filters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:24px 0 0; }
.catalog-cinema .cat-board-filters label { display:grid; gap:8px; flex:1 1 210px; min-width:0; color:#b9a787; font:8px var(--f-mono); }
.catalog-cinema .cat-board-search { box-sizing:border-box; width:100%; min-width:0; min-height:42px; padding:11px 13px; border:1px solid #b2966754; border-radius:3px 9px 2px 5px; background:#040a10; color:#e8d8bd; font:12px var(--f-body); }
.catalog-cinema .cat-board-search::placeholder { color:#839195; }
.catalog-cinema .cat-board-search-button { min-height:42px; padding:10px 15px; border:1px solid #ad775e69; border-radius:3px 7px 2px 5px; background:linear-gradient(120deg,#571f26,#221019); color:#e4c2a8; font:9px var(--f-mono); }
.catalog-cinema .cat-board-close { position:absolute; right:17px; top:17px; border-color:#97655f5a; color:#ddc1a6; }
.catalog-cinema .cat-board-transmission { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #af946137; border-bottom:1px solid #af946137; padding:19px 0; margin-top:26px; }
.catalog-cinema .cat-board-transmission .cat-kicker { font-size:7px; display:block; margin-bottom:9px; }
.catalog-cinema .cat-board-countdown { font:700 30px/1 var(--f-display); letter-spacing:.07em; color:#d7bb8d; }
.catalog-cinema .cat-board-controls { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:17px; }
.catalog-cinema .cat-board-updated { font:8px/1.6 var(--f-mono); color:#929e9e; }
.catalog-cinema .cat-board-refresh { border:1px solid #8676505e; background:#b5934810; color:#d0be9d; padding:9px 12px; min-height:35px; border-radius:2px; font:9px var(--f-mono); }
.catalog-cinema .cat-board-formula { display:flex; flex-wrap:wrap; gap:10px; align-items:center; font:9px var(--f-mono); color:#a9aaa0; padding:18px 0 25px; }
.catalog-cinema .cat-board-formula b { color:#dfc79f; }
.catalog-cinema .cat-board-formula i { display:block; height:12px; width:1px; background:#77664d; margin:0 3px; }
.catalog-cinema .cat-board-formula-note { margin-left:auto; color:#859296; font-size:8px; }
.catalog-cinema .cat-board-labels,.catalog-cinema .cat-board-row { display:grid; grid-template-columns:minmax(0,1fr) 66px 95px 89px; gap:14px; }
.catalog-cinema .cat-board-labels { color:#827d6d; padding:0 16px 12px; font:7px var(--f-mono); letter-spacing:.09em; }
.catalog-cinema .cat-board-row { position:relative; align-items:center; min-height:82px; padding:15px 16px; border:1px solid #7b76552e; margin-bottom:9px; background:linear-gradient(90deg,#bb985510,#0a121bf0); border-radius:2px 9px 3px 6px; }
.catalog-cinema .cat-board-podium { border-color:#c49a635e; background:linear-gradient(115deg,#9d703820,#111923 65%); }
.catalog-cinema .cat-board-row[data-place="1"] { min-height:104px; border-color:#b576686e; background:radial-gradient(ellipse at 8% 20%,#71293636,transparent 55%),linear-gradient(115deg,#bd995421,#0b141e); box-shadow:inset 3px 0 0 #c6a379; }
.catalog-cinema .cat-board-player { display:flex; align-items:center; gap:13px; min-width:0; }
.catalog-cinema .cat-board-place { display:grid; gap:7px; width:47px; flex-shrink:0; }
.catalog-cinema .cat-board-place > strong { font:700 25px/1 var(--f-display); color:#bea983; }
.catalog-cinema .cat-board-row[data-place="1"] .cat-board-place > strong { font-size:34px; color:#e2cda6; }
.catalog-cinema .cat-board-movement { font:8px var(--f-mono); }
.catalog-cinema .cat-board-player .avatar-portrait { flex:0 0 46px; width:46px; height:50px; display:block; }
.catalog-cinema .cat-board-player .avatar-portrait-svg { display:block; width:100%; height:100%; }
.catalog-cinema .cat-board-identity { display:grid; gap:6px; min-width:0; }
.catalog-cinema .cat-board-identity > strong { color:#e4d8c0; font:700 25px/1 var(--f-display); overflow-wrap:anywhere; }
.catalog-cinema .cat-board-identity > span { color:#929ea2; font:8px/1.5 var(--f-mono); overflow-wrap:anywhere; }
.catalog-cinema .cat-board-value { display:grid; gap:5px; min-width:0; }
.catalog-cinema .cat-board-value > small { display:none; font:7px var(--f-mono); color:#7e8c92; }
.catalog-cinema .cat-board-value > strong { font:700 28px/1 var(--f-display); color:#c9bb9c; }
.catalog-cinema .cat-board-time > strong { color:#e2bc8d; }
.catalog-cinema .cat-board-elo > span { font:8px var(--f-mono); }
.catalog-cinema .is-rising { color:#8dc4b1; }
.catalog-cinema .is-falling { color:#ca877c; }
.catalog-cinema .is-steady { color:#7b8588; }
.catalog-cinema .cat-board-status { color:#a4aaaa; font:10px/1.7 var(--f-body); margin:17px 0; }
.catalog-cinema .cat-board-more { display:block; margin:22px auto; }
.catalog-cinema .cat-board-footnote { border-top:1px solid #a38a5b22; margin:24px 0 0; padding-top:16px; font:8px/1.8 var(--f-mono); color:#87969e; }
.catalog-cinema .cat-board-empty { padding:28px 18px 35px; text-align:center; border:1px dashed #bca2712e; background:radial-gradient(ellipse,#a3793311,transparent 68%); }
.catalog-cinema .cat-board-empty-crest { display:block; width:64px; height:78px; margin:0 auto 15px; color:#776852; }
.catalog-cinema .cat-board-empty-crest svg { display:block; width:100%; height:100%; }
.catalog-cinema .cat-board-empty h3 { font:800 clamp(25px,4vw,40px)/1.1 var(--f-display); text-transform:uppercase; margin:0 0 14px; color:#cebc99; }
.catalog-cinema .cat-board-empty p { font:11px/1.8 var(--f-body); color:#a3abb0; max-width:53ch; margin:auto; }
.catalog-cinema .cat-account [hidden] { display:none !important; }
.catalog-cinema .cat-account button:focus-visible,.catalog-cinema .cat-account input:focus-visible { outline:2px solid #e4c992; outline-offset:5px; }
.catalog-cinema .cat-account button:disabled { opacity:.55; cursor:wait; }
@media (hover:hover) and (pointer:fine) {
  .catalog-cinema .cat-panteon:hover { transform:rotate(.4deg) translateY(-5px) scale(1.015); }
  .catalog-cinema .cat-nav-panteon:hover { color:#efd0bc; }
}
.catalog-cinema .cat-panteon:focus-visible { transform:rotate(.4deg) translateY(-5px); outline:2px solid #efc69c; outline-offset:8px; }
@keyframes catAccountSignal { 0%,100% { opacity:.4; } 50% { opacity:1; } }
@keyframes catAccountOrbit { from { transform:rotateX(20deg) rotateY(-18deg) rotateZ(0); } to { transform:rotateX(20deg) rotateY(-18deg) rotateZ(360deg); } }
@keyframes catAccountBeam { 0%,100% { opacity:.32; transform:rotate(-8deg); } 50% { opacity:.8; transform:rotate(8deg); } }
@keyframes catAccountCharacter { 0%,100% { transform:translateY(0) rotateY(-12deg) rotateX(3deg); } 50% { transform:translateY(-7px) rotateY(9deg) rotateX(-2deg); } }
@keyframes catPanteonEmber { 0%,100% { opacity:.45; } 50% { opacity:.85; } }
@keyframes catPanteonCrest { 0%,100% { transform:rotate(-3deg) translateY(0); opacity:.8; } 50% { transform:rotate(2deg) translateY(-3px); opacity:1; } }
@keyframes catPanteonDrip { 0%,100% { transform:scaleY(.65); opacity:.6; } 55% { transform:scaleY(1); opacity:.9; } }
.catalog-cinema .cat-account-paused .cat-account-signal i,.catalog-cinema .cat-account-paused .cat-character-orbit,.catalog-cinema .cat-account-paused .cat-character-beam,.catalog-cinema .cat-account-paused .cat-character-figure,.catalog-cinema .cat-account-paused .cat-panteon::after,.catalog-cinema .cat-account-paused .cat-panteon-crest,.catalog-cinema .cat-account-paused .cat-panteon-drips i,#catalog[hidden] .cat-account-signal i,#catalog[hidden] .cat-character-orbit,#catalog[hidden] .cat-character-beam,#catalog[hidden] .cat-character-figure,#catalog[hidden] .cat-panteon::after,#catalog[hidden] .cat-panteon-crest,#catalog[hidden] .cat-panteon-drips i { animation-play-state:paused; }
.catalog-cinema .cat-account-reduced *,.catalog-cinema .cat-account-reduced *::before,.catalog-cinema .cat-account-reduced *::after,.reduce .catalog-cinema .cat-account *,.reduce .catalog-cinema .cat-account *::before,.reduce .catalog-cinema .cat-account *::after { animation:none !important; transition:none !important; }
@media (max-width:1120px) {
  .catalog-cinema .cat-account-stage { grid-template-columns:.8fr .75fr 1.15fr; gap:22px; }
  .catalog-cinema .cat-panteon { gap:12px; padding-left:13px; padding-right:18px; }
  .catalog-cinema .cat-panteon-crest { flex-basis:45px; width:45px; height:64px; }
  .catalog-cinema .cat-panteon-copy > strong { font-size:clamp(31px,3.6vw,46px); }
  .catalog-cinema .cat-account-metrics { gap:9px; }
  .catalog-cinema .cat-account-metrics dt { font-size:7px; }
}
@media (max-width:850px) {
  .catalog-cinema .cat-account { padding-top:34px; }
  .catalog-cinema .cat-account-stage { grid-template-columns:1fr 1fr; gap:10px 28px; }
  .catalog-cinema .cat-account-competitive { grid-column:1/-1; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:26px; padding-top:8px; }
  .catalog-cinema .cat-panteon { min-height:180px; padding:24px; gap:20px; }
  .catalog-cinema .cat-panteon-crest { width:62px; height:77px; flex-basis:62px; }
  .catalog-cinema .cat-panteon-copy > strong { font-size:44px; }
  .catalog-cinema .cat-panteon-rule { margin:0; font-size:10px; }
  .catalog-cinema .cat-account-data { padding-left:10px; }
  .catalog-cinema .cat-account-iq-value { font-size:116px; }
  .catalog-cinema .cat-account-metrics strong { font-size:28px; }
  .catalog-cinema .cat-account-trophies { margin-top:40px; }
  .catalog-cinema .cat-account-nav { gap:12px; }
  .catalog-cinema .cat-nav { gap:14px; }
}
@media (max-width:600px) {
  .catalog-cinema .cat-account { padding:27px var(--cat-pad) 25px; }
  .catalog-cinema .cat-account-heading h2 { font-size:34px; max-width:230px; }
  .catalog-cinema .cat-account-heading .cat-kicker { font-size:7px; }
  .catalog-cinema .cat-account-signal { font-size:6px; gap:6px; }
  .catalog-cinema .cat-account-stage { grid-template-columns:.9fr 1fr; gap:7px 16px; min-height:0; }
  .catalog-cinema .cat-character { height:278px; padding-top:20px; }
  .catalog-cinema .cat-character-orbit { top:17px; width:168px; height:168px; }
  .catalog-cinema .cat-character-orbit-second { top:30px; width:144px; height:144px; }
  .catalog-cinema .cat-character-beam { top:22px; width:144px; height:170px; }
  .catalog-cinema .cat-character-figure { margin-top:14px; }
  .catalog-cinema .cat-character-figure .avatar-portrait { width:113px; height:122px; }
  .catalog-cinema .cat-character-platform { top:173px; width:155px; height:42px; }
  .catalog-cinema .cat-account-name { font-size:25px; margin-top:8px; }
  .catalog-cinema .cat-account-state { font-size:6px; }
  .catalog-cinema .cat-account-location { font-size:7px; }
  .catalog-cinema .cat-account-data { padding:32px 0 0; }
  .catalog-cinema .cat-account-iq-value { font-size:94px; }
  .catalog-cinema .cat-account-iq-digits { gap:6px; }
  .catalog-cinema .cat-account-iq-digits > span { font-size:8px; }
  .catalog-cinema .cat-account-iq .cat-kicker { font-size:8px; }
  .catalog-cinema .cat-account-iq-note { font-size:9px; margin:13px 0 17px; max-width:22ch; }
  .catalog-cinema .cat-account-metrics { grid-template-columns:1fr 1fr; gap:14px 8px; padding-top:14px; }
  .catalog-cinema .cat-account-metrics > div:last-child { grid-column:1/-1; }
  .catalog-cinema .cat-account-metrics strong { font-size:24px; }
  .catalog-cinema .cat-account-metrics dt { font-size:7px; }
  .catalog-cinema .cat-account-competitive { display:block; padding-top:25px; }
  .catalog-cinema .cat-panteon { min-height:199px; padding:25px 30px 32px 20px; gap:20px; }
  .catalog-cinema .cat-panteon-crest { flex-basis:67px; width:67px; height:88px; }
  .catalog-cinema .cat-panteon-copy > strong { font-size:clamp(36px,11vw,51px); }
  .catalog-cinema .cat-panteon-kicker { font-size:6px; }
  .catalog-cinema .cat-panteon-open { font-size:8px; }
  .catalog-cinema .cat-panteon-rule { margin:20px 8px 0; font-size:8px; }
  .catalog-cinema .cat-account-trophies { display:block; margin-top:27px; padding:18px 0; }
  .catalog-cinema .cat-account-trophies > .cat-kicker { margin-bottom:14px; font-size:7px; }
  .catalog-cinema .cat-achievement { padding:10px 12px 10px 8px; width:100%; }
  .catalog-cinema .cat-achievement strong { font-size:20px; }
  .catalog-cinema .cat-achievement small { font-size:7px; }
  .catalog-cinema .cat-account-connect { padding:18px 16px; }
  .catalog-cinema .cat-connect-heading .cat-kicker { font-size:7px; margin-bottom:15px; max-width:30ch; }
  .catalog-cinema .cat-connect-controls { gap:14px; }
  .catalog-cinema .cat-account-alias { max-width:none; flex-basis:100%; }
  .catalog-cinema .cat-google-signin { flex-basis:100%; font-size:12px; }
  .catalog-cinema .cat-account-consent { font-size:9px; }
  .catalog-cinema .cat-account-message { font-size:9px; }
  .catalog-cinema .cat-account-nav { gap:10px; }
  .catalog-cinema .cat-nav { gap:10px; }
  .catalog-cinema .cat-nav-account { min-height:35px; padding:8px 10px; font-size:9px; }
  .catalog-cinema .cat-nav-panteon { font-size:19px; }
  .catalog-cinema .cat-board { width:calc(100vw - 20px); max-height:calc(100dvh - 22px); }
  .catalog-cinema .cat-board-shell { padding:26px 17px 19px; }
  .catalog-cinema .cat-board-head { gap:13px; padding-right:20px; }
  .catalog-cinema .cat-board-emblem { flex-basis:38px; width:38px; height:62px; }
  .catalog-cinema .cat-board-head .cat-kicker { font-size:6px; margin-bottom:7px; }
  .catalog-cinema .cat-board-head h2 { font-size:37px; }
  .catalog-cinema .cat-board-intro { font-size:9px; margin-top:11px; }
  .catalog-cinema .cat-board-close { top:9px; right:9px; width:27px; height:27px; }
  .catalog-cinema .cat-board-transmission { gap:10px; padding:16px 0; }
  .catalog-cinema .cat-board-transmission .cat-kicker { font-size:6px; max-width:22ch; }
  .catalog-cinema .cat-board-countdown { font-size:27px; }
  .catalog-cinema .cat-board-controls { display:grid; justify-items:end; gap:8px; }
  .catalog-cinema .cat-board-updated { text-align:right; font-size:6px; max-width:25ch; }
  .catalog-cinema .cat-board-refresh { min-height:31px; font-size:8px; padding:7px 10px; }
  .catalog-cinema .cat-board-formula { padding:17px 0; font-size:8px; }
  .catalog-cinema .cat-board-formula-note { flex-basis:100%; margin:2px 0 0; font-size:7px; }
  .catalog-cinema .cat-board-labels { display:none; }
  .catalog-cinema .cat-board-row { grid-template-columns:repeat(3,minmax(0,1fr)); padding:15px; gap:14px; }
  .catalog-cinema .cat-board-player { grid-column:1/-1; padding-bottom:11px; border-bottom:1px solid #be9a5226; gap:12px; }
  .catalog-cinema .cat-board-place { width:39px; }
  .catalog-cinema .cat-board-value { padding-left:5px; }
  .catalog-cinema .cat-board-value > small { display:block; }
  .catalog-cinema .cat-board-value > strong { font-size:29px; }
  .catalog-cinema .cat-board-identity > strong { font-size:26px; }
  .catalog-cinema .cat-board-identity > span { font-size:7px; }
  .catalog-cinema .cat-board-empty { padding:24px 15px 28px; }
  .catalog-cinema .cat-board-empty h3 { font-size:29px; }
  .catalog-cinema .cat-board-empty p { font-size:10px; }
  .catalog-cinema .cat-board-footnote { font-size:7px; }
}
@media (max-width:390px) {
  .catalog-cinema .cat-nav-panteon { display:none; }
  .catalog-cinema .cat-account-heading h2 { font-size:30px; }
  .catalog-cinema .cat-account-signal { display:none; }
  .catalog-cinema .cat-account-stage { gap:12px; }
  .catalog-cinema .cat-character-orbit { width:150px; height:150px; }
  .catalog-cinema .cat-character-orbit-second { width:132px; height:132px; }
  .catalog-cinema .cat-account-iq-value { font-size:85px; }
  .catalog-cinema .cat-panteon { gap:14px; padding-left:15px; }
  .catalog-cinema .cat-panteon-crest { flex-basis:51px; width:51px; }
  .catalog-cinema .cat-panteon-copy > strong { font-size:40px; }
}
@media (prefers-reduced-motion:reduce) {
  .catalog-cinema .cat-account *,.catalog-cinema .cat-account *::before,.catalog-cinema .cat-account *::after { animation:none !important; transition:none !important; }
}

/* El expediente también puede recuperar su acceso desde la portada. */
.nwo-account-access { box-sizing:border-box; width:min(480px,calc(100vw - 30px)); max-height:calc(100dvh - 34px); padding:0; color:#ede3cf; background:#081018; border:1px solid #a48b5c70; border-radius:3px 15px 4px 12px; box-shadow:0 26px 90px #000c; overflow:auto; }
.nwo-account-access::backdrop { background:#02050beb; }
.nwo-access-sheet { position:relative; isolation:isolate; overflow:hidden; padding:34px 30px 25px; background:radial-gradient(ellipse at 90% 0,#a1833730,transparent 55%),linear-gradient(130deg,#0c1820,#070d15); }
.nwo-access-trace { position:absolute; z-index:-1; pointer-events:none; top:-83px; right:-103px; width:265px; height:265px; border-radius:50%; border:1px dashed #c2a36a35; box-shadow:0 0 0 28px #b7954d06,0 0 0 53px #b7954d05; animation:nwoAccessTrace 65s linear infinite; }
.nwo-access-kicker { margin:0 30px 13px 0; color:#b29d79; font:8px/1.8 var(--f-mono); letter-spacing:.13em; }
.nwo-access-sheet h2 { margin:0; font:900 clamp(39px,8vw,56px)/.95 var(--f-display); text-transform:uppercase; color:#e4d4b6; text-wrap:balance; }
.nwo-access-intro { color:#a4b1b8; font:11px/1.85 var(--f-body); margin:17px 0 25px; }
.nwo-access-identity { display:flex; align-items:center; gap:22px; margin-bottom:20px; }
.nwo-access-character { position:relative; flex:0 0 85px; width:85px; height:92px; }
.nwo-access-character::before { content:''; position:absolute; inset:-9px; border:1px solid #b69a5740; border-radius:50%; background:radial-gradient(ellipse,transparent,#bda26113); }
.nwo-access-character .avatar-portrait { display:block; position:relative; width:85px; height:92px; border:1px solid #bfad7768; border-radius:7px; overflow:hidden; box-shadow:8px 9px 14px #0008; }
.nwo-access-character .avatar-portrait-svg { width:100%; height:100%; display:block; }
.nwo-access-alias { display:grid; gap:10px; flex:1; min-width:0; }
.nwo-access-alias > span { color:#b5b396; font:7px var(--f-mono); letter-spacing:.12em; }
.nwo-access-input { box-sizing:border-box; display:block; width:100%; min-width:0; min-height:45px; padding:12px; color:#e1d5c0; background:#050b12; border:1px solid #b29c6154; border-radius:3px; font:13px var(--f-body); }
.nwo-access-input::placeholder { color:#75868e; }
.nwo-access-consent { display:flex; gap:10px; align-items:flex-start; color:#a4adad; font:10px/1.8 var(--f-body); margin-bottom:22px; }
.nwo-access-consent input { margin-top:4px; flex-shrink:0; width:15px; height:15px; accent-color:#bea16b; }
.nwo-access-google { display:flex; justify-content:space-between; align-items:center; gap:15px; box-sizing:border-box; width:100%; min-height:47px; padding:10px 15px; background:#d8cdb7; border:1px solid #d8c48f; border-radius:3px; color:#172831; font:600 12px var(--f-body); touch-action:manipulation; }
.nwo-access-google:hover { background:#eee1c6; }
.nwo-access-google-mark { font:800 21px var(--f-body); }
.nwo-access-google:disabled { opacity:.45; cursor:wait; }
.nwo-access-status { color:#b7c0bc; font:10px/1.8 var(--f-body); min-height:18px; margin:17px 0; }
.nwo-access-signout { border:0; border-bottom:1px solid #9d8b5e52; background:transparent; color:#bba98b; padding:5px 0 7px; margin-bottom:10px; font:9px var(--f-mono); }
.nwo-access-note { margin:18px 0 0; padding-top:15px; border-top:1px solid #ae965834; color:#82959e; font:8px/1.8 var(--f-mono); }
.nwo-access-close { position:absolute; top:12px; right:12px; width:30px; height:30px; display:grid; place-items:center; padding:0; background:#08121a; border:1px solid #ac95535a; border-radius:50%; color:#d3ba91; font:24px/1 var(--f-body); }
.nwo-account-access [hidden] { display:none !important; }
.nwo-account-access button:focus-visible,.nwo-account-access input:focus-visible { outline:2px solid #dcc697; outline-offset:5px; }
@keyframes nwoAccessTrace { from { transform:rotate(0); } to { transform:rotate(360deg); } }
.nwo-access-reduced *,.reduce .nwo-account-access * { animation:none !important; transition:none !important; }
@media (max-width:420px) {
  .nwo-access-sheet { padding:29px 22px 23px; }
  .nwo-access-kicker { font-size:7px; }
  .nwo-access-sheet h2 { font-size:44px; }
  .nwo-access-intro { font-size:10px; }
  .nwo-access-identity { gap:17px; }
  .nwo-access-alias > span { font-size:6px; }
  .nwo-access-input { font-size:11px; padding:10px; }
  .nwo-access-consent { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) { .nwo-account-access * { animation:none !important; transition:none !important; } }

/* Five seals and the public archive: only catalogue-owned surfaces. */
.catalog-cinema .cat-rank,.catalog-cinema .cat-archive-file { --rank-metal:#a3afa8; --rank-glow:#88a89b23; }
.catalog-cinema [data-tier="aprendiz-frecuencia"] { --rank-metal:#bdb590; --rank-glow:#b4a05e27; }
.catalog-cinema [data-tier="guardian-neboa"] { --rank-metal:#77b7b4; --rank-glow:#59ada128; }
.catalog-cinema [data-tier="custodio-archivo"] { --rank-metal:#d8b978; --rank-glow:#c4a55830; }
.catalog-cinema [data-tier="soberano-tormenta"] { --rank-metal:#e6a58c; --rank-glow:#c7554942; }
.catalog-cinema .cat-rank { position:relative; isolation:isolate; display:grid; grid-template-columns:115px minmax(0,1fr) minmax(200px,.65fr); align-items:center; gap:23px; margin-top:26px; padding:22px 30px 0; border:1px solid var(--rank-metal); border-color:color-mix(in srgb,var(--rank-metal) 36%,transparent); border-radius:4px 25px 5px 12px; background:radial-gradient(ellipse at 7% 30%,var(--rank-glow),transparent 50%),linear-gradient(120deg,#111c21,#080c12); box-shadow:inset 0 0 38px #0005,0 12px 28px #0003; }
.catalog-cinema .cat-rank::before { content:''; position:absolute; top:-1px; left:150px; width:90px; height:2px; background:var(--rank-metal); box-shadow:0 0 18px var(--rank-metal); opacity:.75; }
.catalog-cinema .cat-rank-seal { position:relative; display:grid; place-items:center; width:115px; height:126px; }
.catalog-cinema .cat-rank-emblem { display:block; width:86px; height:102px; color:var(--rank-metal); filter:drop-shadow(0 0 9px var(--rank-glow)); animation:catRankSeal 8s ease-in-out infinite; }
.catalog-cinema .cat-rank-emblem svg { display:block; width:100%; height:100%; fill:currentColor; }
.catalog-cinema .cat-rank-ring { position:absolute; inset:5px -4px 0; border:1px dashed var(--rank-metal); border-color:color-mix(in srgb,var(--rank-metal) 25%,transparent); border-radius:50%; transform:rotateX(28deg); animation:catRankRing 60s linear infinite; }
.catalog-cinema .cat-rank-identity { min-width:0; }
.catalog-cinema .cat-rank-identity .cat-kicker { display:block; color:#8b9898; font-size:7px; margin:0 0 8px; }
.catalog-cinema .cat-rank-name { display:block; color:var(--rank-metal); font:900 clamp(29px,3.7vw,48px)/.97 var(--f-display); text-transform:uppercase; text-wrap:balance; }
.catalog-cinema .cat-rank-value { display:block; margin-top:12px; color:#b8b7a6; font:8px/1.7 var(--f-mono); letter-spacing:.08em; }
.catalog-cinema .cat-rank-movement { color:#83938f; margin:8px 0 0; font:9px/1.6 var(--f-body); }
.catalog-cinema .cat-rank-movement[data-direction="up"] { color:#8dc9b2; }
.catalog-cinema .cat-rank-movement[data-direction="down"] { color:#d48b7d; }
.catalog-cinema .cat-rank-ascent { display:grid; gap:13px; }
.catalog-cinema .cat-rank-next { color:#acb5ac; font:10px/1.6 var(--f-body); text-wrap:balance; }
.catalog-cinema .cat-rank-progress { appearance:none; display:block; width:100%; height:4px; overflow:hidden; background:#bac09f13; border:0; border-radius:0; color:var(--rank-metal); }
.catalog-cinema .cat-rank-progress::-webkit-progress-bar { background:#bac09f13; }
.catalog-cinema .cat-rank-progress::-webkit-progress-value { background:var(--rank-metal); }
.catalog-cinema .cat-rank-progress::-moz-progress-bar { background:var(--rank-metal); }
.catalog-cinema .cat-rank-countdown { color:#849591; font:7px/1.8 var(--f-mono); letter-spacing:.025em; }
.catalog-cinema .cat-rank-rules { grid-column:1/-1; border-top:1px solid #9da58a24; margin-top:2px; }
.catalog-cinema .cat-rank-rules summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:45px; color:#a7b0a1; cursor:pointer; font:9px var(--f-mono); }
.catalog-cinema .cat-rank-rules summary::-webkit-details-marker { display:none; }
.catalog-cinema .cat-rank-rules summary > span { font:24px/1 var(--f-display); transition:transform .2s; }
.catalog-cinema .cat-rank-rules[open] summary > span { transform:rotate(45deg); }
.catalog-cinema .cat-rank-ladder { list-style:none; margin:5px 0 18px; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.catalog-cinema .cat-rank-ladder li { padding:14px 12px; border:1px solid #98a27e23; background:#111b2170; }
.catalog-cinema .cat-rank-ladder li.is-current { border-color:var(--rank-metal); background:var(--rank-glow); }
.catalog-cinema .cat-rank-step { display:block; color:#7a918c; font:10px var(--f-mono); }
.catalog-cinema .cat-rank-ladder strong { display:block; min-height:40px; margin:8px 0; color:#c8c9b3; font:700 20px/1.05 var(--f-display); text-transform:uppercase; }
.catalog-cinema .cat-rank-ladder li > span:last-child { color:#87958c; font:7px var(--f-mono); }
.catalog-cinema .cat-rank-rules > p { margin:0 0 20px; max-width:110ch; color:#8e9b99; font:9px/1.9 var(--f-body); }
.catalog-cinema .cat-archive-launch { display:flex; align-items:center; gap:13px; min-height:68px; width:100%; margin-top:19px; padding:13px 16px; border:1px solid #aa9b6247; border-radius:2px 10px 3px 7px; background:linear-gradient(115deg,#9c82331c,#0a1118); color:#cfc9aa; text-align:left; }
.catalog-cinema .cat-archive-launch-mark { flex:0 0 29px; width:29px; height:35px; color:#b5ac78; }
.catalog-cinema .cat-archive-launch-mark svg { display:block; width:100%; height:100%; }
.catalog-cinema .cat-archive-launch > span:nth-child(2) { flex:1; min-width:0; }
.catalog-cinema .cat-archive-launch strong { display:block; font:700 24px/1 var(--f-display); text-transform:uppercase; text-wrap:balance; }
.catalog-cinema .cat-archive-launch small { display:block; margin-top:7px; color:#919d96; font:7px/1.7 var(--f-mono); }
.catalog-cinema .cat-archive-launch > span:last-child { color:#a89972; }
.catalog-cinema .cat-archive { box-sizing:border-box; width:min(1100px,calc(100vw - 34px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #88977768; border-radius:3px 15px 5px 19px; background:#080e13; color:#dddcc9; box-shadow:0 25px 100px #000d; overflow:auto; }
.catalog-cinema .cat-archive::backdrop { background:#020509e8; }
.catalog-cinema .cat-archive-shell { position:relative; padding:32px 34px 23px; background:radial-gradient(ellipse at 0 0,#708d5e20,transparent 58%),repeating-linear-gradient(0deg,transparent 0 4px,#c4c19002 4px 5px); }
.catalog-cinema .cat-archive-head { display:flex; gap:21px; align-items:center; padding-right:22px; }
.catalog-cinema .cat-archive-emblem { flex:0 0 56px; width:56px; height:76px; color:#a0b190; }
.catalog-cinema .cat-archive-emblem svg { width:100%; height:100%; fill:currentColor; }
.catalog-cinema .cat-archive-head .cat-kicker { font-size:7px; color:#97a38a; margin:0 0 8px; }
.catalog-cinema .cat-archive-head h2 { font:900 clamp(34px,5vw,62px)/.95 var(--f-display); text-transform:uppercase; text-wrap:balance; margin:0; color:#d6dac2; }
.catalog-cinema .cat-archive-intro { font:11px/1.8 var(--f-body); color:#9facaa; margin:12px 0 0; }
.catalog-cinema .cat-archive-close { position:absolute; top:13px; right:13px; width:30px; height:30px; padding:0; border:1px solid #91a27c61; border-radius:50%; background:#09121a; color:#bcc3a4; font:24px/1 var(--f-body); }
.catalog-cinema .cat-archive-filters { display:flex; gap:11px; align-items:end; flex-wrap:wrap; margin:28px 0 18px; }
.catalog-cinema .cat-archive-filters label { display:grid; gap:8px; flex:1; min-width:180px; }
.catalog-cinema .cat-archive-filters label > span { color:#9ea48e; font:7px var(--f-mono); letter-spacing:.13em; }
.catalog-cinema .cat-archive-search { box-sizing:border-box; width:100%; height:42px; border:1px solid #8f987150; border-radius:2px; padding:10px 12px; background:#050c12; color:#dbdcca; font:12px var(--f-body); }
.catalog-cinema .cat-archive-search::placeholder { color:#788d89; }
.catalog-cinema .cat-archive-search-button,.catalog-cinema .cat-archive-refresh,.catalog-cinema .cat-archive-more,.catalog-cinema .cat-archive-retry { min-height:42px; border:1px solid #8f987153; border-radius:2px; padding:10px 14px; background:#9bac6c12; color:#c0c5a6; font:8px/1.6 var(--f-mono); }
.catalog-cinema .cat-archive-search-button { background:#9daa7554; color:#e0e4c9; }
.catalog-cinema .cat-archive-transmission { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:15px 0; border-top:1px solid #96a67d26; font:7px/1.7 var(--f-mono); color:#8b9d8f; }
.catalog-cinema .cat-archive-countdown { color:#adba9b; }
.catalog-cinema .cat-archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; align-items:start; }
.catalog-cinema .cat-archive-item { min-width:0; }
.catalog-cinema .cat-archive-file { position:relative; border:1px solid #85926a4f; border-radius:2px 12px 3px 7px; background:radial-gradient(ellipse at 100% 0,var(--rank-glow),transparent 60%),linear-gradient(120deg,#142026,#0a1218); box-shadow:6px 7px 0 #0003; }
.catalog-cinema .cat-archive-file::before { content:''; position:absolute; pointer-events:none; left:17px; top:-1px; width:48px; height:3px; background:var(--rank-metal); opacity:.6; transform:rotate(-2deg); }
.catalog-cinema .cat-archive-cover { display:block; list-style:none; cursor:pointer; padding:19px 22px 15px; }
.catalog-cinema .cat-archive-cover::-webkit-details-marker { display:none; }
.catalog-cinema .cat-archive-file-code { display:block; color:#7c9088; font:7px var(--f-mono); letter-spacing:.12em; margin-bottom:17px; }
.catalog-cinema .cat-archive-identity { display:flex; align-items:center; gap:18px; }
.catalog-cinema .cat-archive-identity .avatar-portrait { display:block; flex:0 0 67px; width:67px; height:73px; border:1px solid #8f9b6e6b; border-radius:4px; overflow:hidden; transform:rotate(-3deg); box-shadow:3px 4px 10px #0005; }
.catalog-cinema .cat-archive-identity .avatar-portrait-svg { width:100%; height:100%; display:block; }
.catalog-cinema .cat-archive-person { min-width:0; }
.catalog-cinema .cat-archive-person > strong { display:block; font:800 clamp(26px,3.3vw,36px)/1 var(--f-display); color:#dedec7; overflow-wrap:anywhere; }
.catalog-cinema .cat-archive-person > span { display:block; margin-top:8px; color:#8fa59a; font:8px/1.7 var(--f-mono); overflow-wrap:anywhere; }
.catalog-cinema .cat-archive-rank { display:flex; gap:13px; align-items:center; margin-top:16px; }
.catalog-cinema .cat-archive-rank-crest { display:block; flex:0 0 36px; width:36px; height:44px; color:var(--rank-metal); }
.catalog-cinema .cat-archive-rank-crest svg { display:block; width:100%; height:100%; fill:currentColor; }
.catalog-cinema .cat-archive-rank strong { color:var(--rank-metal); font:700 22px/1 var(--f-display); text-transform:uppercase; }
.catalog-cinema .cat-archive-rank small { display:block; color:#859990; font:7px/1.6 var(--f-mono); margin-top:6px; }
.catalog-cinema .cat-archive-open { display:block; padding-top:14px; margin-top:14px; border-top:1px solid #a2ad7d23; color:#b4bf9d; font:8px var(--f-mono); }
.catalog-cinema .cat-archive-file[open] .cat-archive-open { color:#d4dbb8; }
.catalog-cinema .cat-archive-detail { border-top:1px solid #9aac7e30; padding:18px 22px 21px; background:#03090d4f; }
.catalog-cinema .cat-archive-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 13px; }
.catalog-cinema .cat-archive-metrics dt { font:7px/1.6 var(--f-mono); color:#90a297; }
.catalog-cinema .cat-archive-metrics dd { margin:6px 0 0; font:700 27px/1 var(--f-display); color:#cad2b3; }
.catalog-cinema .cat-archive-movement { color:#899c92; font:8px/1.7 var(--f-body); margin:0 0 22px; }
.catalog-cinema .cat-archive-movement.is-up { color:#8bc2a8; }
.catalog-cinema .cat-archive-movement.is-down { color:#d58f7d; }
.catalog-cinema .cat-archive-log-title { font:7px var(--f-mono); color:#a6b494; letter-spacing:.12em; }
.catalog-cinema .cat-archive-achievements { list-style:none; padding:0; margin:13px 0 0; }
.catalog-cinema .cat-archive-achievements li { display:flex; gap:12px; padding:11px 0; border-top:1px solid #9fac7e1a; }
.catalog-cinema .cat-archive-achievements li > span { color:#afbc8f; }
.catalog-cinema .cat-archive-achievements strong { display:block; font:700 23px/1 var(--f-display); color:#cbd6b2; }
.catalog-cinema .cat-archive-achievements small { display:block; margin-top:6px; font:8px/1.8 var(--f-mono); color:#8ba094; }
.catalog-cinema .cat-archive-no-achievements,.catalog-cinema .cat-archive-detail-status,.catalog-cinema .cat-archive-status { font:10px/1.8 var(--f-body); color:#9db1a6; }
.catalog-cinema .cat-archive-detail-status { margin:0 0 13px; }
.catalog-cinema .cat-archive-more { display:block; margin:20px auto; }
.catalog-cinema .cat-archive-footnote { margin:22px 0 0; padding-top:17px; border-top:1px solid #93a37726; font:8px/1.8 var(--f-mono); color:#7e998c; }
.catalog-cinema .cat-archive-empty { grid-column:1/-1; text-align:center; padding:34px 20px; border:1px dashed #91a77d3d; background:#7a91650b; }
.catalog-cinema .cat-archive-empty > span { display:block; width:57px; height:72px; color:#7c967c; margin:0 auto 20px; }
.catalog-cinema .cat-archive-empty svg { display:block; width:100%; height:100%; fill:currentColor; }
.catalog-cinema .cat-archive-empty h3 { margin:0 0 13px; color:#c3cfb0; font:800 32px/1.1 var(--f-display); text-transform:uppercase; text-wrap:balance; }
.catalog-cinema .cat-archive-empty p { max-width:55ch; margin:auto; font:11px/1.9 var(--f-body); color:#91a99d; }
.catalog-cinema .cat-archive button:disabled { opacity:.5; cursor:wait; }
.catalog-cinema .cat-archive [hidden] { display:none !important; }
.catalog-cinema .cat-archive summary:focus-visible,.catalog-cinema .cat-archive input:focus-visible,.catalog-cinema .cat-archive button:focus-visible,.catalog-cinema .cat-rank summary:focus-visible { outline:2px solid #c4d49f; outline-offset:4px; }
@keyframes catRankSeal { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-4px) rotate(2deg); } }
@keyframes catRankRing { from { transform:rotateX(28deg) rotateZ(0); } to { transform:rotateX(28deg) rotateZ(360deg); } }
.catalog-cinema .cat-account-paused .cat-rank-emblem,.catalog-cinema .cat-account-paused .cat-rank-ring { animation-play-state:paused; }
@media (hover:hover) and (pointer:fine) {
  .catalog-cinema .cat-archive-launch:hover { background:linear-gradient(115deg,#b29d4032,#111b23); }
  .catalog-cinema .cat-archive-cover:hover .cat-archive-open { color:#d6dfba; }
}
@media (max-width:850px) {
  .catalog-cinema .cat-account-competitive .cat-archive-launch { grid-column:1/-1; margin-top:0; }
  .catalog-cinema .cat-rank { grid-template-columns:88px minmax(0,1fr); gap:16px; padding:22px 23px 0; }
  .catalog-cinema .cat-rank-seal { width:88px; height:111px; }
  .catalog-cinema .cat-rank-emblem { width:74px; height:90px; }
  .catalog-cinema .cat-rank-ascent { grid-column:1/-1; grid-template-columns:1fr 1fr; gap:10px 20px; padding-top:5px; }
  .catalog-cinema .cat-rank-progress { align-self:center; }
  .catalog-cinema .cat-rank-countdown { grid-column:1/-1; }
  .catalog-cinema .cat-rank-ladder { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .catalog-cinema .cat-archive-launch { margin-top:22px !important; padding:13px; }
  .catalog-cinema .cat-archive-launch strong { font-size:25px; }
  .catalog-cinema .cat-archive-launch small { font-size:6px; }
  .catalog-cinema .cat-rank { padding:19px 17px 0; gap:14px; margin-top:29px; grid-template-columns:74px minmax(0,1fr); }
  .catalog-cinema .cat-rank-seal { width:74px; height:99px; }
  .catalog-cinema .cat-rank-emblem { width:69px; height:83px; }
  .catalog-cinema .cat-rank-identity .cat-kicker { font-size:6px; letter-spacing:.02em; line-height:1.7; }
  .catalog-cinema .cat-rank-name { font-size:30px; }
  .catalog-cinema .cat-rank-value { margin-top:9px; font-size:7px; }
  .catalog-cinema .cat-rank-movement { font-size:8px; }
  .catalog-cinema .cat-rank-ascent { display:grid; grid-template-columns:1fr; gap:12px; }
  .catalog-cinema .cat-rank-countdown { font-size:6px; }
  .catalog-cinema .cat-rank-ladder { grid-template-columns:1fr; gap:6px; }
  .catalog-cinema .cat-rank-ladder li { display:grid; grid-template-columns:23px minmax(0,1fr) 82px; align-items:center; gap:9px; padding:13px 10px; }
  .catalog-cinema .cat-rank-ladder strong { min-height:0; margin:0; font-size:20px; }
  .catalog-cinema .cat-rank-ladder li > span:last-child { text-align:right; font-size:6px; }
  .catalog-cinema .cat-rank-rules > p { font-size:8px; }
  .catalog-cinema .cat-archive { width:calc(100vw - 20px); max-height:calc(100dvh - 22px); }
  .catalog-cinema .cat-archive-shell { padding:28px 17px 19px; }
  .catalog-cinema .cat-archive-head { gap:12px; }
  .catalog-cinema .cat-archive-emblem { flex-basis:35px; width:35px; height:53px; }
  .catalog-cinema .cat-archive-head .cat-kicker { font-size:6px; line-height:1.8; }
  .catalog-cinema .cat-archive-head h2 { font-size:38px; }
  .catalog-cinema .cat-archive-intro { font-size:9px; }
  .catalog-cinema .cat-archive-filters { gap:9px; margin-top:24px; }
  .catalog-cinema .cat-archive-filters label { flex-basis:100%; }
  .catalog-cinema .cat-archive-search-button,.catalog-cinema .cat-archive-refresh { flex:1; }
  .catalog-cinema .cat-archive-transmission { font-size:6px; }
  .catalog-cinema .cat-archive-grid { grid-template-columns:1fr; }
  .catalog-cinema .cat-archive-cover { padding:19px; }
  .catalog-cinema .cat-archive-person > strong { font-size:33px; }
  .catalog-cinema .cat-archive-detail { padding:17px 19px; }
  .catalog-cinema .cat-archive-empty { padding:30px 16px; }
  .catalog-cinema .cat-archive-empty h3 { font-size:30px; }
  .catalog-cinema .cat-archive-empty p { font-size:10px; }
  .catalog-cinema .cat-archive-footnote { font-size:7px; }
}

/* NOWAYOUT SOURCE: css/catalog-emergency.css */
/* Los haces nacen de las luces del coche integrado en la fotografía. */
.catalog-cinema .cat-emergency-layer { position:absolute; inset:0; z-index:1; pointer-events:none; transform-origin:77% 43%; animation:cat-plane-drift 23s ease-in-out infinite alternate; }
.catalog-cinema .cat-emergency-vehicle { position:absolute; inset:0; opacity:0; transition:opacity .8s ease; isolation:isolate; }
.catalog-cinema .cat-emergency-layer.is-loaded .cat-emergency-vehicle { opacity:1; }
.catalog-cinema .cat-emergency-car { display:none; pointer-events:none; }
.catalog-cinema .cat-emergency-beam { position:absolute; z-index:0; width:clamp(450px,70vw,1000px); height:190px; margin-top:-95px; transform-origin:0 50%; opacity:.55; mix-blend-mode:screen; }
.catalog-cinema .cat-emergency-beam svg { display:block; width:100%; height:100%; overflow:visible; }
.catalog-cinema .cat-emergency-beam-blue { left:var(--police-blue-x,19%); top:var(--police-blue-y,48%); transform:rotate(-25deg); animation:catEmergencyBlueSweep 7.8s ease-in-out infinite; }
.catalog-cinema .cat-emergency-beam-red { left:var(--police-red-x,14%); top:var(--police-red-y,47%); transform:rotate(-16deg); animation:catEmergencyRedSweep 9.2s -4s ease-in-out infinite; }
.catalog-cinema .cat-emergency-light { position:absolute; z-index:3; height:6%; width:10%; transform:translate(-50%,-50%); pointer-events:none; mix-blend-mode:screen; }
.catalog-cinema .cat-emergency-light-blue { left:var(--police-blue-x,19%); top:var(--police-blue-y,48%); background:radial-gradient(ellipse,#e3f8ffe8 0 8%,#559cffe0 20%,#2179ff70 44%,transparent 73%); opacity:.4; animation:catEmergencyBluePulse 2.7s ease-in-out infinite; }
.catalog-cinema .cat-emergency-light-red { left:var(--police-red-x,14%); top:var(--police-red-y,47%); background:radial-gradient(ellipse,#ffe8d8e8 0 8%,#fa504de0 20%,#dd2f3970 44%,transparent 73%); opacity:.4; animation:catEmergencyRedPulse 2.7s ease-in-out infinite; }
.catalog-cinema .cat-emergency-reflection { position:absolute; z-index:1; left:var(--police-ground-x,20%); top:var(--police-ground-y,79%); height:8%; width:35%; border-radius:50%; transform:translate(-50%,-50%) rotate(-2deg); pointer-events:none; mix-blend-mode:screen; }
.catalog-cinema .cat-emergency-reflection-blue { background:radial-gradient(ellipse,#447fff75,transparent 67%); opacity:.35; animation:catEmergencyBluePulse 2.7s ease-in-out infinite; }
.catalog-cinema .cat-emergency-reflection-red { background:radial-gradient(ellipse,#ec494665,transparent 67%); opacity:.35; animation:catEmergencyRedPulse 2.7s ease-in-out infinite; }
.catalog-cinema .cat-emergency-sparks { position:absolute; z-index:3; top:78%; left:35%; width:1px; height:1px; }
.catalog-cinema .cat-emergency-spark { position:absolute; width:8px; height:1px; background:linear-gradient(90deg,transparent,#fff0be 55%,#ffb05c); box-shadow:0 0 4px #ee8f4933; opacity:0; transform:rotate(var(--spark-tilt)); animation:catEmergencySpark 5.9s calc(var(--spark)*-.87s) linear infinite; }
@keyframes catEmergencyBlueSweep { 0%,100% { transform:rotate(-39deg) scaleY(.85); opacity:.4; } 35% { opacity:.85; } 55% { transform:rotate(-4deg) scaleY(1.08); opacity:.6; } 80% { opacity:.8; } }
@keyframes catEmergencyRedSweep { 0%,100% { transform:rotate(-3deg) scaleY(.9); opacity:.42; } 35% { opacity:.7; } 55% { transform:rotate(-33deg) scaleY(1.04); opacity:.58; } 80% { opacity:.8; } }
@keyframes catEmergencyBluePulse { 0%,12%,58%,100% { opacity:.23; } 27%,35% { opacity:1; } 46% { opacity:.4; } 77% { opacity:.55; } }
@keyframes catEmergencyRedPulse { 0%,10%,36%,100% { opacity:.23; } 53%,62% { opacity:1; } 73% { opacity:.5; } 86% { opacity:.4; } }
@keyframes catEmergencySpark { 0%,64%,100% { opacity:0; transform:translate3d(0,0,0) rotate(var(--spark-tilt)) scaleX(.3); } 67% { opacity:.75; } 79% { opacity:0; transform:translate3d(var(--spark-x),var(--spark-y),0) rotate(var(--spark-tilt)) scaleX(1.2); } }
.catalog-cinema .cat-emergency-paused,.catalog-cinema .cat-emergency-paused *,.catalog-cinema .cat-emergency-paused *::before,.catalog-cinema .cat-emergency-paused *::after,#catalog[hidden] .cat-emergency-layer,#catalog[hidden] .cat-emergency-layer * { animation-play-state:paused !important; }
.catalog-cinema .cat-emergency-reduced,.catalog-cinema .cat-emergency-reduced *,.catalog-cinema .cat-emergency-reduced *::before,.catalog-cinema .cat-emergency-reduced *::after,.reduce .catalog-cinema .cat-emergency-layer,.reduce .catalog-cinema .cat-emergency-layer * { animation:none !important; transition:none !important; }
.catalog-cinema .cat-emergency-reduced .cat-emergency-beam,.reduce .catalog-cinema .cat-emergency-beam { opacity:.15; }
.catalog-cinema .cat-emergency-reduced .cat-emergency-light,.reduce .catalog-cinema .cat-emergency-light { opacity:.3; }
.catalog-cinema .cat-emergency-reduced .cat-emergency-sparks,.reduce .catalog-cinema .cat-emergency-sparks { display:none; }
@media (max-width:600px) {
  .catalog-cinema .cat-emergency-vehicle { inset:auto; top:156px; left:-3px; width:245px; height:163px; }
  .catalog-cinema .cat-emergency-car { position:absolute; inset:0; z-index:2; display:block; width:100%; height:100%; object-fit:contain; }
  .catalog-cinema .cat-emergency-beam { width:390px; height:120px; margin-top:-60px; }
  .catalog-cinema .cat-emergency-light { height:12%; width:27%; }
  .catalog-cinema .cat-emergency-reflection { width:77%; height:9%; }
  .catalog-cinema .cat-emergency-sparks { left:92%; top:75%; }
}
@media (max-width:390px) { .catalog-cinema .cat-emergency-vehicle { width:225px; height:150px; top:166px; left:-5px; } }
@media (prefers-reduced-motion:reduce) {
  .catalog-cinema .cat-emergency-layer,.catalog-cinema .cat-emergency-layer * { animation:none !important; transition:none !important; }
  .catalog-cinema .cat-emergency-beam { opacity:.15; }
  .catalog-cinema .cat-emergency-light { opacity:.3; }
  .catalog-cinema .cat-emergency-sparks { display:none; }
}

/* NOWAYOUT SOURCE: assets/landing/weekly-lamp.css */
/* El haz se recorta al rótulo: el resto de la pantalla conserva su iluminación. */
.nwo-weekly-lit-word { position:relative; isolation:isolate; width:max-content; max-width:100%; padding-right:.07em; }
.nwo-weekly-lit-word .nwo-weekly-word-ink { position:relative; z-index:2; color:#733c3b; text-shadow:1px 2px 0 #1b090b,0 0 7px #6b172a24; transition:color .24s ease,text-shadow .24s ease; }
.nwo-weekly-lit-word.nwo-weekly-lamp-on .nwo-weekly-word-ink { color:#f1b18c; text-shadow:1px 2px 0 #21090b,0 0 9px #f2c59d8a,0 0 26px #e577475c; }
.nwo-weekly-lamp-beam { position:absolute; z-index:1; inset:-.1em -.03em -.08em; pointer-events:none; opacity:0; background:linear-gradient(160deg,transparent 6%,#ffc77708 23%,#fbc78027 63%,#eaa44c03); clip-path:polygon(92% 0,100% 0,100% 100%,0 100%); transition:opacity .24s ease; }
.nwo-weekly-lamp-on .nwo-weekly-lamp-beam { opacity:1; }
.nwo-weekly-lamp-fixture { position:absolute; z-index:3; top:-.61em; right:-.33em; width:.69em; height:.94em; pointer-events:none; transform:rotate(6deg); }
.nwo-weekly-lamp-fixture svg { display:block; height:100%; width:100%; overflow:visible; filter:drop-shadow(2px 3px 1px #000b); }
.nwo-lamp-metal-shadow { fill:none; stroke:#020305; stroke-width:9; stroke-linecap:round; stroke-linejoin:round; }
.nwo-lamp-metal { fill:none; stroke:#474741; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.nwo-lamp-joint { fill:#7c7160; stroke:#171a1b; stroke-width:2; }
.nwo-lamp-shade { fill:#353834; stroke:#686153; stroke-width:1.5; }
.nwo-lamp-shade-edge { fill:none; stroke:#a89168; stroke-width:2; }
.nwo-lamp-bulb { fill:#7a6850; opacity:.35; transition:fill .2s ease,opacity .2s ease; }
.nwo-weekly-lamp-on .nwo-lamp-bulb { fill:#ffddb4; opacity:1; filter:drop-shadow(0 0 6px #ffca76); }
.nwo-lamp-base { fill:#292e2c; stroke:#555951; stroke-width:1.5; }
.nwo-lamp-scar { fill:none; stroke:#642e32; stroke-width:2; }
.nwo-weekly-lamp-paused * { transition:none !important; }
.nwo-weekly-lamp-reduced *,.reduce .nwo-weekly-lit-word * { transition:none !important; }
.nwo-weekly-signal h2 > strong.nwo-weekly-lit-word { display:inline-block; margin-top:.17em; }
.catalog-cinema .cat-alarm-headline .cat-weekly-words.nwo-weekly-lit-word { margin-top:.15em; }
@media (max-width:420px) { .nwo-weekly-lamp-fixture { right:-.22em; } }
@media (prefers-reduced-motion:reduce) { .nwo-weekly-lit-word * { transition:none !important; } }

/* NOWAYOUT SOURCE: assets/landing/creator-mention.css */
/* Señal semanal lateral en PC y mención adaptada a la entrada en móvil. */
.nwo-creator-mention,.nwo-promo-mobile { display:none; }
@media (min-width:960px) {
  .nwo-room-with-weekly { display:grid; grid-template-columns:minmax(0,min(550px,54%)) minmax(0,1fr); gap:0 32px; align-items:start; }
  .nwo-room-with-weekly > .room { width:100%; max-width:none; }
  .nwo-room-with-weekly > .nwo-weekly-signal { width:100%; max-width:none; margin:30px 0 0; padding:22px 24px 25px; }
  .nwo-room-with-weekly .nwo-weekly-signal h2 { font-size:clamp(32px,3.45vw,48px); }
  .nwo-room-with-weekly .nwo-weekly-frequency { margin-bottom:14px; }
  .nwo-room-with-weekly .nwo-weekly-challenge { margin-top:16px; font-size:clamp(21px,2.25vw,28px); }
}
@media (min-width:601px) and (max-width:959px) {
  .room > .nwo-weekly-at-access { width:100%; max-width:none; }
}
@media (max-width:600px) {
  .nwo-promo-full { display:none; }
  .nwo-promo-mobile { display:inline; }
  .nwo-weekly-signal { width:min(240px,100%); margin:16px 0 7px; padding:10px 12px; border-radius:2px 7px 3px 5px; background:linear-gradient(116deg,#160c14aa,#09101988); border-color:#a5444938; box-shadow:inset 0 0 20px #711e210a,0 6px 18px #0003; }
  .room > .nwo-weekly-at-access { width:100%; max-width:none; }
  .nwo-weekly-frequency { margin-bottom:6px; font-size:5.5px; letter-spacing:.09em; }
  .nwo-weekly-signal h2,.room .nwo-weekly-signal h2 { font-size:12px; line-height:1.1; letter-spacing:.015em; text-wrap:initial; }
  .room > .nwo-weekly-at-access h2 { font:800 clamp(26px,7.2vw,28px)/1.05 var(--display); letter-spacing:.015em; text-wrap:balance; overflow-wrap:anywhere; }
  .room > .nwo-weekly-at-access .nwo-weekly-challenge { font-size:12px; line-height:1.5; }
  .nwo-weekly-signal h2 > strong.nwo-weekly-lit-word { margin-top:.12em; }
  .nwo-weekly-challenge { margin:5px 0 0; font:600 10px/1.35 var(--body,system-ui,sans-serif); text-transform:none; letter-spacing:.015em; color:#cbb1a4; }
  .nwo-weekly-scar { width:32px; height:18px; right:13px; bottom:-7px; }
  .catalog-cinema .cat-plane-hero h2.cat-alarm-headline { font-size:12px; line-height:1.1; letter-spacing:.015em; }
  .catalog-cinema .cat-hero-challenge { display:block; margin:6px 0 0; padding:0; border:0; background:none; clip-path:none; transform:none; font:600 10px/1.35 var(--f-body,system-ui,sans-serif); text-transform:none; color:#cbb1a4; letter-spacing:.015em; }
  .catalog-cinema .cat-hero-actions { margin-top:16px; }
  .nwo-creator-mention { position:relative; isolation:isolate; display:flex; width:max-content; max-width:100%; margin-top:13px; }
  .nwo-creator-link { position:relative; z-index:2; display:flex; align-items:center; gap:11px; min-height:44px; padding:8px 11px; color:#f0c7b7; background:linear-gradient(105deg,#3a111adf,#100b13ed); border:1px solid #92373799; border-radius:3px 7px 2px 4px; box-shadow:inset 0 1px 0 #dd8d7655,0 5px 16px #0007; text-decoration:none; touch-action:manipulation; }
  .nwo-creator-link::before { content:''; position:absolute; top:-4px; left:9px; right:18px; height:7px; pointer-events:none; background:linear-gradient(90deg,#732b34,#a94843 54%,#5c1f2c); clip-path:polygon(0 32%,21% 0,32% 43%,48% 19%,67% 46%,81% 0,100% 49%,91% 100%,64% 73%,43% 100%,23% 65%,0 100%); }
  .nwo-creator-link strong { display:block; font:700 12px/1.25 var(--body,var(--f-body,system-ui,sans-serif)); letter-spacing:.015em; }
  .nwo-creator-byline { display:block; margin-top:2px; color:#ae837d; font:400 6px/1.4 var(--mono,var(--f-mono,monospace)); letter-spacing:.14em; }
  .nwo-creator-arrow { color:#df7768; font:400 20px/1 serif; }
  .nwo-creator-link:focus-visible { outline:2px solid #e9a879; outline-offset:5px; }
  .nwo-creator-link:active { background:#4c1a22; }
  .nwo-creator-bleed { position:absolute; z-index:1; top:-27px; left:12px; right:14px; height:39px; pointer-events:none; }
  .nwo-creator-drop { position:absolute; left:var(--drop-left); top:0; width:3px; height:13px; opacity:0; border-radius:40% 40% 60% 60%; background:linear-gradient(#80293575,#bc5048); box-shadow:0 2px 2px #400c1d65; transform-origin:top; animation:nwoCreatorDrip var(--drop-duration,4.9s) var(--drop-delay,0s) ease-in infinite; }
  .nwo-creator-drop::after { content:''; position:absolute; left:-1px; bottom:-2px; width:5px; height:6px; border-radius:45% 45% 58% 58%; background:#a64040; }
  .nwo-creator-drop:nth-child(1) { --drop-left:8%; --drop-delay:-2s; --drop-duration:5.2s; }
  .nwo-creator-drop:nth-child(2) { --drop-left:26%; --drop-delay:-3.7s; --drop-duration:4.9s; }
  .nwo-creator-drop:nth-child(3) { --drop-left:52%; --drop-delay:-1.1s; --drop-duration:5.7s; }
  .nwo-creator-drop:nth-child(4) { --drop-left:71%; --drop-delay:-4.4s; --drop-duration:6.1s; }
  .nwo-creator-drop:nth-child(5) { --drop-left:91%; --drop-delay:-.4s; --drop-duration:5.4s; }
  .ambient-paused .nwo-creator-drop,.atmosphere-mode .nwo-creator-drop,.cat-photo-paused .nwo-creator-drop,#catalog[hidden] .nwo-creator-drop { animation-play-state:paused; }
  .reduce .nwo-creator-drop { animation:none; opacity:.45; transform:translateY(21px) scaleY(.7); }
}
@keyframes nwoCreatorDrip {
  0%,18% { opacity:0; transform:translateY(0) scaleY(.2); }
  35% { opacity:.7; transform:translateY(2px) scaleY(.9); }
  58% { opacity:.8; transform:translateY(19px) scaleY(1.15); }
  70% { opacity:.25; transform:translateY(29px) scaleY(.3); }
  77%,100% { opacity:0; transform:translateY(30px) scaleY(.2); }
}
@media (prefers-reduced-motion:reduce) { .nwo-creator-drop { animation:none; opacity:.45; transform:translateY(21px) scaleY(.7); } }

