:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color-scheme:dark;--bg:#141519;--surface:#1e2025;--surface2:#272a30;--border:#34353b;--text:#f2f1ed;--muted:#adabb0;--gold:#d5b77a;--red:#d96b68;--shadow:0 10px 36px #0003}html[data-theme=light]{color-scheme:light;--bg:#f8f6f1;--surface:#fff;--surface2:#f2eee7;--border:#e5dfd5;--text:#252426;--muted:#6e6b65;--gold:#916b30;--red:#b54943;--shadow:0 10px 36px #27231810}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.38;cursor:not-allowed}.top{height:78px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:10px clamp(15px,4vw,60px);background:var(--surface)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:49px;height:49px;border-radius:12px}.brand strong{font-size:24px;letter-spacing:-1.3px}.brand strong span{color:var(--gold)}.brand small{font-size:10px;letter-spacing:4px;display:block;color:var(--muted);margin-top:-2px}.top-actions,.session-ops{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.status{font-size:12px;color:var(--muted)}.iconbtn{border:1px solid var(--border);border-radius:13px;background:var(--surface2);color:var(--text);padding:10px 14px;font-size:20px}.shell{width:min(1350px,calc(100% - 36px));margin:0 auto;padding:32px 0 70px}.hero{text-align:center;max-width:680px;margin:32px auto 42px}.tag{font-size:10px;letter-spacing:2.2px;color:var(--gold);font-weight:800}.hero h1{font-size:clamp(32px,5vw,64px);letter-spacing:-2.3px;line-height:1.13;margin:13px 0}.hero em{color:var(--gold);font-style:normal}.hero p,.panel p{color:var(--muted);line-height:1.6}.entry{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.panel,.block{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:23px;box-shadow:var(--shadow)}.panel h2{margin:8px 0;font-size:21px}.top-icon{width:49px;height:49px;display:grid;place-items:center;background:var(--surface2);color:var(--gold);border-radius:13px;font-size:25px}label{display:block;color:var(--muted);font-size:12px;font-weight:650;margin:14px 0 7px}input,textarea,select{width:100%;border:1px solid var(--border);border-radius:10px;padding:11px 12px;color:var(--text);background:var(--surface2);outline-color:var(--gold)}input[type=range]{padding:0;accent-color:var(--gold)}button.primary,button.outline,button.danger{padding:12px 16px;border-radius:10px;font-weight:750}button.primary{background:var(--gold);color:#171717}button.outline{border:1px solid var(--border);background:transparent;color:var(--text)}button.danger{border:1px solid #8e443d;background:transparent;color:#e88d87}.panel>button{width:100%;margin-top:13px}.small{font-size:12px;padding:9px 12px!important}.fine{font-size:11px;color:var(--muted);line-height:1.6}.muted{font-size:12px;color:var(--muted)}.session-strip{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.session-strip h1{font-size:29px;margin:5px 0}.workspace-grid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:18px}.left{display:grid;gap:16px;align-content:start}.section-head,.reader-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-head h2{font-size:18px;margin:0 0 13px}.reader-head h2{font-size:clamp(23px,3vw,35px);margin:4px 0}.filter{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.chip{border:1px solid var(--border);background:transparent;color:var(--muted);font-size:11px;border-radius:100px;padding:6px 10px}.chip.selected{background:var(--gold);color:#171717}.song-list{max-height:340px;overflow:auto;display:grid;gap:6px}.song-item{display:flex;justify-content:space-between;align-items:center;gap:5px;text-align:left;padding:11px;border-radius:10px;background:var(--surface2);color:var(--text);border:1px solid transparent}.song-item.active{border-color:var(--gold)}.song-item strong{display:block;font-size:13px}.song-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.addsong{margin-top:17px;border-top:1px solid var(--border);padding-top:12px}.addsong summary{cursor:pointer;color:var(--gold);font-size:12px;font-weight:700}.queue{display:grid;gap:6px}.queue-row{display:flex;align-items:center;gap:7px;padding:8px;background:var(--surface2);border-radius:10px}.queue-row span{flex:1;font-size:12px}.queue-row button{padding:4px 7px;border-radius:6px;background:var(--surface);color:var(--text)}.reader{min-height:620px;display:flex;flex-direction:column}.reader-actions{display:flex;align-items:end;gap:11px;flex-wrap:wrap;border-block:1px solid var(--border);padding:13px 0;margin-top:14px}.control{min-width:115px;flex:0 1 170px}.control label{margin:0 0 4px}.control select,.control input{padding:8px}.lyrics{padding:25px 10px;min-height:300px;line-height:1.6;flex:1}.placeholder{text-align:center;color:var(--muted);padding:65px 10px}.line{display:flex;flex-wrap:wrap;gap:0 8px;margin:0 0 14px}.phrase{display:inline-flex;flex-direction:column;white-space:pre-wrap;vertical-align:bottom}.chord{font-size:.67em;font-weight:800;line-height:1.6;color:var(--gold);min-height:1.45em}.lyric-text{line-height:1.35}.lyrics.just-lyrics .chord{display:none}.verse-name{font-size:12px;letter-spacing:1.5px;color:var(--gold);font-weight:750;margin:18px 0 12px}.sections,.action-bar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.sections button{font-size:11px;padding:6px 10px;border-radius:8px;background:var(--surface2);color:var(--text)}.sections .active{outline:1px solid var(--gold)}.action-bar{margin-top:22px}.notice{border:1px solid #8a7040;color:var(--text);background:color-mix(in srgb,var(--gold) 9%,var(--surface));padding:11px 15px;border-radius:12px;margin:14px 0;font-size:13px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#ba9863;color:#18191a;border-radius:10px;padding:12px 20px;font-size:13px;font-weight:700;max-width:90%;box-shadow:0 12px 30px #0005;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}#workspace[hidden],#landing[hidden],[hidden]{display:none!important}@media(max-width:950px){.entry{grid-template-columns:repeat(2,1fr)}.entry .guest{grid-column:1/-1}.workspace-grid{grid-template-columns:290px minmax(0,1fr)}}@media(max-width:700px){.top{height:67px;padding:8px 14px}.brand strong{font-size:20px}.brand img{width:42px;height:42px}.shell{width:calc(100% - 22px);padding:17px 0}.hero{margin:20px auto 28px}.entry,.workspace-grid{grid-template-columns:1fr}.entry .guest{grid-column:auto}.panel,.block{padding:17px}.session-strip{align-items:start;flex-direction:column}.left{display:contents}.workspace-grid .reader{grid-row:1}.lyrics{min-height:190px}.reader{min-height:420px}.reader-actions{gap:8px}.control{flex:1 1 110px}.top .status{font-size:10px}}@media print{.top,.left,.reader-actions,.action-bar,.session-strip,.sections{display:none!important}.shell{width:100%}.block{border:0;box-shadow:none}.lyrics{color:#111}.chord{color:#805800}}

