*{box-sizing:border-box}body{margin:0;background:#0b1223;color:#f1f3fc;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}.shell{max-width:1140px;margin:auto;padding:24px 30px 45px}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:8px 0 28px}.brand{display:flex;align-items:center;gap:13px}.mark{display:grid;place-items:center;width:45px;height:45px;border:1px solid #435070;background:#202d4a;border-radius:13px;color:#c6b9ff;font-size:26px}.brand strong{display:block;font-size:13px;letter-spacing:.24em}.brand small{display:block;margin-top:4px;color:#b0b9ce;letter-spacing:.09em;font-size:9px}.tag{padding:9px 12px;border:1px solid #3b4a6a;border-radius:999px;font-size:11px;color:#b7c1d7}.hero{padding:43px 0 39px;max-width:760px}.eyebrow{color:#c8baff;font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}h1{font-size:clamp(34px,5vw,62px);line-height:1.08;letter-spacing:-.055em;margin:15px 0 15px}h2{letter-spacing:-.035em}p{line-height:1.65;color:#b8c4d9}.hero p{font-size:15px;max-width:660px}.catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.instrument{display:flex;flex-direction:column;min-height:324px;padding:27px 29px;border:1px solid #435172;border-radius:22px;background:#17243d;transition:transform .15s,border-color .15s}.instrument:hover,.instrument:focus-visible{transform:translateY(-2px);border-color:#b9adf9;outline:none}.instrument-guitar{background:#192d32;border-color:#37585a}.instrument-guitar:hover,.instrument-guitar:focus-visible{border-color:#8bd0b5}.glyph{font-size:40px;color:#c8baff;line-height:1;margin-bottom:18px}.instrument-guitar .glyph,.instrument-guitar .eyebrow{color:#98e4cf}.instrument h2{font-size:30px;margin:8px 0 6px}.instrument p{font-size:13px;max-width:400px;margin:0 0 21px}.action{margin-top:auto;font-size:13px;font-weight:800}.plans{margin:42px 0 10px;padding:27px 30px;border:1px solid #34415b;background:#111e34;border-radius:20px}.plans h2{margin:11px 0 6px;font-size:25px}.plans p{font-size:13px;margin:6px 0 18px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-grid>div{padding:17px 19px;border:1px solid #3b4763;border-radius:13px;background:#1a2944}.plan-grid strong,.plan-grid span{display:block}.plan-grid strong{font-size:14px}.plan-grid span{color:#b1c0d6;font-size:11px;margin-top:8px}.plans .legal{font-size:11px;color:#98a6be;margin:14px 0 0}footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:11px;color:#9ca9c1;padding:22px 4px}a:focus-visible{outline:3px solid #c8baff;outline-offset:4px}@media(max-width:680px){.shell{padding:14px 16px 38px}.catalog,.plan-grid{grid-template-columns:1fr}.hero{padding:24px 0}.instrument{min-height:280px;padding:23px}.plans{padding:22px}.top{padding-bottom:12px}}
.header-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.header-link{color:#d1c4ff;font-weight:800;font-size:12px}
.header-link:hover{text-decoration:underline}
.progress-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.progress-card{border-radius:18px;padding:24px;border:1px solid #435172;background:#17243d}
.progress-card h2{margin:6px 0 8px}.progress-card p{font-size:13px}
.progress-count{font-size:28px;font-weight:850;margin-top:17px;letter-spacing:-.03em}
.progress-count small{font-size:12px;color:#b3bbd0;font-weight:500;letter-spacing:0}
.progress-details{margin:14px 0 10px;border-top:1px solid #374563;padding-top:10px}
.progress-details p{margin:8px 0}
.progress-action{display:inline-flex;margin-top:6px;color:#cfbfff;font-size:12px;font-weight:800}
.profile-panel{margin:24px 0 18px;padding:23px 26px;background:#111f36;border:1px solid #35415b;border-radius:18px}
.profile-panel h2{font-size:21px;margin:5px 0}
.profile-panel input{background:#0e1729;border:1px solid #586480;border-radius:10px;color:white;font:inherit;padding:10px 12px;min-width:220px;max-width:100%}
.profile-panel label{display:block;color:#c3cee0;font-size:12px;margin-bottom:8px;font-weight:700}
.profile-panel button{background:#bcb0ff;border:1px solid #bcb0ff;border-radius:10px;color:#171c39;padding:10px 15px;font-size:12px;font-weight:850;cursor:pointer}
.profile-panel button:disabled{opacity:.55;cursor:not-allowed}
.profile-panel input[type=file]{display:none}
.backup-tools{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.backup-info{margin-top:13px;color:#aab6ce;font-size:12px}
.status-line{min-height:22px;color:#b2e4d0;font-size:12px;margin-top:10px}
.status-line[data-error=true]{color:#ffb9ae}
@media(max-width:700px){.progress-layout{grid-template-columns:1fr}.profile-panel{padding:19px}.backup-tools button{flex:1}}

.local-profile-caption{font-size:12px!important;color:#aebdd4!important;margin:10px 0 6px!important}
.local-id,.sync-meta{color:#d0d8f0;font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sync-meta{border:1px solid #35415b;border-radius:9px;padding:10px 12px;background:#152643;margin-top:11px}

/* v0.15 explicit conflict review and pending state */
.sync-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.sync-review article{background:#192941;border:1px solid #465573;border-radius:12px;padding:15px}
.sync-review article h3{margin:0 0 7px;font-size:14px}
.sync-review article p{margin:5px 0 8px;font-size:12px;line-height:1.5}
.sync-review button{margin:5px 6px 2px 0}
.sync-review .conflict{color:#ffd3a3}
@media(max-width:700px){.sync-review{grid-template-columns:1fr}}

.sync-state{font-size:12px;color:#cdd7e9;margin:12px 0 5px}
.sync-review .conflict{border-color:#9d765c}
.sync-review button:focus-visible{outline:3px solid #d3beff;outline-offset:2px}
#offline-state{margin-top:10px;min-height:40px}

.sync-review .sync-conflict{border-color:#dcaf7a}
.sync-review .sync-conflict h3{color:#ffe0b8}
.sync-review article button{border:1px solid #67728d;padding:8px 10px;border-radius:9px;color:#fff;background:#233652;cursor:pointer}
.sync-review article button:focus-visible{outline:3px solid #d7b9ff;outline-offset:2px}
.sync-review .sync-safe{border-color:#4b8078}
.sync-hint{margin-top:7px;font-size:12px;color:#cad2e5}

/* 0.18 device readiness, no new permanent home-screen clutter */
.device-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.device-row{border:1px solid #465476;border-radius:14px;background:#192841;padding:16px}
.device-row strong,.device-row span{display:block}
.device-row strong{font-size:14px;margin:0 0 8px}
.device-row span{font-size:12px;line-height:1.6;color:#c2cede;overflow-wrap:anywhere}
.device-row[data-ok=true]{border-color:#528a83}
.device-row[data-ok=false]{border-color:#ad8965}
.device-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:17px 0}
.device-actions button{background:#bcb0ff;color:#111b35;border:0;border-radius:10px;padding:12px 16px;font-weight:800}
.device-alert{font-size:12px;color:#c2cede;margin:12px 0}
.device-alert code{white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){.device-overview{grid-template-columns:1fr}}

/* 0.34: unified learner glance, per-instrument data and direct resume */
.learning-overview{background:#101d34;border:1px solid #364863;border-radius:20px;padding:24px 26px;margin:0 0 22px}
.learning-overview h2{font-size:clamp(21px,3vw,28px);margin:7px 0}
.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.overview-heading button{background:#223654;border:1px solid #627294;color:#f5f1ff;border-radius:10px;padding:10px 13px;font-size:12px;font-weight:750;cursor:pointer}
.learning-caption{font-size:12px;margin:3px 0 17px}
.learning-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.learning-step{background:#192a45;border:1px solid #405477;padding:19px 21px;border-radius:16px}
.learning-step h3{font-size:15px;margin:10px 0 2px}.learning-step>p:not(.learning-note){font-size:15px;font-weight:800;color:#f5f3ff;margin:10px 0}
.learning-note{font-size:12px;min-height:35px}
.progress-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:13px 0}
.progress-inline progress{width:160px;max-width:100%;height:11px;accent-color:#c6b9ff}
.progress-inline span{font-size:11px;color:#d7e1f2}
@media(max-width:700px){.learning-overview{padding:19px}.learning-overview-grid{grid-template-columns:1fr}}

/* 0.35: review-first recommendations with a nonintrusive move-ahead alternative */
.learning-step{display:flex;flex-direction:column;align-items:flex-start}
.learning-step>.progress-action{margin-top:11px}
.learning-alternative{font-size:12px;font-weight:750;color:#c0d6f5;margin-top:12px;text-decoration:underline;text-underline-offset:3px}
.learning-alternative:hover{color:#e9ddff}
.learning-alternative[hidden]{display:none!important}

.practice-task{padding:16px;margin:11px 0;border-radius:13px;border:1px solid #405171;background:#192941}
.practice-task label{display:inline;font-weight:800;font-size:13px;margin-left:10px}
.practice-task p{font-size:12px;margin:8px 0}
.practice-task a{color:#d6c4ff;font-size:12px;font-weight:800}
.practice-launch{margin:0 0 16px}
#reflection{background:#0e1729;border:1px solid #586480;border-radius:10px;color:#fff;font:inherit;padding:12px;width:100%;max-width:100%}
#instrument-choice{padding:10px;margin-right:10px;border-radius:9px;background:#20314b;color:white}

.practice-history-controls{display:flex;gap:13px;align-items:center;margin:14px 0}
.practice-history-controls label{margin:0}
.practice-history-controls select{color:#f7f7ff;background:#20314b;padding:9px;border:1px solid #526584;border-radius:9px}
.practice-insights{background:#1c304d;border:1px solid #48607f;border-radius:12px;padding:14px;margin:11px 0;font-size:13px;line-height:1.6;color:#e2e9fa}
.beginner-invite{padding:22px 26px;margin:0 0 24px;background:#182a44;border:1px solid #465b7c;border-radius:18px}.beginner-invite h2{margin:8px 0}.beginner-invite p{font-size:13px}\n
.progress-journey-links{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px}
.progress-journey-links a{background:#213651;border:1px solid #516887;border-radius:10px;padding:11px 14px;color:#f2ebff;font-size:12px;font-weight:800}

.guided-return{border:1px solid #4e6284;border-radius:15px;padding:17px 21px;background:#172b47;margin:17px 0 27px}
.guided-return p{margin:0 0 8px;font-size:13px}
.guided-return a{font-size:13px;color:#dbcaff;font-weight:800}
