*{box-sizing:border-box}body{margin:0;background:#06000d;color:#fff6dc;font-family:system-ui,sans-serif}.app{display:grid;grid-template-columns:310px 1fr;min-height:100vh}aside{background:#05000b;border-right:1px solid rgba(255,220,114,.25);padding:20px;height:100vh;overflow:auto;position:sticky;top:0}.brand div{letter-spacing:7px;color:#ffdc72;font-weight:1000}.brand h1{font-size:42px;color:#ffdc72;margin:4px 0}.brand span{letter-spacing:4px;font-weight:900}.brand small{display:inline-block;margin-top:12px;border:1px solid rgba(255,220,114,.35);border-radius:999px;padding:7px 10px;color:#ffdc72;font-weight:900}.auth,.navgrp,.panel{border:1px solid rgba(255,220,114,.25);border-radius:22px;background:rgba(44,20,68,.72);padding:16px;margin-top:18px}.navtitle{letter-spacing:2px;color:#ffdc72;font-weight:1000;font-size:12px}.navbtn{display:block;width:100%;text-align:left;border:1px solid transparent;background:transparent;color:#fff6dc;border-radius:14px;padding:11px;margin-top:6px;font-weight:900;cursor:pointer}.navbtn.active,.navbtn:hover{border-color:rgba(255,220,114,.35);background:rgba(255,255,255,.06)}button{border:1px solid rgba(255,220,114,.32);border-radius:14px;background:rgba(255,255,255,.05);color:#fff6dc;padding:10px 14px;font-weight:1000;cursor:pointer}.primary{background:linear-gradient(135deg,#f4ca8a,#c86cff);color:#18051f}.danger{background:linear-gradient(135deg,#ff9a69,#ff5b77);color:#21030b}.hidden{display:none!important}.main{padding:26px}.top{display:flex;justify-content:space-between;gap:16px;border:1px solid rgba(255,220,114,.3);border-radius:28px;background:#2a1641;padding:22px;margin-bottom:20px}.top h1{font-size:40px;color:#ffdc72;margin:6px 0}.top b{color:#ffdc72;letter-spacing:2px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{border:1px solid rgba(255,220,114,.25);border-radius:22px;background:#25123a;padding:18px}.card b{font-size:34px;color:#ffdc72;display:block}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.builder{display:grid;grid-template-columns:minmax(680px,1fr) 420px;gap:18px}.builder.three,.generic{grid-template-columns:320px minmax(620px,1fr) 380px;display:grid;gap:18px}.wide{min-height:520px}.form2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form2 .full{grid-column:1/-1}label{display:block;color:#dbc9ff;font-weight:900;font-size:13px}input,select,textarea{width:100%;border:1px solid rgba(255,220,114,.28);border-radius:14px;background:rgba(0,0,0,.28);color:#fff6dc;padding:11px;font-weight:800}textarea{min-height:80px}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.slotGrid,.poseGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.slot,.list .item,.selector,.ovr{border:1px solid rgba(255,220,114,.2);border-radius:16px;background:rgba(255,255,255,.04);padding:12px;margin-top:10px}.item{cursor:pointer}.item.active{border-color:#ffdc72}.thumb,.preview{border:1px solid rgba(255,220,114,.22);border-radius:18px;min-height:180px;background:rgba(0,0,0,.2);display:grid;place-items:center;text-align:center;padding:12px}.thumb img,.preview img,.pickerThumb img{max-width:100%;max-height:220px;object-fit:contain;border-radius:12px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.flow div{border:1px solid rgba(255,220,114,.2);border-radius:14px;padding:12px;background:rgba(0,0,0,.16);font-weight:900;color:#dbc9ff}.dlg{width:min(1240px,96vw);border:1px solid rgba(255,220,114,.3);border-radius:24px;background:#13051f;color:#fff6dc;padding:0}.dlg::backdrop{background:rgba(0,0,0,.72)}.dlg header{display:flex;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(255,220,114,.2)}.dlg main{padding:20px;max-height:65vh;overflow:auto}.pickerTools{display:grid;grid-template-columns:1fr 210px 210px;gap:12px}.pickerGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-top:16px}.pickerCard{border:1px solid rgba(255,220,114,.2);border-radius:18px;padding:10px;background:rgba(255,255,255,.04);cursor:pointer}.pickerThumb{height:130px;border-radius:14px;background:rgba(0,0,0,.24);display:grid;place-items:center;overflow:hidden}.toast{position:fixed;right:24px;bottom:24px;background:#1d0e2d;border:1px solid rgba(255,220,114,.3);border-radius:18px;padding:14px 18px;color:#ffdc72;font-weight:1000;z-index:50}@media(max-width:1100px){.app{grid-template-columns:1fr}aside{position:relative;height:auto}.builder,.builder.three,.generic,.grid2,.cards{grid-template-columns:1fr}.slotGrid,.poseGrid,.flow,.form2,.pickerTools{grid-template-columns:1fr}.top{display:block}}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.btn.hard{background:linear-gradient(135deg,#ff3f65,#8b0c2c);color:#fff}.danger-note{border:1px solid rgba(255,124,97,.35);border-radius:14px;padding:10px 12px;background:rgba(255,60,80,.08);color:#ffd6dc;font-weight:900;margin-top:10px}.cleanup-note{color:var(--muted);font-size:12px;font-weight:800;margin-top:6px}

/* v1.0.46 forced injected controls */
.inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.force-injected{outline:1px solid rgba(255,220,114,.20)}.btn.hard{background:linear-gradient(135deg,#ff3f65,#8b0c2c);color:#fff}

/* v1.0.48 auth/delete stable */
button.danger.hard,.btn.danger.hard{background:linear-gradient(135deg,#ff3f65,#8b0c2c)!important;color:#fff!important}
button.ghost,.btn.ghost{background:rgba(255,255,255,.04);border-color:rgba(255,220,114,.35)}
h2 button{margin-left:8px}
.auth-box button{pointer-events:auto!important;position:relative;z-index:20}

/* v1.0.50 NPC cleanup hide merged */
.item.merged{display:none!important}
.btn.npc-clean{background:rgba(255,220,114,.10);border-color:rgba(255,220,114,.55)}

/* v1.0.51 NPC List Recovery */
.npc-debug-note{font-size:11px;color:#d9c6ff;margin-top:6px}


/* v1.1.0 Audio Phase A */
.audio-gate{position:fixed;inset:0;display:grid;place-items:center;background:rgba(3,0,10,.76);backdrop-filter:blur(10px);z-index:80;padding:20px}.audio-gate-card{width:min(720px,96vw);border:1px solid rgba(255,220,114,.38);border-radius:28px;background:linear-gradient(145deg,rgba(23,8,37,.96),rgba(56,24,82,.94));box-shadow:0 30px 90px rgba(0,0,0,.6);padding:24px;color:#fff6dc}.audio-gate-card b{letter-spacing:3px;color:#ffdc72}.audio-gate-card h2{margin:8px 0;color:#ffdc72;font-size:30px}.audio-mixer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.audio-mixer-grid label{border:1px solid rgba(255,220,114,.20);border-radius:16px;padding:12px;background:rgba(0,0,0,.18)}.audio-mixer-grid input[type=range]{margin-top:8px}.audio-mini{margin-top:10px;width:100%;font-size:12px;padding:8px}.audio-hero{border:1px solid rgba(255,220,114,.25);border-radius:22px;background:rgba(255,255,255,.04);padding:18px;margin-bottom:18px}.audio-status-badge{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:1000;display:inline-block}.audio-status-hit,.audio-status-active{background:rgba(0,255,128,.10);color:#00ff80;border:1px solid rgba(0,255,128,.45)}.audio-status-broken{background:rgba(255,77,77,.10);color:#ff8a8a;border:1px solid rgba(255,77,77,.45)}.audio-status-pending{background:rgba(255,220,114,.10);color:#ffdc72;border:1px solid rgba(255,220,114,.45)}
@media(max-width:700px){.audio-mixer-grid{grid-template-columns:1fr}.audio-gate-card h2{font-size:22px}}
