/* ==========================================================================
   Estilos corporativos y de juego: Comecocos 3D (PAC-MAN arcade moderno)
   Fijate Tools • Three.js WebGL • Responsive • Modales accesibles
   ========================================================================== */

:root {
  --font-main: 'Inter', system-ui, -apple-system, sans-serif;
  --font-heading: 'Outfit', 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* Paleta neón arcade 3D */
  --pac-yellow: #ffcc00;
  --pac-yellow-glow: rgba(255, 204, 0, 0.45);
  --pac-cyan: #00e5ff;
  --pac-cyan-glow: rgba(0, 229, 255, 0.45);
  --pac-pink: #ff88cc;
  :root{--font-main:'Inter',system-ui,-apple-system,sans-serif;--font-heading:'Outfit','Inter',sans-serif;--font-mono:'JetBrains Mono',monospace;--pac-yellow:#ffcc00;--pac-yellow-glow:rgba(255,204,0,0.45);--pac-cyan:#00e5ff;--pac-cyan-glow:rgba(0,229,255,0.45);--pac-pink:#ff2a9d;--pac-red:#ff1e27;--pac-orange:#ff8800;--pac-blue:#0088ff;--arcade-bg:#070a10;--arcade-card-bg:#0c1220;--arcade-border:#1a2538;--arcade-text-muted:#8c9eb5;--arcade-text-main:#f0f4f8}[data-theme="light"]{--arcade-bg:#f8fafc;--arcade-card-bg:#ffffff;--arcade-border:#e2e8f0;--arcade-text-muted:#64748b;--arcade-text-main:#0f172a}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-main);background-color:var(--arcade-bg);color:var(--arcade-text-main);line-height:1.5;overflow-x:clip;width:100%;max-width:100%;min-height:100vh}body{display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6,.brand-title,.section-title,.hud-status-text,.modal-pac-title{font-family:var(--font-heading)}.text-mono,.mono,code,pre,kbd,.hud-score-number{font-family:var(--font-mono)}button,input,select,textarea{font-family:inherit}.tool-layout{max-width:1200px;margin:1.5rem auto 3rem;padding:0 1rem;box-sizing:border-box;flex:1 0 auto;width:100%}.tool-with-sidebar{display:flex;gap:2rem;align-items:flex-start;width:100%}.tool-main-content{flex:1 1 0%;min-width:0;width:100%}.game-viewport-card{position:relative;width:100%;background:radial-gradient(circle at 50% 52%,#101726 0%,#070a10 72%);border-radius:16px;border:1px solid var(--arcade-border);box-shadow:0 20px 50px rgba(0,0,0,0.65);overflow:hidden;margin-bottom:1.25rem;box-sizing:border-box}.game-hud-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0.85rem 1.25rem;background:linear-gradient(180deg,rgba(7,10,16,0.92) 0%,rgba(7,10,16,0.45) 75%,transparent 100%);z-index:10;pointer-events:none}.hud-group{display:flex;align-items:center;gap:0.75rem}.hud-score-block{display:flex;flex-direction:column}.hud-score-label{font-family:var(--font-heading);font-size:0.75rem;font-weight:700;color:var(--pac-cyan);text-transform:uppercase;letter-spacing:0.8px}.hud-score-label.is-high{color:var(--pac-yellow)}.hud-score-number{font-size:1.55rem;font-weight:800;line-height:1;color:#ffffff;text-shadow:0 0 10px rgba(255,255,255,0.4)}.hud-score-number.is-high{color:var(--pac-yellow);text-shadow:0 0 12px var(--pac-yellow-glow)}.hud-level-pill{display:inline-flex;align-items:center;gap:0.4rem;background:rgba(12,18,32,0.85);border:1px solid rgba(0,229,255,0.35);padding:0.3rem 0.85rem;border-radius:9999px;font-family:var(--font-mono);font-size:0.85rem;font-weight:700;color:var(--pac-cyan);box-shadow:0 0 12px var(--pac-cyan-glow)}.hud-lives-deck{display:flex;align-items:center;gap:0.4rem}.hud-life-icon{display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 6px var(--pac-yellow-glow))}.hud-status-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.85);background:rgba(7,10,16,0.92);border:2px solid var(--pac-yellow);box-shadow:0 0 35px var(--pac-yellow-glow);padding:1.1rem 2.2rem;border-radius:14px;z-index:20;pointer-events:none;opacity:0;transition:opacity 0.22s cubic-bezier(0.16,1,0.3,1),transform 0.22s cubic-bezier(0.16,1,0.3,1);text-align:center}.hud-status-banner.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.hud-status-text{font-size:1.85rem;font-weight:800;color:var(--pac-yellow);letter-spacing:1.2px;text-shadow:0 0 16px var(--pac-yellow-glow);white-space:nowrap}#pacman-canvas-container{width:100%;height:clamp(640px,74vh,860px);min-height:560px;position:relative;display:block;touch-action:none;cursor:grab}#pacman-canvas-container:active{cursor:grabbing}@media (min-width:1400px){#pacman-canvas-container{height:clamp(700px,78vh,920px)}}@media (max-width:768px){#pacman-canvas-container{height:clamp(420px,60vh,560px);min-height:400px}}#pacman-canvas-container canvas{width:100%!important;height:100%!important;display:block}.touch-dpad-container{display:none;position:absolute;bottom:1.2rem;right:1.2rem;z-index:15;width:136px;height:136px;pointer-events:auto}@media (max-width:992px){.touch-dpad-container{display:block}}.dpad-cross{position:relative;width:100%;height:100%}.btn-dpad{position:absolute;width:44px;height:44px;background:rgba(12,18,32,0.82);border:1px solid rgba(0,229,255,0.45);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--pac-cyan);cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;transition:background 0.1s,transform 0.1s,box-shadow 0.1s;box-shadow:0 4px 12px rgba(0,0,0,0.4)}.btn-dpad:active{background:var(--pac-cyan);color:#060912;transform:scale(0.92);box-shadow:0 0 16px var(--pac-cyan-glow)}.btn-dpad-up{top:0;left:46px}.btn-dpad-down{bottom:0;left:46px}.btn-dpad-left{top:46px;left:0}.btn-dpad-right{top:46px;right:0}.game-controls-deck{display:flex;flex-wrap:wrap;gap:0.85rem;align-items:center;justify-content:space-between;background:var(--arcade-card-bg);border:1px solid var(--arcade-border);border-radius:12px;padding:0.85rem 1.25rem;margin-bottom:2rem}.deck-group{display:flex;align-items:center;flex-wrap:wrap;gap:0.45rem}.deck-title{font-size:0.82rem;font-weight:700;color:var(--arcade-text-muted);text-transform:uppercase;margin-right:0.25rem}.btn-arcade{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;font-family:var(--font-heading);font-weight:600;font-size:0.86rem;border-radius:8px;padding:0.48rem 0.95rem;cursor:pointer;transition:all 0.18s ease;min-height:40px;border:1px solid transparent;user-select:none}.btn-arcade-outline{background:rgba(18,24,38,0.7);border-color:var(--arcade-border);color:var(--arcade-text-main)}.btn-arcade-outline:hover{border-color:var(--pac-cyan);color:var(--pac-cyan);box-shadow:0 0 12px var(--pac-cyan-glow)}.btn-arcade-outline.is-active{background:rgba(0,229,255,0.15);border-color:var(--pac-cyan);color:var(--pac-cyan);box-shadow:0 0 14px var(--pac-cyan-glow)}.btn-arcade-primary{background:linear-gradient(135deg,#ffcc00 0%,#ff8800 100%);color:#060912;font-weight:700;border:none;box-shadow:0 4px 14px var(--pac-yellow-glow)}.btn-arcade-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px var(--pac-yellow-glow)}.game-shortcuts-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.25rem;margin-top:-1.25rem;margin-bottom:2rem;padding:0.65rem 1rem;background:rgba(12,18,32,0.45);border:1px dashed var(--arcade-border);border-radius:8px;font-size:0.8rem;color:var(--arcade-text-muted)}.shortcut-item{display:inline-flex;align-items:center;gap:0.35rem}.shortcut-key{display:inline-block;padding:0.15rem 0.45rem;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:4px;font-size:0.75rem;font-weight:700;color:var(--arcade-text-main)}.pac-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(4,6,12,0.85);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity 0.25s cubic-bezier(0.16,1,0.3,1)}.pac-modal-backdrop.is-open{opacity:1;pointer-events:auto}.pac-modal-card{background:var(--arcade-card-bg);border:2px solid var(--pac-yellow);box-shadow:0 0 40px var(--pac-yellow-glow);border-radius:16px;padding:2rem;max-width:440px;width:100%;text-align:center;transform:scale(0.92);transition:transform 0.25s cubic-bezier(0.16,1,0.3,1)}.pac-modal-backdrop.is-open .pac-modal-card{transform:scale(1)}.modal-pac-title{font-size:1.85rem;color:var(--pac-yellow);margin-top:0;margin-bottom:0.5rem;text-shadow:0 0 16px var(--pac-yellow-glow)}.modal-pac-score-box{background:rgba(6,9,18,0.7);border:1px solid var(--arcade-border);border-radius:12px;padding:1.25rem;margin:1.5rem 0}.modal-pac-score-label{font-size:0.85rem;color:var(--arcade-text-muted);text-transform:uppercase;margin-bottom:0.35rem}.modal-pac-score-val{font-family:var(--font-mono);font-size:2.4rem;font-weight:800;color:#ffffff;line-height:1}.pac-guide-section{background:var(--arcade-card-bg);border:1px solid var(--arcade-border);border-radius:14px;padding:2rem;margin-top:2rem}.pac-guide-section h2{font-size:1.45rem;color:var(--pac-cyan);margin-top:0;margin-bottom:1rem}.pac-guide-section h3{font-size:1.15rem;color:var(--arcade-text-main);margin-top:1.5rem;margin-bottom:0.65rem}.pac-guide-section p,.pac-guide-section li{color:var(--arcade-text-muted);line-height:1.65;font-size:0.95rem}.ghost-personality-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.25rem 0}.ghost-card{background:rgba(6,9,18,0.6);border:1px solid var(--arcade-border);border-radius:10px;padding:1rem}.ghost-card-header{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-heading);font-weight:700;font-size:1.05rem;margin-bottom:0.5rem}.ghost-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.ghost-dot.is-blinky{background:var(--pac-red);box-shadow:0 0 8px var(--pac-red)}.ghost-dot.is-pinky{background:var(--pac-pink);box-shadow:0 0 8px var(--pac-pink)}.ghost-dot.is-inky{background:var(--pac-cyan);box-shadow:0 0 8px var(--pac-cyan)}.ghost-dot.is-clyde{background:var(--pac-orange);box-shadow:0 0 8px var(--pac-orange)}.faq-accordion{margin-top:1.5rem}.faq-item{border-bottom:1px solid var(--arcade-border)}.faq-question{width:100%;text-align:left;background:none;border:none;padding:1rem 0;color:var(--arcade-text-main);font-family:var(--font-heading);font-size:1.05rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.faq-answer{padding-bottom:1rem;color:var(--arcade-text-muted);font-size:0.94rem;line-height:1.6}