.auth-switch{display:flex;gap:7px;margin:14px 0 5px}.auth-switch .chip{font-size:12px;flex:1;padding:9px}.account-welcome{font-size:13px;overflow-wrap:anywhere}.divider-line{height:1px;background:var(--border);margin:15px 0}#pianist-auth>button.primary,#pianist-account>button.primary{width:100%;margin-top:13px}

/* Selección de rol antes de mostrar credenciales (MVP 0.3) */
.role-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1100px;margin:0 auto}.role-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:13px;min-height:230px;padding:26px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.role-card:hover,.role-card:focus-visible{border-color:var(--gold);transform:translateY(-2px)}.role-card strong{font-size:22px}.role-card>span:not(.top-icon):not(.role-arrow){font-size:14px;line-height:1.5;color:var(--muted)}.role-arrow{margin-top:auto;font-weight:750;color:var(--gold);font-size:13px}.access-panel{max-width:480px;margin:0 auto}.access-form{margin-top:15px}.access-form>button.primary,#auth-submit,#create{width:100%;margin-top:15px}.back-roles{margin-bottom:0}.auth-switch{display:flex;gap:9px;margin:14px 0}.auth-switch .chip{flex:1;padding:12px}.divider-line{border-top:1px solid var(--border);margin:18px 0}.account-welcome{overflow-wrap:anywhere}@media(max-width:740px){.role-choice{grid-template-columns:1fr;gap:12px;max-width:500px}.role-card{min-height:unset;padding:18px;gap:8px}.role-card strong{font-size:19px}.role-card .role-arrow{margin-top:5px}.hero{margin:10px auto 26px}}
