@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;700;900&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg-dark: #101214;--color-bg-medium: #191c20;--color-bg-light: #23272c;--color-bg-glass: #191c20;--color-primary: #79c9c5;--color-primary-dim: rgba(121, 201, 197, .25);--color-secondary: #a855f7;--color-secondary-dim: rgba(168, 85, 247, .3);--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--color-text: #eceeeb;--color-text-dim: #a1a8ac;--color-text-muted: #343a40;--font-display: "Orbitron", "Rajdhani", sans-serif;--font-body: "Inter", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--shadow-glow: 0 0 20px var(--color-primary-dim);--shadow-glow-purple: 0 0 20px var(--color-secondary-dim);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-body);font-size:16px;color:var(--color-text);background-color:var(--color-bg-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#game-container{position:fixed;inset:0;z-index:0}#game-canvas{width:100%;height:100%;display:block}.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--color-bg-dark);opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.overlay.active{opacity:1;visibility:visible}.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.modal:not(.hidden){opacity:1;visibility:visible}.modal-content{background:var(--color-bg-glass);border:1px solid var(--color-primary-dim);border-radius:var(--radius-lg);padding:var(--spacing-xl);min-width:320px;max-width:90vw;box-shadow:var(--shadow-glow);animation:modalFadeIn .15s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.menu-content{text-align:center}.game-title{font-family:var(--font-display);font-size:clamp(1.4rem,6.5vw,4.5rem);font-weight:900;letter-spacing:.08em;padding-left:.08em;color:var(--color-text);margin-bottom:18px}.game-subtitle{font-family:var(--font-mono);font-size:clamp(.65rem,2.2vw,.8rem);color:var(--color-text-dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:40px}#main-menu{display:block;overflow-y:auto;scroll-behavior:smooth}.menu-content{margin:auto;width:100%}.menu-hero{min-height:100vh;min-height:100svh;display:grid;grid-template-rows:minmax(32px,1fr) auto minmax(110px,1fr);padding:0 24px}.menu-hero-content{grid-row:2}.preview-scroll-cue{grid-row:3;align-self:end;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:28px;padding:12px 20px;color:var(--color-text-dim);text-decoration:none;font-size:.8rem}.preview-scroll-cue svg{width:24px;height:24px;color:var(--color-primary)}.preview-scroll-cue:hover{color:var(--color-text)}.preview-scroll-cue:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:6px}.menu-utilities{display:flex;justify-content:center;gap:16px;margin-top:20px}.menu-utilities .btn{background:transparent;color:var(--color-text-dim);padding:10px 8px;font-size:.8rem;min-height:44px}.menu-utilities .btn:hover{color:var(--color-text)}.menu-buttons{display:flex;flex-direction:column;gap:10px;max-width:280px;margin:0 auto}.menu-help{max-width:320px;margin:var(--spacing-lg) auto 0;color:var(--color-text-dim);font-size:.875rem;line-height:1.5}.level-previews{max-width:1248px;min-height:100svh;margin:0 auto;padding:56px 24px 40px;text-align:left}.level-previews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.preview-eyebrow{font:.65rem var(--font-mono);letter-spacing:.08em;color:var(--color-primary)}.level-previews h2{margin-top:10px;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:500;letter-spacing:-.03em}.level-previews-heading>p{color:var(--color-text-dim);font-size:.8rem;line-height:1.7}.level-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none}.level-preview{position:relative;overflow:hidden;border:1px solid #30363b;border-radius:10px;background:#171b1e}.level-preview-open{position:absolute;inset:0;width:100%;border:0;border-radius:inherit;background:transparent;cursor:pointer;color:var(--color-text)}.level-preview-open span{position:absolute;top:12px;right:12px;padding:6px 8px;border-radius:4px;background:#101214df;font:.65rem var(--font-body)}.level-preview-open:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}.modal-content.room-preview-dialog{width:min(920px,94vw);min-width:0;padding:0;overflow:auto;max-height:92dvh;position:relative;border-color:#3b4c4e;background:#191c20}#room-preview-image{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;background:#23272c}#room-preview-close{z-index:1;background:#101214df;border-radius:50%;width:40px;height:40px;top:12px;right:12px;color:#fff}.room-preview-body{padding:24px 28px 28px}.room-preview-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.room-preview-navigation .btn{padding:8px 14px;min-height:44px;background:var(--color-bg-light);color:var(--color-text)}#room-preview-title{font-size:clamp(1.4rem,4vw,2rem);margin:0 0 10px}#room-preview-description,#room-preview-progress{color:var(--color-text-dim);font-size:.875rem;line-height:1.6}.room-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;border-top:1px solid #30363b;padding-top:20px}.room-preview-actions .btn{flex-shrink:0;font-size:.85rem}@media(max-width:600px){.room-preview-body{padding:18px}.room-preview-actions{flex-direction:column;align-items:stretch;gap:14px}}.level-preview.is-unlocked{border-color:var(--color-primary-dim)}.level-preview-image{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:#23272c}.level-preview-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.level-preview:hover img{transform:scale(1.035)}.level-preview-number{position:absolute;top:12px;left:12px;padding:6px 8px;color:#eceeeb;background:#101214df;border:1px solid #ffffff25;border-radius:4px;font:.6rem var(--font-mono);letter-spacing:.12em}.level-preview-details{padding:17px 18px}.level-preview h3{font-size:1rem;font-weight:600}.level-preview-details>p{margin-top:7px;color:var(--color-text-dim);font-size:.75rem;line-height:1.6}.level-preview-status{display:flex;align-items:center;gap:7px;margin-top:18px;color:var(--color-text-dim);font-size:.7rem;line-height:1.5}.level-preview-status svg{width:14px;height:14px;flex-shrink:0}.is-unlocked .level-preview-status{color:var(--color-primary)}.is-unlocked .level-preview-status svg path:first-of-type{d:path("M8 10V7a4 4 0 0 1 8 0")}.level-previews-footer{margin-top:22px;text-align:center;color:var(--color-text-dim);font-size:.7rem;line-height:1.8}.level-previews-footer span{margin:0 8px}@media(max-width:1000px){.level-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(max-width:760px){.level-previews-heading{align-items:flex-start;flex-direction:column;gap:12px}}@media(max-width:480px){.menu-hero{padding:0 18px}.level-previews{padding:36px 18px 24px}.level-preview-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){#main-menu{scroll-behavior:auto}.level-preview-image img{transition:none}.level-preview:hover img{transform:none}}.btn{font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:0;padding:14px var(--spacing-xl);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);text-transform:none}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-bg-dark);box-shadow:none}.btn-primary:hover:not(:disabled){background:#91d4d0}.btn-primary:active:not(:disabled){transform:translateY(0)}button:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}kbd{font-family:var(--font-mono);font-size:.8em;padding:.1em .35em;border:1px solid currentColor;border-radius:var(--radius-sm)}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-text-muted)}.btn-secondary:hover:not(:disabled){border-color:#646e74;color:var(--color-text);background:#ffffff06}.btn-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:32px;height:32px;font-size:1.5rem;line-height:1;color:var(--color-text-dim);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.btn-close:hover{color:var(--color-error)}#hud{position:fixed;top:0;left:0;right:0;padding:var(--spacing-md);display:flex;flex-direction:column;pointer-events:none;z-index:50}.hud-top{display:flex;justify-content:space-between;align-items:center}.hud-level{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--color-primary);text-shadow:0 0 10px var(--color-primary-dim)}.hud-timer{font-family:var(--font-mono);font-size:1.5rem;color:var(--color-text);background:var(--color-bg-glass);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-primary-dim)}.hud-bottom{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-sm)}.hud-hints,.hud-mistakes{display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-mono);font-size:1rem}.hud-hints .icon{font-size:1.25rem}.hud-mistakes .icon{font-size:1rem}.btn-hint{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-md);font-family:var(--font-display);font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-glass);color:var(--color-warning);border:1px solid var(--color-warning);border-radius:var(--radius-md);cursor:pointer;pointer-events:auto;transition:all var(--transition-fast);z-index:51}.btn-hint:hover{background:var(--color-warning);color:var(--color-bg-dark)}.btn-tools{position:fixed;bottom:calc(var(--spacing-xl) + 3.25rem);right:var(--spacing-md);z-index:51;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-display);font-size:.875rem;color:var(--color-primary);background:var(--color-bg-glass);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;pointer-events:auto}.btn-tools:hover{background:var(--color-primary);color:var(--color-bg-dark)}#interaction-prompt{position:fixed;bottom:30%;left:50%;transform:translate(-50%);font-family:var(--font-display);font-size:1rem;color:var(--color-text);background:var(--color-bg-glass);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);border:1px solid var(--color-primary-dim);z-index:60;animation:promptPulse 2s ease-in-out infinite}.prompt-key{font-family:var(--font-mono);color:var(--color-primary);font-weight:600;padding:.1em .5em;margin-right:.35em;border:1px solid var(--color-primary-dim);border-radius:var(--radius-sm);background:#00f0ff14}@keyframes promptPulse{0%,to{opacity:1}50%{opacity:.7}}#crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:var(--color-primary);text-shadow:0 0 5px var(--color-primary);pointer-events:none;z-index:55;font-family:var(--font-mono);opacity:.65;transition:opacity .12s ease,transform .12s ease,text-shadow .12s ease}#crosshair.crosshair-active{opacity:1;transform:translate(-50%,-50%) scale(1.45);text-shadow:0 0 12px var(--color-primary)}#flag-modal .modal-content{text-align:center}#flag-modal h2{font-family:var(--font-display);margin-bottom:var(--spacing-lg);color:var(--color-primary)}#flag-input{width:100%;font-family:var(--font-mono);font-size:1.25rem;padding:var(--spacing-md);background:var(--color-bg-dark);color:var(--color-text);border:1px solid var(--color-text-muted);border-radius:var(--radius-md);text-align:center;margin-bottom:var(--spacing-md);transition:border-color var(--transition-fast)}#flag-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 10px var(--color-primary-dim)}#flag-input::placeholder{color:var(--color-text-muted)}.modal-buttons{display:flex;gap:var(--spacing-md);justify-content:center}#flag-feedback{margin-top:var(--spacing-md);font-family:var(--font-display);font-size:.875rem;padding:var(--spacing-sm);border-radius:var(--radius-sm)}#flag-feedback.success{color:var(--color-success);background:#22c55e1a}#flag-feedback.error{color:var(--color-error);background:#ef44441a;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.document-viewer{position:relative;max-width:600px;max-height:80vh;overflow-y:auto}#document-content{font-family:var(--font-mono);font-size:.9rem;line-height:1.6;white-space:normal;color:var(--color-text)}#document-content h3{font-family:var(--font-display);color:var(--color-primary);margin-bottom:var(--spacing-md)}.onboarding,.pause-menu{max-width:440px;text-align:center}.onboarding h2,.pause-menu h2{margin-bottom:var(--spacing-md);font-family:var(--font-display);color:var(--color-primary)}.onboarding p,.pause-menu p{color:var(--color-text-dim);line-height:1.5}.controls-list{display:grid;gap:var(--spacing-sm);margin:var(--spacing-lg) 0;text-align:left;list-style:none}.controls-list li{padding:var(--spacing-sm);border-radius:var(--radius-sm);background:var(--color-bg-dark)}#tool-panel{position:fixed;bottom:0;left:0;right:0;height:40vh;background:var(--color-bg-glass);border-top:1px solid var(--color-primary-dim);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:80;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tool-tabs{display:flex;border-bottom:1px solid var(--color-text-muted)}.tool-tab{flex:1;padding:var(--spacing-md);font-family:var(--font-display);font-size:.875rem;background:transparent;color:var(--color-text-dim);border:none;cursor:pointer;transition:all var(--transition-fast)}.tool-tab.active{color:var(--color-primary);background:var(--color-bg-light);border-bottom:2px solid var(--color-primary)}.tool-tab:hover:not(.active){color:var(--color-text)}.tool-content{flex:1;padding:var(--spacing-md);overflow-y:auto}#tool-panel .btn-close{top:var(--spacing-sm)}.tool-decoder,.tool-frequency,.tool-inspector{display:grid;gap:var(--spacing-sm);max-width:760px;margin:0 auto}.tool-select,.tool-textarea{width:100%;color:var(--color-text);background:var(--color-bg-dark);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);font:.95rem/1.45 var(--font-mono)}.tool-select{padding:var(--spacing-sm)}.tool-textarea{min-height:5.5rem;padding:var(--spacing-sm);resize:vertical}.tool-textarea[readonly]{color:var(--color-primary)}.tool-hint{color:var(--color-text-dim);font-size:.875rem}.freq-bar-container{display:grid;grid-template-columns:1.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-xs) 0;font-family:var(--font-mono)}.freq-bar{min-height:.75rem;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-sm)}#mobile-controls{position:fixed;bottom:0;left:0;right:0;padding:var(--spacing-lg);z-index:70;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}#joystick-container{pointer-events:auto}#joystick-base{width:120px;height:120px;background:var(--color-bg-glass);border:2px solid var(--color-primary-dim);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}#joystick-stick{width:50px;height:50px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:50%;position:absolute;box-shadow:0 0 15px var(--color-primary-dim)}.control-chip{display:inline-flex;align-items:center;justify-content:center;width:1.7em;height:1.7em;vertical-align:-.45em;background:var(--color-bg-glass);border:2px solid var(--color-primary-dim);border-radius:50%}.mobile-btn{width:60px;height:60px;font-size:1.5rem;background:var(--color-bg-glass);border:2px solid var(--color-primary-dim);border-radius:50%;pointer-events:auto;cursor:pointer;transition:all var(--transition-fast)}.mobile-btn:active{background:var(--color-primary-dim);transform:scale(.95)}.level-complete{text-align:center}.level-complete h2{font-family:var(--font-display);font-size:2rem;color:var(--color-success);margin-bottom:var(--spacing-xl)}.score-breakdown{margin-bottom:var(--spacing-xl)}.score-row{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;font-family:var(--font-mono);border-bottom:1px solid var(--color-text-muted)}.score-row.total{font-size:1.25rem;font-weight:600;color:var(--color-primary);border-bottom:none;margin-top:var(--spacing-sm)}.leaderboard{position:relative;width:500px;max-width:90vw}.leaderboard h2{font-family:var(--font-display);text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-primary)}.leaderboard-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);overflow-x:auto}.lb-tab{padding:var(--spacing-sm) var(--spacing-md);font-size:.75rem;font-family:var(--font-display);background:var(--color-bg-light);color:var(--color-text-dim);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.lb-tab.active{color:var(--color-primary);border-color:var(--color-primary)}.leaderboard-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.875rem}.leaderboard-table th{text-align:left;padding:var(--spacing-sm);color:var(--color-text-dim);border-bottom:1px solid var(--color-text-muted)}.leaderboard-table td{padding:var(--spacing-sm);border-bottom:1px solid var(--color-bg-light)}.leaderboard-table tr:hover td{background:var(--color-bg-light)}#loading-screen{background:var(--color-bg-dark)}.loading-content{text-align:center}.loading-spinner{width:60px;height:60px;border:3px solid var(--color-bg-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-lg)}@keyframes spin{to{transform:rotate(360deg)}}#loading-text{font-family:var(--font-display);color:var(--color-text-dim);letter-spacing:.1em}@media(max-width:768px){:root{font-size:14px}.modal-content{padding:var(--spacing-lg);margin:var(--spacing-md)}#tool-panel{height:50vh}.btn-hint{bottom:180px}.btn-tools{bottom:240px}}@media(hover:none)and (pointer:coarse){#mobile-controls:not(.hidden){display:flex!important}#crosshair{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-dark)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}#notification-container{position:fixed;top:80px;right:var(--spacing-md);z-index:1000;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none}.notification{min-width:250px;max-width:350px;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-glass);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-body);font-size:.9rem;box-shadow:0 4px 12px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;animation:notificationIn .3s ease forwards;position:relative;overflow:hidden}.notification.info{border-left-color:var(--color-primary)}.notification.success{border-left-color:var(--color-success)}.notification.error{border-left-color:var(--color-error)}.notification.warning{border-left-color:var(--color-warning)}@keyframes notificationIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification.hide{animation:notificationOut .3s ease forwards}@keyframes notificationOut{to{transform:translate(100%);opacity:0}}.privacy-notice{max-width:450px;text-align:center}.privacy-icon{font-size:3rem;margin-bottom:var(--spacing-md);animation:cameraFloat 2s ease-in-out infinite}@keyframes cameraFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.privacy-notice h2{font-family:var(--font-display);color:var(--color-primary);margin-bottom:var(--spacing-lg)}.privacy-content{text-align:left;margin-bottom:var(--spacing-xl)}.privacy-content>p{color:var(--color-text);margin-bottom:var(--spacing-md)}.privacy-details{background:var(--color-bg-dark);border:1px solid var(--color-success);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0}.privacy-details h4{color:var(--color-success);font-family:var(--font-display);margin-bottom:var(--spacing-sm)}.privacy-details ul{list-style:none;padding:0;margin:0}.privacy-details li{color:var(--color-text-dim);font-size:.9rem;padding:var(--spacing-xs) 0;padding-left:var(--spacing-md);position:relative}.privacy-details li:before{content:"✓";position:absolute;left:0;color:var(--color-success)}.privacy-note{color:var(--color-text-muted);font-size:.8rem;font-style:italic}.pose-execution{max-width:90vw;width:700px;padding:var(--spacing-lg);background:var(--color-bg-medium);border:2px solid #2a2a4e}.pose-header{text-align:center;margin-bottom:var(--spacing-lg)}.pose-header h2{font-family:var(--font-display);color:var(--color-secondary);text-shadow:0 0 20px var(--color-secondary-dim)}.pose-instruction{color:var(--color-text-dim);font-style:italic}.pose-video-container{position:relative;width:100%;aspect-ratio:4 / 3;background:#000;border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--color-bg-light)}#pose-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}#pose-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transform:scaleX(-1)}#pose-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-md);pointer-events:none}#pose-feedback{font-family:var(--font-display);font-size:1.25rem;text-align:center;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.8);min-height:2rem}#pose-feedback.success{color:var(--color-success);animation:feedbackPulse .5s ease}#pose-feedback.error{color:var(--color-error);animation:shake .4s ease}@keyframes feedbackPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}#pose-timer-bar{width:100%;height:6px;background:#fff3;border-radius:3px;overflow:hidden}#pose-timer-fill{height:100%;background:linear-gradient(90deg,var(--color-success),var(--color-warning),var(--color-error));width:100%;transition:width .1s linear}#pose-sequence-indicator{display:flex;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#00000080;border-radius:var(--radius-full)}.pose-dot{width:16px;height:16px;border-radius:50%;background:#333;border:2px solid #555;transition:all .3s ease}.pose-dot.completed{background:var(--color-success);border-color:var(--color-success);box-shadow:0 0 10px var(--color-success)}.pose-dot.active{background:var(--color-warning);border-color:var(--color-warning);animation:dotPulse 1s infinite}.pose-dot.failed{background:var(--color-error);border-color:var(--color-error)}@keyframes dotPulse{0%,to{transform:scale(1);box-shadow:0 0 5px var(--color-warning)}50%{transform:scale(1.2);box-shadow:0 0 15px var(--color-warning)}}.pose-status{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);margin:var(--spacing-lg) 0;min-height:50px}#pose-current{font-family:var(--font-display);font-size:1.25rem;color:var(--color-text)}#pose-hold-indicator{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-warning);font-family:var(--font-display);font-size:.9rem}.hold-ring{width:40px;height:40px}.hold-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.hold-ring-bg{fill:none;stroke:#333;stroke-width:3}.hold-ring-progress{fill:none;stroke:var(--color-warning);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .1s linear}.pose-execution .btn{display:block;margin:0 auto}.camera-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-md);color:var(--color-error)}.camera-error-icon{font-size:4rem}.camera-error-message{text-align:center;color:var(--color-text-dim);max-width:80%}@media(max-width:768px){.pose-execution{width:95vw;padding:var(--spacing-md)}.pose-video-container{aspect-ratio:3 / 4}#pose-feedback{font-size:1rem}.pose-dot{width:12px;height:12px}}.modal-content{max-height:90dvh;overflow-y:auto;min-width:min(320px,90vw)}.overlay:not(.active){pointer-events:none}#loading-screen.active{z-index:500}.btn-pause{position:absolute;top:64px;right:16px;pointer-events:auto;color:var(--color-primary);background:var(--color-bg-dark);border:1px solid var(--color-primary-dim);border-radius:8px;padding:10px 14px;cursor:pointer}#tool-panel{max-height:90dvh;overflow-y:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tool-tabs{padding-right:44px}.tool-tab{min-width:0;padding-inline:8px}#decoder-options{display:grid;gap:6px}#decoder-key{width:100%}@media(max-width:480px){.tool-tab{font-size:.7rem}}.btn-sound{position:absolute;top:112px;right:16px;pointer-events:auto;color:var(--color-primary);background:var(--color-bg-dark);border:1px solid var(--color-primary-dim);border-radius:8px;padding:10px 14px;min-height:44px;cursor:pointer}.btn-sound:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.modal{padding:16px;background:#05090cb8;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-content{width:min(100%,540px);min-width:0;max-width:100%;max-height:calc(100dvh - 32px);margin:0;padding:clamp(20px,4vw,32px);color:var(--color-text);background:var(--color-bg-medium);border:1px solid var(--color-text-muted);border-radius:8px;box-shadow:0 20px 60px #0006;line-height:1.6;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#52656d #141b22}.modal-content>h2{font-size:clamp(1.15rem,3vw,1.5rem);line-height:1.35}.modal-content>p{color:#b8c4cf;margin-block:12px 20px}.modal-buttons{flex-wrap:wrap;gap:10px;margin-top:20px}.modal-buttons .btn{flex:1 1 140px;min-height:44px}.modal .btn-close{width:44px;height:44px;display:grid;place-items:center;padding:0;color:#b8c4cf;font-size:28px;border-radius:10px}.modal .btn-close:hover{background:#ffffff0d;color:#fff}.modal :is(button,input,[tabindex]):focus-visible{outline:2px solid #83d8d4;outline-offset:3px}#flag-input{background:#0c1218;border-color:#53636e;min-height:54px}#flag-input::placeholder{color:#8f9dab}.modal-content.document-viewer{width:min(100%,660px);padding:0;overflow:hidden;display:flex;flex-direction:column}.document-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px 18px;border-bottom:1px solid #ffffff12;flex-shrink:0}.modal-eyebrow{display:block;font:10px var(--font-mono);letter-spacing:.18em;color:#99acae;margin-bottom:8px}#document-title{margin:0;color:#e8f3ef;font:600 clamp(1.2rem,3vw,1.5rem) var(--font-body);line-height:1.35}.document-header .btn-close{position:static;flex-shrink:0}#document-content{padding:24px 26px;min-height:0;overflow:auto;font-family:var(--font-mono);font-size:.95rem;line-height:1.65;color:#d9e1e8;overscroll-behavior:contain}#document-content.plain-text,#document-content pre{white-space:pre-wrap}#document-content :is(h2,h3,h4){line-height:1.35;margin-block:0 14px}#document-content p{margin-block:12px}#document-content :is(ul,ol){padding-left:22px;margin-block:14px}#document-content li+li{margin-top:6px}#document-content>:first-child{margin-top:0}#document-content>:last-child{margin-bottom:0}#document-content table{width:100%;border-collapse:collapse;font-size:.875rem}#document-content :is(th,td){padding:8px;overflow-wrap:anywhere}#document-content pre{overflow-wrap:anywhere}.document-footer{padding:12px 26px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ffffff12;color:#9baeb8;font-size:.75rem;flex-shrink:0}.document-footer span{white-space:nowrap}.document-footer kbd{margin-right:6px}.newspaper-clue{background:#e9e3d3;color:#33392f;padding:clamp(18px,4vw,28px);border-radius:4px;font-family:Georgia,serif;box-shadow:0 4px 18px #0003}#document-content .newspaper-clue h3{font-family:Georgia,serif;font-size:clamp(1.3rem,4vw,1.9rem);color:#272e2a;text-align:center;border-bottom:3px double #7b806e;padding-bottom:16px;margin-bottom:18px}.newspaper-clue .document-meta{font:.8rem var(--font-mono);color:#59604f}.cipher-evidence{display:block;text-align:center;padding:22px 12px;margin:22px 0;background:#d6ddc4;border:1px solid #b3bea0;border-radius:6px;font:600 clamp(1.25rem,5vw,1.9rem) var(--font-mono);letter-spacing:.16em;color:#273923;-webkit-user-select:text;user-select:text}.newspaper-clue .document-caption{font-size:.9rem;color:#59604f;font-style:italic}@media(max-width:480px){.modal{padding:10px}.modal-content{max-height:calc(100dvh - 20px);border-radius:8px}.document-header{padding:16px 18px}#document-content{padding:18px}.document-footer{padding:12px 18px;flex-wrap:wrap;gap:6px}}@media(max-width:480px){.modal-buttons .btn{padding:12px 14px;font-size:.8rem;letter-spacing:.04em;white-space:nowrap}}.modal-content :is(h2,h4),#flag-title,#document-title{font-family:var(--font-body);letter-spacing:0;color:var(--color-text);text-shadow:none}#flag-input{background:var(--color-bg-dark);border-color:#485158}#flag-input:focus{box-shadow:none}.privacy-icon{animation:none}#checkpoint-form input,#checkpoint-form select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:.65rem .75rem;border:1px solid #414750;border-radius:6px;background:#22262b;color:#e4e7eb;font:inherit}#checkpoint-form input:focus-visible,#checkpoint-form select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}#checkpoint-form :disabled{opacity:.6}.agent-easter-egg{margin-top:1.5rem;padding:1rem;border:1px dashed var(--color-primary);border-radius:8px;background:#182224;color:#dae4e3}.agent-easter-egg summary{min-height:44px;align-content:center;cursor:pointer;color:var(--color-primary)}.agent-easter-egg summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.agent-easter-egg-label{font-size:.8rem;color:#a7bcba}.agent-easter-egg blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:3px solid var(--color-primary);background:#11181a;overflow-wrap:anywhere}.agent-easter-egg a{color:var(--color-primary)}.player-name-form,.completion-share{margin:1.25rem 0;text-align:left}.player-name-form label{font-weight:600}.player-name-form p,.completion-share p{font-size:.85rem;line-height:1.5}.player-name-controls{display:flex;gap:.5rem;flex-wrap:wrap}.player-name-controls input,#share-fallback{min-width:0;padding:.75rem;background:#111;color:#fff;border:1px solid #666;border-radius:4px;font:inherit}.player-name-controls input{flex:1;width:100%}#share-fallback{width:100%;min-height:140px}.completion-share .btn{margin-bottom:.5rem}.level-complete{max-height:90dvh;overflow-y:auto}
