.vigslice-shell{min-height:360px;background:radial-gradient(circle at 80% 0,#162941 0,#0b111b 46%,#070b12 100%)}
.vigslice-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.vigslice-toolbar .ll-btn.active{color:#fff;border-color:#ff304f;background:#571324;box-shadow:0 0 0 2px #ff304f33}
.vigslice-toolbar .spacer{flex:1}
.vigslice-status{color:#8da2bd;font:11px ui-monospace,monospace}
.vigslice-status strong{color:#20e3d4}
.vigslice-canvas-wrap{position:relative;overflow:auto;border:1px solid #28354a;border-radius:9px;background:#070b12}
#vigslice-canvas{display:block;width:100%;min-width:720px;touch-action:none;cursor:crosshair}
#vigslice-canvas.knife-active{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M4 20L19 5l-2-2L2 18z' fill='%23ff304f'/%3E%3C/svg%3E") 3 21,crosshair}
.vigslice-legend{display:flex;gap:12px;flex-wrap:wrap;margin:9px 0;color:#91a0b5;font-size:11px}
.vigslice-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px}
.vigslice-locks{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:8px;padding-top:10px;border-top:1px solid #253247}
.vigslice-locks label{display:grid;gap:5px;color:#8da2bd;font-size:10px;text-transform:uppercase}
.vigslice-locks input[type="range"],.vigslice-locks input[type="number"]{width:100%}
.vigslice-locks .reverse{display:flex;align-items:center;gap:7px}
.live-lab.is-generating .ll-workspace,.live-lab.is-generating .ll-mode-switcher{pointer-events:none;opacity:.5;filter:saturate(.55)}
.ll-generation-overlay{position:fixed;inset:0;z-index:9998;display:none;place-items:center;background:#050811b8;backdrop-filter:blur(4px)}
.live-lab.is-generating .ll-generation-overlay{display:grid}
.ll-generation-overlay>div{min-width:min(440px,90vw);padding:28px;border:1px solid #20e3d477;border-radius:14px;background:#0c1420;box-shadow:0 18px 70px #000b;text-align:center}
.ll-generation-overlay i{display:block;width:34px;height:34px;margin:0 auto 14px;border:3px solid #26374d;border-top-color:#20e3d4;border-radius:50%;animation:vigslice-spin .8s linear infinite}
@keyframes vigslice-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.vigslice-locks{grid-template-columns:repeat(3,minmax(90px,1fr))}}
@media(max-width:560px){.vigslice-locks{grid-template-columns:repeat(2,minmax(90px,1fr))}.vigslice-toolbar .spacer{display:none}}
