/* DEMANACITA v33 — master arcade mockup system */
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Silkscreen:wght@400;700&display=swap');
:root{
  --arc-bg:#040515;--arc-panel:#07091d;--arc-panel-2:#0b0e29;--arc-panel-3:#121333;
  --arc-cream:#fff1d1;--arc-white:#fff8ea;--arc-muted:#bdb7c8;--arc-dim:#817c91;
  --arc-pink:#ff4d94;--arc-pink-2:#ff8db8;--arc-cyan:#25e6dd;--arc-cyan-2:#6ffdf5;
  --arc-yellow:#ffd233;--arc-green:#59e5a3;--arc-purple:#aa70ff;--arc-red:#ff4d6d;--arc-black:#020209;
  --arc-display:'Press Start 2P','Courier New',monospace;--arc-ui:'Silkscreen','Courier New',monospace;--arc-body:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;
  --arc-border:#343149;--arc-shadow:5px 5px 0 var(--arc-black);--arc-glow-pink:0 0 22px rgba(255,77,148,.34);--arc-glow-cyan:0 0 22px rgba(37,230,221,.25);
  color-scheme:dark;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--arc-bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--arc-bg);color:var(--arc-cream);font:400 16px/1.55 var(--arc-body);padding-bottom:76px}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}img,svg,video,canvas{max-width:100%}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--arc-yellow);outline-offset:3px}
body[data-mode="public"],body.language-gate-body{position:relative;isolation:isolate;background-color:var(--arc-bg);background-image:linear-gradient(rgba(4,5,21,.18),rgba(4,5,21,.18)),url('/assets/retro-city-v33.svg');background-size:cover,cover;background-position:center top,center top;background-repeat:no-repeat;background-attachment:fixed,fixed}
body[data-mode="public"]::before,body.language-gate-body::before{content:"";position:fixed;z-index:80;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(0,0,0,.18) 3px 4px);opacity:.5;mix-blend-mode:multiply}
body[data-mode="public"]::after,body.language-gate-body::after{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,77,148,.04),transparent 28%,transparent 72%,rgba(37,230,221,.04))}
.eyebrow,.arcade-kicker,.booking-mission-label{margin:0 0 .65rem;color:var(--arc-cyan)!important;font:700 .78rem/1.35 var(--arc-ui)!important;letter-spacing:.02em!important;text-transform:uppercase}
h1,h2,h3{color:var(--arc-cream)}

