:root{--bg:#0a0b0f;--bg-grad:radial-gradient(1200px 600px at 20% -10%,#1a1633 0%,transparent 60%),radial-gradient(1000px 500px at 100% 0%,#10233a 0%,transparent 55%);--surface:#14151c;--surface-2:#1b1d27;--surface-3:#23263300;--line:#2a2d3a;--line-soft:#212430;--fg:#eef0f6;--muted:#9096a6;--faint:#656b7d;--accent:#8b7bff;--accent-2:#6ea8fe;--accent-ink:#ffffff;--accent-glow:rgba(139,123,255,0.35);--ok:#4ec9a4;--warn:#e6b657;--danger:#f0748c;--r-sm:8px;--r:12px;--r-lg:18px;--shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 30px rgba(0,0,0,0.35);--maxw:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--fg);font:15px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent-2);text-decoration:none}a:hover{color:var(--accent)}header.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:flex;gap:1rem;align-items:center;padding:.7rem 1.25rem;border-bottom:1px solid var(--line-soft);background:rgba(10,11,15,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{font-weight:700;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:.5rem}.brand .dot{width:10px;height:10px;border-radius:3px;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 12px var(--accent-glow)}header.appbar nav{display:flex;gap:.25rem;align-items:center}header.appbar nav a{color:var(--muted);padding:.35rem .7rem;border-radius:999px;font-size:.92rem}header.appbar nav a.active,header.appbar nav a:hover{color:var(--fg);background:var(--surface-2)}.appbar .spacer{flex:1 1}main{padding:1.75rem 1.25rem 5rem;max-width:var(--maxw);margin:0 auto}.now-playing{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;border-top:1px solid var(--line-soft);background:rgba(10,11,15,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.np-title{display:flex;flex-direction:column;min-width:0}.np-title a{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.np-title .faint{font-size:.75rem}.np-controls{display:flex;align-items:center;gap:.5rem;margin-left:auto}.np-controls audio{width:min(46vw,420px);height:34px}.np-btn{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;padding:.3rem .55rem;font-size:.9rem;line-height:1}.np-btn:hover{background:var(--surface)}@media (max-width:640px){.now-playing{flex-wrap:wrap;gap:.4rem .6rem;padding:.45rem .7rem}.np-controls,.np-title{flex:1 1 100%}.np-controls{margin-left:0}.np-controls audio{flex:1 1;width:auto}}h1{font-size:1.7rem;letter-spacing:-.02em;margin:.2rem 0 .6rem}h2{font-size:1.15rem;margin:2rem 0 .75rem;letter-spacing:-.01em}h3{font-size:1rem;margin:1.2rem 0 .5rem}h4{font-size:.9rem;margin:1rem 0 .35rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}p{margin:.5rem 0}.muted{color:var(--muted)}.faint{color:var(--faint)}.danger,.error{color:var(--danger)}code{background:var(--surface-2);padding:.1rem .35rem;border-radius:5px;font-size:.9em}.row{display:flex;gap:.6rem;align-items:center;margin:.9rem 0;flex-wrap:wrap}.row.space{justify-content:space-between}.row.tight{margin:.4rem 0}.stack{display:flex;flex-direction:column;gap:.9rem}.grid{grid-gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid,.grid-2{display:grid;gap:1rem}.grid-2{grid-gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.1rem 1.15rem;box-shadow:var(--shadow)}.card.pad-lg{padding:1.5rem}.card h2:first-child,.card h3:first-child{margin-top:0}.card-link{display:block;transition:border-color .15s,transform .15s}.card-link:hover{border-color:var(--accent);transform:translateY(-2px)}.btn,button{font:inherit;font-weight:550;cursor:pointer;padding:.5rem .9rem;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--fg);transition:background .15s,border-color .15s,opacity .15s,transform .1s}.btn:hover,button:hover{background:#262936;border-color:#383c4c}.btn:active,button:active{transform:translateY(1px)}.btn:disabled,button:disabled{opacity:.45;cursor:not-allowed}.btn.primary,button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;color:var(--accent-ink);box-shadow:0 4px 18px var(--accent-glow)}.btn.primary:hover,button.primary:hover{filter:brightness(1.07);background:linear-gradient(135deg,var(--accent),var(--accent-2))}.btn.ghost,button.ghost{background:transparent}.btn.danger,button.danger{border-color:#4a2833;color:var(--danger);background:transparent}button.danger:hover{background:#2a1b21}.btn.big,button.big{padding:.8rem 1.4rem;font-size:1.02rem;border-radius:var(--r)}button.sm{padding:.3rem .6rem;font-size:.85rem}input,select,textarea{font:inherit;padding:.5rem .65rem;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--fg);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}textarea{width:100%;resize:vertical;line-height:1.6}label{font-size:.9rem;color:var(--muted);display:inline-flex;align-items:center;gap:.4rem}label input,label select{color:var(--fg)}input[type=range]{accent-color:var(--accent);padding:0}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}input[type=file]{font-size:.85rem;color:var(--muted)}.chip,.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;padding:.2rem .55rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-2)}.chip.ok,.pill.ok{color:var(--ok);border-color:#234b40}.pill.warn{color:var(--warn);border-color:#4b3f23}.pill.bad{color:var(--danger);border-color:#4a2833}.chip.toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip.toggle:hover{border-color:var(--accent);color:var(--fg)}.chip.toggle.on{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);border-color:transparent}.stepnav{position:-webkit-sticky;position:sticky;top:52px;z-index:20;display:flex;gap:.4rem;padding:.5rem 0;margin:.5rem 0 1.25rem;background:rgba(10,11,15,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.stepnav button{flex:1 1;background:transparent;border:1px solid transparent;color:var(--muted);text-align:left}.stepnav button .n{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;font-size:.8rem;background:var(--surface-2);margin-right:.5rem;color:var(--faint)}.stepnav button.on{color:var(--fg);border-color:var(--line);background:var(--surface)}.stepnav button.on .n{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.hero{padding:2.5rem 0 1.5rem}.hero h1{font-size:2.4rem;line-height:1.1;margin-bottom:.5rem}.hero .lede{font-size:1.1rem;color:var(--muted);max-width:46ch}.waveform{width:100%;height:120px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);display:block}audio{width:100%;max-width:340px;height:36px;filter:saturate(.9)}.section-render,.vocal-director,.voice-model{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r);padding:1rem;margin:.6rem 0}.section-render h4{margin:1rem 0 .35rem}.role-card{border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:.7rem .85rem;margin-bottom:.6rem;background:var(--surface)}.role-card table{margin:.3rem 0;width:auto}.role-card td{border:none;padding:.2rem .5rem .2rem 0}.fx-chain{margin-top:.5rem;font-size:.85rem;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.fx-chain .pill{display:inline-flex;align-items:center;gap:.2rem}.ab{border:1px solid var(--line);border-radius:var(--r);padding:.9rem;margin:.9rem 0;background:var(--surface)}.ab audio{max-width:280px}table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.94rem}td,th{text-align:left;padding:.5rem .65rem;border-bottom:1px solid var(--line-soft);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}pre,tbody tr:hover{background:var(--surface-2)}pre{border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:.85rem;overflow-x:auto;font-size:.85rem}.band-switcher{gap:.4rem}.band-switcher,.recorder{display:inline-flex;align-items:center}.recorder{gap:.6rem;padding:.5rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--danger)}.rec-dot.live{animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.progress{height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden;border:1px solid var(--line-soft)}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .3s}.empty{text-align:center;color:var(--muted);padding:2.5rem 1rem;border:1px dashed var(--line);border-radius:var(--r)}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:640px){body,html{overflow-x:hidden}header.appbar{flex-wrap:wrap;gap:.5rem .75rem;padding:.55rem .9rem}header.appbar .spacer{display:none}.band-switcher{margin-left:auto}header.appbar nav{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:2px}header.appbar nav a{white-space:nowrap;padding:.35rem .6rem}main{padding:1.1rem .9rem 4rem}h1{font-size:1.35rem}h2{font-size:1.05rem;margin-top:1.5rem}.hero{padding:1.5rem 0 1rem}.hero h1{font-size:1.9rem}.hero .lede{font-size:1rem}.card{padding:.9rem}.card.pad-lg{padding:1rem}.card{overflow-x:auto}.stepnav{position:static;gap:.3rem;margin:.4rem 0 1rem}.stepnav button{padding:.45rem .4rem;font-size:.9rem;text-align:center}.stepnav button .n{margin-right:.35rem;width:20px;height:20px}.stepnav button span.faint{display:none!important}.grid,.grid-2{grid-template-columns:1fr}.btn,button{min-height:42px}.btn.sm,button.sm{min-height:34px}.btn.big,button.big{width:100%}input,select,textarea{font-size:16px}.row>input:not([type=checkbox]):not([type=radio]):not([type=range]):not([style*=width]),.row>select,.row>textarea{flex:1 1 100%}audio{max-width:100%}.recorder{border-radius:var(--r)}.recorder,.row.space{flex-wrap:wrap}table{font-size:.86rem}td,th{padding:.4rem .5rem}pre{font-size:.78rem}}@media (min-width:641px) and (max-width:900px){.hero h1{font-size:2rem}.stepnav button span.faint{font-size:.72rem}}.help{max-width:60ch}.help-steps{list-style:none;padding:0;margin:1.5rem 0;counter-reset:none}.help-steps>li{border-left:2px solid var(--line);padding:.2rem 0 .2rem 1.1rem;margin:0 0 1.4rem}.help-steps h3{margin:0 0 .35rem;font-size:1.05rem}.help-steps p{margin:.35rem 0;color:var(--muted)}.help-steps ul{margin:.4rem 0;padding-left:1.1rem}.help-steps li{color:var(--muted)}.help b{color:var(--fg);font-weight:600}.chip{white-space:nowrap}@media (max-width:640px){.help{max-width:100%}.chip{min-height:34px}.card .row.tight>input:not([type=checkbox]):not([type=range]),.card .row.tight>select{flex:1 1 140px}}