:root{--bg-outer:#E8F4FD;--bg-container:#FFF9E6;--bg-card:#FFFFFF;--bg-card-hover:#F0F8FF;--color-primary:#FF9F40;--color-secondary:#4FC3F7;--color-success:#66D9A0;--color-danger:#FF6B6B;--color-text:#2C3E50;--color-text-sub:#5A6C7D;--color-text-muted:#95A5B5;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-subtle:0 2px 8px rgba(0,0,0,0.06);--shadow-card:0 4px 12px rgba(0,0,0,0.08),0 2px 4px rgba(0,0,0,0.04);--shadow-hover:0 8px 24px rgba(0,0,0,0.12),0 4px 8px rgba(0,0,0,0.08);--border-light:#D1E7F5;--border-muted:#B0B0CC;--border-divider:2px solid rgba(0,0,0,0.06);--glow-primary:rgba(255,159,64,0.2);--glow-secondary:rgba(79,195,247,0.2);--glow-success:rgba(102,217,160,0.2);--modal-bg:rgba(0, 0, 0, 0.45);--modal-blur:blur(8px);--fs-xs:13px;--fs-sm:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:32px;--fs-3xl:42px}#screen-player{align-items:center;justify-content:center;background:linear-gradient(135deg,#ffe8d6 0,#e8f4fd 50%,#f3e5f5 100%)}.player-entry{text-align:center;width:480px}.player-entry h1{font-size:42px;color:var(--color-primary);margin:0 0 8px;font-weight:800;text-shadow:0 4px 8px var(--glow-primary)}.player-entry .subtitle{color:var(--color-text-sub);font-size:16px;margin:0 0 40px}.player-input-wrap{position:relative;margin-bottom:24px}.player-input-wrap input{width:100%;box-sizing:border-box;padding:16px 24px;font-size:24px;font-family:inherit;border:3px solid #d1e7f5;border-radius:var(--radius-lg);background:var(--bg-card);color:var(--color-text);outline:0;transition:.3s;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.06)}.player-input-wrap input:focus{border-color:var(--color-primary);box-shadow:0 4px 16px rgba(255,159,64,.2),0 0 0 4px rgba(255,159,64,.1);transform:translateY(-2px)}.player-input-wrap input::placeholder{color:var(--color-text-muted)}.player-input-wrap .char-count{position:absolute;right:16px;bottom:-22px;font-size:13px;color:var(--color-text-muted)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 48px;font-size:20px;font-family:inherit;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff9f40 0,#ff6b6b 100%);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 16px rgba(255,107,107,.3),0 2px 4px rgba(0,0,0,.1)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(255,107,107,.4),0 4px 8px rgba(0,0,0,.12)}.btn-primary:active{transform:translateY(-1px) scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 32px;font-size:16px;font-family:inherit;font-weight:600;color:var(--color-text);background:var(--bg-card);border:2px solid #d1e7f5;border-radius:var(--radius-md);cursor:pointer;transition:.2s;box-shadow:0 2px 8px rgba(0,0,0,.06)}.btn-secondary:hover{border-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 12px var(--glow-secondary)}.btn-secondary:active{transform:translateY(0) scale(.98)}.skip-link{display:block;margin-top:20px;color:var(--color-text-muted);font-size:14px;cursor:pointer;transition:color .2s}.skip-link:hover{color:var(--color-text-sub)}#screen-menu{flex-direction:column;background:linear-gradient(135deg,#e8f4fd 0,#fff9e6 50%,#ffe8d6 100%);transition:background .8s;z-index:1}#screen-menu.active{z-index:10}#screen-menu.genre-exercise{background:linear-gradient(135deg,#ffe8d6 0,#ffd6e8 50%,#e8f4fd 100%)}#screen-menu.genre-brain{background:linear-gradient(135deg,#e8f5e9 0,#e8f4fd 50%,#f3e5f5 100%)}#screen-menu.genre-utility{background:linear-gradient(135deg,#fff9e6 0,#ffe8d6 50%,#e8f4fd 100%)}.menu-header{display:none;align-items:center;justify-content:space-between;padding:20px 40px 8px;flex-shrink:0}#screen-menu.active .menu-header{display:flex}.menu-header h1{font-size:28px;font-weight:800;color:var(--color-primary);margin:0;text-shadow:0 3px 10px rgba(255,159,64,.25)}.menu-player-info{display:flex;align-items:center;gap:12px;color:var(--color-text-sub);font-size:15px}.menu-player-info .player-name{color:var(--color-text);font-weight:600}.menu-player-info .edit-name{color:var(--color-text-muted);cursor:pointer;font-size:13px;transition:color .2s}.menu-player-info .edit-name:hover{color:var(--color-secondary)}.camera-status{padding:16px;background:rgba(102,217,160,.1);border-radius:var(--radius-md);margin-bottom:16px}.camera-status p{margin:0;color:var(--color-text-sub);font-size:14px;line-height:1.6}.camera-status.success{background:rgba(102,217,160,.15)}.camera-status.success p{color:var(--color-success)}.camera-status.error{background:rgba(255,102,102,.15)}.camera-status.error p{color:#ff6b6b}.camera-select-container{min-height:60px}.camera-select-container .camera-select-wrapper{margin-top:0!important}.camera-select-container select{width:100%!important;padding:12px 16px!important;font-size:15px!important;border:2px solid var(--color-success)!important;border-radius:var(--radius-md)!important;background:var(--bg-card)!important;color:var(--color-text)!important;cursor:pointer!important;transition:.2s!important;box-shadow:0 2px 8px rgba(102,217,160,.2)!important}.camera-select-container select:hover{border-color:var(--color-success)!important;box-shadow:0 4px 12px rgba(102,217,160,.3)!important}.camera-select-container .camera-select-wrapper>div{display:none!important}.genre-tabs{display:none;gap:8px;padding:0 40px 12px;flex-shrink:0;justify-content:center;position:relative;z-index:1}#screen-menu.active .genre-tabs{display:flex}.genre-tab{position:relative;display:flex;align-items:center;gap:6px;padding:10px 20px;background:var(--bg-card);border:2px solid #d1e7f5;border-radius:var(--radius-md);color:var(--color-text-sub);font-size:15px;font-weight:600;cursor:pointer;transition:.3s cubic-bezier(.34, 1.56, .64, 1);overflow:hidden;box-shadow:0 3px 8px rgba(0,0,0,.08)}.genre-tab::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0,var(--genre-color,#fff) 100%);opacity:0;transition:opacity .3s}.genre-tab .genre-icon{font-size:20px;line-height:1;position:relative;z-index:1;transition:transform .3s cubic-bezier(.34, 1.56, .64, 1)}.genre-tab .genre-name{position:relative;z-index:1}.genre-tab:hover{transform:translateY(-3px);border-color:rgba(79,195,247,.4);box-shadow:0 6px 16px rgba(0,0,0,.12)}.genre-tab:hover .genre-icon{transform:scale(1.2) rotate(5deg)}.genre-tab.active{background:linear-gradient(135deg,var(--genre-color,#fff) 0,var(--genre-color-dark,#888) 100%);border-color:var(--genre-color,#fff);color:#fff;transform:scale(1.05);box-shadow:0 6px 20px rgba(0,0,0,.15),0 0 24px var(--genre-color-glow,rgba(255,255,255,.4))}.genre-tab.active::before{opacity:.2}.genre-tab.active .genre-icon{transform:scale(1.1);animation:.6s cubic-bezier(.34,1.56,.64,1) genreIconBounce}@keyframes genreIconBounce{0%,100%{transform:scale(1.1)}50%{transform:scale(1.3) rotate(10deg)}}.game-grid{display:none;grid-template-columns:repeat(5,1fr);grid-auto-rows:minmax(auto,max-content);gap:16px;padding:8px 40px 24px;flex:1;position:relative;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}#screen-menu.active .game-grid{display:grid}.game-grid::-webkit-scrollbar{display:none}.game-grid.switching-out .game-card{animation:.4s cubic-bezier(.6,-.28,.74,.05) forwards cardSlideOut}.game-grid.switching-in .game-card{animation:.5s cubic-bezier(.34,1.56,.64,1) both cardSlideIn}@keyframes cardSlideOut{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.9)}}@keyframes cardSlideIn{from{opacity:0;transform:translateY(-30px) scale(.8) rotate(5deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.game-card{position:relative;background:var(--bg-card);border-radius:var(--radius-lg);padding:20px 16px 16px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);border:3px solid transparent;border-left:5px solid var(--accent,#888);display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:160px}.game-card::before{content:'';position:absolute;inset:0;border-radius:var(--radius-lg);opacity:0;background:radial-gradient(circle at center,var(--glow,rgba(255,255,255,.05)) 0,transparent 70%);transition:opacity .3s}.game-card:hover{transform:translateY(-8px);box-shadow:0 12px 28px rgba(0,0,0,.15),0 6px 12px rgba(0,0,0,.08);border-color:var(--accent,#888)}.game-card:hover::before{opacity:1}.game-card:active{transform:scale(.97)}.game-card .card-icon{font-size:48px;line-height:1;margin-bottom:10px;transition:transform .2s}.game-card:hover .card-icon{transform:scale(1.15)}.game-card .card-name{font-size:16px;font-weight:700;color:var(--color-text);margin-bottom:4px}.game-card .card-tag{font-size:11px;color:var(--color-text-muted);letter-spacing:.5px}.game-card .dev-tag{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,#f80,#fa0);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.5px;box-shadow:0 2px 4px rgba(0,0,0,.2);z-index:1}.menu-mascot{position:absolute;right:24px;bottom:80px;width:160px;height:auto;z-index:2;pointer-events:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15));animation:.8s ease-out .3s backwards mascotEntrance,2s ease-in-out 1.1s infinite mascotBounce;display:none}#screen-menu.active .menu-mascot{display:block}@keyframes mascotEntrance{from{opacity:0;transform:translateY(100px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mascotBounce{0%,100%,50%{transform:translateY(0)}25%{transform:translateY(-12px)}75%{transform:translateY(-6px)}}.text-gold{color:var(--color-primary)}.text-blue{color:var(--color-secondary)}.text-sub{color:var(--color-text-sub)}.text-muted{color:var(--color-text-muted)}.fw-700{font-weight:700}.fw-800{font-weight:800}.btn-settings{position:absolute;top:12px;right:72px;width:48px;height:48px;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.9);border:3px solid rgba(150,150,160,.4);border-radius:50%;color:#777;font-size:24px;cursor:pointer;transition:.2s;z-index:5;padding:0;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.08)}#screen-menu.active .btn-settings{display:flex}.btn-settings:hover{background:rgba(150,150,160,.12);border-color:#999;transform:scale(1.15);box-shadow:0 6px 20px rgba(0,0,0,.12)}.btn-settings.camera-ready{border-color:rgba(102,217,160,.5);color:var(--color-success);box-shadow:0 4px 12px rgba(102,217,160,.2)}.btn-info{position:absolute;top:12px;right:12px;width:48px;height:48px;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.9);border:3px solid rgba(79,195,247,.5);border-radius:50%;color:var(--color-secondary);font-size:26px;cursor:pointer;transition:.2s;z-index:5;padding:0;line-height:1;box-shadow:0 4px 12px rgba(79,195,247,.2)}#screen-menu.active .btn-info{display:flex}.btn-info:hover{background:rgba(79,195,247,.15);border-color:var(--color-secondary);transform:scale(1.15);box-shadow:0 6px 20px rgba(79,195,247,.3)}.modal-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.03);border:2px solid rgba(0,0,0,.1);border-radius:10px;color:var(--color-text-sub);font-size:24px;cursor:pointer;transition:.2s;padding:0;line-height:1}.modal-close:hover{background:rgba(0,0,0,.06);color:var(--color-text);transform:scale(1.1)}.settings-overlay{position:absolute;inset:0;background:var(--modal-bg);backdrop-filter:var(--modal-blur);display:none;z-index:100;opacity:0;transition:opacity .3s}.settings-overlay.active{display:flex;opacity:1}.settings-panel{width:100%;height:100%;background:var(--bg-container);display:flex;flex-direction:column;overflow:hidden;transform:scale(.95);transition:transform .3s}.settings-overlay.active .settings-panel{transform:scale(1)}.settings-header{padding:20px 32px;border-bottom:var(--border-divider);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.settings-header h2{margin:0;font-size:26px;color:var(--color-primary);font-weight:800}.settings-close{font-size:26px}.settings-body{flex:1;overflow-y:auto;padding:24px 32px;display:flex;gap:24px}.settings-section{flex:1;background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.settings-section h3{margin:0 0 16px;font-size:20px;font-weight:700;color:var(--color-text)}.settings-row{display:flex;align-items:center;gap:16px;margin-bottom:16px}.settings-row:last-child{margin-bottom:0}.settings-row label{font-size:16px;font-weight:600;color:var(--color-text-sub);min-width:60px}.settings-row input[type=range]{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:rgba(0,0,0,.08);border-radius:3px;outline:0;cursor:pointer}.settings-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#ff9f40 0,#ff6b6b 100%);cursor:pointer;box-shadow:0 2px 6px rgba(255,107,107,.3);transition:transform .15s}.settings-row input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.settings-row input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#ff9f40 0,#ff6b6b 100%);cursor:pointer;border:none;box-shadow:0 2px 6px rgba(255,107,107,.3)}.volume-value{min-width:32px;text-align:right;font-size:16px;font-weight:700;color:var(--color-text)}.camera-preview-wrap{margin:12px 0;border-radius:var(--radius-md);overflow:hidden;background:#000;aspect-ratio:16/9;max-height:200px}.camera-preview-wrap video{width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(-1)}:-webkit-full-screen .camera-preview-wrap video,:fullscreen .camera-preview-wrap video{transform:scaleX(-1)}.settings-section #camera-init-btn{margin-top:16px;padding:10px 24px;font-size:15px;font-weight:700;font-family:inherit;background:linear-gradient(135deg,#66d9a0 0,#4fc3f7 100%);border:none;color:#fff;border-radius:8px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 12px rgba(102,217,160,.3)}.settings-section #camera-init-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(102,217,160,.4)}.settings-section #camera-init-btn:disabled{opacity:.5;cursor:default;transform:none}.settings-footer{padding:16px 32px;border-top:var(--border-divider);display:flex;justify-content:flex-end;flex-shrink:0}.info-body{display:block}.info-content{max-width:800px;margin:0 auto}.info-content h3{color:var(--color-secondary);font-size:18px;margin:20px 0 8px;font-weight:700}.info-content h3:first-child{margin-top:0}.info-content p{color:var(--color-text-sub);line-height:1.7;margin:8px 0}.info-content ul{color:var(--color-text-sub);line-height:1.7;margin:8px 0;padding-left:24px}.info-content li{margin:6px 0}.info-content strong{color:var(--color-text);font-weight:700}.btn-fullscreen{position:absolute;bottom:8px;right:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.8);border:2px solid rgba(0,0,0,.1);border-radius:8px;color:var(--color-text-sub,#888);font-size:18px;cursor:pointer;transition:.2s;z-index:125;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:0;line-height:1}.btn-fullscreen:hover{background:rgba(255,255,255,.95);color:var(--color-text,#333);transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.15)}.dialog-overlay{position:fixed;inset:0;background:var(--modal-bg);backdrop-filter:var(--modal-blur);display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;opacity:0;transition:opacity .3s}.dialog-overlay.active{display:flex;opacity:1}.dialog-content{background:var(--bg-container);border-radius:var(--radius-lg);box-shadow:0 16px 48px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05);max-width:640px;width:100%;max-height:660px;overflow:hidden;display:flex;flex-direction:column;transform:scale(.9);transition:transform .3s}.dialog-overlay.active .dialog-content{transform:scale(1)}.dialog-header{padding:24px;border-bottom:var(--border-divider);display:flex;align-items:center;justify-content:space-between}.dialog-header h2{margin:0;font-size:24px;color:var(--color-primary);font-weight:800}.dialog-close{width:36px;height:36px;border-radius:8px}.dialog-body{padding:24px;overflow-y:auto;flex:1}.dialog-body h3{color:var(--color-secondary);font-size:18px;margin:16px 0 8px;font-weight:700}.dialog-body h3:first-child{margin-top:0}.dialog-body p{color:var(--color-text-sub);line-height:1.6;margin:8px 0}.dialog-body ul{color:var(--color-text-sub);line-height:1.6;margin:8px 0;padding-left:24px}.dialog-body li{margin:6px 0}.dialog-body strong{color:var(--color-text);font-weight:700}.dialog-footer{padding:20px 24px;border-top:var(--border-divider);display:flex;justify-content:flex-end}.dialog-footer .btn-primary,.settings-footer .btn-primary{padding:12px 32px;font-size:16px;font-weight:700;font-family:inherit;background:linear-gradient(135deg,#ff9f40 0,#ff6b6b 100%);border:none;color:#fff;border-radius:8px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 16px rgba(255,107,107,.3),0 2px 4px rgba(0,0,0,.1)}.dialog-footer .btn-primary:hover,.settings-footer .btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(255,107,107,.4),0 4px 8px rgba(0,0,0,.12)}@media (pointer:coarse){.menu-header h1{font-size:44px}.menu-player-info{font-size:24px}.genre-tab{padding:16px 28px;font-size:24px;min-height:72px}.genre-tab .genre-icon{font-size:28px}.game-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 24px 24px}.game-card{padding:28px 24px 24px;min-height:220px}.game-card .card-icon{font-size:72px;margin-bottom:16px}.game-card .card-name{font-size:26px;margin-bottom:8px;line-height:1.3}.game-card .card-tag{font-size:24px;line-height:1.4}.game-card .dev-tag{top:12px;right:12px;font-size:16px;padding:5px 12px;border-radius:6px}.player-entry h1{font-size:52px}.player-entry .subtitle{font-size:24px}.player-input-wrap input{font-size:32px;padding:20px 32px;min-height:72px}.btn-primary{font-size:26px;padding:18px 60px;min-height:72px}.btn-secondary{font-size:24px;padding:16px 40px;min-height:72px}.btn-settings{top:16px;right:88px;width:72px;height:72px;font-size:30px}.btn-info{top:16px;right:16px;width:72px;height:72px;font-size:34px}.menu-mascot{width:120px;right:16px;bottom:70px}.dialog-header h2{font-size:28px}.dialog-body h3,.dialog-body li,.dialog-body p,.dialog-body ul{font-size:24px}.dialog-footer .btn-primary,.settings-footer .btn-primary{font-size:24px;padding:18px 40px;min-height:72px}.modal-close{width:72px;height:72px;font-size:28px}.btn-fullscreen{width:72px;height:72px;font-size:30px;border-radius:12px;bottom:14px;right:14px}.camera-status p,.menu-player-info .edit-name,.player-input-wrap .char-count{font-size:24px}.camera-select-container select{font-size:24px!important;min-height:72px}.settings-row label,.settings-section h3,.volume-value{font-size:24px}.settings-section #camera-init-btn{font-size:24px;min-height:72px}.info-content h3,.info-content li,.info-content p,.info-content ul{font-size:24px}#overlay h1{font-size:64px}#overlay .sub{font-size:24px}#overlay button{padding:20px 60px;font-size:28px;min-height:72px}#step-ready div{font-size:24px}#loading{font-size:28px}#loading .spinner{width:64px;height:64px}#hud-score{font-size:68px}#hud-combo{font-size:42px}#hud-lives{font-size:80px}#game-start-btn{padding:26px 72px;font-size:48px}#game-back-btn{top:calc(50% + 72px);padding:18px 44px;font-size:26px;min-height:72px}.final-score{font-size:64px}.stats-line{font-size:24px}#res-ranking{padding:10px 12px}#res-ranking>div:first-child{font-size:24px}#res-ranking th{font-size:24px;padding:5px 10px}#res-ranking td{font-size:24px;padding:6px 10px}#result button{max-width:220px;padding:16px 24px;font-size:24px;min-height:72px}.result-actions{gap:10px;margin-top:12px}#group-container>div:first-child{font-size:24px!important}#group-btn-list button{font-size:24px!important;padding:16px 12px!important;min-height:72px!important}.btn-mute{width:72px;height:72px;font-size:30px;border-radius:12px;bottom:14px;border-width:2px;left:14px}}#screen-game{background:linear-gradient(135deg,#e8f4fd 0,#fff9e6 50%,#ffe8d6 100%);overflow:hidden}#screen-game #main-canvas{display:block;position:absolute;top:0;left:0;width:1280px;height:720px;z-index:2}#screen-game #camera-preview{position:absolute;top:0;left:0;width:1280px;height:720px;z-index:1;background:#000;transform:scaleX(-1)!important;object-fit:cover}#screen-game #hidden-video{display:none}:-webkit-full-screen #screen-game #camera-preview,:fullscreen #screen-game #camera-preview{transform:scaleX(-1)!important}:-webkit-full-screen #replay-video,:fullscreen #replay-video{transform:scaleX(-1)!important}#overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,249,230,.97) 0,rgba(232,244,253,.97) 100%);backdrop-filter:blur(12px);z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .4s}#overlay.hidden{opacity:0;pointer-events:none}#overlay h1{font-size:48px;font-weight:800;margin-bottom:8px;color:#2c3e50;text-shadow:0 4px 12px rgba(0,0,0,.08)}#overlay .sub{color:#5a6c7d;font-size:16px;margin-bottom:32px;text-align:center;line-height:1.6;max-width:480px}#step-camera,#step-ready{display:flex;flex-direction:column;align-items:center;gap:16px}#overlay button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 48px;font-size:20px;font-family:inherit;font-weight:700;color:#1a1a2e;background:linear-gradient(135deg,var(--accent,#f64),var(--accent-dark,#a22));border:none;border-radius:12px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px var(--accent-glow,rgba(255,100,60,.3))}#overlay button:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--accent-glow,rgba(255,100,60,.4))}#overlay button:active{transform:scale(.97)}#step-ready div{color:#6f9;font-size:16px;font-weight:600}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;color:var(--accent,#f64);z-index:90;display:none;text-align:center}#loading .spinner{width:48px;height:48px;border:4px solid rgba(0,0,0,.1);border-top-color:var(--accent,#f64);border-radius:50%;animation:.8s linear infinite gameSpin;margin:0 auto 16px}@keyframes gameSpin{to{transform:rotate(360deg)}}#game-hud{position:absolute;top:0;left:0;width:100%;z-index:20;pointer-events:none;display:none}#hud-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent)}#hud-score{font-size:52px;font-weight:800;color:var(--accent,#f64);text-shadow:0 0 16px var(--accent-glow,rgba(255,100,60,.5))}#hud-combo{font-size:32px;color:gold;font-weight:700;text-shadow:0 0 12px rgba(255,220,0,.5)}#hud-right{display:flex;align-items:center;gap:16px}#hud-lives{font-size:96px;line-height:1}#game-start-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:30;padding:20px 56px;background:linear-gradient(135deg,var(--accent,#f64),var(--accent-dark,#a22));color:#fff;border:none;border-radius:14px;cursor:pointer;font-family:inherit;font-size:32px;font-weight:800;text-shadow:0 2px 4px rgba(0,0,0,.3);transition:transform .2s,box-shadow .2s;box-shadow:0 6px 20px var(--accent-glow,rgba(255,100,60,.4))}#game-start-btn:hover{transform:translate(-50%,-50%) translateY(-3px);box-shadow:0 8px 28px var(--accent-glow,rgba(255,100,60,.5))}#game-start-btn:active{transform:translate(-50%,-50%) scale(.97)}#game-back-btn{position:absolute;top:calc(50% + 52px);left:50%;transform:translateX(-50%);z-index:30;padding:10px 32px;background:rgba(0,0,0,.35);color:rgba(255,255,255,.85);border:2px solid rgba(255,255,255,.25);border-radius:10px;cursor:pointer;font-family:inherit;font-size:18px;font-weight:600;transition:transform .2s,background .2s;backdrop-filter:blur(4px)}#game-back-btn:hover{transform:translateX(-50%) translateY(-2px);background:rgba(0,0,0,.5);color:#fff}#game-back-btn:active{transform:translateX(-50%) scale(.97)}#result{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,249,230,.2) 0,rgba(232,244,253,.2) 100%);backdrop-filter:blur(2px);z-index:110;display:none;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;padding:10px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:1200px;max-height:690px;align-items:stretch;overflow:hidden}.result-left{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:0;overflow:hidden;padding:10px 20px}.result-left>*{max-width:400px;width:100%}.result-right{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:0;overflow:hidden}.final-score{font-size:48px;font-weight:800;color:var(--accent,#f64);margin-bottom:2px;text-shadow:0 4px 20px var(--accent-glow,rgba(255,100,60,.4));line-height:1}.stats-line{font-size:13px;color:#b0b0cc;font-weight:600;margin-bottom:4px}#res-ranking{background:rgba(37,37,64,.6);border-radius:12px;padding:6px 8px;width:100%;margin:0}#res-ranking>div:first-child{color:gold;font-weight:700;margin-bottom:6px;font-size:12px}#res-ranking table{width:100%;border-collapse:collapse}#res-ranking th{color:#707090;font-weight:600;padding:3px 6px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left;font-size:11px}#res-ranking td{padding:4px 6px;color:#e0e0e8;font-size:13px}#res-ranking tr.me td{color:var(--accent,#f64);font-weight:700}.result-actions{display:flex;gap:6px;justify-content:center;width:100%;margin-top:8px}#result button{flex:1;max-width:140px;padding:8px 12px;font-size:13px;font-weight:700;font-family:inherit;background:linear-gradient(135deg,var(--accent,#f64),var(--accent-dark,#a22));border:none;color:#fff;border-radius:8px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px var(--accent-glow,rgba(255,100,60,.3))}#result button:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--accent-glow,rgba(255,100,60,.4))}#result button:active{transform:scale(.97)}#replay-video{position:absolute;top:0;left:0;width:1280px;height:720px;object-fit:cover;z-index:105;display:none;transform:scaleX(-1)!important}#group-container{background:rgba(37,37,64,.6);border-radius:10px;padding:6px;margin:8px 0;width:100%}#cm-container{display:flex;align-items:center;justify-content:center;flex:1;width:100%;height:100%;padding:0;overflow:hidden;min-height:0}#cm-container img{width:100%;height:100%;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.3);object-fit:contain}.btn-mute{position:absolute;bottom:8px;left:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:rgba(255,255,255,.7);font-size:18px;line-height:1;cursor:pointer;transition:background .2s,color .2s;z-index:120;padding:0}.btn-mute:hover{background:rgba(0,0,0,.7);color:rgba(255,255,255,.95)}.btn-mute.muted{color:#ff6b6b}