:root{--bg:#edf2fb;--bg2:#f5f8ff;--surface:rgba(255,255,255,.88);--surface-2:#edf1fa;--line:#d6e0f0;--text:#304261;--muted:#62738e;--cyan:#1686ad;--purple:#7c5fc1}
body{background:radial-gradient(ellipse at 8% 0,#e9ddff,transparent 50%),radial-gradient(ellipse at 94% 30%,#daeffb,transparent 60%),var(--bg)}
.wrap{max-width:1540px;padding:28px 24px 60px}.top{padding:22px;border-radius:24px;background:linear-gradient(120deg,#fff,#ece7ff 60%,#dceffa);border:1px solid #fff;box-shadow:0 12px 40px #8294bb18}.logo{width:64px;height:64px;font-size:30px;box-shadow:0 8px 24px #9381c733}.top h1{letter-spacing:-.7px;font-size:1.6rem}.sub{max-width:790px}.badge{background:#fff9;color:#637990}.grid{grid-template-columns:320px minmax(0,1fr);gap:20px}.card{border:1px solid #fff;border-radius:20px;box-shadow:0 8px 30px #8496bd20;padding:20px}.card h2{padding-bottom:10px;border-bottom:1px solid var(--line);color:#536a8d}.btn.primary{background:linear-gradient(115deg,#8a72db,#5b9dd5);color:#fff;box-shadow:0 5px 15px #8a79c52a}.btn.ghost:hover{background:#e5ecfa}.transport{padding:14px;background:#f0f3fc;border-radius:16px}.transport .primary{min-width:120px}.rollwrap{background:#fbfcff;max-height:550px;border:1px solid #d4dfef;box-shadow:inset 0 2px 7px #8f9ebd18}.keycol{background:#edf2fb}.log{background:#f4f7fd}.log .warn{color:#a05d12}.recbar{color:#a63c52}.hint{line-height:1.8}.meta{background:#fff}.studio-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin-bottom:18px;background:linear-gradient(110deg,#ebe6fc,#e3f2fb);border:1px solid #fff;border-radius:18px}.studio-hero h2{font-size:1.18rem;border:0;padding:0;margin:4px 0;color:#4b5e85}.studio-eyebrow{font-size:.65rem;letter-spacing:2px;color:#806db3}.studio-hero p{font-size:.74rem;color:#6e7e9b}.studio-wave{display:flex;align-items:center;height:58px;gap:5px}.studio-wave i{width:5px;border-radius:5px;background:linear-gradient(#aa8cdf,#69b4d5)}.expression-dial{width:68px;height:68px;margin:10px auto 4px;background-image:url('expression-knobs.webp');background-size:204px 68px;filter:drop-shadow(0 5px 6px #7185ac33);transform:rotate(var(--angle,0deg))}.expression-dial[data-color="1"]{background-position:-68px 0}.expression-dial[data-color="2"]{background-position:-136px 0}.expression-control{padding:8px 12px;border:1px solid #e0e6f3;border-radius:14px;background:#f6f8ff;margin:10px 0}.expression-control label.field{margin:3px 0 8px}.expression-control input{accent-color:#9479d9}.rolllegend{padding:10px;background:#f5f7ff;border-radius:10px}.foot{color:#6a7b96}
@media(max-width:940px){.grid{grid-template-columns:minmax(0,1fr)}aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card+.card{margin-top:0}.grid main .card+.card{margin-top:14px}.wrap{padding:16px 12px}.top{padding:18px}.badge{margin-left:0}}
@media(max-width:600px){aside{display:block}aside .card+.card{margin-top:14px}.top h1{font-size:1.2rem}.logo{width:48px;height:48px}.studio-wave{display:none}.card{padding:14px}.studio-hero{padding:16px}.transport .btn{font-size:.74rem;padding:10px}.top .sub{font-size:.72rem}}