/* shared pixel frame */
.pixel-frame,.card,.service-card,.confirmation-card,.arcade-gate{border-radius:0!important;background:linear-gradient(180deg,rgba(8,10,30,.97),rgba(4,6,19,.98));border:2px solid var(--arc-border);box-shadow:var(--arc-shadow)}
.card{padding:clamp(1rem,2.5vw,1.5rem)}
.button,.icon-button,button:not(.arcade-button){display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:50px;padding:.8rem 1rem;border:2px solid #4a465d;border-radius:0;background:#0d102b;color:var(--arc-cream);box-shadow:3px 3px 0 var(--arc-black);font:700 .88rem/1.25 var(--arc-ui);text-transform:uppercase;transition:transform .08s steps(1),box-shadow .08s steps(1),filter .08s steps(1)}
.button:hover,.icon-button:hover,button:not(.arcade-button):hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--arc-black);filter:brightness(1.08)}
.button.primary{border-color:var(--arc-pink);background:linear-gradient(180deg,#ff699f,#ed3e82);color:#160711;box-shadow:4px 4px 0 #9d1b61,0 0 18px rgba(255,77,148,.28)}
.button.secondary{border-color:var(--arc-cyan);background:linear-gradient(180deg,#19baaf,#0e8c88);color:#041312;box-shadow:4px 4px 0 #075c64}
.button.ghost{background:#06081c;color:var(--arc-cream)}.button.whatsapp{border-color:var(--arc-green);background:#0a211b;color:var(--arc-green)}.button.danger{border-color:var(--arc-red);background:#240915;color:#ff9db0}.button.full{width:100%}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.pill{display:inline-flex;align-items:center;padding:.4rem .58rem;border:1px solid var(--arc-cyan);background:#06171d;color:var(--arc-cyan);font:700 .72rem/1.25 var(--arc-ui);text-transform:uppercase}

/* top HUD / header */
.site-header{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:72px;padding:.6rem clamp(.7rem,2.8vw,2rem);background:rgba(3,4,18,.94);border-bottom:2px solid rgba(37,230,221,.7);box-shadow:0 4px 0 rgba(2,2,9,.9);backdrop-filter:blur(8px)}
.hud-player,.hud-score{display:grid;gap:.22rem;min-width:112px;padding:.48rem .62rem;border:2px solid var(--arc-pink);background:#080719;box-shadow:2px 2px 0 rgba(255,77,148,.18);font-family:var(--arc-ui);text-transform:uppercase}
.hud-score{border-color:#9b2b6b}.hud-player small,.hud-score small{color:var(--arc-pink-2);font:700 .66rem/1 var(--arc-ui)}.hud-player strong,.hud-score strong{color:var(--arc-cyan);font:700 .86rem/1.1 var(--arc-ui);letter-spacing:.08em}.hud-hearts{color:var(--arc-pink);letter-spacing:.05em}
.brand{justify-self:center;display:inline-flex;align-items:center;gap:.58rem;min-width:0;font-family:var(--arc-ui);text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--arc-pink);background:#19091f;color:var(--arc-pink);font-size:1.15rem;box-shadow:3px 3px 0 var(--arc-cyan)}.brand-copy{display:grid;line-height:1.1}.brand-copy strong{color:var(--arc-pink-2);font:700 .9rem/1.1 var(--arc-ui)}.brand-copy small{margin-top:.2rem;color:var(--arc-cyan);font:700 .66rem/1.1 var(--arc-ui)}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.main-nav>a{padding:.5rem .55rem;color:#ddd6df;font:700 .72rem/1 var(--arc-ui);text-transform:uppercase}.main-nav>a:hover,.main-nav>a:focus-visible{color:var(--arc-cyan)}.language-switcher{display:inline-flex;border:1px solid #353248;background:#070719}.language-switcher a{padding:.45rem .48rem;color:#858094;font:700 .66rem/1 var(--arc-ui)}.language-switcher a.active{background:var(--arc-yellow);color:#130f08}.player-session-chip{display:inline-flex;align-items:center;min-height:30px;padding:.38rem .52rem;border:1px solid var(--arc-pink);background:#19091f;color:var(--arc-pink-2);font:700 .64rem/1 var(--arc-ui);text-transform:uppercase;white-space:nowrap}

/* bottom arcade dock */
.arcade-dock{position:fixed;z-index:70;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(180px,1fr);align-items:center;gap:1rem;min-height:64px;padding:.55rem clamp(.7rem,2vw,1.3rem);background:rgba(3,4,16,.97);border-top:2px solid #2b293d;box-shadow:0 -8px 30px rgba(0,0,0,.28)}
.arcade-dock-brand{display:flex;align-items:center;gap:.5rem;color:var(--arc-pink);font:700 .92rem/1 var(--arc-ui)}.arcade-dock-brand span:last-child{color:var(--arc-cyan);font-size:.7rem}.arcade-dock-links{display:flex;align-items:center;justify-content:center;gap:.28rem}.arcade-dock a{display:inline-flex;align-items:center;gap:.42rem;padding:.45rem .62rem;color:#bcb5c0;font:700 .72rem/1 var(--arc-ui);text-transform:uppercase;border:1px solid transparent}.arcade-dock a:hover,.arcade-dock a.is-active{color:var(--arc-cyan);border-color:#254d58;background:#07141c}.arcade-dock-made{justify-self:end;color:#b2abba;font:400 .75rem/1.2 var(--arc-ui)}.arcade-dock-made b{color:var(--arc-pink)}

/* main container */
.app-shell{position:relative;z-index:2;width:min(1320px,calc(100% - 2rem));margin:0 auto;padding:clamp(1rem,2.5vw,2rem) 0 clamp(2.4rem,5vw,4rem)}
.site-footer{display:none!important}[data-mode="public"] .admin-only{display:none!important}[data-mode="admin"] .public-only{display:none!important}

/* language gate — full game title screen */
body.language-gate-body{display:block;min-height:100vh;padding:0 0 1rem;background-position:center center,center center;background-size:cover,cover}
.language-stage{position:relative;z-index:2;width:min(1500px,100%);min-height:100vh;margin:0 auto;display:grid;grid-template-rows:auto 1fr auto;padding:1rem clamp(.75rem,2vw,1.5rem) 1rem}
.language-hud{display:flex;justify-content:space-between;gap:1rem}.language-hud .hud-player,.language-hud .hud-score{background:rgba(4,5,20,.88)}
.language-gate-shell{display:grid;place-items:center;padding:1.25rem 0}
.language-gate-card{position:relative;width:min(980px,100%);padding:clamp(1rem,2.7vw,2rem);text-align:center;background:transparent;border:0;box-shadow:none}
.language-logo-heart{display:grid;place-items:center;width:66px;height:58px;margin:0 auto .35rem;color:var(--arc-pink);font:700 2.55rem/1 var(--arc-ui);filter:drop-shadow(4px 4px 0 #7e1c58) drop-shadow(0 0 12px rgba(255,77,148,.45))}
.language-brand-title{margin:0;color:var(--arc-pink-2);font:400 clamp(2.5rem,6.4vw,5.6rem)/1.05 var(--arc-display);letter-spacing:-.04em;text-transform:uppercase;text-shadow:6px 6px 0 #771d57,9px 9px 0 #310d3c,-3px -3px 0 rgba(255,188,212,.55);filter:drop-shadow(0 0 15px rgba(255,77,148,.18))}.language-brand-subtitle{margin:.45rem 0 1.15rem;color:var(--arc-cyan);font:700 clamp(1.25rem,3vw,2.15rem)/1 var(--arc-ui);text-transform:uppercase;text-shadow:3px 3px 0 #085d65}
.language-tagline{position:relative;width:min(620px,92%);margin:.4rem auto 1rem;padding:.9rem 1.2rem;border:3px solid var(--arc-pink);background:rgba(3,4,18,.9);box-shadow:4px 4px 0 #4e123c,var(--arc-glow-pink);color:var(--arc-white);font:700 clamp(.82rem,1.5vw,1.05rem)/1.55 var(--arc-ui);text-transform:uppercase}.language-tagline::before,.language-tagline::after{content:"♥";position:absolute;top:50%;transform:translateY(-50%);color:var(--arc-pink);font-size:.8rem}.language-tagline::before{left:.65rem}.language-tagline::after{right:.65rem}
.press-start-sign{position:absolute;right:1.2%;top:47%;transform:translateY(-50%) rotate(-1deg);display:grid;place-items:center;width:126px;min-height:82px;border:3px solid #d771ff;background:#091029;color:var(--arc-cyan);font:700 .9rem/1.15 var(--arc-ui);text-transform:uppercase;box-shadow:5px 5px 0 #5c145c,0 0 18px rgba(215,113,255,.35)}.press-start-sign::before{content:"→";position:absolute;left:-55px;color:var(--arc-pink);font:700 2rem/1 var(--arc-ui)}
.language-gate-kicker{margin:0 0 .65rem;color:var(--arc-cyan)!important;font:700 .95rem/1.2 var(--arc-ui)!important}.language-gate-card h1#languageTitle{margin:0 0 .55rem;color:var(--arc-cream);font:700 1rem/1.25 var(--arc-ui);text-transform:uppercase;text-shadow:none}.language-gate-copy{display:none}.language-gate-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:min(750px,100%);margin:0 auto}.language-gate-option{display:flex;min-height:62px;align-items:center;justify-content:center;gap:.5rem;padding:.72rem .9rem;border:3px solid #4b465b;background:rgba(5,6,23,.94);color:var(--arc-cream);box-shadow:4px 4px 0 var(--arc-black);transition:transform .08s steps(1),filter .08s steps(1)}.language-gate-option strong{font:700 .92rem/1.25 var(--arc-ui);text-transform:uppercase}.language-gate-option small{display:none}.language-gate-option::after{content:"›";font:700 1.4rem/1 var(--arc-ui)}.language-gate-option:nth-child(1){border-color:var(--arc-pink);color:var(--arc-pink-2)}.language-gate-option:nth-child(2){border-color:var(--arc-cyan);color:var(--arc-cyan)}.language-gate-option:nth-child(3){border-color:var(--arc-yellow);color:var(--arc-yellow)}.language-gate-option:hover{transform:translate(-2px,-2px);filter:brightness(1.15);box-shadow:6px 6px 0 var(--arc-black)}.language-gate-note{margin:.9rem 0 0;color:#a09aaa;font:700 .65rem/1.3 var(--arc-ui);text-transform:uppercase}
.language-footer{display:flex;justify-content:center;align-items:center;gap:.8rem;color:#9b95a4;font:700 .64rem/1.2 var(--arc-ui);text-transform:uppercase}.language-footer b{color:var(--arc-pink)}
body.invite-active .language-gate-card{width:min(640px,100%);padding:1.6rem 1rem;border:3px solid var(--arc-pink);background:rgba(3,4,18,.93);box-shadow:6px 6px 0 #5a143f,var(--arc-glow-pink)}body.invite-active .language-logo-heart{font-size:0;width:72px;height:60px;margin-bottom:.6rem}body.invite-active .language-logo-heart::before{content:"✉";font:700 2.8rem/1 var(--arc-ui);color:var(--arc-cream)}body.invite-active .language-brand-title{display:none}body.invite-active .language-brand-subtitle{margin:0 0 .8rem;color:var(--arc-pink-2);font-size:1.05rem}body.invite-active .language-brand-subtitle::before{content:"INCOMING MESSAGE..."}body.invite-active .language-brand-subtitle{font-size:0}body.invite-active .language-brand-subtitle::before{font:700 1rem/1.3 var(--arc-ui)}body.invite-active .press-start-sign{display:none}body.invite-active .language-tagline{display:block;width:min(420px,100%);margin:.65rem auto 1rem;border:0;background:transparent;box-shadow:none;color:var(--arc-muted);font:400 .95rem/1.55 var(--arc-body);text-transform:none}body.invite-active .language-tagline::before,body.invite-active .language-tagline::after{display:none}body.invite-active .language-gate-card h1#languageTitle{color:var(--arc-cream);font:700 clamp(1.15rem,4vw,1.65rem)/1.35 var(--arc-ui);text-transform:none}body.invite-active .language-gate-kicker{color:var(--arc-pink-2)!important}body.invite-active .language-gate-options{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:.7rem}body.invite-active .language-gate-option{min-height:52px;padding:.55rem}body.invite-active .language-gate-option strong{font-size:.75rem}body.invite-active .language-gate-note{margin-top:.75rem;color:#b7b0bd}

/* public home — game title + arcade */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);align-items:center;gap:clamp(1rem,3vw,2rem);min-height:360px;padding:clamp(1rem,2vw,1.5rem);border:2px solid rgba(95,87,121,.55);background:linear-gradient(90deg,rgba(3,4,18,.72),rgba(3,4,18,.35));overflow:hidden}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/assets/retro-city-v33.svg') center 42%/cover no-repeat;filter:saturate(1.12) contrast(1.04)}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,4,18,.7),rgba(3,4,18,.15),rgba(3,4,18,.45))}
.immersive-entry-copy{position:relative;z-index:1;text-align:center}.immersive-entry-copy .eyebrow{color:var(--arc-cyan)!important}.immersive-entry-copy h1{margin:0 auto;color:var(--arc-pink-2);font:400 clamp(2rem,6vw,4.7rem)/1.05 var(--arc-display);text-transform:uppercase;text-shadow:5px 5px 0 #7c1c58,8px 8px 0 #340d3d,-2px -2px 0 rgba(255,209,225,.5)}.immersive-entry-copy h1::after{content:"AL FERRAN";display:block;margin-top:.55rem;color:var(--arc-cyan);font:700 clamp(1.05rem,2.6vw,1.9rem)/1 var(--arc-ui);text-shadow:3px 3px 0 #075a63}.hero-text{width:min(580px,92%);margin:1.15rem auto 0;padding:.75rem 1rem;border:2px solid var(--arc-pink);background:rgba(4,5,18,.88);color:var(--arc-white);font:700 .95rem/1.5 var(--arc-ui);text-transform:uppercase;box-shadow:3px 3px 0 #5d1542}.immersive-entry-cta{margin-top:1rem}.immersive-entry-art{position:relative;min-height:230px;border:0;background:transparent;box-shadow:none}.immersive-entry-art::before{content:"";position:absolute;inset:18% 12%;border:3px solid #d070ff;background:rgba(4,6,23,.86);box-shadow:5px 5px 0 #541451,0 0 20px rgba(208,112,255,.25)}.immersive-entry-art::after{content:"PRESS\A START";white-space:pre;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--arc-cyan);font:700 clamp(1rem,2vw,1.45rem)/1.15 var(--arc-ui);text-align:center;text-shadow:2px 2px 0 #5b1455}.immersive-entry-services{display:none!important}

/* sections and headings */
.section{margin-top:1rem}.section.narrow{width:min(1060px,100%);margin-inline:auto}.section-heading{margin-bottom:.85rem;text-align:center}.section-heading h1,.section-heading h2{margin:.1rem 0;color:var(--arc-pink-2);font:700 clamp(1.4rem,3.4vw,2.3rem)/1.15 var(--arc-ui);text-transform:uppercase;text-shadow:2px 2px 0 #641847}.section-heading p:not(.eyebrow){max-width:62ch;margin:.55rem auto 0;color:#c6bfcb;font-size:1rem;line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1rem}

/* arcade selector */
.arcade-gate{width:min(1120px,100%);margin:1rem auto;border:2px solid #4a455c;background:rgba(4,5,19,.94);box-shadow:var(--arc-shadow);overflow:hidden}.arcade-gate-heading{padding:.8rem 1rem;text-align:center;border-bottom:1px solid #343149;background:#080a22}.arcade-gate-heading h2{margin:0;color:var(--arc-cyan);font:700 clamp(1.2rem,2.4vw,1.7rem)/1.15 var(--arc-ui);text-transform:uppercase}.arcade-gate-heading>p:last-child{max-width:760px;margin:.5rem auto 0;color:#bdb6c4;font-size:.95rem;line-height:1.45}.invite-mission-banner{display:grid;grid-template-columns:auto 1fr;gap:.1rem .7rem;align-items:center;margin:0 auto .7rem;padding:.65rem .8rem;width:min(620px,100%);border:2px solid var(--arc-pink);background:#16091d;text-align:left}.invite-signal{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;color:var(--arc-pink);font-size:1.3rem}.invite-mission-banner strong{color:var(--arc-pink-2);font:700 .86rem/1.2 var(--arc-ui)}.invite-mission-banner small{color:#bab3c0;font-size:.86rem;line-height:1.35}
.arcade-room{position:relative;padding:1rem;background:linear-gradient(180deg,rgba(5,6,21,.94),rgba(8,5,25,.96));overflow:hidden}.arcade-room::before{content:"";position:absolute;inset:0;background:url('/assets/retro-city-v33.svg') center 52%/cover no-repeat;opacity:.28;filter:saturate(1.15)}.arcade-floor-lines{display:none}.arcade-machine-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;max-width:780px;margin:0 auto}.arcade-machine{display:flex;justify-content:center;min-width:0}.arcade-cabinet-shell{position:relative;width:min(100%,340px);display:flex;flex-direction:column;padding:.7rem .7rem .9rem;color:var(--arc-cream);border:3px solid #cfc7bc;background:#18182b;box-shadow:8px 10px 0 rgba(0,0,0,.65);clip-path:polygon(8% 0,92% 0,98% 5%,100% 37%,96% 43%,96% 100%,4% 100%,4% 43%,0 37%,2% 5%)}.arcade-machine-runner .arcade-cabinet-shell{--cab:var(--arc-pink);--cab2:var(--arc-yellow)}.arcade-machine-invaders .arcade-cabinet-shell{--cab:#138c88;--cab2:var(--arc-cyan)}.arcade-marquee{min-height:56px;display:grid;place-items:center;margin:.1rem .45rem .35rem;padding:.45rem;border:3px solid var(--arc-cream);background:var(--cab);color:#080810;text-align:center;font:700 .98rem/1.15 var(--arc-ui);text-transform:uppercase;box-shadow:0 4px 0 #020209}.arcade-speaker{height:13px;margin:0 1rem .3rem;display:flex;justify-content:center;gap:6px}.arcade-speaker i{width:18px;height:3px;background:#03030a}.arcade-screen-frame{margin:0 .65rem;padding:.5rem .55rem .65rem;border:3px solid #020209;background:#29293a}.arcade-screen{position:relative;height:145px;overflow:hidden;border:6px solid #020209;background:#030510 url('/assets/retro-city-v33.svg') center 48%/cover no-repeat}.arcade-screen::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.06) 0 1px,transparent 1px 4px);opacity:.55}.arcade-scanline{display:none}.arcade-control-panel{min-height:58px;margin:-.05rem .5rem .15rem;padding:.48rem .65rem;display:flex;align-items:center;justify-content:flex-end;gap:.65rem;border:3px solid #020209;background:var(--cab)}.arcade-joystick{position:relative;margin-right:auto;width:40px;height:40px}.arcade-joystick::before{content:"";position:absolute;left:14px;bottom:1px;width:13px;height:28px;background:#03030a;transform:rotate(-8deg);transform-origin:bottom}.arcade-joystick i{position:absolute;left:6px;top:0;width:24px;height:24px;border-radius:50%;background:var(--arc-pink);border:3px solid #020209}.arcade-button{width:22px;height:22px;border-radius:50%;border:3px solid #020209;box-shadow:0 3px 0 #020209}.arcade-button.red{background:var(--arc-pink)}.arcade-button.gold{background:var(--arc-yellow)}.arcade-machine-copy{display:flex;flex:1;flex-direction:column;padding:.4rem .5rem 0}.arcade-machine-copy>p:first-child{margin:0 0 .5rem;color:#c2bbc6;font-size:.88rem;line-height:1.38;min-height:0}.arcade-machine-record{margin:.1rem 0 .5rem!important;color:var(--arc-cyan)!important;font:700 .72rem/1.25 var(--arc-ui)!important}.arcade-machine-actions{display:grid;gap:.38rem;margin-top:auto}.arcade-play,.arcade-access,.arcade-back,.arcade-access-action,.runner-mobile-controls button,.invaders-mobile-controls button{border:2px solid currentColor!important;border-radius:0!important;font-family:var(--arc-ui)!important;font-weight:700!important;text-transform:uppercase!important}.arcade-play{min-height:46px!important;border-color:var(--arc-cream)!important;background:var(--arc-cream)!important;color:#0e0a0f!important;box-shadow:3px 3px 0 var(--cab)}.arcade-access{min-height:38px!important;background:#070719!important;color:#d9d1d4!important;font-size:.72rem!important}.arcade-coin-door{width:74px;height:38px;margin:.55rem auto 0;display:flex;align-items:center;justify-content:center;gap:.4rem;border:2px solid #020209;background:#090912;color:var(--arc-yellow);font:700 .65rem/1 var(--arc-ui)}.arcade-coin-door i{width:8px;height:18px;border:2px solid #75717f;background:#03030a}.arcade-accessibility-note{display:grid;grid-template-columns:auto 1fr;gap:.2rem .7rem;align-items:start;padding:.65rem .85rem;border-top:1px solid #302d42;background:#07131b;font-size:.85rem;line-height:1.4}.arcade-accessibility-note strong{color:var(--arc-cyan);font:700 .75rem/1.25 var(--arc-ui)}.arcade-accessibility-note em{grid-column:1/-1;color:#9a94a2;font-style:normal}
.arcade-selector-unlocked{position:relative;display:grid;place-items:center;gap:.45rem;padding:1.3rem .9rem;border-top:2px solid var(--arc-green);background:rgba(3,10,15,.96);text-align:center;overflow:hidden}.arcade-selector-unlocked::before{content:"ACCESS\A GRANTED";white-space:pre;color:var(--arc-green);font:400 clamp(1.3rem,4vw,2.4rem)/1.2 var(--arc-display);text-shadow:3px 3px 0 #0a6444}.arcade-selector-unlocked::after{content:"♥ ♥ ♥";color:var(--arc-pink);font:700 1.4rem/1 var(--arc-ui)}.arcade-selector-unlocked strong{display:none}.arcade-selector-unlocked span{color:var(--arc-yellow);font:700 .95rem/1.35 var(--arc-ui);text-transform:uppercase}

/* game view */
.arcade-game-active{max-width:900px}.arcade-game-head{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border-bottom:1px solid #353148;background:#050719}.arcade-back{padding:.42rem .55rem!important;background:#08091f!important;color:var(--arc-cream)!important;font-size:.72rem!important}.arcade-game-name{margin:auto;color:var(--arc-cyan);font:700 1.1rem/1 var(--arc-ui);text-transform:uppercase}.arcade-mode-chip{padding:.26rem .38rem;border:1px solid var(--arc-green);color:var(--arc-green);font:700 .62rem/1 var(--arc-ui)}.arcade-access-mode-copy{margin:0;padding:.6rem .75rem;border-bottom:1px solid #29263a;background:#09151a;color:#bcb5c1;font-size:.84rem;line-height:1.42}.arcade-score-line{min-height:42px;display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid #302d42;background:#080a24;color:var(--arc-cyan);font:700 .76rem/1.35 var(--arc-ui);flex-wrap:wrap;gap:.15rem}.arcade-canvas-wrap{position:relative;background:#02030d}.arcade-game-canvas{display:block;width:100%;height:300px;outline:none;touch-action:none;image-rendering:pixelated}.invaders-canvas{height:330px}.invaders-drag-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;padding:.45rem .6rem;border:2px solid var(--arc-cyan);background:rgba(3,4,18,.93);color:var(--arc-cyan);font:700 .68rem/1.35 var(--arc-ui);pointer-events:none}.runner-mobile-controls{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.55rem;border-top:1px solid #302d42;background:#050611}.runner-mobile-controls button{min-height:56px;box-shadow:0 4px 0 #020209}.runner-mobile-controls .jump{background:var(--arc-pink)!important;color:#120611!important}.runner-mobile-controls .duck{background:#128a88!important;color:var(--arc-cream)!important}.invaders-mobile-controls{display:flex;justify-content:center;padding:.55rem;border-top:1px solid #302d42;background:#050611}.invaders-mobile-controls .fire{width:min(100%,340px);min-height:58px!important;background:var(--arc-pink)!important;color:#110711!important}.arcade-game-hint{margin:0;padding:.6rem .75rem;border-top:1px solid #29263a;color:#a39ca9;font:700 .68rem/1.45 var(--arc-ui)}.arcade-gate-status{margin:0;padding:0 .75rem;font:700 .72rem/1.4 var(--arc-ui)}.arcade-gate-status:not(:empty){padding:.6rem .75rem;border-top:1px solid var(--arc-pink);background:#16091d;color:var(--arc-pink-2)}.arcade-win{display:grid;gap:.4rem;padding:.9rem;border-top:2px solid var(--arc-green);background:#091a17}.arcade-win[hidden]{display:none}.arcade-win strong{color:var(--arc-green);font:700 .82rem/1.2 var(--arc-ui)}.arcade-win span{color:#d7d0d7;line-height:1.4}.arcade-accessible-challenge{min-height:230px;display:grid;place-items:center;align-content:center;gap:.6rem;padding:1rem;text-align:center;background:#080a21}.arcade-accessible-challenge h3{margin:0;font:700 1rem/1.3 var(--arc-ui)}.arcade-accessible-challenge p{max-width:34rem;margin:0;color:#bbb4bf;line-height:1.45}.arcade-access-action{min-width:190px;min-height:54px!important;background:var(--arc-cyan)!important;color:#071012!important}

/* booking / plan selection */
.progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;padding:0;margin:0 0 .8rem}.progress li{position:relative;padding:.58rem .3rem;border:1px solid #3d394f;background:#07091e;color:#888294;font:700 .7rem/1.2 var(--arc-ui);text-align:center;text-transform:uppercase}.progress li::before{content:attr(data-progress);display:grid;place-items:center;width:24px;height:20px;margin:-1.05rem auto .28rem;border:1px solid var(--arc-pink);background:#15091d;color:var(--arc-pink-2);font-size:.62rem}.progress li.active{border-color:var(--arc-pink);background:#180a20;color:var(--arc-cream);box-shadow:inset 0 -3px 0 var(--arc-pink)}
#bookingPanel{border-color:#3c3850;background:rgba(5,6,22,.97)}#bookingPanel>h2{margin:.1rem 0 .3rem;color:var(--arc-cyan);font:700 clamp(1.1rem,2.5vw,1.55rem)/1.2 var(--arc-ui);text-transform:uppercase}#bookingPanel>.muted{margin:.2rem 0 .9rem;text-align:center}
.service-grid,.option-grid,.date-grid,.time-grid{display:grid;gap:.7rem}.service-grid,.option-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.date-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.time-grid{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}
.service-card{position:relative;display:flex;min-height:210px;flex-direction:column;align-items:center;gap:.55rem;padding:.82rem .7rem;border:2px solid var(--arc-pink);background:linear-gradient(180deg,#0b0d28,#060719);text-align:center;overflow:hidden}.service-card:nth-child(3n+2){border-color:var(--arc-cyan)}.service-card:nth-child(3n+3){border-color:var(--arc-yellow)}.service-card::before{content:attr(data-plan-icon);display:grid;place-items:center;width:64px;height:58px;margin-bottom:.1rem;color:var(--arc-yellow);font:700 2rem/1 var(--arc-ui);text-shadow:3px 3px 0 rgba(0,0,0,.55)}.service-card:not([data-plan-icon])::before{content:"◆"}.service-card h3{margin:0;color:var(--arc-pink-2);font:700 .9rem/1.2 var(--arc-ui);text-transform:uppercase}.service-card:nth-child(3n+2) h3{color:var(--arc-cyan)}.service-card:nth-child(3n+3) h3{color:var(--arc-yellow)}.service-card p{margin:0;color:#bfb8c2;font-size:.84rem;line-height:1.35}.service-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;margin-top:auto}.service-card .pill{font-size:.62rem}.choice-card,.date-button,.time-button{width:100%;padding:.8rem;border:2px solid #3e3a50;background:#07091f;color:var(--arc-cream);text-align:left;box-shadow:3px 3px 0 var(--arc-black)}.choice-card:hover,.date-button:hover,.time-button:hover,.choice-card.selected,.date-button.selected,.time-button.selected{border-color:var(--arc-cyan);background:#111434;box-shadow:3px 3px 0 var(--arc-pink)}.choice-card strong,.date-button strong,.time-button strong{display:block;font:700 .82rem/1.25 var(--arc-ui);text-transform:uppercase}.choice-card span,.date-button span,.time-button span{display:block;margin-top:.22rem;color:#aaa3b2;font-size:.82rem}.delight-badge{display:block;margin-top:.3rem;color:var(--arc-yellow);font:700 .65rem/1.3 var(--arc-ui)}
.custom-plan-card{border-style:dashed!important;background:#14102e!important}.custom-plan-card .custom-plan-symbol{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:2px solid var(--arc-purple);background:#171337;color:#c9bdff}.custom-plan-editor,.custom-plan-form{display:grid;gap:.8rem}.custom-plan-form textarea{width:100%;min-height:10rem}.custom-plan-counter{justify-self:end;color:#8d8798;font:700 .65rem/1 var(--arc-ui)}
.booking-mission-strip{--mission-progress:25%;position:relative;display:grid;grid-template-columns:auto 1fr;gap:.25rem .7rem;align-items:center;margin:0 0 .8rem;padding:.65rem .75rem .82rem;border:1px solid var(--arc-cyan);background:#061019;overflow:hidden}.booking-mission-strip span{color:var(--arc-yellow);font:700 .68rem/1 var(--arc-ui)}.booking-mission-strip strong{font:700 .72rem/1.2 var(--arc-ui)}.booking-mission-strip i{position:absolute;left:0;bottom:0;width:var(--mission-progress);height:4px;background:linear-gradient(90deg,var(--arc-pink),var(--arc-cyan))}.booking-surprise{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center;margin:.1rem 0 .8rem;padding:.65rem;border:1px dashed var(--arc-yellow);background:#151205}.booking-surprise-button{min-height:44px!important;border-color:var(--arc-yellow)!important;background:var(--arc-yellow)!important;color:#120f08!important}.booking-surprise span{color:#c6bfca;font-size:.84rem}.direct-plan-notice{margin:0 0 .7rem;padding:.62rem .7rem;border:1px solid var(--arc-cyan);background:#07151d;color:var(--arc-cyan);font:700 .72rem/1.4 var(--arc-ui)}
.back-row{display:flex;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.8rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.field{display:grid;gap:.35rem}.field.full{grid-column:1/-1}.field label{color:var(--arc-cyan);font:700 .72rem/1.2 var(--arc-ui);text-transform:uppercase}.field input,.field textarea,.field select,.custom-plan-form textarea{width:100%;min-width:0;border:1px solid #454058;border-radius:0;background:#05071b;padding:.82rem .85rem;color:var(--arc-cream);outline:none;font-size:16px}.field textarea{min-height:112px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.custom-plan-form textarea:focus{border-color:var(--arc-pink);box-shadow:0 0 0 2px rgba(255,77,148,.2),3px 3px 0 var(--arc-cyan)}.checkbox-row{display:flex;align-items:flex-start;gap:.6rem;color:#c1bbc4;line-height:1.45}.checkbox-row input{margin-top:.16rem;accent-color:var(--arc-pink)}.summary-box{margin-bottom:.8rem;padding:.75rem;border:1px dashed var(--arc-yellow);background:#131005}.summary-box dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:.4rem .8rem}.summary-box dt{color:var(--arc-yellow);font:700 .68rem/1.25 var(--arc-ui);text-transform:uppercase}.summary-box dd{margin:0;font-weight:700}.empty-state{padding:1.2rem;border:1px dashed #484356;background:#07091d;color:#aaa3b2;text-align:center}.intent-field{margin:0;padding:.8rem;border:1px dashed var(--arc-purple)}.intent-field legend{padding:0 .35rem;color:#c8bcff;font:700 .72rem/1 var(--arc-ui);text-transform:uppercase}.intent-help{margin:.1rem 0 .6rem;color:#a59ead;font-size:.84rem}.intent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.4rem}.intent-option{display:flex;align-items:center;gap:.48rem;min-height:44px;padding:.5rem .6rem;border:1px solid #403b51;background:#07091d;color:#c7c0c9;font:700 .7rem/1.25 var(--arc-ui)}.intent-option:has(input:checked){border-color:var(--arc-purple);background:#171237;color:#e1d9ff}.intent-option input{accent-color:var(--arc-purple)}

/* confirmation / golden ticket */
.confirmation-card{position:relative;padding:1.3rem;text-align:center;border-color:var(--arc-cyan);background:#07101c}.confirmation-card::before{content:"MISSIÓ ENVIADA!";display:block;margin-bottom:.75rem;color:var(--arc-cyan);font:700 1.2rem/1.2 var(--arc-ui);text-transform:uppercase}.confirmation-icon{display:grid;place-items:center;width:86px;height:76px;margin:0 auto .8rem;border:0;background:transparent;color:var(--arc-pink);font-size:3.3rem;filter:drop-shadow(4px 4px 0 #791c55)}.confirmation-card h2,.confirmation-card h3{font:700 1.05rem/1.3 var(--arc-ui);text-transform:uppercase}.confirmation-mission-note{margin:.75rem 0;padding:.65rem;border-left:4px solid var(--arc-pink);background:#16091d}.confirmation-share{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.65rem}.confirmation-share .button{width:100%}
.golden-ticket-unlock,.golden-ticket-booking,.golden-ticket-claim{position:relative;border:3px solid var(--arc-yellow)!important;background:linear-gradient(180deg,#211605,#100b03)!important;color:var(--arc-cream)!important;box-shadow:5px 5px 0 #9a5710!important;padding:1rem!important;margin:1rem 0!important}.golden-ticket-unlock::before,.golden-ticket-claim::before{content:"★ SECRET UNLOCKED ★";display:block;margin-bottom:.6rem;color:var(--arc-yellow);font:700 .86rem/1.2 var(--arc-ui)}.golden-ticket-unlock strong,.golden-ticket-claim>strong{color:#ffcc2d!important;font:700 1rem/1.3 var(--arc-ui)!important}.golden-ticket-unlock a{background:var(--arc-yellow)!important;color:#100b04!important}.golden-ticket-kicker{color:var(--arc-yellow)!important;font-family:var(--arc-ui)!important}

/* utilities */
.toast{position:fixed;left:50%;bottom:78px;transform:translateX(-50%) translateY(110px);z-index:90;max-width:calc(100% - 1rem);padding:.8rem 1rem;border:2px solid var(--arc-cyan);background:#05071c;color:var(--arc-cream);box-shadow:4px 4px 0 var(--arc-pink);opacity:0;transition:transform .15s steps(3),opacity .15s;font:700 .76rem/1.4 var(--arc-ui);text-align:center}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.small-note{font-size:.86rem}.private-manage-note{margin:1rem 0 .65rem;padding:.75rem .85rem;border:1px dashed var(--arc-yellow);background:#151205}.private-manage-link{overflow-wrap:anywhere}.muted{color:#aaa4b3!important;line-height:1.5}.service-aside,.scribble-note{display:none!important}.time-note{display:block;margin-top:.28rem;color:var(--arc-pink-2);font:700 .65rem/1.25 var(--arc-ui);font-style:normal;text-transform:uppercase}.privacy-card h2{margin:1.1rem 0 .35rem;color:var(--arc-cyan);font:700 1rem/1.2 var(--arc-ui);text-transform:uppercase}.privacy-card p{color:#bfb8c2}.card p,.card li{line-height:1.55}.card a:not(.button){color:var(--arc-cyan);text-decoration:underline;text-underline-offset:3px}.card hr{border:0;border-top:1px dashed #3a364a;margin:1rem 0}.card code{padding:.15rem .28rem;background:#040616;color:var(--arc-yellow);font-family:var(--arc-ui)}

/* responsive */
@media(max-width:1040px){.site-header{grid-template-columns:auto 1fr}.hud-score{display:none}.brand{justify-self:start}.main-nav{grid-column:1/-1;justify-content:flex-start;overflow-x:auto}.hero{grid-template-columns:1fr}.immersive-entry-art{display:none}.press-start-sign{right:0}.arcade-dock{grid-template-columns:auto 1fr}.arcade-dock-made{display:none}}
@media(max-width:820px){body{font-size:15px;padding-bottom:68px}.site-header{display:flex;align-items:center;gap:.55rem;min-height:58px;padding:.5rem .6rem}.hud-player{display:none}.brand{margin-right:auto}.brand-mark{width:31px;height:31px}.brand-copy strong{font-size:.78rem}.brand-copy small{font-size:.58rem}.main-nav{display:flex;width:auto;overflow:visible}.main-nav>a{display:none}.player-session-chip{display:none}.language-switcher a{padding:.42rem .45rem;font-size:.58rem}.app-shell{width:min(100% - .7rem,1320px);padding-top:.6rem}.hero{min-height:300px;padding:.8rem}.immersive-entry-copy h1{font-size:clamp(1.55rem,8vw,2.75rem)}.hero-text{font-size:.82rem}.arcade-machine-grid{grid-template-columns:1fr;max-width:390px}.arcade-cabinet-shell{width:min(100%,360px)}.arcade-gate-heading h2{font-size:1.15rem}.arcade-game-canvas{height:260px}.invaders-canvas{height:285px}.form-grid{grid-template-columns:1fr}.back-row{align-items:stretch;flex-direction:column}.back-row .button,.back-row .pill{width:100%;justify-content:center}.summary-box dl{grid-template-columns:1fr;gap:.18rem}.summary-box dd{margin-bottom:.45rem}.confirmation-share{grid-template-columns:1fr}.booking-surprise{grid-template-columns:1fr}.intent-grid{grid-template-columns:1fr}.service-grid,.option-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,72vw);grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:.15rem .1rem .65rem;scrollbar-width:thin}.service-card{scroll-snap-align:start;min-height:220px}.arcade-dock{grid-template-columns:1fr;padding:.42rem .55rem;min-height:58px}.arcade-dock-brand,.arcade-dock-made{display:none}.arcade-dock-links{justify-content:space-around;gap:.1rem}.arcade-dock a{flex-direction:column;gap:.18rem;padding:.28rem .36rem;font-size:.56rem}.arcade-dock a span:first-child{font-size:1rem}.language-stage{padding:.7rem .6rem}.language-hud .hud-player,.language-hud .hud-score{min-width:100px;padding:.4rem .5rem}.language-brand-title{font-size:clamp(1.55rem,10vw,2.8rem)}.language-brand-subtitle{font-size:clamp(.95rem,5vw,1.35rem)}.language-tagline{font-size:.78rem;width:100%;padding:.75rem 1.8rem}.press-start-sign{position:relative;right:auto;top:auto;transform:none;width:118px;min-height:64px;margin:.75rem auto}.press-start-sign::before{display:none}.language-gate-options{grid-template-columns:1fr;gap:.55rem}.language-gate-option{min-height:54px}.language-gate-option strong{font-size:.84rem}.language-footer{font-size:.55rem}.language-logo-heart{width:50px;height:46px;font-size:2rem}body.invite-active .language-gate-options{grid-template-columns:1fr}body.invite-active .language-gate-card{padding:1.1rem .8rem}}
@media(max-width:430px){.immersive-entry-copy h1{font-size:clamp(1.35rem,9vw,2.1rem)}.immersive-entry-copy h1::after{font-size:.92rem}.hero-text{width:100%;font-size:.76rem}.section-heading h1{font-size:1.35rem}.progress{gap:.2rem}.progress li{padding:.52rem .12rem;font-size:.58rem}.progress li::before{width:22px;font-size:.56rem}.time-grid{grid-template-columns:1fr 1fr}.arcade-game-name{font-size:.88rem}.arcade-game-hint{font-size:.62rem}.language-hud{gap:.4rem}.language-hud .hud-player,.language-hud .hud-score{min-width:94px}.language-hud .hud-player small,.language-hud .hud-score small{font-size:.56rem}.language-hud .hud-player strong,.language-hud .hud-score strong{font-size:.72rem}.language-gate-card{padding:.4rem}.language-brand-title{font-size:1.65rem}.language-tagline{font-size:.7rem}.service-card h3{font-size:.82rem}.service-card p{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.language-gate-option,.toast{transition:none!important}}
