:root{--ph-primary: var(--pm-gold, #D7BF81);--ph-primary-dark: #B8A060;--ph-primary-light: #FFE4A1;--ph-bg-page: #0a0a0a;--ph-bg-dark: #1a1a1a;--ph-bg-darker: #0f0f0f;--ph-bg-medium: #252525;--ph-text: var(--pm-white, #ffffff);--ph-text-secondary: #cccccc;--ph-success: #4CAF50;--ph-warning: #FF9800;--ph-danger: #f44336;--ph-info: #2196F3;--ph-purple: #9C27B0;--ph-transition: all .3s cubic-bezier(.4, 0, .2, 1);--ph-shadow: 0 4px 12px rgba(0, 0, 0, .4);--ph-shadow-glow: 0 4px 16px rgba(215, 191, 129, .3);--ph-glass-bg: rgba(25, 25, 25, .65);--ph-glass-border: rgba(255, 255, 255, .08);--ph-glass-blur: blur(16px);--ph-surface: rgba(20, 20, 20, .7);--ph-surface-solid: #1a1a1a;--ph-radius: 10px;--ph-radius-lg: 14px;--ph-surface-2: #14141c;--ph-surface-3: #1c1c26;--ph-elev: #20202b;--ph-line: rgba(255, 255, 255, .07);--ph-line-2: rgba(255, 255, 255, .11);--ph-line-3: rgba(255, 255, 255, .17);--ph-text-3: rgba(244, 242, 235, .5);--ph-gold-bright: #F0DEAA;--ph-gold-deep: #8E7942;--ph-gold-border: rgba(215, 191, 129, .35);--ph-gold-soft: rgba(215, 191, 129, .16);--ph-r-pill: 999px;--ph-t-fast: .14s cubic-bezier(.4, 0, .2, 1);--ph-canvas-bg: #0a0a0a}html[data-ph-theme=light]{--ph-primary: var(--pm-gold-deep, #A0894A);--ph-primary-dark: #897239;--ph-primary-light: #C9B377;--ph-bg-page: #ECE0BC;--ph-bg-dark: #ECE0BC;--ph-bg-darker: #DECEA0;--ph-bg-medium: #E8DBB4;--ph-text: #1B1813;--ph-text-secondary: rgba(27, 24, 19, .74);--ph-shadow: 0 4px 12px rgba(27, 24, 19, .14);--ph-shadow-glow: 0 4px 16px rgba(160, 137, 74, .25);--ph-glass-bg: rgba(248, 242, 222, .82);--ph-glass-border: rgba(27, 24, 19, .12);--ph-surface: rgba(248, 242, 222, .92);--ph-surface-solid: #F8F2DE;--ph-canvas-bg: #ECE0BC;--ph-surface-2: #F4ECD6;--ph-surface-3: #F0E6C8;--ph-elev: #F8F2DE;--ph-line: rgba(27, 24, 19, .08);--ph-line-2: rgba(27, 24, 19, .14);--ph-line-3: rgba(27, 24, 19, .22);--ph-text-3: rgba(27, 24, 19, .5);--ph-gold-bright: #C9B377;--ph-gold-deep: #897239;--ph-gold-border: rgba(160, 137, 74, .42);--ph-gold-soft: rgba(160, 137, 74, .16)}.piano-hero-page{background:linear-gradient(135deg,#0a0a0a,#1a1a1a);min-height:100vh;color:var(--ph-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.piano-hero-wrapper{max-width:1400px;margin:0 auto;padding:20px}.component-container-ph{background:linear-gradient(135deg,rgba(215,191,129,.05) 0%,transparent 100%);border:2px solid rgba(215,191,129,.2);border-radius:16px;overflow:hidden;box-shadow:var(--ph-shadow)}.component-header-ph{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,var(--ph-bg-dark),var(--ph-bg-darker));border-bottom:3px solid var(--ph-primary)}.header-left-ph{display:flex;align-items:center;gap:16px}.component-logo-ph{width:50px;height:50px;object-fit:contain;border-radius:8px}.header-titles-ph{display:flex;flex-direction:column}.component-title-ph{display:block;margin:0;line-height:1;cursor:pointer;font-family:var(--pm-font, "Montserrat", sans-serif);font-size:1.4rem;font-weight:800;letter-spacing:-.02em;text-transform:none;color:var(--ph-text);text-shadow:none}.component-title-ph em,.hero-welcome-content h2 em{font-family:var(--pm-font-display, "Fraunces", Georgia, serif);font-style:italic;font-weight:700;letter-spacing:-.01em;color:var(--ph-primary)}.component-subtitle-ph{font-size:.9rem;color:var(--ph-text-secondary);margin:4px 0 0}.header-right-ph{display:flex;gap:12px}.component-toggle-btn-ph{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,var(--ph-bg-medium),var(--ph-bg-dark));border:2px solid var(--ph-primary);border-radius:8px;color:var(--ph-primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--ph-transition)}.component-toggle-btn-ph:hover{background:var(--ph-primary);color:var(--ph-bg-dark);transform:translateY(-2px);box-shadow:var(--ph-shadow-glow)}.toggle-icon-ph{font-size:1.2rem;font-weight:700}.component-body-ph{padding:0;transition:var(--ph-transition)}.component-body-ph.hidden{display:none}.piano-hero-welcome{display:flex;justify-content:center;align-items:center;min-height:320px;padding:24px;background:radial-gradient(ellipse at center,rgba(215,191,129,.08) 0%,transparent 70%),linear-gradient(180deg,#0a0a0a,#111);font-family:Montserrat,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;overflow:hidden}.piano-hero-welcome:before{content:none}@keyframes gridMove{0%{transform:translateY(0)}to{transform:translateY(40px)}}.hero-welcome-content{text-align:center;max-width:560px;position:relative;z-index:1}.hero-welcome-content h2{font-family:var(--pm-font, "Montserrat", sans-serif);font-size:clamp(30px,5.4vw,46px);font-weight:800;line-height:1.05;letter-spacing:-.02em;text-transform:none;text-wrap:balance;color:var(--ph-text);background:none;margin:0 0 34px;position:relative}.hero-welcome-content>p{font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:500;color:#ffffffb3;margin-bottom:20px;letter-spacing:1px}.hero-instructions{text-align:left;background:#141414cc;backdrop-filter:blur(10px);padding:16px 20px;border-radius:10px;border:1px solid rgba(215,191,129,.2);margin-bottom:24px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;line-height:1.8;color:#ffffffbf;position:relative}.hero-instructions:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--ph-primary),transparent);border-radius:3px 0 0 3px}.hero-instructions-icon{display:inline-block;width:18px;height:18px;margin-right:8px;vertical-align:middle;stroke:var(--ph-primary);fill:none;stroke-width:1.5}.hero-start-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 40px;background:transparent;border:2px solid var(--ph-primary);border-radius:8px;color:var(--ph-primary);font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 20px #d7bf8133,inset 0 0 20px #d7bf810d}.hero-start-btn:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,var(--ph-primary),transparent,var(--ph-primary),transparent);background-size:400% 400%;border-radius:10px;z-index:-1;animation:borderGlow 3s ease-in-out infinite;opacity:.5}@keyframes borderGlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-start-btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(215,191,129,.2),transparent);transition:left .5s ease}.hero-start-btn:hover:after{left:100%}.hero-start-btn:hover{background:#d7bf811a;transform:translateY(-2px);box-shadow:0 0 30px #d7bf8166,0 0 60px #d7bf8133,inset 0 0 30px #d7bf811a;border-color:var(--ph-primary-light);color:var(--ph-primary-light)}.hero-start-btn:active{transform:translateY(0);box-shadow:0 0 15px #d7bf814d,inset 0 0 15px #d7bf811a}.hero-start-icon{font-size:1.3rem;filter:drop-shadow(0 0 8px rgba(215,191,129,.5))}.hero-start-icon svg{width:24px;height:24px;stroke:var(--ph-primary);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}#pianoHeroGameContainer{width:100%;min-height:600px}.midi-status-ph{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--ph-bg-medium);border-radius:8px;font-size:.9rem}.midi-status-dot{width:10px;height:10px;border-radius:50%;background:#666;transition:var(--ph-transition)}.midi-status-dot.connected{background:var(--ph-success);box-shadow:0 0 10px #4caf5099}.loading-overlay-ph{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10000}.loading-spinner-ph{width:60px;height:60px;border:4px solid rgba(215,191,129,.2);border-top-color:var(--ph-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text-ph{margin-top:20px;color:var(--ph-primary);font-size:1.1rem;font-weight:600}.piano-hero-fullscreen{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:9999!important;border-radius:0!important;margin:0!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important;padding-left:env(safe-area-inset-left)!important;padding-right:env(safe-area-inset-right)!important}@supports (padding-top: env(safe-area-inset-top)){.piano-hero-page{padding-top:env(safe-area-inset-top)}}@media(max-width:768px){.piano-hero-wrapper{padding:10px}.component-header-ph{flex-direction:column;gap:12px;padding:12px}.header-left-ph,.header-right-ph{width:100%;justify-content:center}.component-title-ph{font-size:1.3rem}.piano-hero-welcome{padding:16px;min-height:280px}.hero-welcome-content h2{font-size:clamp(26px,7vw,34px)}.hero-welcome-content>p{font-size:.85rem}.hero-instructions{padding:12px 16px;font-size:.75rem;line-height:1.7}.hero-start-btn{padding:12px 28px;font-size:.85rem;letter-spacing:1px}}@media(max-width:480px){.component-logo-ph{width:40px;height:40px}.component-title-ph{font-size:1.1rem}.component-subtitle-ph{font-size:.8rem}.piano-hero-welcome{padding:12px;min-height:250px}.hero-welcome-content h2{font-size:clamp(24px,7.4vw,30px)}.hero-welcome-content>p{font-size:.8rem;margin-bottom:12px}.hero-instructions{padding:10px 12px;font-size:.7rem;line-height:1.6;margin-bottom:16px}.hero-start-btn{padding:10px 20px;font-size:.75rem;width:100%;justify-content:center}.hero-start-icon{font-size:1rem}}.orientation-notice-ph{display:none!important}.notification-ph{position:fixed;top:20px;right:20px;padding:16px 24px;border-radius:12px;color:#fff;font-weight:600;box-shadow:0 6px 20px #0006;z-index:10001;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-ph.success{background:linear-gradient(135deg,var(--ph-success),#388E3C)}.notification-ph.warning{background:linear-gradient(135deg,var(--ph-warning),#F57C00)}.notification-ph.error{background:linear-gradient(135deg,var(--ph-danger),#C62828)}.notification-ph.info{background:linear-gradient(135deg,var(--ph-info),#1976D2)}.ph-btn{padding:8px 16px;background:var(--ph-glass-bg);backdrop-filter:var(--ph-glass-blur);-webkit-backdrop-filter:var(--ph-glass-blur);border:1px solid var(--ph-glass-border);border-radius:var(--ph-radius);color:#ccc;font-size:12px;font-weight:600;font-family:Montserrat,-apple-system,sans-serif;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px #00000040,inset 0 1px #ffffff0f;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ph-btn:hover{background:#282828bf;border-color:#d7bf8159;color:var(--ph-primary);transform:translateY(-1px);box-shadow:0 6px 20px #d7bf811f}.ph-btn:active{transform:translateY(0);box-shadow:0 2px 8px #0000004d}.ph-btn-gold{background:linear-gradient(135deg,#d7bf8126,#d7bf8114);border-color:#d7bf814d;color:var(--ph-primary)}.ph-btn-gold.active{background:linear-gradient(135deg,#d7bf81,#c5a94a)!important;color:#000!important;box-shadow:0 2px 12px #d7bf8180!important;border-color:#d7bf81!important}.ph-btn-gold.active svg{stroke:#000!important}.ph-select{padding:8px 32px 8px 12px;background:#141414b3!important;backdrop-filter:var(--ph-glass-blur);-webkit-backdrop-filter:var(--ph-glass-blur);border:1px solid rgba(215,191,129,.2);border-radius:var(--ph-radius);color:#fff!important;font-size:12px;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23D7BF81' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;background-size:12px!important;-webkit-text-fill-color:#fff!important;height:auto;min-height:34px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-tap-highlight-color:transparent}.ph-select:hover{border-color:#d7bf8180;box-shadow:0 4px 16px #d7bf8126}.ph-select:focus{outline:none;border-color:#d7bf8199;box-shadow:0 0 0 2px #d7bf8126}.ph-select option{background:#1a1a1a!important;color:#fff!important;padding:10px 12px!important;font-size:13px}.ph-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px!important;height:18px!important;border:2px solid rgba(215,191,129,.3);border-radius:5px;background:#14141499;cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0;-webkit-tap-highlight-color:transparent}.ph-checkbox:checked{background:linear-gradient(135deg,#d7bf81,#c5a94a);border-color:#d7bf81}.ph-checkbox:checked:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg)}.ph-checkbox:hover{border-color:#d7bf8199}.ph-range{-webkit-appearance:none;appearance:none;height:4px;background:#ffffff1a;border-radius:2px;outline:none;width:100%}.ph-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#d7bf81,#c5a94a);cursor:pointer;box-shadow:0 2px 6px #d7bf8166;border:none}.ph-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#d7bf81,#c5a94a);cursor:pointer;box-shadow:0 2px 6px #d7bf8166;border:none}@media(max-width:768px){.ph-btn{min-height:40px;min-width:40px;padding:8px 12px}.ph-select{min-height:38px;padding:8px 32px 8px 12px;font-size:13px}}@media(max-width:480px){.ph-btn{min-height:36px;font-size:11px}}html[data-ph-theme=light] .piano-hero-page{background:linear-gradient(135deg,var(--ph-bg-page),var(--ph-bg-dark));color:var(--ph-text)}html[data-ph-theme=light] .piano-hero-welcome{background:radial-gradient(ellipse at 50% 28%,rgba(160,137,74,.08) 0%,transparent 60%),#ece0bc}html[data-ph-theme=light] .piano-hero-welcome:before{background-image:linear-gradient(rgba(27,24,19,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(27,24,19,.05) 1px,transparent 1px)}html[data-ph-theme=light] .hero-welcome-content>p{color:var(--ph-text-secondary)}html[data-ph-theme=light] .hero-instructions{background:var(--ph-surface);color:var(--ph-text-secondary);border-color:#a0894a4d}html[data-ph-theme=light] .loading-overlay-ph{background:#f4ecd6f0}html[data-ph-theme=light] .loading-text-ph{color:var(--ph-primary)}html[data-ph-theme=light] .ph-btn{color:var(--ph-text-secondary)}html[data-ph-theme=light] .ph-btn:hover{background:#1b18130f;color:var(--ph-primary)}html[data-ph-theme=light] .ph-select{background:var(--ph-surface)!important;color:var(--ph-text)!important;-webkit-text-fill-color:var(--ph-text)!important;border-color:#1b18132e}html[data-ph-theme=light] .ph-select option{background:var(--ph-surface-solid)!important;color:var(--ph-text)!important}html[data-ph-theme=light] .ph-checkbox{background:var(--ph-surface);border-color:#a0894a66}html[data-ph-theme=light] .hero-mode-title{color:var(--ph-text);text-shadow:none;animation:none}html[data-ph-theme=light] .hero-mode-card-content{background:linear-gradient(145deg,#f8f2de,#ece0bc);border-color:#a0894a66}html[data-ph-theme=light] .hero-mode-desc{color:#1b181399}html[data-ph-theme=light] .hero-mode-features li{color:#1b1813b8;border-bottom-color:#1b181314}html[data-ph-theme=light] .component-header-ph{background:var(--ph-bg-dark)}html[data-ph-theme=light] .component-subtitle-ph{color:#1b1813b8!important}html[data-ph-theme=light] .hero-mode-classic .hero-mode-name{color:#7a5f1c}html[data-ph-theme=light] .hero-mode-pianist .hero-mode-name{color:#b3261e}html[data-ph-theme=light] .hero-mode-title em{color:#7a5f1c;text-shadow:none}html[data-ph-theme=light] .component-title-ph{color:var(--ph-text);text-shadow:none}html[data-ph-theme=light] .component-title-ph em{color:#6b5418}html[data-ph-theme=light] .hero-mode-desc{color:#1b1813b8}html[data-ph-theme=light] .ph-back-link{color:#1b1813b8!important}html[data-ph-theme=light] .ph-back-link:hover,html[data-ph-theme=light] .ph-back-link:focus-visible{color:#7a5f1c!important}.ph-icon-sun,.ph-icon-moon{flex-shrink:0}.ph-icon-moon,html[data-ph-theme=light] .ph-icon-sun{display:none}html[data-ph-theme=light] .ph-icon-moon{display:inline-block}html[data-ph-theme=light] #pianoHeroContainer{background:var(--ph-bg-page)!important;color:var(--ph-text)!important;border-color:#a0894a73!important}html[data-ph-theme=light] #heroCanvasContainer,html[data-ph-theme=light] #heroCanvas{background:var(--ph-canvas-bg)!important}html[data-ph-theme=light] #heroControlsRow,html[data-ph-theme=light] #heroOptionsRow,html[data-ph-theme=light] #heroScoringRow,html[data-ph-theme=light] #heroStatus,html[data-ph-theme=light] #heroOptionsPanel{background:var(--ph-surface)!important;color:var(--ph-text)!important;border-color:#a0894a40!important}html[data-ph-theme=light] .hero-glass-btn:not(.hero-glass-btn-play):not(.hero-glass-btn-stop):not(.hero-glass-btn-pause):not(.hero-glass-btn-gold):not(.hero-glass-btn-purple):not(.hero-glass-btn-blue):not(.hero-glass-btn-randgold),html[data-ph-theme=light] .hero-glass-select{background-color:#f8f2ded9!important;color:var(--ph-text)!important;-webkit-text-fill-color:var(--ph-text)!important;border-color:var(--ph-line-2)!important}html[data-ph-theme=light] .hero-glass-select option{background:var(--ph-surface-solid)!important;color:var(--ph-text)!important}html[data-ph-theme=light] #heroScore,html[data-ph-theme=light] #heroAccuracy,html[data-ph-theme=light] #heroPerfect,html[data-ph-theme=light] #heroAvgAccuracy,html[data-ph-theme=light] #heroStatus,html[data-ph-theme=light] #heroMidiText{color:var(--ph-text)!important}html[data-ph-theme=light] #heroEndSongModal,html[data-ph-theme=light] #heroGuideModal,html[data-ph-theme=light] #heroOptionsOverlay{background:#1b181373!important}html[data-ph-theme=light] #heroEndSongModal>div,html[data-ph-theme=light] #heroGuideModal>div,html[data-ph-theme=light] #heroOptionsPanel{background:var(--ph-surface-solid)!important;color:var(--ph-text)!important;border-color:#a0894a59!important}html[data-ph-theme=light] #classicModeContainer{background:linear-gradient(180deg,#f4ecd6,#ece0bc,#f4ecd6)!important;color:var(--ph-text)!important}html[data-ph-theme=light] .cm-header{background:#ece0bceb!important;border-bottom-color:#a0894a59!important}html[data-ph-theme=light] .cm-stat-label{color:var(--ph-primary)!important}html[data-ph-theme=light] .cm-stat-value,html[data-ph-theme=light] .cm-time{color:var(--ph-text)!important}html[data-ph-theme=light] .cm-control-label{color:#1b181399!important}html[data-ph-theme=light] .cm-btn-icon{color:var(--ph-primary)!important}html[data-ph-theme=light] .cm-btn:not(.cm-btn-play):not(.cm-btn-stop):not(.cm-btn-wait):not(.cm-btn-gold):not(.cm-btn-new),html[data-ph-theme=light] .cm-select{background:#f8f2dee6!important;color:var(--ph-text)!important;-webkit-text-fill-color:var(--ph-text)!important;border-color:#a0894a59!important}html[data-ph-theme=light] .cm-select option{background:var(--ph-surface-solid)!important;color:var(--ph-text)!important}html[data-ph-theme=light] .cm-overlay{background:#1b18138c!important}html[data-ph-theme=light] .cm-overlay-content{background-color:var(--ph-surface-solid)!important;color:var(--ph-text)!important;border-color:var(--ph-line-2)!important}html:not([data-ph-theme=light]) .cm-overlay-content{color:#fff!important}html:not([data-ph-theme=light]) .cm-overlay-content h2{color:var(--ph-primary, #D7BF81)!important}html:not([data-ph-theme=light]) .cm-overlay-content .cm-final-stat strong{color:#fff!important}html:not([data-ph-theme=light]) .cm-overlay-content .cm-final-stat span{color:#f4f2eba8!important}html[data-ph-theme=light] .cm-overlay-content .cm-final-stat strong{color:var(--ph-text)!important}html[data-ph-theme=light] .cm-overlay-content .cm-final-stat span{color:#1b1813a8!important}html[data-ph-theme=light] #heroHeaderBar{background:linear-gradient(180deg,#ece0bc,#e1d2a8)!important;border-bottom-color:#a0894a66!important;box-shadow:0 4px 20px #1b181314!important}html[data-ph-theme=light] #heroHeaderBar #heroBack,html[data-ph-theme=light] #heroHeaderBar #heroGuide,html[data-ph-theme=light] #heroHeaderBar #heroStatus{color:var(--ph-text)!important}html[data-ph-theme=light] #heroPianoKeysWrapper{background:linear-gradient(180deg,#efe6cc,#e4d7b3,#decea0)!important;box-shadow:inset 0 8px 30px #1b18131a,0 -2px 15px #a0894a26!important}html[data-ph-theme=light] #pianoHeroContainer select,html[data-ph-theme=light] #pianoHeroContainer .hero-glass-select,html[data-ph-theme=light] #pianoHeroContainer .hero-glass-btn:not(.hero-glass-btn-play):not(.hero-glass-btn-stop):not(.hero-glass-btn-pause):not(.hero-glass-btn-gold):not(.hero-glass-btn-purple):not(.hero-glass-btn-blue):not(.hero-glass-btn-randgold){background-color:#f8f2deeb!important;color:var(--ph-text)!important;-webkit-text-fill-color:var(--ph-text)!important;border-color:var(--ph-line-2)!important}html[data-ph-theme=light] #pianoHeroContainer select option{background:var(--ph-surface-solid)!important;color:var(--ph-text)!important;-webkit-text-fill-color:var(--ph-text)!important}html[data-ph-theme=light] #classicModeContainer .cm-header{background:linear-gradient(180deg,#ece0bc,#e1d2a8)!important;border-bottom-color:#a0894a59!important}html[data-ph-theme=light] #classicModeContainer .cm-controls{background:#ece0bceb!important;border-bottom-color:#a0894a33!important}html[data-ph-theme=light] #classicModeContainer .cm-keyboard-section{background:linear-gradient(180deg,#efe6cc,#e4d7b3,#decea0)!important}html[data-ph-theme=light] #classicModeContainer .cm-select,html[data-ph-theme=light] #classicModeContainer .cm-btn:not(.cm-btn-play):not(.cm-btn-stop):not(.cm-btn-wait):not(.cm-btn-gold):not(.cm-btn-new){background-color:var(--ph-surface-3)!important;color:var(--ph-text)!important;-webkit-text-fill-color:var(--ph-text)!important;border-color:var(--ph-line-2)!important}html[data-ph-theme=light] #classicModeContainer .cm-btn-toggle.active{background-color:var(--ph-gold-soft)!important;border-color:var(--ph-gold-border)!important;color:var(--ph-primary)!important}html[data-ph-theme=light] #classicModeContainer .cm-select option{background:var(--ph-surface-solid)!important;color:var(--ph-text)!important}html[data-ph-theme=light] #classicModeContainer .cm-stat-value,html[data-ph-theme=light] #classicModeContainer .cm-time,html[data-ph-theme=light] #classicModeContainer .cm-control-label{color:var(--ph-text)!important}body.ph-in-game footer,body.ph-in-game .ct-footer,body.ph-in-game #colophon{display:none!important}html[data-ph-theme=light] #pianoHeroContainer #heroStatus{background:transparent!important;border:none!important;box-shadow:none!important;text-shadow:none!important;color:var(--ph-text)!important}html[data-ph-theme=light] #heroHeaderBar button,html[data-ph-theme=light] #heroHeaderBar a{color:#1b1813!important;border-color:#1b181352!important}html[data-ph-theme=light] #heroHeaderBar button svg,html[data-ph-theme=light] #heroHeaderBar a svg{stroke:#1b1813!important}html[data-ph-theme=light] #pianoHeroContainer .hero-glass-btn-play{background:#388e3ceb!important;border-color:#2e7d32e6!important;color:#fff!important}html[data-ph-theme=light] #pianoHeroContainer .hero-glass-btn-pause{background:#ef7c00eb!important;border-color:#e66e00e6!important;color:#fff!important}html[data-ph-theme=light] #pianoHeroContainer .hero-glass-btn-stop{background:#d32f2feb!important;border-color:#c62828e6!important;color:#fff!important}html[data-ph-theme=light] #pianoHeroContainer .hero-glass-btn-play svg,html[data-ph-theme=light] #pianoHeroContainer .hero-glass-btn-pause svg,html[data-ph-theme=light] #pianoHeroContainer .hero-glass-btn-stop svg{stroke:#fff!important}html[data-ph-theme=light] #pianoHeroContainer input[type=range],html[data-ph-theme=light] #pianoHeroContainer input[type=range]::-webkit-slider-runnable-track,html[data-ph-theme=light] #pianoHeroContainer input[type=range]::-moz-range-track{background:#a0894a99!important}html[data-ph-theme=light] #classicModeContainer .cm-playback-group{background:linear-gradient(135deg,#f8f2deeb,#ece0bcf5)!important;box-shadow:inset 0 1px #ffffff80,0 4px 16px #1b18131f!important}html[data-ph-theme=light] #classicModeContainer .cm-keyboard{background:linear-gradient(180deg,#efe6cc,#e4d7b3)!important;box-shadow:inset 0 2px 4px #1b18131f,0 8px 32px #1b18131f,0 0 40px #a0894a1a!important}.ph-btn,.ph-select,.ph-checkbox,.hero-mode-card,.hero-mode-btn,#heroThemeToggle,#hero3DToggle{transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.ph-btn:active,.hero-mode-btn:active{transform:translateY(1px)}.ph-btn:focus-visible,.ph-select:focus-visible,.hero-mode-btn:focus-visible,.hero-mode-card:focus-visible,#heroThemeToggle:focus-visible,#hero3DToggle:focus-visible,#cm3DToggle:focus-visible{outline:2px solid var(--ph-primary, #D7BF81);outline-offset:2px}#pianoHeroContainer *,#classicModeContainer *{scrollbar-width:thin;scrollbar-color:var(--ph-primary, #D7BF81) var(--ph-gold-soft, rgba(215,191,129,.1))}#pianoHeroContainer *::-webkit-scrollbar,#classicModeContainer *::-webkit-scrollbar{width:9px;height:9px}#pianoHeroContainer *::-webkit-scrollbar-thumb,#classicModeContainer *::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--ph-gold-bright, #F0DEAA),var(--ph-primary, #D7BF81) 55%,var(--ph-gold-deep, #8E7942));border-radius:999px;border:2px solid transparent;background-clip:padding-box}#pianoHeroContainer *::-webkit-scrollbar-thumb:hover,#classicModeContainer *::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#FFF0C8,var(--ph-gold-bright, #F0DEAA) 55%,var(--ph-primary, #D7BF81))}#pianoHeroContainer *::-webkit-scrollbar-track,#classicModeContainer *::-webkit-scrollbar-track{background:var(--ph-gold-soft, rgba(215,191,129,.1));border-radius:999px}#heroScrollWrapper::-webkit-scrollbar,.cm-keyboard-scroll::-webkit-scrollbar{height:10px}#heroScrollWrapper::-webkit-scrollbar-thumb,.cm-keyboard-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--ph-gold-deep, #8E7942),var(--ph-primary, #D7BF81) 50%,var(--ph-gold-deep, #8E7942));border-radius:999px;border:2px solid transparent;background-clip:padding-box}#heroScrollWrapper::-webkit-scrollbar-track,.cm-keyboard-scroll::-webkit-scrollbar-track{background:var(--ph-gold-soft, rgba(215,191,129,.08));border-radius:999px}.ph-neon-cap{position:absolute;left:0;top:0;width:100%;height:17%;border-top-left-radius:inherit;border-top-right-radius:inherit;pointer-events:none;opacity:0;z-index:1;transition:opacity .14s ease-out}.cm-key-black .ph-neon-cap{height:14%}.ph-countin{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-family:Fraunces,Georgia,serif;font-weight:700;line-height:1;font-size:clamp(64px,16vw,200px);color:var(--ph-primary, #E8C16A);text-shadow:0 0 32px rgba(232,193,106,.55),0 8px 30px rgba(0,0,0,.55);background:radial-gradient(ellipse at center,#0000004d,#0000 62%);pointer-events:none;z-index:20}.ph-countin-pulse{animation:phCountPulse .56s ease-out both}@keyframes phCountPulse{0%{transform:scale(.5);opacity:0}28%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.88}}@media(prefers-reduced-motion:reduce){.ph-neon-cap,.ph-btn,.ph-select,.ph-checkbox,.hero-mode-card,.hero-mode-btn,#heroThemeToggle,#hero3DToggle{transition:none}}.pm-ph-embed #pianoHeroWelcome,.pm-ph-embed #pageHeaderPH,.pm-ph-embed #heroAccountBtn,.pm-ph-embed #cmAccountBtn,.pm-ph-embed .cm-btn-account,.pm-ph-embed #heroBack,.pm-ph-embed #cmBack,.pm-ph-embed #cmMenu{display:none!important}.pm-ph-embed #pianoHeroComponent{margin:0!important;padding:0!important}.pm-ph-embed #classicModeContainer,.pm-ph-embed #pianoHeroContainer{height:100%}.pm-ph-inline-host{width:100%;border-radius:12px;overflow:hidden;background:#050505}html[data-ph-theme=light] .pm-ph-inline-host{background:#ece0bc}.pm-ph-inline-host #pianoHeroComponent,.pm-ph-inline-host #classicModeGameContainer,.pm-ph-inline-host #pianoHeroGameContainer{height:100%}.pm-ph-inline-host,.pm-ph-inline-host #pianoHeroComponent,.pm-ph-inline-host #classicModeGameContainer,.pm-ph-inline-host #pianoHeroGameContainer{min-height:0!important}.pm-ph-embed #classicModeContainer{height:100%!important;min-height:0!important;max-height:100%!important}.pm-ph-embed #classicModeContainer .cm-game-area{flex:1 1 0!important;min-height:0!important}.pm-ph-embed #classicModeContainer .cm-keyboard-section{flex:0 0 auto}.pm-ph-embed #classicModeContainer .cm-keyboard{height:clamp(104px,21vh,168px)}.pm-ph-embed #classicModeContainer .cm-controls{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pm-ph-embed #classicModeContainer .cm-controls::-webkit-scrollbar{display:none}.pm-ph-embed #classicModeContainer .cm-controls-left,.pm-ph-embed #classicModeContainer .cm-controls-center,.pm-ph-embed #classicModeContainer .cm-controls-right,.pm-ph-embed #classicModeContainer .cm-control-group,.pm-ph-embed #classicModeContainer .cm-playback-group{flex:0 0 auto}#heroCanvas,#heroPianoKeys{touch-action:none}
