/* V29 · independently articulated image-layer motion studio */
.v29-studio{margin:0 0 18px;padding:13px 11px 14px;border-radius:16px;border:1px solid #8da18899;background:linear-gradient(125deg,#0c1d28,#231a2c 66%,#2d241d);box-shadow:0 15px 30px #0005;color:#f7f2e8}
.v29-topline{font-size:10px;color:#bde1ba;letter-spacing:.17em;font-weight:800}
.v29-studio h3{font-size:19px;line-height:1.3;margin:5px 0 7px;color:#fff3d6}
.v29-studio p{color:#d7d7d7;font-size:11px;line-height:1.65;margin:0 0 10px}
#v29-preview{display:block;width:100%;height:min(104vw,490px);background:#0e1220;border:1px solid #67818e6b;border-radius:11px;touch-action:pan-y}
.v29-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:10px 0}
.v29-actions button{padding:10px 1px;border-radius:8px;background:#222a3b;color:#e9e2cf;border:1px solid #60708a;font-size:12px;font-weight:700;min-height:42px}
.v29-actions button.active{background:linear-gradient(115deg,#5b4d8b,#93643f);border-color:#f1c18a;color:white}
.v29-info{display:grid;gap:3px;text-align:center}.v29-info b{font-size:12px;color:#f0cb97}.v29-info small{font-size:10px;color:#b7bccc;line-height:1.55}

.v29-battle-toggle{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;gap:7px;font-size:11px;background:#121c27;color:#e9c19b}.v29-battle-toggle button{border:1px solid #c9a177;border-radius:6px;padding:7px;color:#fff;background:#534468;font-size:11px;font-weight:800;min-height:32px}
