.app-header{position:relative;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem 120px;flex-shrink:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none}#app.app--welcome .app-header,#app.app--help .app-header{position:absolute;top:0;left:0;right:0;z-index:30;background:transparent;border-bottom:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .2s ease,border-color .2s ease}#app.app--welcome.app--header-scrolled .app-header,#app.app--help.app--header-scrolled .app-header{background:#07070b}.app-header-brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;min-width:0;text-decoration:none;color:#fff;transition:opacity .2s ease}.app-header-brand:hover{opacity:.92}.app-header-brand-icon{display:block;width:36px;height:36px;border-radius:8px;object-fit:cover;flex-shrink:0}.app-header-brand-name{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1;white-space:nowrap}.app-header-start{display:inline-flex;align-items:center;gap:1.5rem;min-width:0;flex-shrink:0}.app-header-end{display:inline-flex;align-items:center;gap:1rem;margin-left:auto;flex-shrink:0}.app-header-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:#fff;cursor:pointer;flex-shrink:0;transition:background .2s ease,color .2s ease}.app-header-menu-btn:hover{background:#ffffff14}.app-header-mobile-menu{display:none}.app-header-nav{display:flex;align-items:center;justify-content:flex-end;gap:2rem;font-size:1rem;font-weight:500;letter-spacing:.04em}.app-header-nav--desktop{margin-left:0}.app-header-nav-divider{display:block;width:1px;height:24px;margin-left:calc(.5rem + 30px);background:#ffffff38;flex-shrink:0}.app-header-nav a,.app-header-nav .nav-placeholder{color:#9ca3af;text-decoration:none;transition:color .2s,text-shadow .25s ease,background .2s ease,border-color .2s ease}.app-header-nav a:hover,.app-header-nav a.active{color:#fff;text-shadow:0 0 12px rgba(138,138,138,.9)}.app-header-nav-admin{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(124,58,237,.35);border-radius:999px;background:#7c3aed1f;color:#ddd6fe!important}.app-header-nav-admin:hover,.app-header-nav-admin.active{background:#7c3aed33;border-color:#a78bfa80;color:#fff!important}.app-header-nav .nav-placeholder{cursor:not-allowed;opacity:.85}.nav-login-btn,.nav-user-trigger{border:none;background:none;padding:0;font:inherit;font-weight:inherit;color:#9ca3af;cursor:pointer;flex:none;transition:color .2s,text-shadow .25s ease}.nav-login-btn:hover,.nav-user-trigger:hover,.nav-user-trigger.active{color:#fff;text-shadow:0 0 12px rgba(138,138,138,.9)}.nav-user-trigger--pending{cursor:default;color:#c4b5fd}.nav-user-menu{position:relative}.nav-user-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:var(--card-bg, #111827);box-shadow:0 12px 32px #0000008c;z-index:40}.nav-user-panel-email{margin:0 0 12px;font-size:.82rem;color:#9ca3af;word-break:break-word}.nav-user-logout-btn{width:100%;padding:8px 12px;border-radius:8px;border:1px solid rgba(248,113,113,.35);background:#f8717114;color:#fca5a5;font:inherit;cursor:pointer;transition:background .2s,border-color .2s}.nav-user-logout-btn:hover{background:#f8717129;border-color:#f871718c}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal-overlay--required{z-index:110}.auth-modal-panel{position:relative;width:min(100%,420px);padding:24px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#07070b;box-shadow:0 20px 48px #0000008c}.auth-modal-dismiss{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:#9ca3af;cursor:pointer;transition:color .2s ease,background .2s ease}.auth-modal-dismiss:hover:not(:disabled){color:#fff;background:#ffffff14}.auth-modal-dismiss:disabled{opacity:.5;cursor:not-allowed}.auth-modal-title{margin:0 0 8px;padding-right:36px;font-size:1.25rem;color:#fff}.auth-modal-subtitle{margin:0 0 20px;font-size:.92rem;line-height:1.5;color:#9ca3af}.auth-google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#fff;color:#111827;font:inherit;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.auth-google-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00000040}.auth-google-icon{width:20px;height:20px}.auth-modal-back-btn,.auth-primary-btn{width:100%;margin-top:12px;padding:10px 14px;border-radius:10px;font:inherit;cursor:pointer}.auth-modal-back-btn{border:1px solid rgba(255,255,255,.12);background:transparent;color:#9ca3af}.auth-modal-back-btn:hover:not(:disabled){color:#fff;border-color:#ffffff3d}.auth-modal-back-btn:disabled{opacity:.6;cursor:not-allowed}.auth-username-form{display:flex;flex-direction:column;gap:10px}.auth-username-input{width:100%;padding:10px 12px;border-radius:10px;border:0;background:#ffffff0a;color:#fff;font:inherit;box-sizing:border-box}.auth-username-input:focus{outline:none;border-color:#facc1573}.auth-username-hint{margin:0;font-size:.78rem;color:#6b7280}.auth-modal-error{margin:0;font-size:.85rem;color:#fca5a5}.auth-modal-success{margin:0 0 12px;font-size:.85rem;color:#86efac}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:#d1d5db}.auth-modal-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#6b7280;font-size:.82rem}.auth-modal-divider:before,.auth-modal-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.auth-secondary-btn,.auth-logout-btn{width:100%;margin-top:12px;padding:10px 14px;border-radius:10px;font:inherit;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.auth-secondary-btn{border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#e5e7eb}.auth-secondary-btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff3d}.auth-logout-btn{border:1px solid rgba(248,113,113,.35);background:#f8717114;color:#fca5a5}.auth-logout-btn:hover:not(:disabled){background:#f8717129;border-color:#f871718c}.auth-secondary-btn:disabled,.auth-logout-btn:disabled{opacity:.6;cursor:not-allowed}.auth-profile-heading{margin:0 0 14px;font-size:.95rem;font-weight:600;color:#e5e7eb}.auth-profile-list{display:flex;flex-direction:column;gap:20px;margin-bottom:20px;margin-top:20px}.auth-profile-row{display:flex;flex-direction:column;gap:4px}.auth-profile-row--with-action{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.auth-profile-row__content{display:flex;flex-direction:column;gap:4px;min-width:0}.auth-profile-label{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#9ca3af}.auth-profile-value{font-size:.95rem;color:#f3f4f6;word-break:break-word}.auth-profile-action-btn{flex-shrink:0;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:99px;background:#ffffff0a;color:#e5e7eb;font:inherit;font-size:.82rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.auth-profile-action-btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff3d}.auth-profile-action-btn:disabled{opacity:.45;cursor:not-allowed}.auth-delete-account-btn{display:block;width:fit-content;margin:10px auto 0;padding:0;border:none;background:transparent;color:#fca5a5;font:inherit;font-size:.82rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-delete-account-btn:hover:not(:disabled){color:#fecaca}.auth-delete-account-btn:disabled{opacity:.6;cursor:not-allowed}.auth-account-delete-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.auth-account-delete-actions__cancel,.auth-account-delete-actions__confirm{padding:10px 14px;border-radius:10px;font:inherit;cursor:pointer}.auth-account-delete-actions__cancel{border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#e5e7eb}.auth-account-delete-actions__confirm{border:1px solid rgba(248,113,113,.45);background:#f871711f;color:#fca5a5}.auth-account-delete-actions__cancel:disabled,.auth-account-delete-actions__confirm:disabled{opacity:.6;cursor:not-allowed}.auth-primary-btn{border:1px solid rgba(250,204,21,.35);background:#facc151f;color:#fde68a;font-weight:600}.auth-primary-btn:hover:not(:disabled){background:#facc1533}.auth-primary-btn:disabled{opacity:.6;cursor:not-allowed}.app-header-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#9ca3af;cursor:pointer;transition:color .2s,border-color .2s,background .2s,box-shadow .25s ease}.app-header-icons{display:inline-flex;align-items:center;gap:1rem;margin-left:.7rem}.app-header-icon-btn--user{border-radius:50%}.app-header-icon-btn--settings{border-radius:10px}.app-header-icon-btn.active,.app-header-icon-btn--settings.active{color:#facc15;border-color:#facc1559;background:#facc1514}.app-header-settings{position:relative}.app-header-settings-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:40;min-width:240px;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#07070b;box-shadow:0 16px 40px #00000073}.app-header-settings-panel__header h2{margin:0 0 12px;font-size:.92rem;font-weight:600;color:#fff;letter-spacing:.02em}.app-header-settings-row{display:flex;flex-direction:column;gap:8px}.app-header-settings-row label{font-size:.78rem;font-weight:500;color:#9ca3af;letter-spacing:.04em;text-transform:uppercase}.app-header-settings-select{width:100%;padding:9px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#f4f0ff;font:inherit;font-size:.92rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9ca3af 50%),linear-gradient(135deg,#9ca3af 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.app-header-settings-select:focus{outline:none;border-color:#facc1573}.app-header-settings-select option{color:#111827;background:#fff}.app-header-icon-btn:hover{color:#facc15;border-color:#facc1559;background:#facc1514;box-shadow:0 0 10px #facc158c,0 0 20px #a855f759}@media(max-width:1366px)and (min-width:1025px){.app-header{padding:.85rem 24px}}@media(max-width:1024px)and (min-width:601px){.app-header{padding:.65rem 24px}.app-header-brand-name{font-size:1.15rem}.app-header-brand-icon{width:32px;height:32px}.app-header-nav{gap:1.25rem;font-size:.82rem}}@media(max-width:600px){.app-header{justify-content:space-between;align-items:center;min-height:52px;padding:0 12px 0 4px;gap:.75rem}.app-header-start{gap:2px;flex:1;min-width:0}.app-header-menu-btn{display:inline-flex}.app-header-brand{position:static;transform:none;gap:8px;min-width:0}.app-header-brand-name{font-size:1rem}.app-header-brand-icon{width:28px;height:28px;border-radius:6px}.app-header-nav--desktop,.app-header-nav-divider{display:none}.app-header-end{gap:.65rem;margin-left:0}.app-header-nav a,.app-header-nav .nav-placeholder,.nav-login-btn,.nav-user-trigger{display:inline-flex;align-items:center;line-height:1;min-height:32px}.nav-login-btn,.nav-user-trigger{font-size:.82rem}.app-header-icon-btn{width:32px;height:32px;border-radius:6px}.app-header-icons{margin-left:0}.app-header-mobile-menu{display:block}.app-header-mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:none;padding:0;background:#0000008c;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s ease}.app-header-nav--mobile{display:flex;flex-direction:column;align-items:stretch;gap:0;position:fixed;top:52px;left:0;right:0;z-index:26;margin:0;padding:.35rem 0;font-size:.95rem;background:#030305;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 16px 40px #00000073;transform:translateY(-100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .32s ease,opacity .32s ease,visibility .32s ease}.app-header-mobile-menu.is-open .app-header-mobile-backdrop{opacity:1;pointer-events:auto}.app-header-mobile-menu.is-open .app-header-nav--mobile{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.app-header-nav--mobile a{padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.app-header-nav--mobile a:last-child{border-bottom:none}.nav-user-panel{right:0;left:auto}@media(prefers-reduced-motion:reduce){.app-header-mobile-backdrop,.app-header-nav--mobile{transition:none}}}.app-header{z-index:30}#app>main.main--sing-overlay-host{position:relative;isolation:isolate}.welcome-sing-overlay{position:absolute;left:var(--from-left);top:var(--from-top);width:var(--from-width);height:var(--from-height);background-color:#ffc107;z-index:100;pointer-events:auto;opacity:1;will-change:left,top,width,height,border-radius,background-color,opacity}.welcome-sing-overlay.is-expanding{animation:welcome-sing-expand .8s cubic-bezier(.42,0,.2,1) forwards}.welcome-sing-overlay.is-reveal,.welcome-sing-overlay.is-fading{left:var(--to-left);top:var(--to-top);width:var(--to-width);height:var(--to-height);border-radius:var(--sing-radius);background-color:#050505;opacity:1}.welcome-sing-overlay.is-fading{animation:welcome-sing-fade-out .5s ease forwards}@keyframes welcome-sing-expand{0%{left:var(--from-left);top:var(--from-top);width:var(--from-width);height:var(--from-height);border-radius:32px;background-color:#050505}35%{background-color:#050505}52%{left:var(--to-left);top:var(--to-top);width:var(--to-width);height:var(--to-height);border-radius:12px;background-color:#050505}78%{border-radius:6px;background-color:#050505}to{left:var(--to-left);top:var(--to-top);width:var(--to-width);height:var(--to-height);border-radius:0;background-color:#050505}}@keyframes welcome-sing-fade-out{0%{opacity:1;background-color:#050505}to{opacity:0;background-color:#050505}}#app>main.main--home-enter{opacity:0;animation:main-home-enter .4s ease .08s forwards}@keyframes main-home-enter{to{opacity:1}}.site-copyright-footer{position:relative;z-index:10;width:min(1180px,calc(100% - 48px));margin:0 auto 2rem;padding:1rem 0 .5rem;text-align:center}.site-copyright-footer p{margin:0;color:#f4f0ff6b;font-size:.82rem;letter-spacing:.02em}@media(max-width:768px){.site-copyright-footer{width:min(100% - 32px,1180px)}}@media(max-width:480px){.site-copyright-footer{width:calc(100% - 24px)}}.help-page-wrapper{min-height:100%;width:100%;margin:0;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;color:#f7f4ef;display:flex;flex-direction:column;align-items:center;position:relative;background:radial-gradient(circle at top left,rgba(124,77,255,.34),transparent 32%),radial-gradient(circle at bottom right,rgba(250,204,21,.24),transparent 52%),linear-gradient(180deg,#07070b,#0d1020 48%,#05060a);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.help-page-wrapper .welcome-pitch-grid-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;display:block;opacity:.42}.help-content{position:relative;z-index:10;flex:1;width:min(1180px,calc(100% - 48px));margin:0 auto;display:flex;flex-direction:column;gap:4.5rem;padding:5rem 0}.help-hero{display:flex;flex-direction:column;align-items:flex-start;text-align:left;justify-content:center;max-width:42rem}.help-kicker{display:inline-flex;align-items:center;gap:.65rem;padding:.45rem .9rem;border:1px solid rgba(190,196,255,.2);border-radius:999px;background:#0a0d1a94;color:#ddd5ff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.4rem}.help-hero h1{font-size:clamp(2.75rem,7vw,5rem);line-height:.96;font-weight:800;letter-spacing:-.05em;margin-bottom:1.1rem;text-transform:uppercase;color:#fff7ea}.help-hero .help-subtitle{max-width:38rem;color:#f7f4efd1;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.7}.help-section-heading{padding-top:40px;display:grid;gap:.55rem;max-width:42rem;margin-bottom:1.8rem}.help-section-heading p{color:#ffcf7d;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.help-section-heading h2{font-size:clamp(1.75rem,3.4vw,3rem);line-height:1.08;letter-spacing:-.04em;color:#fff8f2}.help-section{width:100%;display:grid;gap:1.25rem}.help-section p{max-width:56rem;color:#f4f0ffc7;font-size:1.02rem;line-height:1.75}.help-section p strong{color:#fff8f2}.help-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.help-capability{padding:1.35rem 1.5rem;border-radius:24px;background:var(--card-main);border:1px solid rgba(196,205,255,.12);box-shadow:0 22px 50px #00000038;transition:transform .2s ease,border-color .2s ease,box-shadow .25s ease}.help-capability:hover{transform:translateY(-3px);border-color:#c2ad268f;box-shadow:0 0 60px #6e69372b}.help-capability h3{font-weight:700;font-size:1.05rem;color:#fff8f2;margin-bottom:.75rem;letter-spacing:-.01em}.help-capability p{color:#f4f0ffc2;font-size:.96rem;line-height:1.7;margin:0;max-width:none}.help-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.help-step{padding:1.5rem;border-radius:24px;text-align:left;background:var(--card-main);border:1px solid rgba(196,205,255,.12);box-shadow:0 0 60px #0000009e;transition:transform .2s ease,border-color .2s ease,box-shadow .25s ease}.help-step:hover{transform:translateY(-3px);border-color:#a855f766;box-shadow:0 0 60px #4c376e59}.help-step-mark{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:999px;background:#ffb36824;color:#ffbf73;font-weight:700;font-size:1rem;margin-bottom:1.1rem}.help-step h3{font-weight:700;font-size:1.1rem;color:#fff8f2;margin-bottom:.75rem;letter-spacing:-.01em}.help-step p{color:#f4f0ffc2;font-size:.96rem;line-height:1.7;margin:0;max-width:none}.help-step p strong{color:#ffe2a8}.help-declaration{position:relative;z-index:10;width:min(1180px,calc(100% - 48px));margin:0 auto 2rem;padding:1.6rem 1.8rem;border:1px solid rgba(196,205,255,.12);border-radius:24px;background:var(--card-main);display:flex;flex-direction:column;gap:1rem;box-shadow:0 0 60px #0000009e}.help-declaration-copy{display:grid;gap:.5rem}.help-declaration-copy p{color:#ffcf7d;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.help-declaration-copy h2{font-size:1.3rem;color:#fff8f2;letter-spacing:-.01em}.help-declaration-body{max-width:64rem;color:#f4f0ffc7;font-size:.98rem;line-height:1.7}.help-declaration-body strong{color:#fff8f2}.help-warning{display:inline-flex;align-items:flex-start;color:#ffb8b8;font-size:.98rem;font-weight:600;line-height:1.5}.help-version-footnote{position:relative;z-index:10;width:min(1180px,calc(100% - 48px));margin:0 auto 2.5rem;padding:0 0 1rem;text-align:center;color:#f4f0ff6b;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:1024px){.help-capability-grid,.help-step-grid{grid-template-columns:1fr}.help-declaration{flex-direction:column;align-items:flex-start}}@media(max-width:768px){.help-content,.help-declaration,.help-version-footnote{width:min(100% - 32px,1180px)}.help-content{gap:3rem;padding-top:4.5rem}}@media(max-width:480px){.help-content,.help-declaration,.help-version-footnote{width:calc(100% - 24px)}.help-step,.help-declaration{border-radius:20px}}#app{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;max-width:100%;overflow:hidden}#app>main{flex:1;padding:16px 120px 24px;min-height:0;overflow:hidden;background-color:#000;background-size:40px 40px,40px 40px,100% 100%}.home-page{display:grid;grid-template-rows:1.85fr .75fr;gap:16px;height:100%;min-height:0}.home-save-phrase-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;font-size:.88rem}.pitch-graph-container .home-save-phrase-banner{position:absolute;bottom:12px;left:16px;right:16px;z-index:15;margin:0}.home-save-phrase-banner--success{background:#22c55e1f;border:0;color:#86efac}.home-save-phrase-banner--removed{background:#a855f71f;border:0;color:#d8b4fe}.home-save-phrase-banner__content{flex:1 1 auto;min-width:0;line-height:1.45}.home-save-phrase-banner__link{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}.home-save-phrase-banner__link:hover{color:#bbf7d0}.home-save-phrase-banner--error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fca5a5}.home-save-phrase-banner__close{border:none;background:transparent;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 4px}.bottom-section{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.4fr);gap:16px;min-height:0}.home-card{position:relative;background-color:var(--card-bg);border:1px solid #1a1a1a;border-radius:var(--border-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 24px #00000059;min-height:0}.home-card-menu.active{color:var(--text-color);background:#ffffff1a}.home-config-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.home-config-panel{position:relative;width:min(100%,480px);max-width:min(100%,480px);z-index:101;padding:16px 18px;border-radius:var(--border-radius);border:1px solid var(--card-border);background-color:var(--card-bg);box-shadow:0 20px 48px #0000008c;box-sizing:border-box}.home-config-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--card-border)}.home-config-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-color)}.home-config-close-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--card-border);border-radius:8px;background:transparent;color:var(--text-dim);cursor:pointer;flex-shrink:0;transition:color .15s ease,border-color .15s ease,background .15s ease}.home-config-close-btn:hover{color:var(--text-color);border-color:#ffffff29;background:#ffffff0f}.home-config-section{display:flex;flex-direction:column;gap:14px}.home-config-action-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.home-config-action-row .home-config-hint{flex:1;min-width:0;margin:0}.home-config-device-select{flex-shrink:0;max-width:min(240px,52%)}.home-config-device-select__input{max-width:160px}.home-config-slider-row{display:flex;align-items:center;gap:10px;flex-shrink:0;width:min(220px,46%);min-width:160px}.home-config-slider-row .home-config-slider{flex:1;min-width:0}.home-config-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-config-label{font-size:.9rem;font-weight:400;color:var(--text-main);line-height:1.3}.home-config-value-badge{font-size:.75rem;font-weight:400;color:var(--text-main);border-radius:6px;padding:2px 8px;line-height:1.4;flex-shrink:0;background:var(--accent-purple-dim)}.home-config-hint{font-size:.82rem;color:var(--text-dim);margin:0;line-height:1.35}.home-config-empty{font-size:.78rem;color:var(--text-dim);margin:0;line-height:1.4}.home-config-switch-row{display:flex;align-items:center;gap:10px;cursor:pointer}.home-config-switch-row:has(.home-config-switch-input:disabled){cursor:not-allowed}.home-config-switch-input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.home-config-switch{position:relative;width:40px;height:23px;flex-shrink:0;border-radius:4px;background:#ffffff29;transition:background-color .25s ease}.home-config-switch:after{content:"";position:absolute;top:2px;left:3px;width:22px;height:calc(100% - 4px);border-radius:4px;background:var(--card-bg);transition:transform .25s ease}.home-config-switch-input:checked+.home-config-switch{background:var(--pause-btn-gradient)}.home-config-switch-input:checked+.home-config-switch:after{transform:translate(12px)}.home-config-switch-input:disabled+.home-config-switch{opacity:.45}.home-config-switch-row:has(.home-config-switch-input:focus-visible) .home-config-switch{outline:2px solid var(--accent-purple-bright);outline-offset:2px}@media(prefers-reduced-motion:reduce){.home-config-switch,.home-config-switch:after{transition:none}}.home-config-action-btn{width:96px;min-width:96px;flex-shrink:0;white-space:nowrap;text-align:center;padding:10px;border:1px solid var(--card-border);border-radius:8px;background:#ffffff0f;color:var(--text-color);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.home-config-action-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff29}.home-config-action-btn:disabled{opacity:.45;cursor:not-allowed}.home-config-action-btn--danger{border:1px solid rgba(248,113,113,.45);background:#7f1d1d59}.home-config-action-btn--danger:hover:not(:disabled){background:#f871711f;border-color:#f8717180}.play-btn:disabled:not(.play-btn--idle){opacity:.45;cursor:not-allowed;box-shadow:none}.home-config-slider{width:100%;height:6px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border-radius:999px;outline:none;cursor:pointer;touch-action:none}.home-config-slider:disabled{opacity:.45;cursor:not-allowed}.home-config-slider::-webkit-slider-runnable-track{height:6px;background:#ffffff1f;border-radius:999px}.home-config-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:-5px;border-radius:50%;background:var(--text-main);cursor:pointer}.home-config-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;border:2px solid var(--accent-purple-bright);background:var(--card-bg);box-shadow:0 0 8px #a855f773;cursor:pointer}.home-config-slider::-moz-range-track{height:6px;background:#ffffff1f;border-radius:999px}.home-card-header{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;height:40px;padding:0 14px 0 18px;border-bottom:0;flex-shrink:0}.home-card-title{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9ba2a8;min-width:0;justify-self:start}.home-card-menu{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;height:auto;padding:2px;justify-self:end;flex-shrink:0;border:none;border-radius:4px;background:transparent;color:var(--text-dim);cursor:pointer;line-height:0;transition:color .2s,background .2s}.home-card-menu svg{display:block}.home-card-menu:hover{color:var(--text-color);background:#ffffff0f}.home-card-body{flex:1;min-height:0;display:flex;flex-direction:column}.pitch-graph-container{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:100%;min-height:0;flex:1;overflow:hidden;position:relative;background:#0f0f0f}.pitch-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden;background:#0505058c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pitch-upload-panel{position:relative;width:min(560px,100%);max-height:100%;min-height:0;padding:20px 20px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#121216d1;text-align:center;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;overflow:hidden}.pitch-upload-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;width:100%;padding:4px}.pitch-upload-panel--with-back{padding-top:44px}.pitch-upload-back-btn{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:#ffffffd1;cursor:pointer;transition:color .15s ease,opacity .15s ease}.pitch-upload-back-btn:hover{color:#fff;opacity:.85}.pitch-upload-title{margin:0 0 12px;flex-shrink:0;font-size:1.1rem;font-weight:600;color:var(--text-color)}.pitch-upload-subtitle{margin:0 0 28px;font-size:.84rem;line-height:1.55;color:var(--text-dim)}.pitch-upload-file-input{display:none}.pitch-upload-online-search{width:100%;text-align:left}.pitch-upload-online-search-row{display:flex;align-items:stretch;gap:10px}.pitch-upload-online-search-row .pitch-upload-search-btn{width:auto;min-width:80px;margin:0;height:38px;padding-top:10px;padding-bottom:10px;flex-shrink:0}.pitch-upload-song-results{max-height:188px;margin-top:10px;border:1px solid rgba(255,255,255,.08);border-radius:8px}.pitch-upload-song-progress{margin-top:10px}.pitch-upload-song-result{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:inherit;text-align:left;cursor:pointer}.pitch-upload-song-result:last-child{border-bottom:0}.pitch-upload-song-result:disabled{cursor:wait}.pitch-upload-song-result-main{display:flex;flex:1 1 auto;min-width:0;align-items:baseline;gap:10px}.pitch-upload-song-result-title{flex:1 1 auto;min-width:0}.pitch-upload-song-result-artist{flex:0 1 42%;min-width:0;margin-top:1px;color:var(--text-dim);font-size:.74rem;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitch-upload-song-result-duration{flex:0 0 42px;margin-left:auto;color:var(--text-dim);font-size:.74rem;font-variant-numeric:tabular-nums;text-align:right}.pitch-upload-song-result-icon,.pitch-upload-song-result-icon svg{display:none}.pitch-upload-song-results--loading{min-height:164px;padding:4px 0}.pitch-upload-song-skeleton{position:relative;min-height:52px;padding:12px;border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden}.pitch-upload-skeleton-line{display:block;height:10px;border-radius:999px;background:#ffffff1a}.pitch-upload-skeleton-line--title{width:42%}.pitch-upload-skeleton-line--artist{width:28%;margin-top:9px;opacity:.7}.pitch-upload-skeleton-line--duration{position:absolute;top:14px;right:12px;width:34px}.pitch-upload-song-skeleton:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.12) 45%,transparent 70%);transform:translate(-100%);animation:pitch-upload-skeleton-shimmer 1.35s ease-in-out infinite}.pitch-upload-divider{display:flex;align-items:center;gap:12px;width:100%;margin:16px 0;color:var(--text-dim);font-size:.72rem}.pitch-upload-divider:before,.pitch-upload-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.pitch-upload-lyrics-note{margin:2px 0 8px;color:#c4b5fd;font-size:.72rem}.pitch-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:17.5px 16px;border:none;border-radius:8px;background:var(--sing-btn-gradient);color:var(--sing-btn-text);font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .25s ease;box-shadow:var(--sing-btn-shadow)}.pitch-upload-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--sing-btn-shadow-hover)}.pitch-upload-btn:disabled{opacity:.55;cursor:not-allowed}.pitch-upload-disclaimer{margin:14px 0 0;font-size:.78rem;line-height:1.5;color:#ffffff6b;text-align:center}.pitch-upload-btn--continue{width:100%;padding:10px 16px}.pitch-upload-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin:0 0 12px;text-align:left}.pitch-upload-field-row{display:grid;grid-template-columns:6.75rem minmax(0,1fr);gap:12px;align-items:center;width:100%;margin:0 0 12px;text-align:left}.pitch-upload-field-label{font-size:.84rem;font-weight:500;color:#f7f4efe0}.pitch-upload-title-input-row{display:flex;align-items:center;gap:10px;width:100%}.pitch-upload-title-input{flex:1 1 auto;min-width:0;padding:10px 12px;border:1px solid var(--card-border);border-radius:8px;background:#00000059;color:var(--text-color);font-size:.86rem}.pitch-upload-title-input:focus{outline:none;border-color:#7c3aed8c}.pitch-upload-title-input-row .pitch-upload-search-btn{width:auto;margin:0;min-width:96px;padding:10px 16px;flex-shrink:0}.pitch-upload-vocal-range-select{flex:1 1 auto;min-width:0;padding:10px 12px;border:1px solid var(--card-border);border-radius:8px;background:#00000059;color:var(--text-color);font-size:.86rem;cursor:pointer}.pitch-upload-vocal-range-select:focus{outline:none;border-color:#7c3aed8c}.pitch-upload-vocal-range-select option{background:var(--card-bg);color:var(--text-color)}.pitch-upload-field{display:flex;flex-direction:column;gap:6px;font-size:.72rem;color:var(--text-dim)}.pitch-upload-field input{width:100%;padding:10px 12px;border:1px solid var(--card-border);border-radius:8px;background:#00000059;color:var(--text-color);font-size:.86rem}.pitch-upload-field input:focus{outline:none;border-color:#7c3aed8c}.pitch-upload-search-btn{width:100%;margin:0 0 12px;padding:11px 16px;border:none;border-radius:6px;background:var(--pause-btn-gradient);color:var(--pause-btn-text);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,box-shadow .15s ease;flex-shrink:0}.pitch-upload-search-btn:hover:not(:disabled){background:#8b5cf6}.pitch-upload-search-btn:disabled{opacity:.5;cursor:not-allowed}.pitch-upload-search-icon-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:#ffffff85;cursor:pointer}.pitch-upload-search-icon-btn:hover:not(:disabled){color:#ffffffb3}.pitch-upload-search-icon-btn:disabled{opacity:.45;cursor:not-allowed}.pitch-upload-search-input-shell{position:relative;flex:1 1 auto;min-width:0}.pitch-upload-title-input--with-icon{width:100%;padding-right:38px}.pitch-upload-empty{margin:0 0 12px;font-size:.8rem;color:var(--text-dim)}.pitch-upload-results{width:100%;flex:1 1 auto;overflow-y:auto;text-align:left;height:200px;border-radius:6px;border:1px solid rgba(255,255,255,.06)}.pitch-upload-result{display:flex;align-items:center;gap:18px;padding:12px;border-bottom:1px solid rgba(255,255,255,.06)}.pitch-upload-song-result{min-height:62px}.pitch-upload-result.selected{background:#7c3aed14}.pitch-upload-result-main{flex:1 1 auto;min-width:0;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.pitch-upload-result-main:disabled{cursor:wait}.pitch-upload-result-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.pitch-upload-result-title{font-size:.92rem;font-weight:600;color:var(--text-color)}.pitch-upload-result-duration{font-size:.72rem;font-weight:500;color:var(--text-dim)}.pitch-upload-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.pitch-upload-badge--synced{background:#7c3aed;color:#fff}.pitch-upload-badge--recommended{gap:4px;background:#eab30829;color:#fde68a}.pitch-upload-result-subtitle{font-size:.74rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitch-upload-result-actions{display:flex;flex-shrink:0;gap:6px}.pitch-upload-view-lyrics-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#ffffffb8;cursor:pointer;transition:color .15s ease,opacity .15s ease}.pitch-upload-view-lyrics-btn:hover{color:#fff;opacity:.88}.pitch-upload-footer{display:flex;align-items:center;justify-content:flex-end;width:100%;margin-top:10px;flex-shrink:0}.pitch-upload-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pitch-upload-preview-panel{width:min(520px,100%);max-height:min(80vh,500px);display:flex;flex-direction:column;gap:14px;padding:18px 18px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#121216f5;box-shadow:0 16px 48px #00000073}.pitch-upload-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-align:left}.pitch-upload-preview-header h4{margin:0;font-size:1rem;color:var(--text-color)}.pitch-upload-preview-header p{margin:4px 0 0;font-size:.82rem;color:var(--text-dim)}.pitch-upload-preview-close{border:none;background:transparent;color:var(--text-dim);font-size:1.5rem;line-height:1;cursor:pointer}.pitch-upload-preview-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;text-align:left}.pitch-upload-preview-line{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:6px 0;font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.04)}.pitch-upload-preview-line span:first-child{color:#a78bfa;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem}.pitch-upload-preview-line span:last-child{color:var(--text-color)}.pitch-upload-progress{margin-top:10px;text-align:left;flex-shrink:0}.pitch-upload-progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.75rem;color:var(--text-dim)}.pitch-upload-progress-label span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pitch-upload-progress-track{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.pitch-upload-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#a855f7,#eab308);transition:width .25s ease}@keyframes pitch-upload-skeleton-shimmer{to{transform:translate(100%)}}.pitch-upload-error{margin:8px 0 0;flex-shrink:0;font-size:.8rem;color:#f87171;line-height:1.4}.graph-placeholder{color:var(--text-dim);font-size:.9rem;letter-spacing:1px}#pitchCanvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#playhead-line{position:absolute;top:0;bottom:0;width:2px;background-color:#ffffffd9;z-index:10;pointer-events:none;transition:background-color .2s ease;box-shadow:0 0 8px #ffffff59}#playhead-line.recording{background-color:var(--accent-yellow);box-shadow:0 0 10px #9333ea66}.selection-area{flex:1;display:flex;flex-direction:column;min-height:0}.list-headers{display:grid;grid-template-columns:.5fr 1.5fr;background:linear-gradient(to right,var(--accent-purple),var(--accent-purple-bright));padding:10px 0;font-weight:600;font-size:1rem;flex-shrink:0}.header-cell{padding:0 15px}.list-content{flex:1;display:grid;grid-template-columns:.5fr 1.5fr;min-height:0}.column{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.column::-webkit-scrollbar{display:none}.artist-col{border-right:4px solid var(--divider-color)}.artist-header{display:flex;justify-content:space-between;align-items:center}.lang-select{border-radius:6px;border:0;cursor:pointer;background:transparent;color:var(--text-color);font-size:1rem}.lang-select option{font-size:1rem;background:var(--card-bg);color:var(--text-color)}.song-item{display:flex;justify-content:space-between;align-items:center}.column-item{padding:12px 15px;border-bottom:2px solid rgba(255,255,255,.05);cursor:pointer;font-size:.9rem;transition:background .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.column-item:hover{background-color:#ffffff0d}.column-item.active{background-color:#7c4dff1a;color:var(--accent-purple);border-left:3px solid var(--accent-purple)}.player-card{container-type:inline-size;container-name:player-card}.player-card-header--review{grid-template-columns:1fr auto auto}.player-review-mode-label{justify-self:end;margin-right:4px;padding:4px 10px;border-radius:4px;border:1px solid rgba(234,179,8,.45);background:#eab30824;color:#fde68a;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.player-card .home-card-body{justify-content:stretch;min-width:0}.player-area{flex:1;min-height:0;min-width:0;background-color:transparent;padding:10px 16px 14px;display:flex;flex-direction:column;justify-content:center;gap:10px;overflow:hidden;box-sizing:border-box}.player-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;flex-shrink:0;margin-top:-16px;padding-bottom:16px}.player-track-title{font-size:1rem;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;line-height:1.4;flex:1;min-width:0;padding:0}.playback-stem-toggle{position:relative;width:75px;height:26px;border:none;border-radius:6px;padding:0;cursor:pointer;overflow:hidden;flex-shrink:0;transition:background .2s ease}.playback-stem-toggle:disabled{opacity:.45;cursor:not-allowed}.playback-stem-toggle--mix{background:#1f1f1f}.playback-stem-toggle--instr{background:var(--pause-btn-gradient)}.playback-stem-toggle__knob{position:absolute;top:2px;width:27px;height:calc(100% - 4px);background:var(--card-bg);border-radius:5px;box-shadow:0 1px 4px #0000002e;transition:left .2s ease}.playback-stem-toggle--mix .playback-stem-toggle__knob{left:3px}.playback-stem-toggle--instr .playback-stem-toggle__knob{left:calc(100% - 29px)}.playback-stem-toggle__label{position:absolute;top:47%;transform:translateY(-50%);font-weight:700;font-size:.8rem;letter-spacing:.02em;pointer-events:none;-webkit-user-select:none;user-select:none}.playback-stem-toggle--mix .playback-stem-toggle__label{right:10px;color:var(--text-main)}.playback-stem-toggle--instr .playback-stem-toggle__label{left:10px;color:var(--bg-dark)}.player-review-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:#9333ea14;border:1px solid rgba(147,51,234,.2);border-radius:8px;margin-top:12px;margin-bottom:4px}.vocal-playback-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px;font-weight:600;color:#fff;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.vocal-playback-btn:hover{background:#ffffff1a;border-color:#fff3}.vocal-playback-btn--active{background:#9333ea;border-color:#a855f7;box-shadow:0 0 12px #9333ea66}.vocal-playback-btn--active:hover{background:#a855f7;border-color:#c084fc}.controls-row{display:grid;padding-top:20px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;width:100%;min-width:0;flex-shrink:0}.audio-player-mobile-config{display:none}.controls{display:inline-flex;align-items:center;justify-content:center;gap:14px;width:fit-content;max-width:100%;margin:0;justify-self:center;grid-column:2;min-width:0;flex-shrink:0}.transport-btn{width:52px;height:52px;min-width:52px;min-height:52px;max-width:52px;max-height:52px;flex:0 0 52px;border:none;border-radius:50%;background:transparent;color:#ffffffb8;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .2s,background .2s,transform .1s}.transport-btn:hover{color:var(--text-color);background:#ffffff14}.transport-btn:active{transform:scale(.94)}.play-btn{width:56px;height:56px;min-width:56px;min-height:56px;max-width:56px;max-height:56px;flex:0 0 56px;aspect-ratio:1 / 1;padding:0;border-radius:50%;background:var(--sing-btn-gradient);border:none;color:var(--sing-btn-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;box-sizing:border-box;box-shadow:var(--sing-btn-shadow-compact);transition:transform .2s ease,box-shadow .25s ease,background .2s,color .2s}.play-btn:hover:not(:disabled):not(.play-btn--playing):not(.play-btn--review):not(.play-btn--idle){box-shadow:var(--sing-btn-shadow-compact-hover)}.play-btn--idle,.play-btn--idle:disabled{opacity:1;background:#ffffff1a;color:#9ca3af;box-shadow:none;cursor:not-allowed}.play-btn--playing{background:var(--pause-btn-gradient);color:var(--pause-btn-text);box-shadow:var(--pause-btn-shadow-compact)}.play-btn--playing:hover:not(:disabled){box-shadow:var(--pause-btn-shadow-compact-hover)}.play-btn--review{background:#0c0b11;color:#eab308;box-shadow:0 1px 10px #eab308;border:2px solid #eab308}.play-btn--review:hover{background:#15141c;color:#facc15}.play-btn--review-pause{color:var(--accent-purple-bright);border-color:var(--accent-purple-bright);box-shadow:0 1px 10px #a855f773}.play-btn--review-pause:hover{color:var(--accent-purple);border-color:var(--accent-purple)}.play-btn:active{transform:scale(.95)}.progress-row{display:flex;align-items:center;gap:10px;width:100%;flex-shrink:0}.time-current,.time-duration{font-size:.8rem;color:#b0b0b0;min-width:35px;flex-shrink:0}.progress-bar-container{width:100%;height:5px;min-height:5px;background-color:#ffffff1f;border-radius:999px;position:relative;cursor:pointer;display:block;overflow:visible;flex:1;margin-bottom:0;touch-action:none}.progress-bar-container:not(.is-playing){cursor:grab}.progress-bar-container.is-dragging{cursor:grabbing}.progress-bar-container.is-dragging .progress-fill{transition:none}.progress-fill{width:0;height:100%;background:linear-gradient(90deg,#a855f7,#eab308);border-radius:999px;position:relative;transition:width .1s linear}.progress-thumb{width:12px;height:12px;background:#fff;border-radius:50%;position:absolute;right:-6px;top:50%;transform:translateY(-50%);border:none;box-shadow:0 0 6px #00000073;z-index:10}.mic-select-wrapper{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#ffffff0a;border:0;border-radius:6px;color:var(--text-dim);width:auto;min-width:0;max-width:100%;box-sizing:border-box;grid-column:1;justify-self:start}.mic-select-wrapper svg:first-of-type{flex-shrink:0}.mic-select{background:transparent;border:none;border-radius:0;color:var(--text-color);font-size:.75rem;padding:0;flex:0 1 auto;min-width:0;width:auto;max-width:100px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis}.mic-chevron{flex-shrink:0;pointer-events:none;opacity:.7}.mic-select:hover{border-color:var(--card-bg);background:var(--card-bg)}.mic-select:disabled{opacity:.4;cursor:not-allowed}.mic-select option{background:var(--card-bg);color:var(--text-color)}.volume-control{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:auto;min-width:0;color:var(--text-dim);grid-column:3;justify-self:end}.volume-icon{flex-shrink:0}.volume-mute-btn{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--text-dim);cursor:pointer;flex-shrink:0;transition:color .15s ease,opacity .15s ease}.volume-mute-btn:hover{color:var(--text-color)}.volume-mute-btn.is-muted{color:#ffffff73}.volume-mute-btn.is-muted:hover{color:#ffffffb8}.volume-fill--muted{opacity:.35}.volume-bar{width:96px;height:5px;min-height:5px;background-color:#ffffff1f;border-radius:999px;cursor:pointer;position:relative;overflow:visible;touch-action:none}.volume-fill{width:50%;height:100%;background:var(--pause-btn-gradient);border-radius:999px;position:relative;flex-shrink:0;pointer-events:none}.volume-thumb{width:14px;height:14px;background:#fff;border-radius:50%;position:absolute;right:-5px;top:50%;transform:translateY(-50%);box-shadow:0 0 4px #00000073;pointer-events:none}.visualizer-body{overflow:hidden;justify-content:center}.visualizer-card .waveform-visualizer-area{flex:0 0 70%;min-height:0;border-bottom:none;overflow:visible}.waveform-visualizer-area{flex:1;min-height:0;position:relative}.waveform-visualizer-toolbar{position:absolute;left:20px;z-index:10;display:inline-flex;align-items:center;gap:12px;margin-top:-20px;pointer-events:auto}.pitch-graph-container .waveform-visualizer-toolbar--pitch{display:none}.waveform-listen-btn{position:static;display:inline-flex;align-items:center;height:26px;gap:8px;padding:6px 14px;border:0;border-radius:6px;background:#1f1f1f;font-size:.8rem;color:var(--text-dim);font-weight:700;white-space:nowrap;cursor:pointer;pointer-events:auto;transition:background .15s ease,border-color .15s ease,color .15s ease}.waveform-listen-btn:hover{background:#ffffff1a;border-color:#ffffff38;color:var(--text-color)}.waveform-listen-btn.active{background:var(--pause-btn-gradient);color:#08080a}.waveform-listen-btn.active:hover{color:#fff}.waveform-listen-btn svg{flex-shrink:0}.waveform-speed-group{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.waveform-speed-icon{width:30px;height:30px;flex-shrink:0;color:#bababa}.waveform-speed-control{display:inline-flex;align-items:stretch;height:26px;flex-shrink:0;border-radius:6px;overflow:hidden}.waveform-speed-control__step{display:inline-flex;align-items:center;justify-content:center;width:26px;padding:0;border:0;background:#ffffff0a;color:var(--text-dim);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.waveform-speed-control__step:first-child{border-right:none}.waveform-speed-control__step:last-child{border-left:none}.waveform-speed-control__step:hover:not(:disabled){background:#a754f51f;color:var(--text-color)}.waveform-speed-control__step:disabled{opacity:.35;cursor:not-allowed}.waveform-speed-control__track{--speed-thumb-half: 22px;position:relative;width:105px;cursor:pointer;touch-action:none;overflow:hidden;background:#ffffff0a}.waveform-speed-control__thumb{position:absolute;top:0;bottom:0;left:calc(var(--speed-thumb-half) + (100% - (var(--speed-thumb-half) * 2)) * var(--speed-ratio, 1));transform:translate(-50%);min-width:44px;border:0;border-radius:6px;background:#3a3a3a;color:var(--text-main);font-size:.82rem;font-weight:700;white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.waveform-speed-group:not(.is-disabled) .waveform-speed-control__thumb{background:var(--pause-btn-gradient);color:#08080a}.waveform-speed-control__thumb:active{cursor:grabbing}#waveformCanvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;display:block}.waveform-center-line{position:absolute;left:24px;right:22px;top:50%;height:3px;transform:translateY(-50%);background-color:#4a4a4a08;pointer-events:none;z-index:2;transition:background-color .2s ease,box-shadow .2s ease;border-radius:4px}.waveform-indicator-bar{position:absolute;right:18px;top:20px;bottom:20px;width:6px;border-radius:5px;background-color:#444;pointer-events:none;z-index:10}.visualizer-card .waveform-indicator-bar{top:50%;bottom:auto;height:calc(100% / .75 - 30px);transform:translateY(-50%)}.waveform-indicator-bar.recording{background-color:var(--accent-yellow);box-shadow:0 0 6px #7c4dff}@keyframes bounce{0%,to{height:20%;opacity:.5}50%{height:100%;opacity:1}}.lyrics-area{flex:.8;min-height:0;padding:14px 20px 18px;text-align:center;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;gap:10px}.lyrics-area--pitch{position:absolute;left:0;right:0;bottom:6%;z-index:6;flex:none;padding:0 24px;pointer-events:none;gap:8px}.lyric-line{text-align:center;transition:all .3s ease;width:100%}.lyric-line.active{font-size:1.35rem;font-weight:700;color:var(--accent-yellow);text-shadow:0 0 12px rgba(147,51,234,.4);opacity:1;transform:scale(1.02)}.lyric-line.prev,.lyric-line.next{font-size:1rem;color:var(--text-dim);opacity:.55;filter:none;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.lyrics-area--pitch .lyric-line.active{font-size:1.8rem;font-weight:700;line-height:1.35}.lyrics-area--pitch .lyric-line.next{font-size:1.2rem;opacity:.5;line-height:1.3}.lyric-line.empty{height:1.2rem}#monitor-container{position:relative;width:100%;flex:1 1 auto;min-height:0;height:100%;background:#0f0f0f;border:none;box-shadow:none;overflow:hidden;border-top:1px solid #1f1f1f;border-radius:0}#monitor-container canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border-radius:inherit}.monitor-container--preview{padding:0 16px 0 0}.monitor-container--preview.monitor-container--review{padding:0 8px 0 0}.monitor-container--preview canvas{width:100%;height:100%}.pitch-review-controls{position:absolute;top:10px;right:4px;bottom:10px;z-index:10;display:flex;flex-direction:row;align-items:flex-start;gap:10px;pointer-events:auto}.pitch-review-controls .pitch-preview-vscroll{position:static;top:auto;right:auto;bottom:auto;height:100%;flex-shrink:0}.pitch-preview-vscroll{position:absolute;top:10px;right:4px;bottom:10px;width:14px;z-index:8;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:auto}.pitch-preview-vscroll__arrow{flex:0 0 auto;width:0;height:0;padding:0;border:none;background:transparent;cursor:pointer;opacity:.42;transition:opacity .15s ease}.pitch-preview-vscroll__arrow:hover{opacity:.72}.pitch-preview-vscroll__arrow--up{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid rgba(255,255,255,.45)}.pitch-preview-vscroll__arrow--down{border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(255,255,255,.45)}.pitch-preview-vscroll__track{flex:1 1 auto;width:100%;min-height:0;position:relative;background:#ffffff08;border-radius:999px;cursor:pointer;touch-action:none}.pitch-preview-vscroll__thumb{position:absolute;left:50%;width:4px;height:56px;border-radius:999px;background:#ffffff47;transform:translate(-50%,-50%);pointer-events:none}.pitch-card #monitor-container{border-top:0}.home-card-menu--floating{position:absolute;top:12px;right:12px;z-index:30;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#0f0f0fb8;color:var(--text-dim);cursor:pointer;line-height:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:color .15s ease,background .15s ease,border-color .15s ease}.home-card-menu--floating:hover{color:var(--text-color);background:#ffffff1a;border-color:#ffffff73}.home-card-menu--floating.active{color:var(--text-color);background:#ffffff1f;border-color:#a855f7a6}.home-card-menu--floating svg{display:block}.pitch-card .pitch-review-controls,.pitch-card .pitch-preview-vscroll{top:48px}.pitch-review-prompt{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:flex;align-items:center;justify-content:center}.pitch-review-prompt__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#08080859;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.pitch-review-prompt__btn{position:relative;z-index:1}.pitch-results-processing{position:absolute;top:0;right:0;bottom:0;left:0;z-index:14;display:flex;align-items:center;justify-content:center}.pitch-results-processing__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0808086b;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pitch-results-processing__panel{position:relative;z-index:1;width:min(320px,78%);padding:20px 22px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#121018f0;box-shadow:0 18px 40px #00000073}.pitch-results-processing__label{margin:0 0 12px;color:#e5e7eb;font-size:.95rem;font-weight:600;text-align:center}.pitch-results-processing__fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#a855f7,#eab308);transition:width .12s ease-out}.pitch-results-processing__percent{display:block;margin-top:8px;color:var(--text-dim);font-size:.78rem;font-variant-numeric:tabular-nums;text-align:right}.pitch-review-offkeys__phrase-group{display:flex;flex-direction:column;gap:2px}.pitch-review-offkeys__item-row{display:flex;align-items:center;gap:6px}.pitch-review-offkeys__list{display:flex;flex-direction:column;gap:8px;padding:4px 0 2px}.pitch-review-offkeys__item-row .pitch-review-offkeys__item{flex:1 1 auto}.pitch-review-offkeys__save{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:#fbbf24;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.pitch-review-offkeys__save:hover{background:#eab3082e;border-color:#eab3088c;color:#fde68a}.pitch-review-offkeys__save--saved{background:#eab3082e;border-color:#eab3088c;color:#fbbf24}.pitch-review-offkeys__save--saved:hover{background:#eab3082e;border-color:#eab3088c;color:#fde68a}.pitch-review-offkeys__expand{flex:0 0 auto;min-width:32px;padding:0 8px;border:none;border-radius:8px;background:#eab3081f;color:#fbbf24;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s ease}.pitch-review-offkeys__expand:hover,.pitch-review-offkeys__expand--open{background:#eab3083d}.pitch-review-offkeys__chunks{list-style:none;margin:0 0 4px;padding:0 0 0 12px;border-left:2px solid rgba(234,179,8,.25)}.pitch-review-offkeys__chunk{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:#d1d5db;font-size:.84rem;text-align:left;cursor:pointer;transition:background .15s ease}.pitch-review-offkeys__chunk:hover{background:#dc3c2824}.pitch-review-offkeys__chunk-time{font-variant-numeric:tabular-nums;font-weight:600}.pitch-review-offkeys__chunk-error{font-size:.76rem;font-weight:700;color:#f87171;text-transform:uppercase;letter-spacing:.03em}.pitch-review-toolbar{display:flex;flex-direction:row;align-items:flex-start;gap:8px;flex-shrink:0}.pitch-review-toolbar__btn{box-sizing:border-box;height:50px;padding:0 21px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0f;color:var(--text-dim);font-size:1rem;font-weight:600;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background .15s ease,border-color .15s ease,color .15s ease}.pitch-review-toolbar__btn:hover{background:#ffffff1a;color:var(--text-color)}.pitch-review-toolbar__btn--offkeys{border-color:#eab3088c;background:#eab3082e;color:#fde68a;border-width:2px;border-radius:999px}.pitch-review-toolbar__btn--offkeys:hover,.pitch-review-toolbar__btn--offkeys.pitch-review-toolbar__btn--active{background:#eab3084d;border-color:#facc15a6;color:#fef9c3}.pitch-review-offkeys{position:relative;flex:0 0 auto}.pitch-review-offkeys__menu{position:absolute;top:calc(100% + 8px);left:0;z-index:20;min-width:240px;max-width:min(300px,70vw);max-height:min(280px,45vh);overflow-y:auto;padding:6px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#07070b;box-shadow:0 16px 36px #00000073}.pitch-review-offkeys__summary{padding:10px 12px 8px;color:#fde68a;font-size:.88rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px}.pitch-review-offkeys__empty{padding:12px 14px;color:var(--text-dim);font-size:.92rem}.pitch-review-offkeys__item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-color);font-size:.92rem;text-align:left;cursor:pointer;transition:background .15s ease}.pitch-review-offkeys__item:hover{background:#eab30829}.pitch-review-offkeys__item-time{flex:1 1 auto;min-width:0;font-variant-numeric:tabular-nums;color:#e5e7eb;font-weight:600;white-space:nowrap}.pitch-review-offkeys__item-label{font-size:.82rem;font-weight:700;color:#fbbf24;text-transform:uppercase;letter-spacing:.03em}.pitch-review-toolbar__btn--alignment{border-color:#eab3088c;background:#eab3082e;color:#fde68a;border-width:2px;border-radius:999px}.pitch-review-toolbar__btn--alignment:hover,.pitch-review-toolbar__btn--alignment.pitch-review-toolbar__btn--active{background:#eab3084d;border-color:#facc15a6;color:#fef9c3}.pitch-review-alignment{position:relative;flex:0 0 auto}.pitch-review-alignment__menu{position:absolute;top:calc(100% + 8px);right:0;z-index:20;min-width:220px;max-width:min(280px,70vw);max-height:min(280px,45vh);overflow-y:auto;padding:6px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#07070b;box-shadow:0 16px 36px #00000073}.pitch-review-alignment__empty{padding:12px 14px;color:var(--text-dim);font-size:.92rem}.pitch-review-alignment__item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-color);font-size:.92rem;text-align:left;cursor:pointer;transition:background .15s ease}.pitch-review-alignment__item:hover{background:#aa78002e}.pitch-review-alignment__item-time{font-variant-numeric:tabular-nums;color:#e5e7eb;font-weight:600}.pitch-review-alignment__item-label{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.pitch-review-alignment__item-label--late{color:#fbbf24}.pitch-review-alignment__item-label--early{color:#93c5fd}.pitch-review-toolbar__btn--primary{gap:.45rem;border-radius:999px;background:#a855f729;border-color:#a855f759;border-width:2px;color:var(--text-main)}.pitch-review-toolbar__btn--primary svg{flex-shrink:0}.pitch-review-toolbar__btn--primary:hover{background:#a855f738;color:var(--text-main)}.pitch-review-prompt .pitch-review-prompt__btn.pitch-review-toolbar__btn{height:65px;padding:0 32px;border-radius:99px;font-size:1.5rem;font-weight:700}#note-display{position:absolute;top:14px;left:50%;transform:translate(-50%);font-size:2.75rem;font-weight:700;color:var(--accent-yellow);text-shadow:0 0 12px rgba(147,51,234,.4);pointer-events:none;z-index:5;letter-spacing:.02em;text-align:center;line-height:1}.result-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:450px;height:400px;display:flex;flex-direction:column;background-color:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0009;color:var(--text-color);z-index:100}.result-header{display:flex;flex-shrink:0;background:linear-gradient(45deg,var(--accent-purple),var(--accent-purple-bright));padding:12px 16px;font-size:1rem;font-weight:700}.result-body{display:flex;flex-direction:column;flex:1;overflow-y:auto}.result-body::-webkit-scrollbar{width:6px}.result-body::-webkit-scrollbar-track{background:transparent}.result-body::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:4px}.result-body::-webkit-scrollbar-thumb:hover{background:#ffffff6b}.result-row{display:flex;padding:12px 14px;font-size:1rem;align-items:center}.result-row:nth-child(odd){background-color:var(--card-bg)}.result-row:nth-child(2n){background-color:var(--card-bg-grey)}.result-row.has-audio{cursor:pointer;transition:background-color .2s}.result-row.has-audio:hover{background-color:#444!important}.play-icon{display:inline-block;color:#a64dff;font-size:12px;margin-right:6px;vertical-align:middle}.col-lyrics{flex:1;text-align:left}.col-offkey{width:80px;text-align:center}.pill{display:inline-block;padding:4px 12px;border-radius:20px;font-weight:700;font-size:1rem}.pill-med{background-color:#d98888}.pill-high{background-color:#e54d4d}@media only screen and (max-width:1366px)and (min-width:1025px){#app>main{padding-left:24px;padding-right:24px}}@media only screen and (max-width:1024px)and (min-width:601px){#app:has(.home-page){height:100dvh;max-height:100dvh;overflow:hidden}#app>main{padding-left:24px;padding-right:24px}#app>main:has(.home-page){overflow:hidden;min-height:0}.home-page{gap:8px;grid-template-rows:minmax(0,1.35fr) minmax(0,.92fr);min-height:0;max-height:100%}.pitch-card{min-height:0;max-height:100%}.pitch-graph-container{min-height:0;flex:1 1 auto}#monitor-container{flex:1 1 auto;min-height:0;max-height:100%}#note-display{font-size:2rem;top:8px}.bottom-section{gap:8px;min-height:0}.player-area{padding:4px 12px 10px;gap:8px}.player-track-title{font-size:.88rem;line-height:1.3;padding-top:10px}.progress-row{gap:8px}.time-current,.time-duration{font-size:.72rem;min-width:32px}.controls-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:8px 10px}.controls{grid-column:1 / -1;grid-row:1;justify-self:center;gap:8px;max-width:100%}.mic-select-wrapper{grid-column:1;grid-row:2;justify-self:start;max-width:100%;padding:5px 8px}.mic-select{max-width:120px;font-size:.7rem}.volume-control{grid-column:2;grid-row:2;justify-self:end}.play-btn{width:38px;height:38px;min-width:38px;min-height:38px;max-width:38px;max-height:38px;flex:0 0 38px;box-shadow:var(--sing-btn-shadow-compact)}.play-btn svg{width:18px;height:18px}.play-btn--playing{box-shadow:var(--pause-btn-shadow-compact)}.transport-btn{width:34px;height:34px;min-width:34px;min-height:34px;max-width:34px;max-height:34px;flex:0 0 34px}.transport-btn svg{width:22px;height:22px}.volume-icon{width:20px;height:20px}.volume-bar{width:64px}}@media only screen and (max-height:820px)and (min-width:601px)and (max-width:1024px){#app>main:has(.home-page){overflow:hidden;min-height:0}.home-page{gap:6px;grid-template-rows:minmax(0,1.2fr) minmax(0,.95fr)}#note-display{font-size:1.75rem;top:6px}}@media only screen and (max-width:600px){#app{overflow-y:auto;-webkit-overflow-scrolling:touch}#app>main{padding:8px 8px 16px;height:auto;min-height:100vh}#app>main:has(.home-page){padding-left:0;padding-right:0;padding-top:0}.home-page{display:flex;flex-direction:column;gap:0;height:auto;min-height:calc(100vh - 72px)}.home-page .home-card{border-radius:8px;border:2px solid #000000}.bottom-section{display:flex;flex-direction:column;gap:0;height:auto;order:2;flex-shrink:0}.pitch-card{order:1;display:flex;flex-direction:column;flex:1 1 auto;min-height:65vh}.pitch-graph-container{flex:1 1 auto;min-height:300px}#monitor-container{flex:1 1 auto;min-height:0;height:100%}.visualizer-card{order:1;flex-shrink:0;height:102px;max-height:102px;padding-top:0;padding-bottom:0}.visualizer-card .home-card-header{display:none}.player-card{order:2;flex-shrink:0;height:auto;min-height:0;max-height:none;overflow:visible}.player-card .home-card-header{display:none}.home-card-header{height:28px}.visualizer-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;overflow:hidden;padding:0}.visualizer-card .waveform-visualizer-area{flex:0 0 auto;width:100%;min-height:58px;max-height:58px;overflow:visible}.waveform-center-line{left:8px;right:8px}.visualizer-card .waveform-indicator-bar{top:50%;bottom:auto;height:70px;transform:translateY(-50%);right:8px}.waveform-visualizer-toolbar--visualizer{display:none}.pitch-graph-container .waveform-visualizer-toolbar--pitch{display:inline-flex;left:auto;right:22px;bottom:8px;margin-top:0;gap:8px;z-index:11}.pitch-review-controls{top:6px;gap:6px}.pitch-review-toolbar{gap:6px}.pitch-review-toolbar__btn{height:40px;padding:0 16px;font-size:.9rem}.waveform-listen-btn{font-size:.72rem;border-radius:4px}.waveform-speed-icon{width:26px;height:26px}.waveform-speed-group{gap:6px}.waveform-speed-control{height:22px}.waveform-speed-control__step{width:20px}.waveform-speed-control__track{width:80px;--speed-thumb-half: 20px}.waveform-speed-control__thumb{min-width:40px;font-size:.7rem}.waveform-listen-btn svg{width:14px;height:14px}.player-card .home-card-body{padding:0}.mic-select-wrapper{display:none}.lyrics-area--pitch{bottom:12%;padding:0 16px}.lyrics-area--pitch .lyric-line.active{font-size:1.45rem}.lyrics-area--pitch .lyric-line.next{font-size:1.05rem;opacity:.62;filter:none;text-shadow:none;transform:none;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.lyric-line.active{font-size:1.15rem}.lyric-line.prev{display:none}.lyric-line.next{font-size:.9rem}.player-area{min-height:0;justify-content:flex-start;padding:10px 14px 14px;overflow:visible}.player-title-row{margin-top:0;padding-bottom:8px}.player-track-title{margin:0 0 4px;font-size:.9rem;line-height:1.3}.play-btn{width:42px;height:42px;min-width:42px;min-height:42px;max-width:42px;max-height:42px;flex:0 0 42px;box-shadow:var(--sing-btn-shadow-compact)}.play-btn--playing{box-shadow:var(--pause-btn-shadow-compact)}.transport-btn{width:38px;height:38px;min-width:38px;min-height:38px;max-width:38px;max-height:38px;flex:0 0 38px}.controls-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding-top:0;min-width:0;max-width:100%}.playback-stem-toggle{width:72px;height:22px}.playback-stem-toggle__label{font-size:.68rem;letter-spacing:.01em}.controls{grid-column:2;justify-self:center;margin:0;gap:10px}.volume-control{display:none}.audio-player-mobile-config{display:inline-flex;grid-column:3;justify-self:end;margin:0;padding:2px}.play-btn svg{width:18px;height:18px}.transport-btn svg{width:24px;height:24px}.track-info h4{font-size:.95rem}#note-display{top:10px;font-size:2rem}}#app>main:has(.learn-guide-page){padding:0;overflow-x:hidden;overflow-y:auto;background:transparent}.learn-guide-page{min-height:100%;background:radial-gradient(circle at top left,rgba(124,77,255,.34),transparent 32%),radial-gradient(circle at bottom right,rgba(250,204,21,.24),transparent 52%),linear-gradient(180deg,#07070b,#0d1020 48%,#05060a);color:#f7f4ef;position:relative;overflow-x:hidden}.learn-guide-page .welcome-pitch-grid-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;display:block;opacity:.35}.learn-guide-content{position:relative;z-index:1;width:min(960px,calc(100% - 48px));margin:0 auto;padding:5.5rem 0 4rem;display:flex;flex-direction:column;gap:3rem}.learn-guide-header{display:flex;flex-direction:column;gap:.65rem}.learn-guide-title{margin:0;font-size:clamp(2rem,5vw,2.75rem);font-weight:800;letter-spacing:-.04em;color:#fff7ea}.learn-guide-subtitle{margin:0;max-width:42rem;color:#f7f4efc7;font-size:1.05rem;line-height:1.55}.learn-guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.learn-guide-step{display:flex;align-items:center;gap:.55rem;padding:.75rem .9rem;border-radius:999px;border:1px solid rgba(190,196,255,.18);background:#0a0d1a;color:#ddd5ff;text-decoration:none;font-size:.9rem;font-weight:700;transition:border-color .15s ease,background .15s ease,color .15s ease}.learn-guide-step:hover{border-color:#a855f773;background:#141028b8;color:#fff7ea}.learn-guide-step__index{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#a855f738;color:#f5d0fe;font-size:.72rem;font-weight:700;flex-shrink:0}.learn-guide-step__label{line-height:1.2}.learn-guide-section{display:flex;flex-direction:column;gap:1rem;scroll-margin-top:1.5rem}.learn-section-title{margin:0;font-size:1.45rem;font-weight:700;color:#fff7ea}.learn-section-lead{margin:0;color:#f7f4efe0;font-size:1rem;line-height:1.55}.learn-section-copy{margin:0;max-width:40rem;color:#f7f4efc2;line-height:1.6}.learn-range-panel{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.35rem 1.35rem;border-radius:18px;border:1px solid rgba(190,196,255,.14);background:#080a149e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.learn-range-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.learn-range-mic-select{flex:1 1 220px}.learn-range-mic-select__input{min-width:0}.learn-range-record-btn{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem 1.1rem;border-radius:999px;border:1px solid rgba(248,113,113,.45);background:#7f1d1d59;color:#fecaca;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.learn-range-record-btn:hover:not(:disabled){background:#991b1b80;border-color:#f87171b3}.learn-range-record-btn--active{background:#dc262673;border-color:#fca5a5bf;color:#fff}.learn-range-record-btn:disabled{opacity:.45;cursor:not-allowed}.learn-range-record-btn__dot{width:.65rem;height:.65rem;border-radius:999px;background:currentColor}.learn-range-record-btn--active .learn-range-record-btn__dot{animation:learn-range-pulse 1.1s ease-in-out infinite}@keyframes learn-range-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.learn-range-live{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:220px;padding:2rem 1.25rem;border-radius:14px;border:1px solid rgba(190,196,255,.12);background:#04060cb8;text-align:center}.learn-range-live--recording{border-color:#facc1547}.learn-range-live--active .learn-range-live__note{color:#facc15;text-shadow:0 0 24px rgba(250,204,21,.35)}.learn-range-live__frequency{margin:0;font-size:.95rem;letter-spacing:.04em;color:#f7f4efb8;font-variant-numeric:tabular-nums}.learn-range-live__note{margin:0;font-size:clamp(3.5rem,12vw,5.5rem);line-height:1;font-weight:800;letter-spacing:-.04em;color:#f7f4ef59}.learn-range-live__idle{margin:.75rem 0 0;font-size:.9rem;color:#f7f4ef80}.learn-range-live__estimated{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}.learn-range-live__estimated-label{margin:0;font-size:.9rem;color:#f7f4ef9e}.learn-range-live__estimated-value{margin:0;font-size:clamp(1.5rem,5vw,2rem);font-weight:700;letter-spacing:-.02em;color:#fde68a}.learn-range-message{margin:0;font-size:.95rem;line-height:1.5}.learn-range-message--error{color:#fca5a5}.learn-range-message--result{color:#fde68a;font-weight:600}.learn-range-message--hint{color:#f7f4ef9e}.learn-tips-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.learn-tip-card{display:flex;gap:.85rem;padding:1rem 1.05rem;border-radius:14px;border:1px solid rgba(190,196,255,.12);background:#080a148c}.learn-tip-card__number{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:#a855f738;color:#f5d0fe;font-size:.78rem;font-weight:700;flex-shrink:0}.learn-tip-card__body{display:flex;flex-direction:column;gap:.35rem;min-width:0}.learn-tip-card__title{margin:0;font-size:.98rem;font-weight:650;color:#fff7ea}.learn-tip-card__text{margin:0;color:#f7f4efb8;font-size:.92rem;line-height:1.55}.learn-guide-section--cta{padding:1.25rem 1.35rem;border-radius:18px;border:1px solid rgba(190,196,255,.14);background:#080a148c}.learn-guide-cta{display:inline-flex;align-items:center;gap:.55rem;align-self:flex-start;padding:.75rem 1.15rem;border-radius:999px;text-decoration:none;font-weight:650;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.learn-guide-cta:hover{transform:translateY(-1px)}.learn-guide-cta--practice{background:linear-gradient(135deg,#7c4dfff2,#a855f7e0);color:#fff7ea;box-shadow:0 10px 28px #7c4dff47}.learn-guide-cta--practice:hover{box-shadow:0 14px 32px #7c4dff61}.learn-guide-cta--sing{background:var(--sing-btn-gradient);color:#1a1200;box-shadow:0 10px 28px #facc1538}.learn-guide-cta--sing:hover{box-shadow:0 14px 32px #facc1552}@media(max-width:820px){.learn-guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-tips-grid{grid-template-columns:1fr}}@media(max-width:600px){.learn-guide-content{width:calc(100% - 20px);padding:4.5rem 0 2.25rem;gap:1.1rem}.learn-guide-header{gap:.45rem;padding:.25rem .2rem 0}.learn-guide-title{font-size:clamp(1.7rem,8vw,2.1rem);line-height:1.2;font-weight:600}.learn-guide-subtitle{font-size:.95rem;line-height:1.45}.learn-guide-steps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(128px,1fr);grid-template-columns:none;overflow-x:auto;gap:.55rem;padding-bottom:.2rem;scroll-snap-type:x proximity;scrollbar-width:none}.learn-guide-steps::-webkit-scrollbar{display:none}.learn-guide-step{min-height:46px;padding:.7rem .8rem;scroll-snap-align:start}.learn-guide-section{gap:.75rem;scroll-margin-top:.9rem}.learn-section-title{font-size:1.2rem;line-height:1.15;font-weight:500}.learn-section-lead,.learn-section-copy{font-size:.95rem;line-height:1.5}.learn-range-panel,.learn-guide-section--cta{padding:1rem .95rem 1.05rem;border-radius:16px}.learn-range-controls{gap:.55rem}.learn-range-mic-select,.learn-range-record-btn{flex:1 1 100%;width:100%}.learn-range-record-btn{justify-content:center}.learn-range-live{min-height:180px;padding:1.2rem .9rem;border-radius:12px}.learn-range-live__note{font-size:clamp(2.9rem,16vw,4rem)}.learn-range-live__estimated{margin-top:1rem}.learn-tips-grid{gap:.65rem}.learn-tip-card{padding:.85rem .9rem;border-radius:12px}.learn-tip-card__title{font-size:.94rem}.learn-tip-card__text{font-size:.88rem;line-height:1.45}.learn-guide-cta{width:100%;justify-content:center;align-self:stretch}.learn-guide-cta--practice,.learn-guide-cta--sing{padding:.85rem 1rem}}.legal-page-wrapper{min-height:100%;width:100%;margin:0;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;color:#f7f4ef;display:flex;flex-direction:column;align-items:center;position:relative;background:radial-gradient(circle at top left,rgba(124,77,255,.34),transparent 32%),radial-gradient(circle at bottom right,rgba(250,204,21,.24),transparent 52%),linear-gradient(180deg,#07070b,#0d1020 48%,#05060a);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.legal-page-wrapper .welcome-pitch-grid-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;display:block;opacity:.42}.legal-content{position:relative;z-index:10;flex:1;width:min(760px,calc(100% - 48px));margin:0 auto;display:flex;flex-direction:column;gap:2rem;padding:5rem 0 4rem}.legal-hero{display:flex;flex-direction:column;gap:.75rem}.legal-hero h1{font-size:clamp(2.25rem,6vw,3.5rem);line-height:1.05;font-weight:700;letter-spacing:-.04em;color:#fff7ea}.legal-updated{color:#f4f0ff94;font-size:.9rem}.legal-intro{color:#f4f0ffd1;font-size:1rem;line-height:1.75;margin:0}.legal-body{display:flex;flex-direction:column;gap:2rem}.legal-section{display:flex;flex-direction:column;gap:.75rem}.legal-section h2{font-size:1.15rem;font-weight:700;color:#fff8f2;letter-spacing:-.01em}.legal-section p,.legal-section li{color:#f4f0ffc2;font-size:.98rem;line-height:1.75;margin:0}.legal-section ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.45rem}.legal-section a{color:#ffcf7d;text-decoration:none}.legal-section a:hover{text-decoration:underline}.legal-page-wrapper--terms .legal-hero{padding-top:2.5rem}.legal-page-wrapper--terms .legal-section h2{text-align:center}@media(max-width:768px){.legal-content{width:min(100% - 32px,760px);padding-top:4.5rem}}@media(max-width:480px){.legal-content{width:calc(100% - 24px)}}.learn-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:16px;height:100%;min-height:0;overflow:hidden}.learn-page>*{min-height:0;max-height:100%;overflow:hidden}.learn-samples-panel{display:flex;flex-direction:column;min-height:0}.learn-samples-panel__transport{flex-shrink:0;padding:12px 16px 18px;border-top:1px solid rgba(255,255,255,.08);min-width:0}.learn-samples-panel__source-tabs{display:flex;align-items:stretch;flex-shrink:0}.learn-samples-panel__source-tab{flex:1;padding:10px 12px;border:none;background:transparent;color:#ffffff6b;font-size:.9rem;font-weight:500;cursor:pointer;transition:color .15s ease,background .15s ease}.learn-samples-panel__source-tab:hover:not(.learn-samples-panel__source-tab--active){color:#ffffff9e;background:#ffffff0a}.learn-samples-panel__source-tab--active{color:var(--text-color);font-weight:600}.learn-samples-panel__source-divider{align-self:center;width:1px;height:1.4em;background:#ffffff2e;flex-shrink:0}.learn-samples-panel__body{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;overflow:hidden;padding:14px 16px 18px}.learn-samples-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0;flex:1}.learn-samples-list__item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff08;color:var(--text-color);text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.learn-samples-list__item:hover{background:#a855f71a;border-color:#a855f759}.learn-samples-list__item--selected{background:#6c20f32e;border-color:#a855f78c;box-shadow:inset 0 0 0 1px #a855f740}.learn-samples-list__config{width:100%;display:flex;flex-direction:column;gap:10px;padding-top:10px;margin-top:4px;border-top:1px solid rgba(255,255,255,.08)}.learn-samples-list__config-notes{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(72px,88px);gap:8px;align-items:end}.learn-samples-list__config-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.learn-samples-list__config-label{margin:0;font-size:.72rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.learn-samples-note-input{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#00000047;color:var(--text-color);font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.learn-samples-note-input:focus{outline:none;border-color:#a855f78c;box-shadow:0 0 0 1px #a855f740}.learn-samples-note-field--invalid .learn-samples-note-input{border-color:#f87171a6}.learn-samples-note-field__error{font-size:.72rem;color:#fca5a5}.learn-samples-trill-interval{display:inline-flex;gap:6px}.learn-samples-trill-interval__btn{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--text-color);font-size:.78rem;font-weight:600;cursor:pointer}.learn-samples-trill-interval__btn--active{border-color:#eab3088c;background:#eab30829;color:#fde68a}.learn-samples-list__item-main{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-height:28px;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.learn-samples-list__item-title{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;min-width:0;flex:1 1 auto}.learn-samples-list__step-pattern-wrap{flex:0 0 auto;margin-left:auto;align-self:center;display:flex;align-items:center;justify-content:flex-end;height:100%}.learn-samples-list__step-pattern{display:block;width:66px;height:26px;color:var(--text-dim);flex-shrink:0}.learn-samples-list__variant-select{width:auto;min-width:0;max-width:none;padding:4px 8px;gap:4px;box-sizing:border-box}.learn-samples-list__variant-select__input{flex:0 0 auto;width:auto;min-width:0;max-width:none;padding:0;font-size:.88rem;font-weight:600;line-height:1.2}.learn-samples-list__scale{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:4px 10px;border-radius:6px;border:0;color:#ffda4b;font-size:.88rem;font-weight:700;letter-spacing:.02em}.learn-samples-list__meta{flex:0 0 auto;font-size:.8rem;color:var(--text-dim);font-variant-numeric:tabular-nums;line-height:1}.learn-personal-card-row{list-style:none}.learn-personal-card{display:flex;align-items:center;gap:8px;width:100%;padding:10px 10px 10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff08;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.learn-personal-card--selected{background:#6c20f32e;border-color:#a855f78c;box-shadow:inset 0 0 0 1px #a855f740}.learn-personal-card__select{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px;padding:0;border:none;background:transparent;color:var(--text-color);text-align:left;cursor:pointer}.learn-personal-card__top{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px;min-width:0}.learn-personal-card__title{flex:0 1 auto;max-width:100%;font-size:.92rem;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learn-personal-card__duration{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#a855f738;border:1px solid rgba(168,85,247,.45);color:#e9d5ff;font-size:.74rem;font-weight:600;font-variant-numeric:tabular-nums}.learn-personal-card__lyric{font-size:.82rem;line-height:1.4;color:#ffffff9e;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.learn-personal-card__actions{flex:0 0 auto;display:flex;flex-direction:row;align-items:center;align-self:center;gap:8px;padding-left:4px}.learn-personal-card__action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:#d1d5db;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.learn-personal-card__action--edit:hover{background:#a855f729;border-color:#a855f766;color:#e9d5ff}.learn-personal-card__action--delete:hover{background:#ef444424;border-color:#ef444466;color:#fca5a5}.personal-phrase-edit-modal__form{display:flex;flex-direction:column;gap:14px}.personal-phrase-edit-modal__field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:#d1d5db}.personal-phrase-edit-modal__field input,.personal-phrase-edit-modal__field textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#fff;font:inherit;resize:vertical}.personal-phrase-edit-modal__field input:focus,.personal-phrase-edit-modal__field textarea:focus{outline:none;border-color:#a855f78c}.personal-phrase-edit-modal__error{margin:0;color:#fca5a5;font-size:.84rem}.personal-phrase-edit-modal__actions{display:flex;justify-content:flex-end;gap:10px}.personal-phrase-edit-modal__cancel,.personal-phrase-edit-modal__save{padding:10px 14px;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}.personal-phrase-edit-modal__cancel{border:1px solid rgba(255,255,255,.14);background:transparent;color:#d1d5db}.personal-phrase-edit-modal__save{border:1px solid rgba(168,85,247,.5);background:#a855f73d;color:#f3e8ff}.personal-phrase-edit-modal__save:disabled,.personal-phrase-edit-modal__cancel:disabled{opacity:.6;cursor:not-allowed}.personal-phrase-delete-modal__error{margin:0;color:#fca5a5;font-size:.84rem}.personal-phrase-delete-modal__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.personal-phrase-delete-modal__cancel,.personal-phrase-delete-modal__confirm{padding:10px 14px;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}.personal-phrase-delete-modal__cancel{border:1px solid rgba(255,255,255,.14);background:transparent;color:#d1d5db}.personal-phrase-delete-modal__confirm{border:1px solid rgba(239,68,68,.5);background:#ef444433;color:#fecaca}.personal-phrase-delete-modal__confirm:hover:not(:disabled){background:#ef44444d;border-color:#f87171a6}.personal-phrase-delete-modal__cancel:disabled,.personal-phrase-delete-modal__confirm:disabled{opacity:.6;cursor:not-allowed}.learn-samples-panel__empty{padding:24px 12px;text-align:center;color:var(--text-dim);font-size:.92rem}.learn-samples-panel__footer{flex-shrink:0;display:flex;flex-direction:column;gap:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);min-width:0}.learn-samples-personal-actions{display:flex;flex-direction:column;gap:8px;width:100%}.learn-samples-personal-actions__btn{width:100%;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--text-color);font-size:.88rem;font-weight:600;text-align:center;cursor:pointer;transition:background .15s ease,border-color .15s ease}.learn-samples-personal-actions__btn:hover:not(:disabled){background:#a855f71f;border-color:#a855f766}.learn-samples-personal-actions__btn:disabled{opacity:.45;cursor:not-allowed}.learn-samples-personal-actions__btn--link{display:block;text-decoration:none;box-sizing:border-box}.learn-samples-note-field{display:flex;flex-direction:column;gap:6px;min-width:0}.learn-samples-note-field label{margin:0;font-size:.72rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.learn-samples-duration-field{width:100%}.learn-samples-note-selects__arrow{padding-bottom:10px;color:#ffffff73;font-size:1rem;line-height:1}.learn-samples-play{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;min-width:0;min-height:56px;padding-bottom:2px}.learn-samples-play__play-btn{grid-column:1 / -1;grid-row:1;justify-self:center;z-index:1}.learn-samples-play__play-btn svg{width:34px;height:34px}@media only screen and (max-width:1024px){.learn-samples-play__play-btn svg{width:24px;height:24px}}.learn-samples-play__transport-toggles{grid-column:3;grid-row:1;justify-self:end;display:inline-flex;align-items:center;gap:6px;z-index:2}.learn-samples-play__toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:10px;border:0;background:#ffffff0a;color:#ffffffb8;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.learn-samples-play__toggle svg{width:26px;height:26px;flex-shrink:0}.learn-samples-play__toggle:hover{background:#ffffff14;border-color:#ffffff38;color:#fff}.learn-samples-play__toggle--active{border-color:#eab3088c;background:#eab30829;color:#fde68a;box-shadow:inset 0 0 0 1px #eab30840}.learn-samples-play__toggle--active:hover{border-color:#eab3088c;background:#eab30829;color:#fde68a}.learn-samples-play__mic{grid-column:1;grid-row:1;justify-self:start;max-width:min(100%,118px);min-width:0;z-index:2}.learn-samples-play .play-btn{grid-column:unset;grid-row:unset;justify-self:unset;flex-shrink:0}.learn-samples-mic-select{width:100%;max-width:100%;min-width:0;grid-column:unset;justify-self:unset;padding:8px;gap:6px}.learn-samples-mic-select__input{flex:1 1 0;min-width:0;width:auto;max-width:92px;font-size:.72rem}.learn-pitch-card{min-height:0;min-width:0}.learn-pitch-card .pitch-graph-container{position:relative}.learn-pitch-replay-btn{position:absolute;top:10px;right:48px;z-index:8;display:inline-flex;align-items:center;gap:.65rem;padding:.72rem 1.25rem;border-radius:999px;background:#a855f729;border-color:#a855f759;font-size:1rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.learn-pitch-replay-btn svg{width:26px;height:26px;flex-shrink:0}.learn-pitch-replay-btn:hover{background:linear-gradient(135deg,#a855f7,#c084fc 42%,#9333ea);border-color:#c084fcbf;box-shadow:var(--pause-btn-shadow-compact-hover)}.learn-pitch-card--replaying .pitch-review-controls{display:none}.learn-pitch-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--text-dim);background:#0808088c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none}.learn-pitch-empty p{margin:0;max-width:28rem;font-size:.95rem;line-height:1.5}.learn-pitch-empty--loading{z-index:9;background:#050505b8}@media(min-width:601px)and (max-width:1366px),(min-width:601px)and (max-height:820px),(hover:none)and (pointer:coarse)and (min-width:601px){.learn-page{gap:8px}.learn-samples-panel,.learn-pitch-card{height:100%}.learn-pitch-card .pitch-graph-container,.learn-pitch-card #monitor-container{flex:1 1 auto;min-height:0;max-height:100%}}@media(min-width:601px)and (max-height:820px){.learn-page{gap:6px}}@media(max-width:768px)and (min-width:601px),(hover:none)and (pointer:coarse)and (max-width:768px){.learn-page{grid-template-rows:minmax(0,32%) minmax(0,1fr)}}@media(max-width:768px){.learn-page{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(220px,32%)}.learn-pitch-card{order:1}.learn-samples-panel{order:2}.learn-samples-panel>.home-card-header{order:0}.learn-samples-panel__transport{order:1;border-top:none;border-bottom:1px solid rgba(255,255,255,.08);padding:6px 14px 8px}.learn-samples-panel__body{order:2;flex:1 1 auto;min-height:0}.learn-samples-panel__source-tabs{order:3;flex-shrink:0}.learn-samples-play{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;padding-bottom:0}.learn-samples-play__mic{position:absolute;left:0;top:50%;transform:translateY(-50%);grid-column:unset;grid-row:unset;z-index:2}.learn-samples-play__play-btn,.learn-samples-play .play-btn{position:relative;z-index:1;grid-column:unset;grid-row:unset;justify-self:unset}.learn-samples-play__transport-toggles{position:absolute;right:0;top:50%;transform:translateY(-50%);grid-column:unset;grid-row:unset;z-index:2}}@media(max-width:600px){#app>main:has(.learn-page){padding:0 0 16px}.learn-page{display:flex;flex-direction:column;gap:0;height:auto;min-height:calc(100vh - 72px);overflow:visible}.learn-page>*{max-height:none}.learn-page .learn-pitch-card{border-radius:0;border:0}.learn-pitch-card{order:1;display:flex;flex-direction:column;flex:1 1 auto;min-height:65vh}.learn-pitch-card .home-card-header{min-height:34px;height:34px}.learn-pitch-card .pitch-graph-container{flex:1 1 auto;min-height:300px}.learn-pitch-card #monitor-container{flex:1 1 auto;min-height:0;height:100%}.learn-samples-panel{order:2;flex-shrink:0;display:flex;border:3px solid #000000;border-radius:8px;flex-direction:column}.learn-samples-panel>.home-card-header{order:0}.learn-samples-panel__transport{order:1;border-top:none;border-bottom:1px solid rgba(255,255,255,.08);padding:6px 14px 8px}.learn-samples-panel__body{order:2;flex:1 1 auto;min-height:0;padding:12px 14px 16px}.learn-samples-panel__source-tabs{order:3;flex-shrink:0}}.studio-page{display:flex;flex-direction:column;width:100%;max-width:none;margin:0;min-height:calc(100vh - 5rem);padding:0 0 24px}.pitch-composer-panel{flex:1;display:flex;flex-direction:column;width:100%;min-height:min(78vh,820px)}.pitch-composer-panel__header{flex-shrink:0}.pitch-composer-panel__header .home-card-menu{margin-left:auto}.pitch-composer-panel__body{flex:1;display:grid;grid-template-columns:minmax(200px,20%) minmax(0,80%);min-height:0;border-top:1px solid #1f1f1f}.pitch-composer-panel__body>*{min-height:0}.pitch-composer-config{display:flex;flex-direction:column;gap:16px;padding:16px;border-right:1px solid #1f1f1f;min-height:0;overflow:auto}.pitch-composer-config__field{display:flex;flex-direction:column;gap:6px}.pitch-composer-config__label{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-main)}.pitch-composer-config__input{width:100%;padding:8px 10px;border-radius:8px;border:0;background:#ffffff0a;color:#f4f0ff;font-size:.92rem}.pitch-composer-config__input:focus{outline:none;border-color:#a855f78c}.pitch-composer-config__input--time{font-variant-numeric:tabular-nums}.pitch-composer-config__lyrics{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.pitch-composer-config__lyrics-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pitch-composer-config__add-btn{padding:6px 10px;border:2px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff08;color:var(--text-color);font-size:.84rem;cursor:pointer}.pitch-composer-config__add-btn:hover{background:#a855f71a;border-color:#a855f759}.pitch-composer-config__lyrics-empty{margin:0;font-size:.85rem;color:#f4f0ff73}.pitch-composer-config__lyric-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;overflow:auto}.pitch-composer-config__lyric-row{display:grid;grid-template-columns:minmax(88px,.9fr) minmax(0,1.4fr) auto;gap:8px;align-items:end}.pitch-composer-config__lyric-time,.pitch-composer-config__lyric-text{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:#f4f0ff80}.pitch-composer-config__remove-btn{width:28px;height:28px;border:none;border-radius:6px;background:#ffffff0f;color:#f4f0ffb3;font-size:1.1rem;line-height:1;cursor:pointer}.pitch-composer-config__remove-btn:hover{background:#f871712e;color:#fca5a5}.pitch-composer-config__save-wrap{display:flex;justify-content:center;padding-top:8px;margin-top:auto}.pitch-composer-config__save-btn{padding:.65rem 5rem;border-radius:999px;border:1px solid rgba(250,204,21,.45);background:var(--sing-btn-gradient, linear-gradient(135deg, #fbbf24, #f59e0b));color:#1a1208;font-size:.92rem;font-weight:700;cursor:pointer}.pitch-composer-config__save-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:var(--sing-btn-shadow)}.pitch-composer-ide{display:flex;flex-direction:column;min-height:0;min-width:0;background:#0f0f0f}.pitch-composer-ide__canvas-wrap{position:relative;flex:1;min-height:280px;overflow:hidden}.pitch-composer-ide__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:crosshair;touch-action:none}.pitch-composer-ide__canvas-wrap .pitch-preview-vscroll{position:absolute;top:8px;right:4px;bottom:8px;z-index:2}.pitch-composer-ide__hscroll{flex-shrink:0;padding:4px 12px 8px;border-top:1px solid #1f1f1f}.pitch-preview-hscroll{display:flex;flex-direction:row;align-items:center;gap:4px;width:100%;height:14px;pointer-events:auto}.pitch-preview-hscroll__arrow{flex:0 0 auto;width:0;height:0;padding:0;border:none;background:transparent;cursor:pointer;opacity:.42;transition:opacity .15s ease}.pitch-preview-hscroll__arrow:hover{opacity:.72}.pitch-preview-hscroll__arrow--left{border-top:4px solid transparent;border-bottom:4px solid transparent;border-right:5px solid rgba(255,255,255,.45)}.pitch-preview-hscroll__arrow--right{border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid rgba(255,255,255,.45)}.pitch-preview-hscroll__track{flex:1 1 auto;height:100%;min-width:0;position:relative;background:#ffffff08;border-radius:999px;cursor:pointer;touch-action:none}.pitch-preview-hscroll__thumb{position:absolute;top:45%;width:56px;height:4px;border-radius:999px;background:#ffffff47;pointer-events:none}.pitch-composer-settings{display:flex;flex-direction:column;gap:12px}.pitch-composer-settings__hint{margin:0;font-size:.88rem;line-height:1.5;color:#f4f0ffa6}.pitch-composer-settings__btn{align-self:flex-start;padding:8px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#f4f0ff;font-size:.88rem;cursor:pointer}.pitch-composer-settings__btn:hover{background:#ffffff14}.pitch-composer-settings__meta{margin:0;font-size:.82rem;color:#f4f0ff80}.pitch-composer-log{flex-shrink:0;height:36px;overflow:hidden;padding:8px 14px;border-top:1px solid #1f1f1f;background:#00000059;display:flex;align-items:center}.pitch-composer-log__empty{margin:0;font-size:.82rem;color:#f4f0ff66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pitch-composer-log__entry{margin:0;font-size:.82rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.pitch-composer-log__entry--error{color:#f87171}.pitch-composer-log__entry--success{color:#86efac}.pitch-composer-log__entry--info{color:#f4f0ffb8}@media(min-width:601px)and (max-width:1366px),(min-width:601px)and (max-height:820px),(hover:none)and (pointer:coarse)and (min-width:601px){.studio-page{min-height:0;padding-bottom:0}.pitch-composer-panel{min-height:0}.pitch-composer-panel__body{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}}@media(max-width:768px){.pitch-composer-panel__body{grid-template-columns:1fr;grid-template-rows:auto minmax(280px,1fr)}.pitch-composer-config{border-right:none;border-bottom:1px solid #1f1f1f;max-height:320px}.pitch-composer-config__lyric-row{grid-template-columns:1fr;align-items:stretch}.pitch-composer-config__remove-btn{justify-self:end}}.support-page.legal-page-wrapper{min-height:100dvh}.support-page__article{flex:1;width:min(640px,calc(100% - 48px));min-height:calc(100dvh - 5rem);justify-content:center;align-items:center;padding-top:5rem;padding-bottom:5rem}.support-donation{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.75rem;width:100%;margin:0 auto}.support-donation__hero{align-items:center;text-align:center}.support-donation__logo{display:block;width:160px;height:160px;border-radius:14px;object-fit:cover}.support-donation__body{margin:0;color:#f4f0ffd1;font-size:1rem;line-height:1.8}.support-donation__btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.35rem;border-radius:999px;border:1px solid rgba(250,204,21,.45);background:var(--sing-btn-gradient);color:#1a1208;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 0 24px #f59e0b47}.support-donation__btn:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 14px 28px #f59e0b57}.support-donation__btn:active{transform:translateY(0)}@media(max-width:768px){.support-page__article{width:min(100% - 32px,640px);min-height:calc(100dvh - 4rem);padding-top:4.5rem;padding-bottom:3rem}.support-donation__hero h1{font-size:clamp(1.75rem,7vw,2.35rem)}.support-donation__logo{width:56px;height:56px;border-radius:12px}.support-donation__body{font-size:.95rem;line-height:1.75}}@media(max-width:480px){.support-page__article{width:calc(100% - 24px);padding-top:4rem}}.welcome-page{min-height:100%;background:radial-gradient(circle at top left,rgba(124,77,255,.34),transparent 32%),radial-gradient(circle at bottom right,rgba(250,204,21,.24),transparent 52%),linear-gradient(180deg,#07070b,#0d1020 48%,#05060a);color:#f7f4ef;display:flex;flex-direction:column;position:relative;overflow-x:hidden;overflow-y:auto}.welcome-page .welcome-pitch-grid-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;display:block;opacity:.42}.welcome-page .welcome-content{position:relative;z-index:10;flex:1;width:min(1180px,calc(100% - 48px));margin:0 auto;display:flex;gap:20px;flex-direction:column;padding:100px 0 8rem}.welcome-page .welcome-hero{display:grid;align-items:center;position:relative;min-height:clamp(24rem,72vh,30rem);padding-bottom:6rem}.welcome-page .welcome-hero-copy{display:flex;flex-direction:column;text-align:left;justify-content:left;padding:60px 0 0;max-width:40rem}.welcome-page .welcome-title-visual{position:absolute;top:50%;right:0;transform:translateY(-60%);display:flex;align-items:center;justify-content:flex-end;overflow:visible;width:min(62vw,980px);pointer-events:none}.welcome-page .welcome-title{font-size:4rem;line-height:.92;font-weight:700;letter-spacing:-.04em;margin-bottom:1.3rem;color:var(--text-main)}.welcome-page .welcome-title-pitch{display:block;width:60%;height:auto;object-fit:contain;flex:0 0 auto}@media(max-width:1024px){.welcome-page .welcome-title-visual{position:static;transform:none;width:100%;justify-content:flex-start;pointer-events:auto}.welcome-page .welcome-title-pitch{width:min(100%,778px);max-height:662px}.welcome-page .welcome-title-pitch{height:300px}.welcome-page .welcome-actions{flex-direction:column;padding-top:30px}}@media(max-width:640px){.welcome-page .welcome-title-visual{display:flex;justify-content:center;align-self:center;width:100%}.welcome-page .welcome-title-pitch{width:min(84%,390px);max-height:220px;margin:0 auto}}.welcome-page .welcome-subtitle{max-width:38rem;color:#f7f4efd1;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.7}.welcome-page .welcome-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;width:100%;position:absolute;left:50%;bottom:0;transform:translate(-50%);z-index:2}.welcome-page .welcome-btn-sing,.welcome-page .welcome-btn-help{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-width:210px;padding:.95rem 1.5rem;border-radius:999px;text-decoration:none;font-size:.95rem;font-weight:700;letter-spacing:.04em;transition:transform .2s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease}.welcome-page .welcome-btn-sing{border:none;background:var(--sing-btn-gradient);color:var(--sing-btn-text);cursor:pointer;box-shadow:var(--sing-btn-shadow)}.welcome-page .welcome-btn-sing:hover:not(:disabled),.welcome-page .welcome-btn-help:hover{transform:translateY(-2px)}.welcome-page .welcome-btn-sing:hover:not(:disabled){box-shadow:var(--sing-btn-shadow-hover)}.welcome-page .welcome-btn-sing:disabled{cursor:default;opacity:.88}.welcome-page .welcome-btn-help{border:0;background:linear-gradient(135deg,#6c20f3,#311b50);color:#f7f1ff;box-shadow:inset 0 0 0 1px #ffffff08,0 0 40px #6c20f32e}.welcome-page .welcome-btn-help:hover{border-color:#a855f7b3;box-shadow:0 0 44px #6c20f347}.welcome-page .welcome-features,.welcome-page .welcome-screenshots{width:100%;display:grid;gap:1.8rem}.welcome-page .welcome-section-heading{display:grid;gap:.55rem;max-width:45rem;padding-left:10px}.welcome-page .welcome-section-heading p{color:#ffcf7d;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.welcome-page .welcome-section-heading h2{font-size:clamp(1.75rem,3.4vw,3rem);line-height:1.08;letter-spacing:-.04em;font-weight:450;color:#fff8f2;overflow-wrap:anywhere}.welcome-page .welcome-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.welcome-page .welcome-feature-card{padding:1.5rem;border-radius:24px;text-align:left;background:var(--card-main);border:1px solid rgba(196,205,255,.12);box-shadow:0 0 60px #0000009e;transition:transform .2s ease,border-color .2s ease,box-shadow .25s ease}.welcome-page .welcome-feature-card:hover{transform:translateY(-3px);border-color:#c2ad268f;box-shadow:0 0 60px #6e69372b}.welcome-page .welcome-feature-header{display:flex;align-items:center;gap:.85rem;margin-bottom:.75rem;min-width:0}.welcome-page .welcome-feature-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:999px;background:#a855f729;color:#c4b5fd}.welcome-page .welcome-feature-title{font-weight:700;font-size:1.05rem;color:#fff8f2;margin:0;line-height:1.3;min-width:0;overflow-wrap:anywhere}.welcome-page .welcome-feature-text{color:#f4f0ffc2;font-size:.98rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.welcome-page .welcome-screenshot-slider{display:grid;gap:1rem}.welcome-page .welcome-screenshot-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding-bottom:1.25rem;overflow:visible}.welcome-page .welcome-screenshot-viewport-shell{border-radius:20px;box-shadow:0 0 90px #0000009e,0 0 40px #05020247,0 0 0 1px #c4cdff14}.welcome-page .welcome-screenshot-viewport{overflow:hidden;border-radius:20px;border:1px solid rgba(196,205,255,.14)}.welcome-page .welcome-screenshot-track{display:flex;transition:transform .35s ease}@media(prefers-reduced-motion:reduce){.welcome-page .welcome-screenshot-track{transition:none}}.welcome-page .welcome-screenshot-slide{margin:0;flex:0 0 100%;min-width:0}.welcome-page .welcome-screenshot-frame{overflow:hidden;width:100%;aspect-ratio:1336 / 912;background:#0a0d1a}.welcome-page .welcome-screenshot-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.welcome-page .welcome-screenshot-caption{margin:.35rem 0 0;color:#f4f0ffe6;font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:600;letter-spacing:.02em;text-align:center;line-height:1.45}.welcome-page .welcome-screenshot-nav{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:3.75rem;height:3.75rem;border:1px solid rgba(196,205,255,.22);border-radius:999px;background:#0a0d1ad1;color:#f4f0ff;cursor:pointer;box-shadow:0 12px 28px #00000047;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.welcome-page .welcome-screenshot-nav:hover{transform:scale(1.04);border-color:#a855f78c;background:#120e24eb}.welcome-page .welcome-screenshot-dots{display:flex;justify-content:center;align-items:center;gap:.55rem}.welcome-page .welcome-screenshot-dot{width:.55rem;height:.55rem;padding:0;border:none;border-radius:999px;background:#c4cdff47;cursor:pointer;transition:transform .2s ease,background-color .2s ease,width .2s ease}.welcome-page .welcome-screenshot-dot.is-active{width:1.35rem;background:var(--accent-purple)}.welcome-page .welcome-footer{position:relative;z-index:10;width:min(1180px,calc(100% - 48px));margin:0 auto 2rem;padding:1.6rem 1.8rem;border:1px solid rgba(196,205,255,.12);border-radius:24px;background:var(--card-main);display:flex;justify-content:space-between;align-items:center;gap:1.5rem;box-shadow:0 0 90px #0000009e}.welcome-page .welcome-footer-copy{display:grid;gap:.45rem}.welcome-page .welcome-footer-copy p{color:#ffcf7d;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.welcome-page .welcome-footer-copy h3{font-size:1.3rem;color:#fff8f2}.welcome-page .welcome-footer-contacts{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;color:#d1d5db;font-size:.92rem}.welcome-page .welcome-footer-contacts a{display:inline-flex;align-items:center;gap:.55rem;padding:.8rem 1rem;border-radius:999px;color:#f4f0ff;text-decoration:none;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);transition:transform .2s ease,border-color .2s ease}.welcome-page .welcome-footer-contacts a:hover{transform:translateY(-1px);border-color:#ffffff2e}.welcome-page .welcome-footer-legal{position:relative;z-index:10;width:min(1180px,calc(100% - 48px));margin:-.75rem auto 2rem;padding:1.25rem 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem 2rem}.welcome-page .welcome-footer-legal a{color:#d1d5db;text-decoration:none;font-size:.92rem;transition:color .2s ease}.welcome-page .welcome-footer-legal a:hover{color:#fff}@media(max-width:1024px){.welcome-page .welcome-hero{grid-template-columns:1fr;min-height:auto;padding-bottom:0}.welcome-page .welcome-title-visual{justify-content:flex-start}.welcome-page .welcome-actions{position:static;left:auto;bottom:auto;transform:none;justify-content:flex-start}.welcome-page .welcome-feature-grid{grid-template-columns:1fr}.welcome-page .welcome-footer{flex-direction:column;align-items:flex-start}}@media(max-width:768px){.welcome-page .welcome-content,.welcome-page .welcome-footer,.welcome-page .welcome-footer-legal{width:min(100% - 32px,1180px)}.welcome-page .welcome-content{gap:3rem;padding-top:2.5rem}.welcome-page .welcome-title{text-align:center;font-size:2.5rem;font-weight:700;line-height:1.2}.welcome-page .welcome-hero-copy{text-align:center;justify-content:center}.welcome-page .welcome-feature-card{padding:1.2rem}.welcome-page .welcome-footer-contacts{width:100%;justify-content:flex-start}.welcome-page .welcome-screenshot-stage{grid-template-columns:1fr;gap:0}.welcome-page .welcome-screenshot-viewport-shell,.welcome-page .welcome-screenshot-nav-prev,.welcome-page .welcome-screenshot-nav-next{grid-column:1;grid-row:1}.welcome-page .welcome-screenshot-nav{z-index:2;align-self:center;width:3.25rem;height:3.25rem}.welcome-page .welcome-screenshot-nav-prev{justify-self:start;margin-left:.65rem}.welcome-page .welcome-screenshot-nav-next{justify-self:end;margin-right:.65rem}.welcome-page .welcome-section-heading h2{line-height:1;font-weight:500;overflow-wrap:anywhere}.welcome-page .welcome-feature-title{font-weight:500}.welcome-page .welcome-feature-text{line-height:1.45}}@media(max-width:480px){.welcome-page .welcome-content,.welcome-page .welcome-footer,.welcome-page .welcome-footer-legal{width:calc(100% - 24px)}.welcome-page .welcome-actions{flex-direction:column;align-items:center}.welcome-page .welcome-btn-sing,.welcome-page .welcome-btn-help{min-width:200px}.welcome-page .welcome-feature-card,.welcome-page .welcome-screenshot-frame,.welcome-page .welcome-footer{border-radius:20px}}.admin-page{display:block;height:100%;min-height:100vh;width:100%;color:var(--text-color)}.admin-sidebar{position:fixed;top:0;left:0;height:100vh;z-index:40;display:flex;align-items:center}.admin-sidebar__rail{display:flex;flex-direction:column;align-items:center;align-self:center;justify-content:center;gap:8px;padding:12px 10px;margin:24px 0 24px 16px;width:54px;height:300px;border-radius:999px;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 12px 36px #00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.admin-sidebar__button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid transparent;border-radius:10px;background:transparent;color:#ffffff8c;cursor:pointer;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .1s ease}.admin-sidebar__button:hover{color:var(--text-color);background:#ffffff0f}.admin-sidebar__button:active{transform:scale(.94)}.admin-sidebar__button.is-active{color:var(--accent-purple-bright)}.admin-page__content{margin-left:70px;padding:24px 28px 32px;box-sizing:border-box}@media(max-width:600px){.admin-sidebar__rail{margin:8px 0 8px 8px;width:48px}.admin-sidebar__button{width:36px;height:36px}.admin-page__content{margin-left:56px;padding:16px 14px 32px}}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.admin-header__eyebrow{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-purple-bright)}.admin-header__title{margin:4px 0 0;font-size:1.6rem;font-weight:700;color:var(--text-color);line-height:1.2}.admin-header__subtitle{margin:6px 0 0;font-size:.88rem;color:var(--text-dim)}.admin-header__sync{font-size:.8rem;color:var(--text-dim)}.admin-card{position:relative;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius);box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column;overflow:hidden;min-height:0}.admin-card__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px}.admin-card__title{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9ba2a8}.admin-card__body{padding:16px;flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.admin-skeleton{display:block;width:100%;height:14px;border-radius:6px;background:linear-gradient(90deg,#ffffff0d,#ffffff1f,#ffffff0d);background-size:200% 100%;animation:admin-skeleton-shimmer 1.4s ease-in-out infinite}.admin-skeleton--lg{height:22px}.admin-skeleton--block{height:120px;border-radius:10px}@keyframes admin-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-guard-state{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:32px}.auth-guard-card{text-align:center;color:var(--text-color)}.auth-guard-card .auth-guard-eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-purple-bright);margin-bottom:10px}.auth-guard-card h1{margin:0 0 8px;font-size:1.4rem}.auth-guard-card p{margin:0;color:var(--text-dim);font-size:.92rem}.admin-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-badge--ok{background:#22c55e29;color:#86efac}.admin-badge--warn{background:#eab30829;color:#fde68a;border:1px solid rgba(234,179,8,.35)}.admin-badge--down{background:#ef444429;color:#fca5a5}.admin-badge--purple{color:#995eff}.admin-section{display:flex;flex-direction:column;gap:18px}.admin-grid{display:grid;gap:18px}.admin-grid--70-30{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}.admin-dashboard-top-row{align-items:stretch}.admin-dashboard-top-row>.admin-card{min-height:420px}.admin-dashboard-top-row>.admin-card>.admin-card__body{flex:1}.admin-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1024px){.admin-grid--70-30{grid-template-columns:minmax(0,1fr)}.admin-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.admin-grid--3{grid-template-columns:minmax(0,1fr)}}.admin-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--card-border);border-radius:8px;background:#ffffff0a;color:var(--text-dim);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.admin-refresh-btn:hover{background:#ffffff14;color:var(--text-color);border-color:#ffffff29}.admin-error{margin:0;color:#fca5a5;font-size:.88rem}.admin-timeframe-group{display:inline-flex;gap:4px;padding:2px;border:1px solid var(--card-border);border-radius:8px;background:#ffffff08}.admin-timeframe-btn{padding:5px 12px;border:0;border-radius:6px;background:transparent;color:var(--text-dim);font-size:.76rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-timeframe-btn:hover{color:var(--text-color);background:#ffffff0f}.admin-timeframe-btn.is-active{color:var(--text-color);background:#7c3aed3d}.admin-chart-card .admin-card__body{padding:12px 12px 6px}.admin-chart-body{gap:6px}.admin-chart-wrapper{flex:1;min-height:220px;display:flex}.admin-chart-svg{width:100%;height:100%;display:block}.admin-chart-axis{fill:#d3d3d38c;font-size:9px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.admin-legend{display:flex;gap:16px;padding:4px 4px 8px;font-size:.78rem;color:var(--text-dim)}.admin-legend__item{display:inline-flex;align-items:center;gap:6px}.admin-legend__dot{width:10px;height:10px;border-radius:50%}.admin-legend__dot--purple{background:#8a50ffeb}.admin-legend__dot--yellow{background:#facc15eb}.admin-metric-stack{display:flex;flex-direction:column;gap:18px}.admin-metric-stack>.admin-card{flex:1 1 0;min-height:0}.admin-metric-card-body{justify-content:center;gap:10px}.admin-metric-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-metric-value{font-size:1.8rem;font-weight:700;color:var(--text-color);font-variant-numeric:tabular-nums}.admin-metric-breakdown{display:flex;flex-wrap:wrap;gap:8px}.admin-metric-breakdown--stack{flex-direction:column;align-items:flex-end;gap:6px}.admin-health-metrics-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-country-list{gap:10px;flex:1;justify-content:center}.admin-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-dim);font-size:.85rem;text-align:center}.admin-country-row{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(60px,1.2fr) auto;align-items:center;gap:10px;font-size:.86rem}.admin-country-flag{font-size:1.1rem}.admin-country-name{color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-bar-track{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.admin-bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-purple-dim),var(--accent-purple-bright))}.admin-device-donut{display:flex;width:100%;height:14px;border-radius:999px;overflow:hidden;margin-bottom:14px}.admin-device-seg{display:block;height:100%}.admin-device-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-device-list li{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-main)}.admin-device-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.admin-device-pct{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:700;color:var(--text-color)}.admin-social-list{gap:12px}.admin-social-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;font-size:.84rem}.admin-social-row--link{cursor:pointer}.admin-social-platform{font-weight:700;color:var(--text-color)}.admin-social-handle{color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-social-followers{font-variant-numeric:tabular-nums;font-weight:700;color:var(--text-main)}.admin-sync-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0}.admin-sync-dot.is-syncing{background:#eab308;animation:admin-sync-pulse 1s ease-in-out infinite}@keyframes admin-sync-pulse{0%,to{opacity:.4}50%{opacity:1}}.admin-billing-summary__body{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-billing-summary__label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9ba2a8;margin-bottom:6px}.admin-billing-summary__total{font-size:2.2rem;font-weight:700;color:var(--text-color);font-variant-numeric:tabular-nums}.admin-billing-header-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-billing-service-card{text-decoration:none;color:inherit;display:block;transition:transform .15s ease,border-color .15s ease,background .15s ease}.admin-billing-service-card:hover{transform:translateY(-2px);border-color:#7c3aed59;background:#ffffff05}.admin-billing-service-card:focus-visible{outline:2px solid rgba(124,58,237,.55);outline-offset:2px}.admin-billing-service-card .admin-card__body{pointer-events:none}.admin-currency-switch{display:inline-flex;gap:4px;padding:2px;border:1px solid var(--card-border);border-radius:8px;background:#ffffff08}.admin-currency-btn{padding:5px 12px;border:0;border-radius:6px;background:transparent;color:var(--text-dim);font-size:.76rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-currency-btn:hover{color:var(--text-color);background:#ffffff0f}.admin-currency-btn.is-active{color:var(--text-color);background:#7c3aed3d}.admin-billing-summary__meta{display:flex;gap:10px;flex-wrap:wrap}.admin-billing-card-body{gap:8px}.admin-billing-cost{font-size:1.5rem;font-weight:700;color:var(--text-color);font-variant-numeric:tabular-nums}.admin-billing-desc{font-size:.84rem;color:var(--text-dim)}.admin-billing-usage{font-size:.78rem;color:var(--accent-purple-bright)}.admin-capacity-body{gap:10px}.admin-capacity-track{height:14px;border-radius:999px;background:#ffffff14;overflow:hidden}.admin-capacity-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-purple-dim),var(--accent-purple-bright));transition:width .3s ease}.admin-capacity-fill.is-warning{background:linear-gradient(90deg,#eab308,#ef4444)}.admin-capacity-label{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.admin-capacity-pct--warn{color:#fde68a;font-weight:700}.admin-capacity-warning{margin:0;font-size:.8rem;color:#fde68a;line-height:1.4}.login-page-bridge{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:32px;text-align:center}.login-page-bridge__card h1{margin:0 0 8px;font-size:1.6rem;color:var(--text-color)}.login-page-bridge__card p{margin:0;color:var(--text-dim)}.login-page-bridge__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-purple-bright);margin-bottom:10px}:root{--bg-dark: #07070b;--bg-header: #07070b;--card-bg: #090909;--card-main: rgba(9, 11, 21, .99);--card-bg-grey: #1a1a1a;--accent-purple: rgba(138, 80, 255, .88);--accent-purple-bright: #a653f3;--accent-purple-dim: #6c20f3;--accent-yellow: #a754f5;--accent-yellow-dim: #ca8a04;--text-color: #f3f4f6;--text-main: #e5e7eb;--text-dim: #d3d3d3;--border-radius: 12px;--divider-color: #1f1f1f;--card-border: rgb(26, 26, 26);--sing-btn-gradient: linear-gradient(135deg, #facc15 0%, #ffde59 42%, #f59e0b 100%);--sing-btn-text: #1a1020;--sing-btn-shadow: 0 0 12px rgba(250, 204, 21, .34);--sing-btn-shadow-hover: 0 0 30px rgba(250, 204, 21, .4);--sing-btn-shadow-compact: 0 0 16px rgba(250, 204, 21, .34);--sing-btn-shadow-compact-hover: 0 0 20px rgba(250, 204, 21, .4);--pause-btn-gradient: linear-gradient(135deg, #9f53ff 42%, #5804ff 100%);--pause-btn-text: #ffffff;--pause-btn-shadow-compact: 0 0 18px rgba(168, 85, 247, .38);--pause-btn-shadow-compact-hover: 0 0 24px rgba(168, 85, 247, .48)}@media(min-width:601px)and (max-width:1366px){.app-header{padding-left:24px;padding-right:24px}#app>main:not(.main--full-bleed){padding-left:24px;padding-right:24px}}@media(min-width:601px)and (max-height:820px){.app-header{padding-left:24px;padding-right:24px}#app>main:not(.main--full-bleed){padding-left:24px;padding-right:24px}}@media(hover:none)and (pointer:coarse)and (min-width:601px){.app-header{padding-left:24px;padding-right:24px}#app>main:not(.main--full-bleed){padding-left:24px;padding-right:24px}}@media(min-width:601px)and (max-width:1366px),(min-width:601px)and (max-height:820px),(hover:none)and (pointer:coarse)and (min-width:601px){html:not(:has(#app.app--welcome)):not(:has(#app.app--help)),html:not(:has(#app.app--welcome)):not(:has(#app.app--help)) body,html:not(:has(#app.app--welcome)):not(:has(#app.app--help)) #root{height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;scrollbar-width:none}html:not(:has(#app.app--welcome)):not(:has(#app.app--help))::-webkit-scrollbar,html:not(:has(#app.app--welcome)):not(:has(#app.app--help)) body::-webkit-scrollbar{display:none}html:not(:has(#app.app--welcome)):not(:has(#app.app--help)) body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%}#app:not(.app--welcome):not(.app--help){height:100%;max-height:100%;overflow:hidden}#app>main:not(.main--full-bleed){flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-top:6px;padding-bottom:8px}#app>main:not(.main--full-bleed)>.home-page,#app>main:not(.main--full-bleed)>.learn-page,#app>main:not(.main--full-bleed)>.studio-page{flex:1;min-height:0;max-height:100%;overflow:hidden}#app:not(.app--welcome):not(.app--help) .home-card-header{min-height:32px;height:32px;padding:0 12px 0 14px}}@media(min-width:601px)and (max-height:820px){#app>main:not(.main--full-bleed){padding-top:4px;padding-bottom:6px}}*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.32) transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:dark}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:#ffffff47;border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:#ffffff6b}*::-webkit-scrollbar-button{display:none;width:0;height:0}*::-webkit-scrollbar-corner{background:transparent}body{background-color:var(--bg-dark);color:var(--text-color);height:100vh;height:100dvh;width:100%;overflow:hidden;display:flex;flex-direction:column;overscroll-behavior:none}#root,#app{flex:1;min-height:0;width:100%;display:flex;flex-direction:column}#app>main{flex:1;min-height:0;width:100%}#app.app--welcome>main.main--full-bleed,#app.app--help>main.main--full-bleed{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0;background:transparent}@media(max-width:600px){body{height:auto;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}#app{height:auto;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto}#app.app--help>main.main--full-bleed{overflow:visible;min-height:0}}@source "../../";
