:root{--ink:#0d1020;--ink-2:#12162b;--ink-3:#181d36;--line:#232946;--paper:#f3efe6;--muted:#8e92ad;--dim:#5b6080;--amber:#f5b544;--mint:#2ed3a0;--coral:#ff5f6d;--cobalt:#4f86ff;--violet:#b36bff;color:var(--paper);background:var(--ink);font-family:Sora,Segoe UI,system-ui,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}.app{grid-template:"top"52px"stage"minmax(0,1fr)/minmax(0,1fr);height:100%;display:grid}.app.with-console{grid-template-columns:1fr 380px;grid-template-areas:"top top""stage console"}.topbar{border-bottom:1px solid var(--line);z-index:2;background:#0d1020eb;grid-area:top;align-items:center;gap:10px;padding:0 16px;display:flex}.brand{letter-spacing:.2px;align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.brand em{color:var(--amber);font-style:normal;font-weight:300}.brand .dot{background:conic-gradient(var(--amber), var(--coral), var(--violet), var(--cobalt), var(--mint), var(--amber));border-radius:50%;width:12px;height:12px}.spacer{flex:1}.chip{background:var(--ink-3);border-radius:999px;padding:6px 14px}.nav-btn{border-radius:8px}.nav-btn.on{background:var(--paper);color:var(--ink);border-color:var(--paper)}.switch{cursor:pointer;color:var(--muted);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.switch.on{color:var(--paper)}.switch.disabled{opacity:.4;cursor:default}.switch input{display:none}.switch .track{background:var(--ink-3);border:1px solid var(--line);border-radius:999px;width:34px;height:19px;transition:background .2s;position:relative}.switch .knob{background:var(--muted);border-radius:50%;width:13px;height:13px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.switch.on .track{border-color:var(--amber);background:#f5b54440}.switch.on .knob{background:var(--amber);transform:translate(15px)}.canvas{background:radial-gradient(ellipse at 50% 45%, #4f86ff14, transparent 60%), radial-gradient(ellipse at 80% 100%, #b36bff0f, transparent 55%), var(--ink);grid-area:stage;position:relative;overflow:hidden}.stage{-webkit-user-select:none;user-select:none;width:100%;height:calc(100% - 64px);display:block}.hud{pointer-events:none;max-width:42%;position:absolute;top:18px;left:24px}.hud h1{margin:0;font-size:20px;font-weight:600}.hud p{color:var(--muted);margin:6px 0 0;font-size:12.5px;font-weight:300;line-height:1.5}.caption{border:1px solid var(--line);border-left:3px solid var(--amber);background:#12162be6;border-radius:10px;align-self:center;max-width:100%;padding:11px 16px;font-size:14.5px;line-height:1.5;animation:.3s fade-in}.info-card{border:1px solid var(--line);pointer-events:none;background:#12162beb;border-radius:12px;min-width:170px;padding:10px 14px;position:absolute;bottom:84px;left:20px}.info-title{font-size:19px;font-weight:600}.info-sub{color:var(--muted);margin-top:2px;font-size:11.5px}.info-notes{letter-spacing:.5px;margin-top:4px;font-size:13.5px}.info-hint{color:var(--amber);margin-top:6px;font-size:11px}.node{cursor:pointer;transition:opacity .3s;animation:.45s fade-in}.node-body{transform-box:fill-box;transform-origin:50%;transition:transform .22s}.node-body.pulse{animation:1.4s ease-in-out infinite pulse}.node-label{text-anchor:middle;dominant-baseline:central;pointer-events:none;font-weight:600}.node-sublabel{text-anchor:middle;pointer-events:none;letter-spacing:.6px;font-weight:400}.node-badge{text-anchor:start;pointer-events:none;font-weight:600}.edge-label{text-anchor:middle;pointer-events:none;font-size:10px}.lattice-label{fill:#3e4462;text-anchor:middle;dominant-baseline:central;font-size:11px}.overlay-text{dominant-baseline:central;letter-spacing:.4px;font-weight:500}.overlay-text.hand{font-family:Caveat,Segoe Print,cursive;font-size:1.3em}@keyframes fade-in{0%{opacity:0}}@keyframes pulse{50%{transform:scale(1.12)}}button,select,input{background:var(--ink-3);color:var(--paper);border:1px solid var(--line);font:inherit;border-radius:7px;padding:6px 10px;font-size:12.5px}button{cursor:pointer;text-align:left}button:hover:not(:disabled){border-color:#3a4170}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--amber);border-color:var(--amber);color:var(--ink);font-weight:600}input[type=range]{accent-color:var(--amber);background:0 0;border:none;padding:0}input[type=checkbox]{accent-color:var(--amber)}.row{align-items:center;gap:6px;display:flex}.row.end{justify-content:flex-end;margin-top:14px}.row.between{justify-content:space-between;margin-top:14px}.row.center{justify-content:center}.muted{color:var(--muted)}.hint{color:var(--muted);margin:4px 0;font-size:11.5px;line-height:1.45}.hint.bad{color:var(--coral)}.console{background:var(--ink-2);border-left:1px solid var(--line);flex-direction:column;grid-area:console;gap:8px;padding:14px;display:flex;overflow-y:auto}.console-head{justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:8px;font-size:10.5px}.preset-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}textarea{resize:vertical;background:var(--ink);color:#d8d6e8;border:1px solid var(--line);border-radius:7px;min-height:200px;padding:8px;font:11.5px/1.5 Cascadia Code,Consolas,monospace}.out{background:var(--ink);border:1px solid var(--line);white-space:pre-wrap;border-radius:7px;max-height:180px;margin:0;padding:8px;font-size:11px;overflow:auto}.log{color:var(--muted);font:11px/1.5 Cascadia Code,Consolas,monospace}.log b{color:#c4c6da;font-weight:600}.log-out b{color:var(--mint)}.log-error b{color:var(--coral)}.builder{flex-direction:column;gap:8px;width:100%;max-width:560px;margin:0 auto;padding:12px 14px;display:flex;overflow-y:auto}.field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:10.5px}.field-row{gap:8px;display:flex}.field-row.checks{flex-wrap:wrap;align-items:center;gap:4px 12px}.check{color:var(--muted);cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}select.mini{padding:3px 6px;font-size:11.5px}.tabs{gap:4px;margin-top:4px;display:flex}.tabs button{text-align:center;flex:1}.tabs button.on{background:var(--paper);color:var(--ink);border-color:var(--paper);font-weight:600}.pattern-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.pattern-card{color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:6px 4px 5px;font-size:11px;display:flex}.pattern-card .contour{color:var(--muted)}.pattern-card.on{border-color:var(--amber);color:var(--paper);background:#f5b54414}.pattern-card.on .contour{color:var(--amber)}.plan{color:var(--muted);background:var(--ink);border-radius:6px;padding:6px 8px;font-size:11.5px}.plan.bad{color:var(--coral)}button.big{text-align:center;padding:10px;font-size:14px}button.stop{background:var(--coral);border-color:var(--coral);color:var(--ink);font-weight:600}.sing{flex-direction:column;min-width:0;min-height:0;display:flex}.sing-head{border-bottom:1px solid var(--line);align-items:center;gap:22px;padding:10px 16px;display:flex}.now-label{font-size:30px;font-weight:600;line-height:1}.now-sub{color:var(--muted);margin-top:4px;font-size:11.5px}.now-chord{min-width:140px}.now-pattern{color:var(--paper)}.contour-label{text-anchor:middle;font-size:9px;font-weight:500}.now-stats{align-items:center;gap:16px;margin-left:auto;display:flex}.stat{color:var(--muted);flex-direction:column;align-items:center;font-size:11px;display:flex}.stat b{color:var(--paper);font-size:20px;font-weight:600}.stat span{text-transform:uppercase;letter-spacing:.8px;font-size:10px}.mic{border-radius:999px}.mic.on{color:var(--mint);border-color:var(--mint)}.piano-roll{flex:1;width:100%;min-height:0;display:block}.summary{border-top:1px solid var(--line);color:var(--muted);padding:8px 16px;font-size:12px}.summary b{color:var(--mint)}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10;background:#060812b8;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--ink-2);border:1px solid var(--line);border-radius:18px;width:min(680px,94vw);padding:22px 26px 24px;animation:.25s fade-in;box-shadow:0 30px 80px #00000080}.modal h2{margin:14px 0 4px;font-size:22px;font-weight:600}.modal .lead{color:var(--muted);margin:0 0 16px;font-weight:300;line-height:1.55}.modal .lead b{color:var(--amber);font-weight:600}.steps{color:var(--dim);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:16px;font-size:11.5px;display:flex}.steps .on{color:var(--amber)}.steps .close{margin-left:auto}.voice-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.voice-card{border-radius:10px;flex-direction:column;gap:3px;padding:12px;display:flex}.voice-card b{font-size:13.5px;font-weight:600}.voice-card span{color:var(--muted);font-size:11px}.voice-card.on{border-color:var(--amber);background:#f5b5441a}.capture-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.capture{border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:stretch;gap:8px;padding:14px;display:flex}.capture.listening{border-color:var(--mint)}.capture-title{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-size:11px}.capture-note{text-align:center;color:var(--amber);font-size:38px;font-weight:600}.capture>button{text-align:center}.keyboard{width:100%;height:auto;display:block}.kb-label{fill:var(--muted);text-anchor:middle;font-size:8px}.library{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.library select,.library input{flex:1;min-width:0}.lib-msg{width:100%;color:var(--mint);font-size:11.5px}.composer{z-index:3;flex-direction:column;gap:8px;width:min(680px,100% - 32px);display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.composer-bar{border:1px solid var(--line);background:#12162bf0;border-radius:14px;gap:6px;padding:6px;display:flex;box-shadow:0 10px 30px #00000059}.composer-bar:focus-within{border-color:var(--amber)}.composer-bar input{color:var(--paper);font:inherit;background:0 0;border:none;outline:none;flex:1;padding:6px 10px;font-size:14px}.composer-bar input::placeholder{color:var(--dim)}.composer-bar button{border-radius:10px}.composer-bar button.ghost{color:var(--muted);background:0 0}.composer-reply{border:1px solid var(--line);border-left:3px solid var(--mint);background:#12162bf0;border-radius:12px;align-self:stretch;padding:10px 34px 10px 14px;font-size:14px;line-height:1.5;animation:.25s fade-in;position:relative}.composer-reply.failed{border-left-color:var(--coral)}.composer-reply.pending{color:var(--muted);border-left-color:var(--amber);align-items:center;gap:8px;display:flex}.composer-brief{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:12px;overflow:hidden}.composer-error{color:var(--coral);margin-top:4px;font-size:12.5px}.composer-x{color:var(--dim);background:0 0;border:none;padding:0 7px;position:absolute;top:6px;right:6px}.composer .pulse{background:var(--amber);border-radius:50%;width:9px;height:9px;animation:.9s ease-in-out infinite pulse}.composer-ideas{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.composer-ideas button{color:var(--muted);border:1px solid var(--line);background:#12162bcc;border-radius:999px;padding:5px 12px;font-size:12px}.composer-ideas button:hover{color:var(--paper);border-color:var(--amber)}.modal.progress{width:min(720px,96vw);max-height:92vh;overflow-y:auto}.pg-tiles{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 10px;display:grid}.pg-tiles div{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.pg-tiles b{font-size:20px;font-weight:600}.pg-tiles span{color:var(--muted);font-size:11px}.pg-tabs{gap:6px;margin:6px 0 4px;display:flex}.pg-tabs button.on{background:var(--paper);color:var(--ink);border-color:var(--paper)}.pg-chart{margin:4px 0 10px;position:relative}.pg-chart svg{width:100%;height:auto;display:block}.pg-grid{stroke:var(--line);stroke-width:1px}.pg-axis{fill:var(--dim);font-size:10px}.pg-direct{fill:var(--paper);font-size:10px;font-weight:600}.pg-line{fill:none;stroke:var(--amber);stroke-width:2px;stroke-linejoin:round}.pg-dot{fill:var(--amber);stroke:var(--ink-2);stroke-width:2px}.pg-cross{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.pg-blackkey{fill:#ffffff06}.pg-empty{fill:var(--line)}.pg-tip{pointer-events:none;z-index:2;white-space:nowrap;background:var(--ink);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:1px;padding:6px 9px;font-size:11.5px;display:flex;position:absolute;transform:translate(10px,-50%);box-shadow:0 8px 20px #0006}.pg-tip.left{transform:translate(calc(-100% - 10px),-50%)}.pg-tip span{color:var(--muted)}.pg-legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:11px;display:flex}.pg-key{align-items:center;gap:5px;display:inline-flex}.pg-key i{border-radius:3px;width:10px;height:10px;display:inline-block}.pg-actions{margin-top:6px}.pg-table table{border-collapse:collapse;width:100%;font-size:12px}.pg-table th{text-align:left;color:var(--dim);border-bottom:1px solid var(--line);padding:4px 6px;font-size:11px;font-weight:400}.pg-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px}.pg-table small{color:var(--dim);font-size:10.5px;display:block}.pg-row-actions{white-space:nowrap;text-align:right}.pg-row-actions button{margin-left:4px;padding:3px 8px}.modes{background:var(--ink-3);border:1px solid var(--line);border-radius:10px;gap:2px;margin-left:14px;padding:3px;display:flex}.modes button{color:var(--muted);background:0 0;border:none;border-radius:7px;padding:5px 14px;font-weight:500;position:relative}.modes button.on{background:var(--paper);color:var(--ink)}.modes button.ready:not(.on):after{content:"";background:var(--amber);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:5px}.practice{background:var(--ink-2);flex-direction:column;grid-area:stage;min-height:0;display:flex;position:relative}.practice .sing{flex:1}.practice-bar{border-top:1px solid var(--line);background:var(--ink);align-items:center;gap:8px;padding:10px 14px;display:flex}.practice-bar .big{min-width:160px}.practice-bar .plan{background:0 0}.summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.upnext{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;overflow-y:auto}.upnext-title{font-size:26px;font-weight:600}.upnext .contour{color:var(--amber)}.upnext-chords{flex-wrap:wrap;justify-content:center;gap:6px;max-width:560px;display:flex}.upnext-chords span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px}.sheet{z-index:5;background:var(--ink);flex-direction:column;animation:.22s sheet-up;display:flex;position:absolute;inset:0}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.sheet-head{border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.8px;align-items:center;padding:8px 14px;font-size:11.5px;display:flex}.sheet-head .close{margin-left:auto}.sheet .canvas{flex:1;min-height:0}.sheet-setup{overflow-y:auto}.ticket{border:1px solid var(--amber);background:#12162bf5;border-radius:14px;align-items:center;gap:10px;padding:8px 8px 8px 12px;animation:.25s fade-in;display:flex;box-shadow:0 10px 30px #00000059}.ticket .contour{color:var(--amber);flex:none}.ticket-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ticket-text b{font-size:13.5px;font-weight:600}.ticket-text span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.ticket .ghost{color:var(--dim);background:0 0;border:none}@media (width<=720px){.app{grid-template-rows:48px minmax(0,1fr)}.app.with-console{grid-template-columns:1fr;grid-template-areas:"top""stage"}.app.with-console .console{z-index:8;position:fixed;inset:48px 0 0}.topbar{gap:6px;padding:0 8px}.brand-name,.brand em,.switch-label,.console-btn{display:none}.topbar{overflow:hidden}.topbar .chip,.topbar .nav-btn{white-space:nowrap;padding:5px 8px}.modes{margin-left:4px}.modes button{padding:5px 10px}.chip{padding:5px 9px;font-size:11.5px}.hud{max-width:70%;top:10px;left:12px}.hud h1{font-size:16px}.hud p,.info-card{display:none}.caption{font-size:13px}.composer{width:calc(100% - 16px);bottom:10px}.composer-ideas button{font-size:11px}.sing-head{flex-wrap:wrap;gap:10px 16px;padding:10px 12px}.now-pattern{order:3;width:100%}.now-pattern svg{width:100%;height:auto}.now-stats{gap:10px}.practice-bar{flex-wrap:wrap;padding:8px}.practice-bar .spacer{display:none}.practice-bar .big{flex:1 0 100%;order:-1}.practice-bar>button:not(.big){text-align:center;flex:1}.pg-tiles{grid-template-columns:1fr 1fr}.modal{padding:16px}}.coach-btn{white-space:nowrap;color:var(--muted);border-radius:10px;align-items:center;gap:7px;display:inline-flex}.coach-dot{background:var(--dim);border-radius:50%;width:9px;height:9px}.coach-btn.live{color:var(--paper);border-color:var(--violet)}.coach-btn.live .coach-dot{background:var(--violet)}.coach-btn.live.speaking .coach-dot,.coach-btn.connecting .coach-dot{background:var(--violet);animation:.7s ease-in-out infinite pulse}.coach-btn.error{border-color:var(--coral)}.coach-strip{border:1px solid var(--line);border-left:3px solid var(--violet);background:#12162bf0;border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.5;animation:.25s fade-in}.coach-strip.failed{border-left-color:var(--coral)}.practice-coach{padding:0 14px}.practice-coach:empty{display:none}.practice-coach .coach-strip{margin:8px 0}@media (width<=720px){.composer-bar .coach-btn{gap:0;padding:5px 8px;font-size:0}.composer-bar .coach-btn .coach-dot{width:12px;height:12px}}.sound-setup{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:520px;margin-top:14px;display:flex}.seg{background:var(--ink-3);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:flex}.seg button{color:var(--muted);background:0 0;border:none;border-radius:7px;padding:5px 12px}.seg button.on{background:var(--paper);color:var(--ink)}.check-result{border:1px solid var(--line);text-align:left;border-radius:10px;width:100%;padding:8px 12px;font-size:12.5px;line-height:1.5}.check-result.good{border-color:var(--mint);color:var(--paper)}.check-result.bad{border-color:var(--coral);color:var(--paper)}.check-result b{color:var(--amber);font-weight:600}.roll-wrap{flex:1;min-height:0;display:flex;position:relative}.phase-cue{pointer-events:none;letter-spacing:.5px;border:1px solid var(--line);background:#0d1020d1;border-radius:14px;padding:6px 22px;font-size:30px;font-weight:700;animation:.26s cue-pop;position:absolute;top:14px;left:50%;transform:translate(-50%)}.phase-cue.listen,.phase-cue.chord{color:var(--cobalt);font-size:22px}.phase-cue.count{color:var(--amber);text-align:center;min-width:76px;font-size:40px}.phase-cue.sing{color:var(--mint);animation:.26s cue-pop,1.6s .6s forwards cue-fade}@keyframes cue-pop{0%{opacity:0;transform:translate(-50%)scale(.85)}}@keyframes cue-fade{to{opacity:0}}.mic-meter{color:var(--muted);align-items:center;gap:6px;min-width:92px;font-size:11px;display:flex}.mic-bar{background:var(--ink-3);border-radius:3px;width:56px;height:6px;overflow:hidden}.mic-bar i{background:var(--dim);height:100%;transition:width 80ms linear;display:block}.mic-bar i.voiced{background:var(--mint)}.roll-wrap .piano-roll{height:100%}.form-tip{pointer-events:none;text-align:center;max-width:min(520px,90%);color:var(--paper);background:#0d1020b3;border-radius:10px;padding:6px 14px;font-size:14px;line-height:1.45;animation:.4s fade-in;position:absolute;top:74px;left:50%;transform:translate(-50%)}.form-note{color:var(--amber);margin-top:3px}.now-sub.warm{color:var(--amber)}.welcome{z-index:4;border:1px solid var(--line);border-top:3px solid var(--amber);background:#12162bf5;border-radius:14px;width:340px;padding:16px 18px 14px;animation:.35s fade-in;position:absolute;top:96px;left:24px;box-shadow:0 16px 40px #0006}.welcome h2{margin:0 0 6px;font-size:18px;font-weight:600}.welcome p{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.55}.welcome p i{color:var(--paper);font-style:normal;font-weight:600}.welcome-actions{flex-direction:column;gap:6px;display:flex}.welcome-actions button{text-align:center;padding:8px 10px;font-size:13.5px}.welcome .welcome-hint{color:var(--dim);margin:10px 0 0;font-size:11.5px}.welcome .close{color:var(--dim);background:0 0;border:none;position:absolute;top:8px;right:8px}@media (width<=720px){.welcome{width:auto;top:52px;left:10px;right:10px}}.pass-toast{pointer-events:none;white-space:nowrap;color:var(--paper);border:1px solid var(--line);border-left:3px solid var(--amber);background:#0d1020e6;border-radius:12px;padding:8px 16px;font-size:15px;font-weight:600;animation:.25s cue-pop;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.pass-toast.good{border-left-color:var(--mint)}.checkin{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.checkin button{border-radius:999px;padding:3px 10px;font-size:12px}.checkin button.on{background:var(--paper);color:var(--ink);border-color:var(--paper)}.checkin .strain-note{color:var(--amber)}.checkin .saved{color:var(--mint)}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin:12px 0 6px;font-size:10.5px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border-radius:999px;padding:5px 12px;font-size:12.5px}.chips button.on{border-color:var(--amber);color:var(--paper);background:#f5b54424}.skills .focus{border:1px solid var(--line);color:var(--muted);border-radius:12px;flex-direction:column;gap:4px;margin:8px 0;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.skills .focus b{color:var(--paper);margin-right:6px;font-weight:600}.skills .focus button{align-self:flex-start;margin-top:4px}.skill-row{grid-template-columns:170px 1fr 54px 44px;align-items:center;gap:8px;padding:2px 0;font-size:12px;display:grid}.skill-row.empty{color:var(--dim)}.skill-bar{background:var(--ink-3);border-radius:4px;height:8px;overflow:hidden}.skill-bar i{background:var(--amber);border-radius:4px;height:100%;display:block}.skill-val{text-align:right}.skill-tend{color:var(--muted);font-size:11px}@media (width<=720px){.skill-row{grid-template-columns:120px 1fr 48px 36px}}.now-role{color:var(--amber);margin-top:3px;font-size:12px}.now-syl{color:var(--paper)}.consent{border:1px solid var(--line);border-left:3px solid var(--violet);text-align:left;max-width:520px;color:var(--muted);border-radius:12px;flex-direction:column;gap:6px;margin-top:10px;padding:10px 14px;font-size:12.5px;line-height:1.5;display:flex}.consent b{color:var(--paper);font-size:13.5px}.consent .row{gap:8px;margin-top:4px}.consent-toggle{margin-top:10px;font-size:11.5px}.plan-strip{scrollbar-width:none;align-items:center;gap:6px;padding:8px 12px 2px;display:flex;overflow-x:auto}.plan-strip::-webkit-scrollbar{display:none}.plan-step{white-space:nowrap;opacity:.7;border-radius:999px;padding:4px 9px;font-size:12px}.plan-step.on{opacity:1;border-color:var(--amber);color:var(--amber)}.plan-step.done{opacity:.9;color:var(--mint)}.step-why{color:var(--amber)}.plan-done{color:var(--mint);align-self:center}.diagram-picker{z-index:3;flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:10px;right:12px}.diagram-list{border:1px solid var(--line);background:#12162bf7;border-radius:10px;flex-direction:column;gap:4px;width:min(340px,100vw - 24px);max-height:min(70vh,520px);margin-top:6px;padding:8px;display:flex;overflow-y:auto}.diagram-list input{box-sizing:border-box;width:100%;margin-bottom:4px}.diagram-item{text-align:left;background:0 0;border-color:#0000;flex-direction:column;align-items:flex-start;gap:2px;width:100%;display:flex}.diagram-item:hover{border-color:var(--line);background:var(--ink-3)}.diagram-item span{opacity:.65;font-size:12px}.path-card{border:1px solid var(--line);background:#0d102099;border-radius:10px;flex-direction:column;gap:3px;margin:8px 0 10px;padding:10px 12px;display:flex}.path-card span{opacity:.8;font-size:12.5px}.path-card .path-trust{color:var(--mint);opacity:1}.path-units{gap:4px;margin-bottom:4px;display:flex}.path-units span{background:var(--ink-3);border-radius:3px;flex:1;height:5px}.path-units span.done{background:var(--mint)}.path-units span.on{background:var(--amber)}.plan-path{white-space:nowrap;color:var(--amber);margin-right:4px;font-size:12px}.song-open{width:100%;margin-bottom:10px}.song-builder{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:12px;display:flex}.song-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.song-builder label{opacity:.9;flex-direction:column;gap:3px;font-size:12px;display:flex}.song-builder .wide{grid-column:1/-1}.song-builder input,.song-builder select{box-sizing:border-box;width:100%}.path-theme{align-items:center;gap:8px;margin-top:4px;font-size:12.5px;display:flex}.path-theme select{flex:1}.dg-bar{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;display:flex}.dg-help{border-radius:999px;align-items:center;gap:7px;padding:4px 11px 4px 4px;font-size:12px;display:inline-flex}.dg-help span{background:var(--amber);width:20px;height:20px;color:var(--ink);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.dg-help.on{border-color:var(--amber);color:var(--amber)}.dg-control{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.dg-control select{padding:3px 6px;font-size:12px}.dg-legend{z-index:2;border:1px solid var(--line);background:#0d1020d1;border-radius:8px;flex-direction:column;gap:3px;max-width:230px;padding:5px 9px 7px;font-size:11.5px;display:flex;position:absolute;bottom:96px;right:16px}.dg-legend.closed{padding-bottom:5px}.dg-legend-head{text-align:left;color:var(--muted);background:0 0;border:none;padding:0;font-size:11px}.dg-legend-row{align-items:center;gap:7px;display:flex}.dg-legend-row svg{flex:none}.dg-panel{z-index:4;border:1px solid var(--line);background:#12162bf7;border-radius:10px;width:min(420px,100vw - 32px);max-height:calc(100% - 220px);padding:12px 16px;font-size:13.5px;line-height:1.5;position:absolute;top:110px;left:16px;overflow-y:auto}.dg-panel ul{margin:4px 0 10px;padding-left:18px}.dg-panel li{margin-bottom:4px}.dg-panel .close{position:absolute;top:6px;right:8px}.dg-shows{margin:0 24px 8px 0;font-weight:600}@media (width<=700px){.dg-legend{font-size:10.5px;bottom:120px;right:8px}}.welcome-backdrop{z-index:6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080a1699;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.welcome-backdrop .welcome{width:min(440px,100%);max-height:calc(100% - 32px);margin:0;position:relative;inset:auto;overflow-y:auto}.dg-panel{top:150px}
