body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#120d26;--bg-card:#1c1535;--bg-light:#241d40;--accent:#9e4dff;--accent-dark:#571ac2;--gold:#ffd166;--accent2:#66d9e8;--text:#fff;--muted:#ffffff73;--border:#ffffff14;--radius:14px;--max:1100px}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#120d26;background:var(--bg);color:#fff;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#120d26d9;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);height:64px;justify-content:space-between;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav,.nav-logo{align-items:center;display:flex}.nav-logo{font-size:18px;font-weight:700;gap:10px;letter-spacing:-.3px}.nav-logo-icon{border-radius:8px;display:block;height:32px;width:32px}.nav-right{align-items:center;display:flex;gap:22px}.nav-hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;height:36px;justify-content:center;padding:0;width:36px}.nav-hamburger span{background:#fff;background:var(--text);border-radius:1px;display:block;height:2px;width:22px}.nav-link{color:#ffffff73;color:var(--muted);font-size:13px;transition:color .15s}.nav-link:hover{color:#fff;color:var(--text)}.nav-cta{background:linear-gradient(135deg,#9e4dff,#571ac2);background:linear-gradient(135deg,var(--accent) 0,var(--accent-dark) 100%);border-radius:20px;color:#fff;font-size:13px;font-weight:700;padding:8px 20px;transition:opacity .15s}.nav-cta:hover{opacity:.85}.hero{grid-gap:60px;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px;max-width:var(--max);padding:100px 32px 80px}.hero,.hero-tag{align-items:center}.hero-tag{background:#ffd16614;border:1px solid #ffd1664d;border-radius:20px;color:#ffd166;color:var(--gold);display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.08em;margin-bottom:24px;padding:5px 12px;text-transform:uppercase}.hero h1{font-size:clamp(36px,5vw,56px);font-weight:800;letter-spacing:-1.5px;line-height:1.1;margin-bottom:20px}.hero h1 span{color:#9e4dff;color:var(--accent)}.hero-sub{color:#ffffff73;color:var(--muted);font-size:17px;line-height:1.7;margin-bottom:36px;max-width:460px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.btn-primary{align-items:center;background:linear-gradient(135deg,#9e4dff,#571ac2);background:linear-gradient(135deg,var(--accent) 0,var(--accent-dark) 100%);border-radius:30px;color:#fff;display:inline-flex;font-size:15px;font-weight:700;gap:8px;padding:14px 28px;transition:transform .15s,opacity .15s}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{align-items:center;background:#0000;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:30px;color:#fff;color:var(--text);display:inline-flex;font-size:15px;font-weight:700;gap:8px;padding:14px 28px;transition:border-color .15s,background .15s}.btn-secondary:hover{background:#ffffff0a;border-color:#ffffff40}.btn-ghost{align-items:center;color:#ffffff73;color:var(--muted);display:inline-flex;font-size:14px;gap:6px;transition:color .15s}.btn-ghost:hover{color:#fff;color:var(--text)}.hero-more-link{display:inline-flex;margin-top:20px}.pc-wrap{min-width:0;position:relative}.pc-wrap:before{background:radial-gradient(closest-side,#9e4dff59,#0000 75%);content:"";filter:blur(20px);inset:-40px -20px;pointer-events:none;position:absolute;z-index:0}.piano-card{background:linear-gradient(180deg,#211a3e,#18122f);border:1px solid #ffffff1a;border-radius:22px;box-shadow:0 30px 80px #08041899,inset 0 1px 0 #ffffff0f;display:flex;flex-direction:column;gap:12px;padding:16px 16px 30px;position:relative;z-index:1}.pc-section-label{color:#fff6;font-size:10.5px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.pc-session{background:#ffffff0a;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:12px}.pc-session-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.pc-title{font-size:14px;font-weight:700;line-height:1.2}.pc-composer{color:#ffffff73;color:var(--muted);font-size:11.5px}.pc-modes{background:#ffffff0f;border-radius:20px;display:flex;flex-shrink:0;font-size:11px;font-weight:600;padding:3px}.pc-modes span{align-items:center;border-radius:16px;color:#ffffff73;color:var(--muted);display:inline-flex;gap:5px;padding:4px 9px}.pc-modes .active{background:#ff4d5e2e;color:#ff7a86}.pc-rec{animation:pc-blink 1.4s ease-in-out infinite;background:#ff4d5e;border-radius:50%;height:6px;width:6px}.pc-score{background:#fbfaff;border-radius:10px;padding:6px 8px}.pc-staff{display:block;height:auto;width:100%}.pc-clef{fill:#2a2342;font-family:Bravura,Apple Symbols,Segoe UI Symbol,Noto Music,serif}.pc-time{fill:#2a2342;font-family:Georgia,serif;font-size:17px;font-weight:800}.pc-cursor{animation:pc-cursor 2.4s ease-in-out infinite}.pc-keys{background:#0e0a1e;border-radius:6px;height:64px;overflow:hidden;position:relative}.pc-wk{background:linear-gradient(180deg,#f4f2fa,#fff 85%,#e2deec);border-radius:0 0 4px 4px;border-right:1px solid #cfc9dc;bottom:0}.pc-bk,.pc-wk{position:absolute;top:0}.pc-bk{background:linear-gradient(180deg,#2a2342,#120d26);border-radius:0 0 3px 3px;height:60%;z-index:1}.pc-bk.lit,.pc-wk.lit{background:var(--lit);box-shadow:inset 0 -8px 14px #0000001f,0 0 18px var(--lit)}.pc-legend{align-items:center;color:#ffffff73;color:var(--muted);display:flex;font-size:11px;gap:14px}.pc-legend span{align-items:center;display:inline-flex;gap:6px}.pc-legend i{border-radius:2px;height:8px;width:8px}.pc-progress{background:#ffffff14;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.pc-progress b{background:linear-gradient(90deg,#9e4dff,#3fe0f0);background:linear-gradient(90deg,var(--accent),#3fe0f0);border-radius:2px;display:block;height:100%}.pc-results{display:flex;flex-direction:column;gap:12px;padding:4px 4px 2px}.pc-results-top{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:112px 1fr}.pc-ring{height:112px;position:relative;width:112px}.pc-ring svg{height:100%;width:100%}.pc-ring-arc{stroke-dashoffset:var(--ring-off);animation:pc-ring 1.4s cubic-bezier(.2,.8,.2,1) .3s both}.pc-ring-label{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;line-height:1.1;position:absolute}.pc-ring-label strong{font-size:26px;font-weight:800;letter-spacing:-.5px}.pc-ring-label span{color:#ffffff73;color:var(--muted);font-size:10px}.pc-cog-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:118px 1fr 24px;height:20px}.pc-cog-name{color:#fff9;font-size:11.5px;white-space:nowrap}.pc-cog-track{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.pc-cog-track b{animation:pc-grow 1.1s cubic-bezier(.2,.8,.2,1) .5s both;border-radius:3px;display:block;height:100%;transform-origin:left}.pc-cog-val{font-feature-settings:"tnum";color:#fffc;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;text-align:right}.pc-tendency{background:#ffffff0a;border-radius:12px;padding:10px 12px}.pc-tendency .pc-section-label{margin-bottom:6px}.pc-tendency-bar{display:flex;gap:2px;height:8px}.pc-tendency-bar b{border-radius:3px}.pc-tendency-bar .early{background:#4db3ffd9}.pc-tendency-bar .ontime{background:#34c759a6;flex:1 1}.pc-tendency-bar .late{background:#ff9f40d9}.pc-tendency-legend{display:flex;font-size:10px;font-weight:600;justify-content:space-between;margin-top:5px}.pc-tendency-legend .early{color:#4db3ff}.pc-tendency-legend .ontime{color:#5fd47f}.pc-tendency-legend .late{color:#ff9f40}.pc-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.pc-stat{background:#ffffff0a;border-radius:12px;display:flex;flex-direction:column;gap:1px;min-width:0;padding:9px 10px}.pc-stat strong{font-size:17px;font-weight:800;letter-spacing:-.3px;white-space:nowrap}.pc-stat strong em{font-style:normal}.pc-stat strong small{color:#ffffff73;color:var(--muted);font-size:13px;margin:0 2px}.pc-stat span{color:#ffffff73;color:var(--muted);font-size:10.5px;line-height:1.3}.pc-float{align-items:center;animation:pc-float 6s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#241d40eb;border:1px solid #ffffff1f;border-radius:14px;box-shadow:0 14px 34px #0804188c;display:flex;gap:10px;padding:9px 13px;position:absolute;z-index:2}.pc-float-top{right:28px;top:-24px}.pc-float-top div{display:flex;flex-direction:column;line-height:1.25}.pc-float-top strong{font-size:12.5px}.pc-float-top div span{color:#ffffff73;color:var(--muted);font-size:10.5px}.pc-float-icon{background:#34c7592e;border-radius:8px;color:#5fd47f;display:grid;font-size:14px;font-weight:800;height:26px;place-items:center;width:26px}.pc-float-bottom{animation-delay:-3s;bottom:-36px;left:28px}.pc-float-bottom strong{background:linear-gradient(135deg,#b98cff,#3fe0f0);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:24px;font-weight:800}.pc-float-bottom span{color:#ffffff73;color:var(--muted);font-size:10.5px;line-height:1.25}@keyframes pc-blink{50%{opacity:.3}}@keyframes pc-cursor{50%{opacity:.6}}@keyframes pc-ring{0%{stroke-dashoffset:var(--ring-c)}}@keyframes pc-grow{0%{transform:scaleX(0)}}@keyframes pc-float{50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.pc-cog-track b,.pc-cursor,.pc-float,.pc-rec,.pc-ring-arc{animation:none}}@media (max-width:600px){.piano-card{border-radius:18px;padding:12px}.pc-modes span:not(.active){display:none}.pc-results-top{grid-template-columns:1fr;justify-items:center}.pc-cog{width:100%}.pc-cog-row{grid-template-columns:112px 1fr 24px}.pc-stats{grid-template-columns:1fr 1fr}.pc-stats .pc-stat:last-child{grid-column:span 2}.pc-float{display:none}}.section{padding:80px 32px}.section-inner{margin:0 auto;max-width:1100px;max-width:var(--max)}.eyebrow{color:#9e4dff;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:12px;text-transform:uppercase}.section-title{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-1px;line-height:1.15;margin-bottom:16px}.section-sub{color:#ffffff73;color:var(--muted);font-size:16px;line-height:1.7;max-width:540px}.steps{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:52px}.step{background:#1c1535;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);padding:28px 24px}.step-num{color:#9e4dff;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:14px;text-transform:uppercase}.step-icon{display:block;font-size:30px;margin-bottom:14px}.step h3{font-size:17px;font-weight:700;margin-bottom:8px}.step p{color:#ffffff73;color:var(--muted);font-size:14px;line-height:1.65}.metrics-section{background:#1c1535;background:var(--bg-card);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);border-top:1px solid #ffffff14;border-top:1px solid var(--border)}.metrics-grid{grid-gap:1px;background:#ffffff14;background:var(--border);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);display:grid;gap:1px;grid-template-columns:repeat(4,1fr);margin-top:52px;overflow:hidden}.metric-card{background:#1c1535;background:var(--bg-card);padding:32px 24px}.metric-icon{display:block;font-size:26px;margin-bottom:14px}.metric-card h3{font-size:15px;font-weight:700;margin-bottom:8px}.metric-card p{color:#ffffff73;color:var(--muted);font-size:13px;line-height:1.6}.features-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,1fr);margin-top:52px}.feature-card{background:#1c1535;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);padding:26px 22px;transition:border-color .2s}.feature-card:hover{border-color:#9e4dff59}.feature-icon{display:block;font-size:24px;margin-bottom:12px}.feature-card h3{font-size:15px;font-weight:700;margin-bottom:7px}.feature-card p{color:#ffffff73;color:var(--muted);font-size:13px;line-height:1.6}.scores-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:44px}.score-pill{align-items:center;background:#241d40;background:var(--bg-light);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:20px;display:flex;font-size:13px;gap:8px;padding:7px 14px}.badge{border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 7px;text-transform:uppercase}.badge-b{background:#66d9e826;color:#66d9e8;color:var(--accent2)}.badge-i{background:#ffd16626;color:#ffd166;color:var(--gold)}.attributions-list{display:flex;flex-direction:column;gap:16px;margin-top:28px}.attribution-card{background:#1c1535;background:var(--bg-card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);padding:24px}.attribution-links{display:flex;flex-wrap:wrap;gap:10px}.attribution-links a{background:#9e4dff1a;border-radius:20px;color:#9e4dff;color:var(--accent);font-size:13px;font-weight:600;padding:6px 14px}.attribution-links a:hover{background:#9e4dff2e}.cta-section{text-align:center}.cta-box{background:linear-gradient(135deg,#1c1535,#2a1f50);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:24px;margin:0 auto;max-width:620px;padding:72px 40px}.cta-box h2{font-size:clamp(26px,4vw,40px);font-weight:800;letter-spacing:-1px;margin-bottom:14px}.cta-box h2 span{color:#9e4dff;color:var(--accent)}.cta-box p{color:#ffffff73;color:var(--muted);font-size:16px;margin-bottom:34px}.cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.footer{border-top:1px solid #ffffff14;border-top:1px solid var(--border);padding:28px 32px}.footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin:0 auto;max-width:1100px;max-width:var(--max)}.footer-copy,.footer-links{color:#ffffff73;color:var(--muted);font-size:13px}.footer-links{display:flex;gap:22px}.footer-links a:hover{color:#fff;color:var(--text)}@media (max-width:900px){.hero{grid-template-columns:1fr;padding:64px 24px 48px}.pc-wrap{margin:0 auto;max-width:560px;width:100%}.steps{grid-template-columns:1fr}.features-grid,.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.section{padding:56px 20px}.nav{padding:0 20px}.features-grid,.metrics-grid{grid-template-columns:1fr}}.policy-page{margin:0 auto;max-width:760px;padding:64px 32px 100px}.policy-title{font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-1px;margin-bottom:8px}.policy-updated{color:var(--muted);font-size:13px;margin-bottom:40px}.policy-page h2{font-size:20px;font-weight:700;letter-spacing:-.3px;margin:40px 0 14px}.policy-page h3{color:var(--accent);font-size:15px;font-weight:700;margin:24px 0 8px}.policy-page p{color:#ffffffbf;font-size:15px;line-height:1.75;margin-bottom:14px}.policy-page ul{margin:0 0 14px 20px}.policy-page li{color:#ffffffbf;font-size:15px;line-height:1.75;margin-bottom:8px}.policy-page a{color:var(--accent2);text-decoration:underline}.policy-page strong{color:var(--text)}@media (max-width:600px){.policy-page{padding:48px 20px 72px}}.delete-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);gap:20px;margin:32px 0;padding:28px}.delete-field,.delete-form{display:flex;flex-direction:column}.delete-field{color:var(--muted);font-size:13px;gap:8px}.delete-field input,.delete-field textarea{background:var(--bg-light);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:15px;padding:12px 14px;resize:vertical}.delete-field input:focus,.delete-field textarea:focus{border-color:var(--accent);outline:none}.delete-checkboxes{display:flex;flex-direction:column;gap:14px}.delete-checkbox{align-items:flex-start;color:#ffffffbf;cursor:pointer;display:flex;font-size:14px;gap:12px}.delete-checkbox input{accent-color:var(--accent);flex-shrink:0;height:18px;margin-top:3px;width:18px}.delete-checkbox strong{color:var(--text)}.delete-form .btn-primary{align-self:flex-start;border:none;cursor:pointer}.delete-form .btn-primary:disabled{cursor:not-allowed;opacity:.5}.delete-success{background:#66d9e81a;border:1px solid #66d9e84d;border-radius:var(--radius);color:var(--text);font-size:15px;line-height:1.6;margin:32px 0;padding:20px 24px}.delete-error{background:#ff63631a;border:1px solid #ff636359;border-radius:10px;color:#ffb3b3;font-size:14px;padding:12px 14px}.delete-fallback{color:var(--muted);font-size:13px}.support-page{max-width:calc(var(--max) + 64px)}.support-form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.support-form-note{font-size:14px!important;margin:0!important}.delete-field select{background:var(--bg-light);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:15px;padding:12px 14px}.delete-field select:focus{border-color:var(--accent);outline:none}@media (max-width:700px){.support-form-row{grid-template-columns:1fr}}.support-contact{background:#9e4dff1a;border:1px solid #9e4dff59;border-radius:14px;color:#ffffffd9;font-size:15px;line-height:1.75;margin-bottom:8px;padding:18px 20px}.support-faq{border-bottom:1px solid #ffffff14}.support-faq summary{align-items:center;color:var(--text);cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:16px;justify-content:space-between;list-style:none;padding:16px 0}.support-faq summary::-webkit-details-marker{display:none}.support-faq summary:after{color:var(--accent2);content:"+";flex-shrink:0;font-size:22px;font-weight:400;transition:transform .2s ease}.support-faq[open] summary:after{transform:rotate(45deg)}.support-faq summary:focus-visible{border-radius:4px;outline:2px solid var(--accent);outline-offset:4px}.support-answer{padding:0 0 12px}.auth-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 64px);padding:48px 24px}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-width:400px;padding:32px;width:100%}.auth-title{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px}.auth-subtitle{color:var(--muted);font-size:14px;margin-bottom:24px}.auth-tabs{background:var(--bg-light);border-radius:12px;display:flex;gap:4px;margin-bottom:24px;padding:4px}.auth-tab{border-radius:9px;color:var(--muted);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:9px 0;text-align:center;transition:background .15s,color .15s}.auth-tab.active{background:var(--accent);color:#fff}.auth-form{gap:16px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{color:var(--muted);font-size:13px;gap:8px}.auth-field input{background:var(--bg-light);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:15px;padding:12px 14px}.auth-field input:focus{border-color:var(--accent);outline:none}.auth-submit{border:none;cursor:pointer;justify-content:center;margin-top:4px}.auth-submit:disabled{cursor:not-allowed;opacity:.5}.auth-error{background:#ff63631a;border:1px solid #ff636359;border-radius:10px;color:#ffb3b3}.auth-error,.auth-success{font-size:14px;padding:12px 14px}.auth-success{background:#66d9e81a;border:1px solid #66d9e84d;border-radius:10px;color:var(--text)}.auth-footer-link{color:var(--muted);font-size:13px;margin-top:18px;text-align:center}.auth-footer-link button{background:none;border:none;color:var(--accent2);cursor:pointer;font:inherit;font-weight:600}.app-page{margin:0 auto;max-width:var(--max);padding:48px 32px 80px}.app-page-title{font-size:28px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}.app-page-sub{margin-bottom:32px}.app-page-sub,.app-stub-card{color:var(--muted);font-size:15px}.app-stub-card{background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);padding:48px 32px;text-align:center}.account-row{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 0}.account-row:last-child{border-bottom:none}.account-label{color:var(--muted);font-size:13px}.account-value,.auth-google{font-size:15px;font-weight:600}.auth-google{align-items:center;background:#fff;border:none;border-radius:30px;color:#1f1f1f;cursor:pointer;display:flex;font-family:inherit;gap:10px;justify-content:center;padding:13px 20px;transition:opacity .15s,transform .15s;width:100%}.auth-google:hover{opacity:.92;transform:translateY(-1px)}.auth-google:disabled{cursor:default;opacity:.6;transform:none}.auth-divider{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:12px;margin:20px 0}.auth-divider:after,.auth-divider:before{background:var(--border);content:"";flex:1 1;height:1px}.auth-notice{background:#9e4dff1f;border:1px solid #9e4dff59;border-radius:10px;font-size:13px;line-height:1.5;margin-bottom:16px;padding:12px 14px}.app-menu-scrim{animation:app-menu-fade-in .15s ease-out;background:#00000080;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:400}@keyframes app-menu-fade-in{0%{opacity:0}to{opacity:1}}.app-menu-panel{animation:app-menu-slide-in .2s ease-out;background:var(--bg-card);border-left:1px solid var(--border);box-shadow:-30px 0 80px #0006;display:flex;flex-direction:column;height:100%;max-width:320px;overflow-y:auto;padding:28px 0 20px;width:100%}@keyframes app-menu-slide-in{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}.app-menu-user{align-items:center;display:flex;gap:14px;padding:0 24px 20px}.app-menu-avatar{align-items:center;background:#9e4dff2e;border-radius:50%;color:var(--accent);display:flex;flex-shrink:0;font-size:20px;height:46px;justify-content:center;width:46px}.app-menu-user-label{color:#fff6;font-size:13px;font-weight:600}.app-menu-user-email{color:var(--text);font-size:14px;font-weight:600;word-break:break-word}.app-menu-divider{background:var(--border);height:1px;margin:4px 0}.app-menu-nav{display:flex;flex-direction:column;padding:4px 0}.app-menu-row{align-items:center;background:none;border:none;color:var(--text);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:14px;padding:12px 24px;text-align:left;transition:background .12s;width:100%}.app-menu-row:hover{background:#ffffff0d}.app-menu-row-icon{flex-shrink:0;font-size:16px;text-align:center;width:22px}.app-menu-signout .app-menu-row-icon{color:#ff6b6b}.app-menu-pro-note{background:#ffd1661a;border:1px solid #ffd16640;border-radius:12px;color:#ffffffbf;font-size:13px;line-height:1.5;margin:4px 24px 8px;padding:12px 14px}.dash-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.dash-greeting{color:#ffffffb3;font-size:16px;font-weight:500;margin-bottom:6px}.dash-name-row{align-items:center;display:flex;gap:8px}.dash-crown{font-size:17px}.dash-name{font-size:30px;font-weight:800;letter-spacing:-.7px}.dash-streak{text-align:right}.dash-streak-count{align-items:center;display:flex;font-size:19px;font-weight:700;gap:5px;justify-content:flex-end}.dash-streak-label{color:var(--muted);font-size:13px;margin-top:2px}.dash-section{margin-bottom:32px}.dash-section-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:12px}.dash-section-label{color:#ffffffb3;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dash-section-meta,.dash-see-all{color:var(--muted);font-size:13px}.dash-see-all{font-weight:600;transition:color .15s}.dash-see-all:hover{color:var(--text)}.dash-metrics{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.dash-metric-card{align-items:center;background:#ffffff0f;border-radius:16px;display:flex;flex-direction:column;gap:10px;padding:20px 10px;text-align:center}.dash-metric-icon{font-size:24px}.dash-metric-score{color:#fff;font-size:26px;font-weight:800}.dash-metric-score.empty{color:#fff6}.dash-metric-label{font-size:14px;font-weight:600}.dash-metric-bar{background:#ffffff26;border-radius:2px;height:4px;overflow:hidden;width:100%}.dash-metric-bar-fill{border-radius:2px;height:100%}.dash-metric-lock{color:var(--muted);font-size:11px}.dash-suggestion-card{background:linear-gradient(135deg,#7a29e0,#42109e);border-radius:20px;display:flex;flex-direction:column;gap:16px;min-height:96px;padding:20px}.dash-suggestion-top{align-items:center;display:flex;justify-content:space-between}.dash-suggestion-band{background:#ffffff26;border-radius:20px;color:#ffffffd9;font-size:13px;font-weight:600;padding:5px 12px}.dash-suggestion-title{color:#fff;font-size:19px;font-weight:800;margin-bottom:2px}.dash-suggestion-composer{color:#ffffff80;font-size:14px}.dash-suggestion-goal{align-items:center;color:#ffffffb3;display:flex;font-size:13px;gap:6px}.dash-suggestion-cta{align-items:center;background:#fff;border-radius:12px;color:#4f11c9;display:flex;font-size:14px;font-weight:700;height:46px;justify-content:center;transition:opacity .15s}.dash-suggestion-cta:hover{opacity:.9}.dash-suggestion-loading{align-items:center;color:#ffffff80;display:flex;font-size:14px;gap:10px;padding:8px 0}.dash-chip-row{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding:4px 2px}.dash-chip{background:#ffffff12;border:1px solid #0000;border-radius:14px;display:flex;flex:0 0 auto;flex-direction:column;gap:6px;padding:12px;width:130px}.dash-chip.highlighted{background:#ffffff24;border-color:#ffffff4d}.dash-chip-tier{color:var(--accent2);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.dash-chip-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#fff;display:-webkit-box;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.dash-chip-composer{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-empty{color:#ffffff59;font-size:14px;padding:8px 0}.dash-session-row{align-items:center;background:#ffffff0d;border-radius:14px;display:flex;gap:14px;margin-bottom:8px;padding:10px 14px}.dash-session-ring{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:44px;justify-content:center;width:44px}.dash-session-info{flex:1 1;min-width:0}.dash-session-title{color:#fff;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-session-ago{color:#fff6;font-size:12px;margin-top:2px}.dash-session-trend{flex-shrink:0;font-size:15px;font-weight:600}.keyboard-page{max-width:75vw;padding-top:36px;width:75vw}.keyboard-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.keyboard-title{font-size:24px;font-weight:800;letter-spacing:-.5px}.keyboard-composer{color:var(--muted);font-size:14px;margin-top:2px}.keyboard-back-link{color:var(--muted);font-size:13px;padding-bottom:3px;transition:color .15s;white-space:nowrap}.keyboard-back-link:hover{color:var(--text)}.practice-card{background:var(--bg);border:1px solid var(--border);border-radius:20px;box-shadow:0 20px 50px #00000059;overflow:hidden;position:relative}.keyboard-countdown-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:absolute;z-index:20}.keyboard-countdown-num{color:#fff;font-size:96px;font-weight:800;text-shadow:0 8px 24px #0006}.keyboard-mic-error{background:#ff5c5c24;border-radius:12px;color:#ff8a8a;font-size:13px;margin:0 20px;padding:10px 14px;text-align:center}.practice-score-area{align-items:center;background:#ffffff08;display:flex;justify-content:center;min-height:220px;padding:24px}.practice-score-area,.practice-score-wrap{border-bottom:1px solid var(--border)}.practice-score-message{color:var(--muted);font-size:14px;line-height:1.6;max-width:400px;text-align:center}.practice-error{color:#ff8a8a}.keyboard-section{background:var(--bg);padding:10px 16px 18px}.piano-keyboard{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;width:100%}.piano-keyboard-whites{display:flex;height:100%;width:100%}.piano-key{cursor:pointer}.piano-key-white{align-items:flex-end;border:.75px solid #a6a6a6;border-radius:4px;box-sizing:border-box;display:flex;flex:1 1;justify-content:center;position:relative}.piano-key-middle-c-label{color:#000000a6;font-size:14px;font-weight:700;padding-bottom:8px;pointer-events:none}.piano-key-black{border-radius:3px;box-shadow:0 2px 3px #00000080;height:63%;position:absolute;top:0;z-index:2}.practice-controls{background:var(--bg);display:flex;flex-direction:column;gap:12px;padding:14px 20px 12px}.practice-progress{display:flex;flex-direction:column;gap:4px}.practice-slider{-webkit-appearance:none;appearance:none;background:#ffffff2e;border-radius:2px;height:4px;outline:none;width:100%}.practice-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border-radius:50%;cursor:pointer;height:16px;margin-top:0;width:16px}.practice-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.practice-slider::-moz-range-track{background:#ffffff2e;border-radius:2px;height:4px}.practice-slider:disabled{opacity:.5}.practice-slider:disabled::-webkit-slider-thumb{cursor:default}.practice-slider:disabled::-moz-range-thumb{cursor:default}.practice-time-row{font-feature-settings:"tnum";color:#ffffff59;display:flex;font-size:12px;font-variant-numeric:tabular-nums;justify-content:space-between}.practice-mode-row{background:#ffffff1a;border-radius:999px;display:flex;gap:4px;padding:3px}.practice-mode-pill{align-items:center;background:#0000;border:none;border-radius:999px;color:#ffffff8c;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:7px 10px;position:relative;transition:background .18s,color .18s}.practice-mode-pill.selected{background:#fff;color:var(--bg)}.practice-mode-icon{font-size:12px;line-height:1}.practice-input-row{display:flex;gap:8px;margin-top:10px}.practice-input-chip{background:#ffffff14;border:none;border-radius:999px;color:#ffffff8c;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:background .15s,color .15s}.practice-input-chip.selected{background:#ffffff2e;color:#fff}.practice-input-chip.midi{color:#4ade80}.practice-input-chip.midi.selected{background:#4ade802e;color:#4ade80}.practice-input-chip:disabled{cursor:default;opacity:.5}.practice-guided-status{background:#ffffff0f;border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:8px 10px}.practice-guided-step-row{align-items:baseline;display:flex;gap:10px;justify-content:center}.practice-guided-step-label{font-feature-settings:"tnum";color:#ffffffa6;font-size:15px;font-variant-numeric:tabular-nums;font-weight:600}.practice-guided-feedback{font-size:15px;font-weight:700;opacity:0;transition:opacity .15s ease-in-out}.practice-guided-feedback.correct{color:#40cc80;opacity:1}.practice-guided-feedback.wrong{color:#ff4040;opacity:1}.practice-guided-meter-row{align-items:center;display:flex;gap:10px}.practice-guided-meter{background:#ffffff1f;border-radius:3px;flex-shrink:0;height:6px;overflow:hidden;width:60px}.practice-guided-meter-fill{background:#40cc80;height:100%;transition:width .08s linear}.practice-guided-notes{font-feature-settings:"tnum";color:#ffffffd9;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}.practice-transport-row{align-items:center;display:flex;justify-content:space-between}.practice-pill{align-items:center;background:#ffffff14;border-radius:18px;display:flex;gap:8px;padding:6px}.practice-icon-btn{align-items:center;background:#0000;border:none;border-radius:12px;color:#fffc;cursor:pointer;display:flex;height:46px;justify-content:center;transition:color .15s,background .15s;width:46px}.practice-icon-btn:hover{background:#ffffff14}.practice-icon-btn.active{color:#fff}.practice-play-wrap{position:relative}.practice-play-btn{align-items:center;background:#fff;border:none;border-radius:50%;color:var(--bg);cursor:pointer;display:flex;height:56px;justify-content:center;transition:background .15s;width:56px}.practice-play-btn svg{transform:translateX(2px)}.practice-play-btn.armed{background:#40cc80;color:#fff}.practice-play-btn.recording{background:#ff5c5c;color:#fff}.practice-mic-badge{align-items:center;background:var(--bg);border:2px solid var(--bg);border-radius:50%;color:#40cc80;display:flex;height:22px;justify-content:center;position:absolute;right:-2px;top:-2px;width:22px}.practice-mic-badge.live{color:#ff5c5c}.practice-tempo-row{display:flex;gap:4px;justify-content:center}.practice-tempo-chip{background:#ffffff1a;border:none;border-radius:999px;color:#ffffffb3;cursor:pointer;font-size:13px;font-weight:600;padding:5px 9px;transition:background .15s,color .15s}.practice-tempo-chip.selected{background:#fff;color:var(--bg)}.score-display{background:#fff;position:relative;width:100%}.score-display-scroll{max-height:520px;overflow-x:hidden;overflow-y:auto;width:100%}.score-display-container{cursor:pointer;padding:12px 10px;width:100%}.score-display-overlay{align-items:center;background:#fff;display:flex;flex-direction:column;gap:14px;inset:0;justify-content:center;position:absolute}.score-display-spinner{animation:score-spin .7s linear infinite;border:2.5px solid #0000001f;border-radius:50%;border-top-color:#0006;height:26px;width:26px}@keyframes score-spin{to{transform:rotate(1turn)}}.score-display-loading-text{color:#00000059;font-size:15px;font-weight:500}.score-display-error{background:#ff3c3ceb;bottom:0;color:#fff;font-size:12px;left:0;padding:10px 16px;position:absolute;right:0;text-align:center}.sr-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:500}.sr-modal{background:var(--bg);border:1px solid var(--border);border-radius:20px;box-shadow:0 30px 80px #00000080;display:flex;flex-direction:column;max-height:88vh;max-width:560px;overflow:hidden;width:100%}.sr-header-bar{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.sr-header-title{font-size:15px;font-weight:700}.sr-done-link{background:none;border:none;color:var(--text);cursor:pointer;font-size:14px;font-weight:600}.sr-scroll{display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:16px 24px 32px}.sr-session-header{padding-top:4px;text-align:center}.sr-session-title{font-size:17px;font-weight:700}.sr-session-sub{color:var(--muted);font-size:14px;margin-top:4px}.sr-analyzing{align-items:center;display:flex;flex-direction:column;gap:20px;padding:60px 0}.sr-analyzing-text{color:#fff9;font-size:14px}.sr-spinner{animation:sr-spin .8s linear infinite;border:3px solid #fff3;border-radius:50%;border-top-color:#fff;height:34px;width:34px}.sr-spinner-sm{border-width:2px;height:16px;width:16px}@keyframes sr-spin{to{transform:rotate(1turn)}}.sr-empty-state{align-items:center;display:flex;flex-direction:column;gap:10px;padding:40px 8px;text-align:center}.sr-empty-icon{font-size:40px;opacity:.4}.sr-empty-title{font-size:16px;font-weight:700}.sr-empty-message{color:#ffffff8c;font-size:14px;line-height:1.5}.sr-card{background:#ffffff0f;border-radius:14px;padding:14px 16px}.sr-divider{align-items:center;display:flex;gap:8px}.sr-divider-line{background:#ffffff1a;flex:1 1;height:1px}.sr-divider span{color:#ffffff61;font-size:12px;font-weight:600;white-space:nowrap}.sr-grid-2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.sr-stat-card{padding:16px 10px;text-align:center}.sr-stat-value{font-size:24px;font-weight:800}.sr-stat-label{color:#ffffffb3;font-size:13px;font-weight:600;margin-top:4px}.sr-stat-sublabel{color:#ffffff4d;font-size:10px;font-weight:500;margin-top:2px}.sr-metric-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.sr-metric-label{color:#ffffffa6;font-size:13px;font-weight:600}.sr-metric-sublabel{color:#ffffff4d;font-size:10px;font-weight:500;margin-top:2px}.sr-metric-value{font-size:13px;font-weight:600;white-space:nowrap}.sr-bar-card{display:flex;flex-direction:column;gap:8px}.sr-bar-header{align-items:center;display:flex;justify-content:space-between}.sr-bar-value{color:#fffc;font-size:13px;font-weight:700}.sr-bar-track{background:#ffffff14;border-radius:4px;height:8px;overflow:hidden}.sr-bar-fill{border-radius:4px;height:100%;transition:width .5s ease-out}.sr-ring-wrap{align-items:center;display:flex;flex-direction:column;gap:10px;padding:8px 0}.sr-ring-wrap svg{position:relative}.sr-ring-center{align-items:center;display:flex;flex-direction:column;height:95px;justify-content:center;margin-top:-95px}.sr-ring-pct{font-size:36px;font-weight:800}.sr-ring-label{color:#ffffff80;font-size:13px;font-weight:500}.sr-ring-note{color:#fff6;font-size:13px;max-width:320px;text-align:center}.sr-tendency-card{display:flex;flex-direction:column;gap:8px}.sr-tendency-title{color:#ffffff8c;font-size:13px;font-weight:600}.sr-tendency-track{display:flex;gap:2px;height:12px}.sr-tendency-seg{border-radius:4px;min-width:4px}.sr-tendency-labels{display:flex;font-size:11px;font-weight:500;justify-content:space-between}.sr-tendency-ontime{color:#4cd964e6;flex:1 1;text-align:center}.sr-arc-card{padding:16px 10px;text-align:center}.sr-arc-label{color:#ffffff73;font-size:13px;font-weight:600}.sr-arc-value{font-size:26px;font-weight:800;margin-top:4px}.sr-arc-timing{color:#fff6;font-size:11px;font-weight:500;margin-top:2px}.sr-ai-idle,.sr-ai-locked{display:flex;flex-direction:column;gap:8px}.sr-ai-locked-row{align-items:center;background:#ffffff0f;border-radius:16px;display:flex;font-size:14px;font-weight:600;gap:10px;padding:16px}.sr-ai-lock-icon{font-size:15px}.sr-pro-badge{background:#ffffff1f;border-radius:999px;color:var(--gold);font-size:11px;font-weight:700;margin-left:auto;padding:3px 8px;white-space:nowrap}.sr-ai-locked-sub{color:#ffffff61;font-size:13px;text-align:center}.sr-ai-btn{align-items:center;border:none;border-radius:16px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:16px;width:100%}.sr-ai-btn-active{background:linear-gradient(135deg,var(--accent) 0,#4189ff 100%)}.sr-ai-btn-disabled{background:#ffffff0f;color:#ffffff59;cursor:not-allowed}.sr-ai-btn>span:first-child{flex:1 1;text-align:left}.sr-ai-status{align-items:center;color:#ffffff8c;display:flex;font-size:14px;gap:10px;justify-content:center;padding:16px}.sr-ai-error{color:#fff9;cursor:pointer}.sr-cog-section{display:flex;flex-direction:column;gap:16px}.sr-cog-overall{text-align:center}.sr-cog-overall-num{font-size:42px;font-weight:800}.sr-cog-overall-label{color:#ffffff73;font-size:13px;font-weight:500}.sr-cog-bars{display:flex;flex-direction:column;gap:10px}.sr-cog-bar-row{align-items:center;display:flex;gap:12px;height:26px}.sr-cog-bar-label{color:#ffffff8c;flex-shrink:0;font-size:13px;font-weight:500;width:120px}.sr-cog-bar-track{background:#ffffff14;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.sr-cog-bar-fill{border-radius:4px;height:100%;transition:width .6s ease-out}.sr-cog-bar-value{color:#ffffffbf;font-size:13px;font-weight:700;text-align:right;width:26px}.sr-cog-insight{color:#ffffffb3;font-size:14px;line-height:1.6;text-align:center}.sr-cog-focus{align-items:center;background:#ffffff0f;border-radius:12px;color:#fffc;display:flex;font-size:14px;gap:8px;padding:12px 16px}.sr-cog-focus span:first-child{color:var(--accent)}.sr-actions{display:flex;gap:12px;margin-top:4px}.sr-btn{border:none;border-radius:14px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:15px}.sr-btn-secondary{background:#ffffff1f;color:#fff}.sr-btn-primary{background:#fff;color:var(--bg)}.scores-header-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:32px}.scores-import-btn{background:#ffffff1a;border:none;border-radius:20px;color:var(--text);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:9px 18px;transition:background .15s;white-space:nowrap}.scores-import-btn:hover:not(:disabled){background:#ffffff29}.scores-import-btn:disabled{cursor:default;opacity:.6}.scores-import-error{background:#ff61611f;border:1px solid #ff61614d;border-radius:12px;color:#ff8a8a;font-size:13px;margin-bottom:20px;padding:12px 16px}.scores-row-delete{background:none;border:none;color:#ffffff4d;cursor:pointer;flex-shrink:0;font-size:15px;padding:6px}.scores-row-delete:hover{color:#ff8a8a}.scores-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.scores-filter-select{-webkit-appearance:none;appearance:none;background:#ffffff1a;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23fff' fill-opacity='.6' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:10px 7px;border:none;border-radius:20px;color:var(--text);cursor:pointer;font-size:13px;font-weight:600;max-width:160px;overflow:hidden;padding:7px 30px 7px 14px;text-overflow:ellipsis}.scores-filter-select.active{background-color:#fff;color:var(--bg)}.scores-filter-clear{color:var(--muted);font-size:13px;font-weight:600}.scores-filter-clear:hover{color:var(--text)}.scores-filter-count{color:var(--muted);font-size:13px;margin-left:auto}.scores-band{margin-bottom:28px}.scores-band-header{align-items:center;color:#ffffff61;display:flex;font-size:13px;font-weight:600;gap:6px;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.scores-band-dot{border-radius:50%;height:6px;width:6px}.scores-row{align-items:center;background:#ffffff0f;border-radius:16px;display:flex;gap:14px;margin-bottom:8px;padding:16px;transition:background .15s}.scores-row:hover{background:#ffffff17}.scores-row-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:17px;height:44px;justify-content:center;width:44px}.scores-row-body{flex:1 1;min-width:0}.scores-row-title{color:#fff;font-size:15px;font-weight:600;margin-bottom:2px}.scores-row-composer{color:#ffffff80;font-size:14px;margin-bottom:6px}.scores-row-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.scores-chip{border-radius:20px;font-size:11px;font-weight:500;padding:3px 7px}.scores-row-chevron{color:#ffffff38;flex-shrink:0;font-size:16px}.diff-bar{display:flex;gap:1.5px}.diff-bar-segment{border-radius:1.5px;height:9px;width:4px}.scores-empty{color:#ffffff59;font-size:14px;padding:20px 0}.detail-title-block{margin-bottom:28px;text-align:center}.detail-title{font-size:30px;font-weight:800;letter-spacing:-.6px;margin-bottom:6px}.detail-composer{color:var(--muted);font-size:17px}.detail-credits-btn{align-items:center;background:#9e4dff24;border:none;border-radius:20px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;margin-top:10px;padding:6px 12px}.detail-hero{gap:18px;margin-bottom:24px}.detail-hero,.detail-hero-icon{align-items:center;display:flex}.detail-hero-icon{border-radius:18px;flex-shrink:0;font-size:26px;height:64px;justify-content:center;width:64px}.detail-info-card{background:#ffffff0f;border-radius:18px;display:flex;flex-direction:column;gap:18px;margin-bottom:28px;padding:20px}.detail-info-row{display:flex;gap:14px}.detail-info-icon{flex-shrink:0;font-size:22px;width:30px}.detail-info-label{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.03em;margin-bottom:2px}.detail-info-value{color:#fff;font-size:15px}.detail-divider{background:var(--border);height:1px}.detail-section-label{color:#ffffff61;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:14px;text-transform:uppercase}.detail-profile-card{background:#ffffff0f;border-radius:18px;margin-bottom:24px;padding:20px}.demand-bar-row{align-items:center;display:flex;gap:12px;margin-bottom:12px}.demand-bar-row:last-child{margin-bottom:0}.demand-bar-label{color:#ffffffb3;flex-shrink:0;font-size:13px;width:150px}.demand-bar-track{background:#ffffff14;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.demand-bar-fill{border-radius:4px;height:100%}.demand-bar-value{flex-shrink:0;font-size:13px;font-weight:700;text-align:right;width:32px}.detail-summary p{color:#fff9;font-size:14px;line-height:1.7;margin-bottom:10px}.detail-summary p:last-child{margin-bottom:0}.detail-placeholder{align-items:center;background:#ffffff0f;border-radius:18px;color:#fff6;display:flex;font-size:14px;gap:12px;margin-bottom:24px;padding:20px}.detail-attribution{background:#ffffff0f;border-radius:14px;color:#fff9;font-size:13px;line-height:1.6;margin-bottom:24px;margin-top:-12px;padding:16px}.detail-attribution a{color:var(--accent2)}.detail-start-btn{background:linear-gradient(135deg,var(--accent) 0,var(--accent-dark) 100%);border-radius:14px;color:#fff;display:block;font-size:15px;font-weight:700;margin-top:8px;padding:15px;text-align:center}.sh-list{display:flex;flex-direction:column;gap:12px}.sh-card{align-items:center;background:#ffffff0f;border-radius:16px;display:flex;gap:16px;padding:16px;text-decoration:none;transition:background .15s ease}.sh-card:hover{background:#ffffff1a}.sh-ring-wrap{flex-shrink:0;height:70px;position:relative;width:70px}.sh-ring-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.sh-ring-pct{color:#fff;font-size:17px;font-weight:700;line-height:1}.sh-ring-sign{color:#ffffff73;font-size:9px;font-weight:600}.sh-card-body{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.sh-card-title{color:#fff;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-card-sub{align-items:baseline;display:flex;gap:10px;justify-content:space-between}.sh-card-composer{color:#ffffff80;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-card-meta{color:#ffffff4d;flex-shrink:0;font-size:12px;white-space:nowrap}.sh-stats-row{display:flex}.sh-mini-stat{flex:1 1;text-align:center}.sh-mini-stat-value{font-size:16px;font-weight:700}.sh-mini-stat-label{color:#ffffff59;font-size:11px;font-weight:500}.sd-back-link{color:#ffffff8c;display:inline-block;font-size:14px;font-weight:600;margin-bottom:24px;text-decoration:none}.sd-back-link:hover{color:#fff}.sd-scroll{overflow-y:visible;padding:0}
/*# sourceMappingURL=main.6b846d9f.css.map*/