: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 0.3s cubic-bezier(0.4, 0, 0.2, 1);--ph-shadow:0 4px 12px rgba(0, 0, 0, 0.4);--ph-shadow-glow:0 4px 16px rgba(215, 191, 129, 0.3);--ph-glass-bg:rgba(25, 25, 25, 0.65);--ph-glass-border:rgba(255, 255, 255, 0.08);--ph-glass-blur:blur(16px);--ph-surface:rgba(20, 20, 20, 0.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, 0.07);--ph-line-2:rgba(255, 255, 255, 0.11);--ph-line-3:rgba(255, 255, 255, 0.17);--ph-text-3:rgba(244, 242, 235, 0.5);--ph-gold-bright:#F0DEAA;--ph-gold-deep:#8E7942;--ph-gold-border:rgba(215, 191, 129, 0.35);--ph-gold-soft:rgba(215, 191, 129, 0.16);--ph-r-pill:999px;--ph-t-fast:140ms 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, 0.74);--ph-shadow:0 4px 12px rgba(27, 24, 19, 0.14);--ph-shadow-glow:0 4px 16px rgba(160, 137, 74, 0.25);--ph-glass-bg:rgba(248, 242, 222, 0.82);--ph-glass-border:rgba(27, 24, 19, 0.12);--ph-surface:rgba(248, 242, 222, 0.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, 0.08);--ph-line-2:rgba(27, 24, 19, 0.14);--ph-line-3:rgba(27, 24, 19, 0.22);--ph-text-3:rgba(27, 24, 19, 0.5);--ph-gold-bright:#C9B377;--ph-gold-deep:#897239;--ph-gold-border:rgba(160, 137, 74, 0.42);--ph-gold-soft:rgba(160, 137, 74, 0.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,rgb(215 191 129 / .05) 0%,transparent 100%);border:2px solid rgb(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{font-size:1.5rem;font-weight:700;color:var(--ph-primary);margin:0;text-shadow:0 2px 8px rgb(215 191 129 / .4)}.component-subtitle-ph{font-size:.9rem;color:var(--ph-text-secondary);margin:4px 0 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,rgb(215 191 129 / .08) 0%,transparent 70%),linear-gradient(180deg,#0a0a0a 0%,#111 100%);font-family:'Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;position:relative;overflow:hidden}.piano-hero-welcome::before{content:none}@keyframes gridMove{0%{transform:translateY(0)}100%{transform:translateY(40px)}}.hero-welcome-content{text-align:center;max-width:560px;position:relative;z-index:1}.hero-welcome-content h2{font-family:'Montserrat',sans-serif;font-size:2rem;font-weight:800;color:#fff0;background:linear-gradient(135deg,var(--ph-primary) 0%,var(--ph-primary-light) 50%,var(--ph-primary) 100%);-webkit-background-clip:text;background-clip:text;margin-bottom:8px;text-transform:uppercase;letter-spacing:3px;position:relative}.hero-welcome-content h2::after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;-webkit-text-stroke:1px var(--ph-primary);color:#fff0;opacity:.3}.hero-welcome-content>p{font-family:'Montserrat',sans-serif;font-size:.95rem;font-weight:500;color:rgb(255 255 255 / .7);margin-bottom:20px;letter-spacing:1px}.hero-instructions{text-align:left;background:rgb(20 20 20 / .8);backdrop-filter:blur(10px);padding:16px 20px;border-radius:10px;border:1px solid rgb(215 191 129 / .2);margin-bottom:24px;font-family:'Montserrat',sans-serif;font-size:.85rem;font-weight:500;line-height:1.8;color:rgb(255 255 255 / .75);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:#fff0;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 0.4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 20px rgb(215 191 129 / .2),inset 0 0 20px rgb(215 191 129 / .05)}.hero-start-btn::before{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-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%,100%{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,rgb(215 191 129 / .2),transparent);transition:left 0.5s ease}.hero-start-btn:hover::after{left:100%}.hero-start-btn:hover{background:rgb(215 191 129 / .1);transform:translateY(-2px);box-shadow:0 0 30px rgb(215 191 129 / .4),0 0 60px rgb(215 191 129 / .2),inset 0 0 30px rgb(215 191 129 / .1);border-color:var(--ph-primary-light);color:var(--ph-primary-light)}.hero-start-btn:active{transform:translateY(0);box-shadow:0 0 15px rgb(215 191 129 / .3),inset 0 0 15px rgb(215 191 129 / .1)}.hero-start-icon{font-size:1.3rem;filter:drop-shadow(0 0 8px rgb(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 rgb(76 175 80 / .6)}.loading-overlay-ph{position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .9);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10000}.loading-spinner-ph{width:60px;height:60px;border:4px solid rgb(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{width:100%;justify-content:center}.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:1.4rem;letter-spacing:2px}.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:1.2rem;letter-spacing:1px}.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 rgb(0 0 0 / .4);z-index:10001;animation:slideIn 0.3s ease}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(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 0.25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px rgb(0 0 0 / .25),inset 0 1px 0 rgb(255 255 255 / .06);display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1;white-space:nowrap;-webkit-tap-highlight-color:#fff0;touch-action:manipulation}.ph-btn:hover{background:rgb(40 40 40 / .75);border-color:rgb(215 191 129 / .35);color:var(--ph-primary);transform:translateY(-1px);box-shadow:0 6px 20px rgb(215 191 129 / .12)}.ph-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgb(0 0 0 / .3)}.ph-btn-gold{background:linear-gradient(135deg,rgb(215 191 129 / .15),rgb(215 191 129 / .08));border-color:rgb(215 191 129 / .3);color:var(--ph-primary)}.ph-btn-gold.active{background:linear-gradient(135deg,#D7BF81,#C5A94A)!important;color:#000!important;box-shadow:0 2px 12px rgb(215 191 129 / .5)!important;border-color:#D7BF81!important}.ph-btn-gold.active svg{stroke:#000!important}.ph-select{padding:8px 32px 8px 12px;background:rgb(20 20 20 / .7)!important;backdrop-filter:var(--ph-glass-blur);-webkit-backdrop-filter:var(--ph-glass-blur);border:1px solid rgb(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 0.25s ease;box-shadow:0 2px 8px rgb(0 0 0 / .3),inset 0 1px 0 rgb(255 255 255 / .05);-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:#fff0}.ph-select:hover{border-color:rgb(215 191 129 / .5);box-shadow:0 4px 16px rgb(215 191 129 / .15)}.ph-select:focus{outline:none;border-color:rgb(215 191 129 / .6);box-shadow:0 0 0 2px rgb(215 191 129 / .15)}.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 rgb(215 191 129 / .3);border-radius:5px;background:rgb(20 20 20 / .6);cursor:pointer;transition:all 0.2s ease;position:relative;flex-shrink:0;-webkit-tap-highlight-color:#fff0}.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:rgb(215 191 129 / .6)}.ph-range{-webkit-appearance:none;appearance:none;height:4px;background:rgb(255 255 255 / .1);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 rgb(215 191 129 / .4);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 rgb(215 191 129 / .4);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%,rgb(160 137 74 / .08) 0%,transparent 60%),#ECE0BC}html[data-ph-theme="light"] .piano-hero-welcome::before{background-image:linear-gradient(rgb(27 24 19 / .05) 1px,transparent 1px),linear-gradient(90deg,rgb(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:rgb(160 137 74 / .3)}html[data-ph-theme="light"] .loading-overlay-ph{background:rgb(244 236 214 / .94)}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:rgb(27 24 19 / .06);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:rgb(27 24 19 / .18)}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:rgb(160 137 74 / .4)}html[data-ph-theme="light"] .hero-mode-title{color:var(--ph-primary);text-shadow:none;animation:none}html[data-ph-theme="light"] .hero-mode-card-content{background:linear-gradient(145deg,#F8F2DE,#ECE0BC);border-color:rgb(160 137 74 / .4)}html[data-ph-theme="light"] .hero-mode-desc{color:rgb(27 24 19 / .6)}html[data-ph-theme="light"] .hero-mode-features li{color:rgb(27 24 19 / .72);border-bottom-color:rgb(27 24 19 / .08)}html[data-ph-theme="light"] .component-header-ph{background:var(--ph-bg-dark)}html[data-ph-theme="light"] .component-subtitle-ph{color:rgb(27 24 19 / .6)}.ph-icon-sun,.ph-icon-moon{flex-shrink:0}.ph-icon-moon{display:none}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:rgb(160 137 74 / .45)!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:rgb(160 137 74 / .25)!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:rgb(248 242 222 / .85)!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:rgb(27 24 19 / .45)!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:rgb(160 137 74 / .35)!important}html[data-ph-theme="light"] #classicModeContainer{background:linear-gradient(180deg,#F4ECD6 0%,#ECE0BC 50%,#F4ECD6 100%)!important;color:var(--ph-text)!important}html[data-ph-theme="light"] .cm-header{background:rgb(236 224 188 / .92)!important;border-bottom-color:rgb(160 137 74 / .35)!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:rgb(27 24 19 / .6)!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:rgb(248 242 222 / .9)!important;color:var(--ph-text)!important;-webkit-text-fill-color:var(--ph-text)!important;border-color:rgb(160 137 74 / .35)!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:rgb(27 24 19 / .55)!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:rgb(244 242 235 / .66)!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:rgb(27 24 19 / .66)!important}html[data-ph-theme="light"] #heroHeaderBar{background:linear-gradient(180deg,#ECE0BC,#E1D2A8)!important;border-bottom-color:rgb(160 137 74 / .4)!important;box-shadow:0 4px 20px rgb(27 24 19 / .08)!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 0%,#E4D7B3 50%,#DECEA0 100%)!important;box-shadow:inset 0 8px 30px rgb(27 24 19 / .1),0 -2px 15px rgb(160 137 74 / .15)!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:rgb(248 242 222 / .92)!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:rgb(160 137 74 / .35)!important}html[data-ph-theme="light"] #classicModeContainer .cm-controls{background:rgb(236 224 188 / .92)!important;border-bottom-color:rgb(160 137 74 / .2)!important}html[data-ph-theme="light"] #classicModeContainer .cm-keyboard-section{background:linear-gradient(180deg,#EFE6CC 0%,#E4D7B3 50%,#DECEA0 100%)!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:rgb(27 24 19 / .32)!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:rgb(56 142 60 / .92)!important;border-color:rgb(46 125 50 / .9)!important;color:#fff!important}html[data-ph-theme="light"] #pianoHeroContainer .hero-glass-btn-pause{background:rgb(239 124 0 / .92)!important;border-color:rgb(230 110 0 / .9)!important;color:#fff!important}html[data-ph-theme="light"] #pianoHeroContainer .hero-glass-btn-stop{background:rgb(211 47 47 / .92)!important;border-color:rgb(198 40 40 / .9)!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:rgb(160 137 74 / .6)!important}html[data-ph-theme="light"] #classicModeContainer .cm-playback-group{background:linear-gradient(135deg,rgb(248 242 222 / .92),rgb(236 224 188 / .96))!important;box-shadow:inset 0 1px 0 rgb(255 255 255 / .5),0 4px 16px rgb(27 24 19 / .12)!important}html[data-ph-theme="light"] #classicModeContainer .cm-keyboard{background:linear-gradient(180deg,#EFE6CC 0%,#E4D7B3 100%)!important;box-shadow:inset 0 2px 4px rgb(27 24 19 / .12),0 8px 32px rgb(27 24 19 / .12),0 0 40px rgb(160 137 74 / .1)!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,rgb(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 #fff0;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,rgb(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 #fff0;background-clip:padding-box}#heroScrollWrapper::-webkit-scrollbar-track,.cm-keyboard-scroll::-webkit-scrollbar-track{background:var(--ph-gold-soft,rgb(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 0.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 rgb(232 193 106 / .55),0 8px 30px rgb(0 0 0 / .55);background:radial-gradient(ellipse at center,rgb(0 0 0 / .3),#fff0 62%);pointer-events:none;z-index:20}.ph-countin-pulse{animation:phCountPulse 0.56s ease-out both}@keyframes phCountPulse{0%{transform:scale(.5);opacity:0}28%{transform:scale(1.1);opacity:1}100%{transform:scale(1);opacity:.88}}@media (prefers-reduced-motion:reduce){.ph-neon-cap{transition:none}.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{flex:0 0 auto}.pm-ph-embed #classicModeContainer .cm-control-group,.pm-ph-embed #classicModeContainer .cm-playback-group{flex:0 0 auto}