@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap");:root{--lp-bg:#0b0b0f;--lp-text:#f3f4f8;--lp-muted:#9aa3b8;--lp-orange:#f79d40;--lp-accent:#009879;--lp-accent-soft:rgba(0,152,121,0.14);--lp-glass:rgba(12,14,22,0.72);--lp-border:rgba(255,255,255,0.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--lp-bg);color:var(--lp-text);font-family:Inter,system-ui,-apple-system,sans-serif}body{-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select{font:inherit}.musictrace-page{position:relative;min-height:100vh;overflow-x:hidden;padding:12px;background:var(--lp-bg);color:var(--lp-text)}.page-orbs{pointer-events:none;position:fixed;inset:0;z-index:0;background:radial-gradient(920px 560px at 4% -10%,rgba(0,152,121,.17),transparent 60%),radial-gradient(760px 520px at 35% 18%,rgba(97,84,235,.11),transparent 58%),radial-gradient(720px 520px at 92% 105%,rgba(247,157,64,.08),transparent 62%)}.site-shell{position:relative;z-index:1;width:min(100%,1280px);margin:0 auto;display:flex;flex-direction:column;gap:16px}.app-header-card{border-radius:18px;padding:14px 20px;box-shadow:0 26px 70px rgba(0,0,0,.38)}.app-header-inner{justify-content:space-between;gap:24px}.app-brand,.app-header-inner{display:flex;min-width:0;align-items:center}.app-brand{flex-wrap:wrap;gap:14px}.app-header-logo{display:block;width:auto;height:56px;max-width:260px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 24px rgba(0,152,121,.18))}.app-title{font-size:clamp(1.35rem,2.2vw,2rem);font-weight:800;letter-spacing:-.045em}.app-kicker{margin:0;color:var(--lp-muted);font-size:.68rem;font-weight:700;letter-spacing:.18em;line-height:1.4;text-transform:uppercase;white-space:nowrap}.app-kicker a,.site-footer a{text-decoration:underline;-webkit-text-decoration-color:rgba(255,255,255,.25);text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px;transition:color .18s ease,-webkit-text-decoration-color .18s ease;transition:color .18s ease,text-decoration-color .18s ease;transition:color .18s ease,text-decoration-color .18s ease,-webkit-text-decoration-color .18s ease}.app-kicker a:hover,.site-footer a:hover{color:var(--lp-accent);-webkit-text-decoration-color:rgba(0,152,121,.65);text-decoration-color:rgba(0,152,121,.65)}.landing-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);grid-gap:24px;gap:24px;align-items:stretch}.lp-orbs{background:radial-gradient(900px 500px at 8% -10%,rgba(0,152,121,.16),transparent 60%),radial-gradient(700px 500px at 92% 110%,rgba(45,112,255,.1),transparent 60%)}.lp-glass{border:1px solid var(--lp-border);background:var(--lp-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.lp-gradient-text{background:linear-gradient(135deg,#0ea5e9 0,#6366f1 55%,var(--lp-accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-app-gradient{background:linear-gradient(135deg,#34d399,#009879);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-input{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);color:var(--lp-text);padding:10px 12px;font:inherit}.lp-input:focus{outline:2px solid rgba(0,152,121,.45);border-color:rgba(0,152,121,.55)}.lp-cta{border:none;background:linear-gradient(135deg,#00b894,#009879);color:#04120e;cursor:pointer}.lp-cta:hover{filter:brightness(1.05)}.lp-cta-outline{border:1px solid rgba(0,152,121,.45);color:var(--lp-text);text-decoration:none}.lp-cta-outline:hover{border-color:var(--lp-accent);background:var(--lp-accent-soft)}.landing-feature-card,.landing-hero,.viewer-panel{min-width:0}.landing-hero,.login-panel,.viewer-panel{border-radius:18px;padding:clamp(20px,3vw,32px);box-shadow:0 26px 70px rgba(0,0,0,.38)}.landing-hero{position:relative;overflow:hidden}.landing-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(520px 280px at 15% 18%,rgba(0,152,121,.18),transparent 62%),radial-gradient(520px 320px at 82% 80%,rgba(247,157,64,.11),transparent 65%)}.beta-pill{display:inline-flex;align-items:center;border:1px solid rgba(0,152,121,.35);border-radius:999px;padding:6px 12px;background:rgba(0,152,121,.1);color:var(--lp-accent);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-title{margin:18px 0 0;max-width:760px;color:var(--lp-text);font-size:clamp(2rem,4.4vw,3.85rem);font-weight:900;letter-spacing:-.06em;line-height:1.05}.hero-copy{margin:16px 0 0;max-width:680px;color:var(--lp-muted);font-size:clamp(.95rem,1.4vw,1.06rem);line-height:1.7}.hero-actions{margin-top:22px}.hero-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:11px 22px;font-size:.9rem;font-weight:800}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;color:var(--lp-muted);font-size:.72rem}.hero-tags span{border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 10px;background:rgba(0,0,0,.35)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:28px}.landing-feature-card{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px;background:rgba(0,0,0,.42)}.feature-title{margin:0;color:var(--lp-text);font-size:.92rem;font-weight:800;letter-spacing:-.02em}.feature-copy{margin:9px 0 0;color:var(--lp-muted);font-size:.9rem;line-height:1.55}.login-panel h2{margin:0;color:var(--lp-text);font-size:1.35rem;font-weight:800}.login-panel>p{margin:6px 0 0;color:var(--lp-muted);font-size:.92rem}.login-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.login-form label{display:block;color:var(--lp-muted);font-size:.86rem}.login-form label span{display:block;margin-bottom:6px}.login-submit{width:100%;border-radius:999px;padding:12px 18px;font-weight:800}.viewer-toolbar{display:grid;grid-gap:12px;gap:12px;margin-bottom:16px}@media (min-width:768px){.viewer-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}}.viewer-toolbar label{display:block;font-size:.75rem;color:var(--lp-muted);margin-bottom:0}.viewer-toolbar input,.viewer-toolbar select{width:100%;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);color:var(--lp-text);padding:8px 10px;font:inherit}.viewer-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-bottom:16px}.viewer-filters label{color:var(--lp-muted);font-size:.75rem}.viewer-filters select{display:block;min-width:160px;margin-top:4px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35);color:var(--lp-text);padding:8px 10px}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.viewer-header h2{margin:0;color:var(--lp-text);font-size:1.35rem;font-weight:800}.viewer-header p{margin:4px 0 0;color:var(--lp-muted);font-size:.92rem}.viewer-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 14px;background:transparent;font-size:.84rem;font-weight:800;cursor:pointer}.viewer-button-small{padding:5px 10px;font-size:.74rem}.viewer-table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--lp-border)}.viewer-table{width:100%;border-collapse:collapse;min-width:960px;font-size:.86rem}.viewer-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:linear-gradient(180deg,#e8c85a,#ddb84a);color:#1f1f1f}.viewer-table td,.viewer-table th{padding:8px 10px;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:top}.viewer-table tbody tr:hover{background:rgba(255,255,255,.04)}.viewer-table.density-compact td,.viewer-table.density-compact th{padding:5px 8px;font-size:.8rem}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600;background:rgba(255,255,255,.08)}.detail-panel{margin-top:16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px;background:rgba(0,0,0,.4)}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.detail-header h3{margin:0;font-size:1.08rem}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 18px;gap:10px 18px;margin:0;font-size:.9rem}.detail-grid dt{margin-bottom:2px;font-size:.78rem}.detail-grid dd{margin:0}.error-banner{border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.12);color:#fecaca;border-radius:10px}.error-banner,.info-banner{padding:10px 12px;font-size:.9rem}.info-banner{border:1px solid rgba(0,152,121,.35);background:rgba(0,152,121,.1);color:#b7f0df;border-radius:10px}.site-intro-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:radial-gradient(700px 420px at 50% 44%,rgba(0,152,121,.18),transparent 64%),radial-gradient(720px 420px at 28% 28%,rgba(247,157,64,.1),transparent 64%),var(--lp-bg);transition:opacity .45s ease,visibility .45s ease}.site-intro-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.site-intro-brand{text-align:center}.site-intro-logo{display:block;width:min(520px,82vw);height:auto;margin:0 auto;filter:drop-shadow(0 22px 60px rgba(0,152,121,.22))}.site-intro-wordmark{display:none;margin-top:8px;font-size:clamp(3rem,10vw,6.5rem);font-weight:900;letter-spacing:-.08em;line-height:.95;text-shadow:0 24px 70px rgba(0,152,121,.18)}.site-intro-wordmark-music{background:linear-gradient(135deg,#75f5a0,#5067e8 58%,#7c2bd1);-webkit-background-clip:text;background-clip:text;color:transparent}.site-intro-wordmark-trace{color:#fff}.site-intro-tagline{margin:18px 0 0;color:var(--lp-muted);font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.site-footer{margin-top:26px;border-top:1px solid rgba(255,255,255,.06);padding:24px 0 10px;color:var(--lp-muted);text-align:center}.site-footer p{margin:0;font-size:.68rem;font-weight:800;letter-spacing:.16em;line-height:1.5;text-transform:uppercase}@media (max-width:900px){.feature-grid,.landing-grid{grid-template-columns:1fr}.app-header-inner{align-items:flex-start;flex-direction:column}.app-kicker{white-space:normal}}@media (max-width:640px){.musictrace-page{padding:10px}.app-header-logo{height:44px;max-width:200px}}@supports not (filter:drop-shadow(0 0 1px #000)){.site-intro-logo{display:none}.site-intro-wordmark{display:block}}