.main-header{position:sticky!important;top:12px!important;z-index:10050!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;padding:10px 22px!important;margin-bottom:16px!important;background:#f1f1e4!important;border:3px solid #17191C!important;border-radius:999px!important;box-shadow:4px 4px #17191c!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;font-family:Archivo,sans-serif!important;box-sizing:border-box!important}.main-header .logo-area{display:flex!important;align-items:center!important;gap:10px!important}.main-header .logo-designer{display:flex!important;align-items:center!important;gap:10px!important;font-family:Bungee,cursive,sans-serif!important;font-size:21px!important;color:#17191c!important;text-decoration:none!important}.main-header .logo-mark-designer{width:36px!important;height:36px!important;border-radius:50%!important;border:3px solid #17191C!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;font-size:18px!important;line-height:1!important;flex-shrink:0!important;color:#17191c!important}.main-header .logo-title-designer,.main-header h1{font-family:Bungee,cursive,sans-serif!important;font-size:21px!important;font-weight:400!important;color:#17191c!important;letter-spacing:.01em!important;margin:0!important;padding:0!important;text-transform:none!important;text-shadow:none!important}.main-header #topbar-auth-container{margin-left:auto!important}.main-header .user-profile-badge{background:#fff!important;color:#17191c!important;border:2.5px solid #17191C!important;box-shadow:4px 4px #17191c!important;height:48px!important;min-height:48px!important;padding:0 18px 0 8px!important;border-radius:999px!important;font-family:Archivo,sans-serif!important;font-weight:800!important;font-size:14px!important;letter-spacing:.01em!important}.main-header .user-profile-badge:hover{background:#f8fafc!important;transform:translate(-2px,-2px)!important;box-shadow:6px 6px #17191c!important}.main-header .user-profile-badge .user-name{color:#17191c!important;font-family:Archivo,sans-serif!important;font-weight:800!important;font-size:.88rem!important;text-transform:none!important}.main-header .user-profile-badge .dropdown-arrow{color:#17191c!important}.main-header .user-dropdown-menu,.user-dropdown-menu{position:absolute!important;top:calc(100% + 10px)!important;right:0!important;width:230px!important;background:#fff!important;border:2.5px solid #17191C!important;border-radius:20px!important;box-shadow:6px 6px #17191c!important;padding:10px 0!important;z-index:10100!important;display:flex!important;flex-direction:column!important;color:#17191c!important;font-family:Archivo,sans-serif!important}.main-header .user-dropdown-menu.hidden,.user-dropdown-menu.hidden{display:none!important}.user-dropdown-header strong{color:#0f172a!important;font-family:Archivo,sans-serif!important;font-size:.88rem!important;font-weight:800!important;text-transform:none!important}.user-dropdown-email{color:#64748b!important;font-family:Archivo,sans-serif!important;font-size:.75rem!important;font-weight:500!important}.user-dropdown-divider{height:1px!important;background:#e2e8f0!important;margin:6px 0!important}.user-dropdown-item{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;padding:10px 16px!important;background:transparent!important;border:none!important;font-size:.85rem!important;font-weight:700!important;color:#334155!important;cursor:pointer!important;text-align:left!important;font-family:Archivo,sans-serif!important;transition:background .15s ease,color .15s ease!important;text-transform:none!important;letter-spacing:normal!important}.user-dropdown-item:hover{background:#f1f5f9!important;color:#2563eb!important}.user-dropdown-item.item-logout:hover{background:#fef2f2!important;color:#dc2626!important}.user-dropdown-item .menu-icon{font-size:1rem!important}.custom-hud-bar{position:sticky!important;top:90px!important;z-index:1000!important;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius-sm);margin-bottom:20px;font-family:var(--font-family);font-size:.9em;font-weight:700;color:var(--text-primary);box-shadow:var(--card-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.custom-hud-left,.custom-hud-right{display:flex;align-items:center;gap:12px}.custom-hud-logo{height:24px;width:auto;object-fit:contain}.welcome-card{text-align:center;padding:40px 30px}.welcome-card h2{font-size:1.9em;font-weight:800;margin-bottom:12px;color:var(--text-primary)}.highlight-text{color:var(--text-secondary);font-size:1em;margin-bottom:25px}.lore-card h2{font-size:1.7em;font-weight:800;margin-bottom:8px;color:var(--text-primary)}.lore-desc{color:var(--text-secondary);font-size:1.05em;margin-bottom:20px;white-space:pre-line}.story-media-box{margin-top:15px}.story-materials,.step-materials-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.material-item img,.story-materials img{width:100%;height:160px;object-fit:cover;border-radius:var(--border-radius-sm);border:1px solid var(--card-border);transition:transform .3s ease,box-shadow .3s ease}.material-item img:hover,.story-materials img:hover{transform:scale(1.02);box-shadow:var(--card-shadow)}.material-video,video{width:100%;height:160px;background:#000;border-radius:var(--border-radius-sm);border:1px solid var(--card-border)}.progress-container{display:flex;flex-direction:column;gap:8px;padding:18px 22px}.progress-bar-wrapper{background:var(--pill-bg);border-radius:var(--border-radius-pill);height:12px;overflow:hidden;border:1px solid var(--card-border)}.progress-fill{background:linear-gradient(90deg,var(--accent-blue) 0%,var(--accent-gold) 100%);width:0%;height:100%;border-radius:var(--border-radius-pill);transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-text{font-size:.85em;font-weight:700;color:var(--text-secondary);text-align:right}.step-card{border-left:5px solid var(--accent-blue)}.step-title{font-size:1.4em;font-weight:800;margin-bottom:12px;color:var(--text-primary)}.step-header-image-wrapper{position:relative;width:100%;max-height:280px;overflow:hidden;border-radius:var(--border-radius-sm, 12px);margin-bottom:15px;border:1px solid var(--card-border, rgba(255, 255, 255, .12));cursor:pointer;box-shadow:0 4px 16px #00000026}.step-header-img{width:100%;height:100%;max-height:280px;object-fit:cover;display:block;transition:transform .3s ease}.step-header-image-wrapper:hover .step-header-img{transform:scale(1.02)}.step-header-audio-wrapper{margin:10px 0 16px;width:100%;background:#0003;padding:8px 12px;border-radius:var(--border-radius-pill, 999px);border:1px solid var(--card-border, rgba(255, 255, 255, .12));display:flex;align-items:center;box-sizing:border-box}.step-header-audio-player{width:100%;height:38px;border-radius:20px;outline:none}.step-description{color:var(--text-secondary);margin-bottom:20px;font-size:1.05em;white-space:pre-line}.game-step{background:var(--step-bg, transparent);color:var(--step-text-color, inherit);font-family:var(--step-font, inherit);border-radius:var(--step-radius, var(--border-radius-sm));padding:var(--step-padding, 0)}.lock-gate-error,.riddle-error{color:var(--accent-red);font-size:.9em;margin-top:8px;font-weight:700}.step-lock-gate{border-top:1px solid var(--card-border);padding-top:20px;margin-top:20px}.lock-gate-prompt{font-weight:700;margin-bottom:15px;color:var(--accent-purple);white-space:pre-line}.riddle-question{font-size:1.15em;font-weight:700;margin-bottom:15px;color:var(--text-primary);border-left:4px solid var(--accent-purple);padding-left:12px;white-space:pre-line}.gps-instruction{margin-bottom:15px;color:var(--text-secondary)}.btn-gps{width:100%;padding:14px;font-size:1.05em}.gps-status,.upload-status,.puzzle-status{padding:12px 16px;border-radius:var(--border-radius-sm);margin-top:15px;font-size:.95em;font-weight:700;text-align:center}.status-info{background:var(--pill-bg);color:var(--accent-blue);border:1px solid var(--card-border)}.status-success{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.status-warning{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.status-error{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.photo-prompt-text{margin-bottom:15px}.photo-input{width:100%;margin-bottom:15px}.photo-preview-container{width:100%;max-width:320px;margin:15px auto;border-radius:var(--border-radius-sm);overflow:hidden;border:2px solid var(--card-border)}.photo-preview-img{width:100%;display:block}.btn-upload{width:100%}.puzzle-tile{position:relative;box-sizing:border-box;transition:transform .2s ease,box-shadow .2s ease,outline .2s ease}.puzzle-tile.selected{outline:3px solid var(--accent-gold, #d97706);box-shadow:0 0 16px var(--accent-gold, #d97706),inset 0 0 8px #fff6;transform:scale(.94);z-index:8}.step-decision-section,.step-end-section{margin-top:15px}.decision-card{padding:16px;background:var(--card-bg-subtle, rgba(255, 255, 255, .04));border-radius:var(--border-radius-sm, 12px);border:1px solid var(--card-border, rgba(255, 255, 255, .1))}.decision-prompt-text{font-size:1.05em;font-weight:600;line-height:1.6;margin-bottom:20px;color:var(--text-primary, #f1f5f9);white-space:pre-line}.decision-buttons-container{display:flex;flex-direction:column;gap:12px;margin-top:15px}.decision-btn{width:100%;padding:14px 20px;font-size:1.02em;font-weight:700;text-align:center;transition:all .25s ease}.decision-btn.btn-disabled-timer,.decision-btn:disabled{opacity:.55;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;filter:grayscale(.4)}.end-story-card{background:var(--card-bg-subtle, rgba(255, 255, 255, .04));border:2px solid var(--accent-cyan, #00f0ff);border-radius:var(--border-radius-pill, 20px);box-shadow:0 10px 30px #00f0ff26}.victory-screen{text-align:center;padding:35px 15px}.victory-icon{font-size:4em;margin-bottom:15px}.victory-screen h2{font-size:2.2em;font-weight:800;margin-bottom:10px;color:var(--accent-gold)}.victory-stats{margin:20px 0;padding:18px;background:var(--card-bg-subtle);border-radius:var(--border-radius-sm);border:1px solid var(--card-border);color:var(--text-secondary)}.chat-widget{position:fixed;bottom:25px;right:25px;width:360px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius);box-shadow:var(--card-shadow);z-index:2000;display:flex;flex-direction:column;overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1),width .3s ease,border-color .3s ease}.chat-widget.collapsed{height:52px!important}.chat-widget:not(.collapsed){height:480px;max-height:80vh}@media (max-width: 600px){.chat-widget{right:12px;left:12px;width:auto;bottom:12px}}.chat-header{height:52px;padding:0 20px;background:var(--card-bg-subtle);display:flex;justify-content:space-between;align-items:center;cursor:pointer;border-bottom:1px solid var(--card-border);-webkit-user-select:none;user-select:none}.chat-title{font-weight:800;font-size:.95em;color:var(--text-primary);display:flex;align-items:center;gap:8px}.chat-badge{background:var(--accent-red);color:#fff;border-radius:var(--border-radius-pill);font-size:.75em;padding:2px 8px;font-weight:800}.chat-messages{flex-grow:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--card-bg-subtle)}.chat-msg{max-width:85%;padding:11px 16px;border-radius:var(--border-radius-sm);font-size:.9em;display:flex;flex-direction:column;animation:messageSlideIn .25s ease-out;box-shadow:0 2px 6px #0000000a}.msg-player{align-self:flex-end;background:var(--accent-blue);color:#fff;border-bottom-right-radius:2px}.msg-admin{align-self:flex-start;background:var(--accent-gold);color:#fff;border-bottom-left-radius:2px}.msg-system{align-self:center;max-width:90%;background:var(--pill-bg);color:var(--text-primary);border-radius:var(--border-radius-sm);border:1px solid var(--card-border);font-size:.85em}.step-hints-area{margin-top:25px;border-top:1px dashed var(--card-border);padding-top:20px}.hints-header{font-size:1.1em;font-weight:800;margin-bottom:12px;color:var(--accent-blue)}.hints-list{display:flex;flex-direction:column;gap:10px}.hint-item{padding:12px 16px;border-radius:var(--border-radius-sm);border:1px solid var(--card-border);background:var(--card-bg-subtle);transition:all .3s ease}.hint-item.unlocked{border:1px solid rgba(34,197,94,.35);border-left:4px solid var(--accent-green, #22c55e);background:#22c55e1a;box-shadow:0 2px 10px #00000026}.bitacora-card h3{font-size:1.25em;font-weight:800;color:var(--text-primary);margin-bottom:15px;border-bottom:1px solid var(--card-border);padding-bottom:8px}.bitacora-logs-container{display:flex;flex-direction:column;gap:15px}.bitacora-item{border-left:3px solid var(--accent-blue);padding-left:15px;margin-bottom:10px}.step-countdown-timer{margin:15px 0;padding:12px 18px;background:var(--card-bg-subtle, rgba(15, 23, 42, .4));border:1.5px solid var(--card-border, rgba(59, 130, 246, .3));border-radius:var(--border-radius-pill, 9999px);display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 15px #00000026;transition:all .3s ease}.timer-display{font-family:var(--font-family, monospace);font-size:1.3em;font-weight:800;color:var(--accent-gold, #d4af37);letter-spacing:1px;background:#00000040;padding:4px 14px;border-radius:var(--border-radius-pill, 9999px);border:1px solid rgba(212,175,55,.3);transition:all .3s ease}.step-solved-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}body.vhs-scanlines:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(#12101000 50%,#0000004d 50%),linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08);background-size:100% 3px,6px 100%;pointer-events:none;z-index:9999}body.neon-glow .glass-card,body.neon-glow .main-header,body.neon-glow .chat-widget{box-shadow:0 0 15px var(--accent-blue),inset 0 0 10px #3b82f633!important}body.paper-texture{background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.02),rgba(0,0,0,.02) 1px,transparent 1px,transparent 2px)!important}body.warm-glow .glass-card{box-shadow:0 10px 30px #d9770626!important}body.vignette-effect:after{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;box-shadow:inset 0 0 100px #000c;pointer-events:none;z-index:9998}.question-challenge{margin-top:15px}.question-card{background:var(--card-bg-subtle, rgba(30, 41, 59, .5));border:1px solid var(--card-border, rgba(255, 255, 255, .1));border-radius:var(--border-radius-lg, 16px);padding:24px 20px;box-shadow:var(--card-shadow)}.question-prompt-text{font-size:1.15em;font-weight:700;color:var(--text-primary);line-height:1.5;margin-bottom:20px;white-space:pre-line}.question-options-container{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.btn-question-option{display:flex;align-items:center;gap:14px;width:100%;padding:14px 18px;font-size:.98em;font-weight:600;text-align:left;color:var(--text-primary);background:var(--card-bg, rgba(15, 23, 42, .6));border:1.5px solid var(--card-border, rgba(255, 255, 255, .12));border-radius:var(--border-radius-md, 12px);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a}.btn-question-option:hover:not(:disabled){transform:translateY(-2px);border-color:var(--accent-blue, #3b82f6);box-shadow:0 6px 18px #3b82f640;background:#3b82f61f}.btn-question-option:active:not(:disabled){transform:translateY(0)}.btn-question-option.selected{border-color:var(--accent-gold, #f59e0b);background:#f59e0b26;box-shadow:0 0 15px #f59e0b4d}.btn-question-option.correct{border-color:#22c55e!important;background:#22c55e33!important;color:#fff!important;box-shadow:0 0 20px #22c55e66!important;animation:pulse-correct .5s ease}.btn-question-option.incorrect{border-color:#ef4444!important;background:#ef444433!important;color:#fff!important;box-shadow:0 0 15px #ef44444d!important;animation:shake-error .4s ease}.question-option-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#3b82f626;color:var(--accent-blue, #3b82f6);font-weight:800;font-size:.9em;flex-shrink:0;border:1px solid rgba(59,130,246,.3)}.btn-question-option.selected .question-option-badge{background:#f59e0b40;color:var(--accent-gold, #f59e0b);border-color:var(--accent-gold, #f59e0b)}.question-checkbox-icon{font-size:1.25em;color:var(--accent-gold, #f59e0b);flex-shrink:0;line-height:1}.question-option-text{flex-grow:1;word-break:break-word}.question-error-msg{color:#ef4444;font-weight:700;font-size:.92em;text-align:center;margin-top:12px;padding:10px 14px;background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius-sm, 8px);animation:shake-error .4s ease}.question-submit-container{display:flex;justify-content:center;margin-top:18px}@keyframes pulse-correct{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes shake-error{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}
