.piece-stage.slice-stage{display:block;aspect-ratio:auto;max-height:none;padding:24px 20px 20px;background:radial-gradient(ellipse at center,#12334655,transparent 75%)}
.slice-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;font-size:12px;color:#b6cee0}
.slice-toolbar label{display:flex;align-items:center;gap:10px}
.slice-toolbar select{min-width:64px;min-height:44px;padding:8px 12px;background:#091726;border:1px solid #507c99;border-radius:6px;color:#bdefff;font:inherit}
.slice-follow{cursor:pointer;min-height:44px}
.slice-follow input{width:18px;height:18px;accent-color:#52d5ed}
.slice-window{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center}
.slice-stack-panel{align-self:center}
.slice-stack-title{display:block;text-align:center;font-size:9px;font-weight:600;letter-spacing:2px;color:#9ab7cc;margin-bottom:12px}
.slice-stack{display:flex;flex-direction:column;gap:0}
.slice-plane{position:relative;display:flex;align-items:center;min-height:44px;width:100%;padding:0 0 0 14px;border:1px solid transparent;border-radius:5px;background:transparent;cursor:pointer;transition:background .2s,border-color .2s;touch-action:manipulation}
.slice-plane svg{display:block;width:72px;height:40px;overflow:visible;pointer-events:none}
.slice-plane-label{position:absolute;left:2px;top:14px;font-size:11px;color:#7899b2}
.slice-plane.active{background:#0c334a;border-color:#3dcfff;box-shadow:0 0 12px #3dcfff25}
.slice-plane.active .slice-plane-label{color:#86edff}
.piece-cube:focus-visible,.slice-plane:focus-visible,.slice-layer-control button:focus-visible,.slice-toolbar select:focus-visible{outline:2px solid #87dfff;outline-offset:3px}
.mini-cell{fill:#162b3d;stroke:#5a7f98;stroke-width:.35}
.mini-cell.valid{fill:#21b88c;stroke:#42e8b4}
.mini-cell.origin{fill:#edb654;stroke:#ffd18a}
.mini-cell.destination{fill:#15baff;stroke:#b1eeff}
.slice-layer-control{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px;font-size:12px;color:#b6cee0}
.slice-layer-control button{min-width:44px;min-height:44px;border:1px solid #35516a;background:#0b1b2c;color:#d2e4f4;border-radius:6px;font-size:24px;cursor:pointer;touch-action:manipulation}
.slice-layer-control button:disabled{opacity:.35;cursor:default}
.slice-layer-control label{white-space:nowrap}
.slice-layer-control input{min-width:50px;width:100%;max-width:220px;min-height:44px;accent-color:#42cfff;cursor:pointer}
.slice-layer-control output{color:#76dfff;font-weight:600}
.slice-readout{min-height:18px;text-align:center;font:11px/1.6 monospace;color:#a5c6dc;margin:10px 0}
.slice-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;font-size:10px;color:#abc2d4}
.slice-legend span{display:flex;align-items:center;gap:6px}
.slice-legend i{display:inline-block;width:10px;height:10px;border:1px solid;border-radius:2px}
.slice-legend .valid{background:#0b70594d;border-color:#3bd5ac}.slice-legend .destination{background:#0687e9;border-color:#67dbff}.slice-legend .origin{background:#86612b;border-color:#f1c16d}
@media(max-width:800px){
.piece-stage.slice-stage{padding:16px 12px 20px}
.slice-window{grid-template-columns:74px minmax(0,1fr);gap:6px}
.slice-toolbar{margin-bottom:8px;font-size:11px}
.slice-plane{padding-left:11px}.slice-plane svg{width:61px}
.slice-layer-control{gap:8px}.slice-legend{gap:10px;font-size:10px}
}
@media(hover:hover) and (pointer:fine){.slice-plane:hover,.slice-layer-control button:not(:disabled):hover{background:#14354a;border-color:#72dfff}}
@media(prefers-reduced-motion:reduce){.slice-plane{transition:none}}

.cube-window{min-width:0;text-align:center}
.cube-window>.piece-cube{display:block;width:100%;height:auto;max-height:510px;overflow:hidden;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.cube-window>.piece-cube.is-dragging{cursor:grabbing}
.cube-slice-title{fill:#bee8f9;font:600 15px Arial,sans-serif;letter-spacing:2px}
.cube-hint{font-size:11px;line-height:1.6;color:#aac5d9;margin:0 0 8px}
.cube-controls{display:flex;justify-content:center;gap:8px;margin-bottom:16px}
.cube-controls button{min-width:44px;min-height:44px;padding:9px 12px;border:1px solid #35516a;border-radius:6px;background:#0b1b2c;color:#d2e4f4;font-size:12px;cursor:pointer;touch-action:manipulation}
.cube-controls button:focus-visible{outline:2px solid #87dfff;outline-offset:3px}
@media(hover:hover) and (pointer:fine){.cube-controls button:hover{border-color:#87dfff;background:#14354a}}
@media(max-width:800px){.cube-hint{font-size:10px}.cube-controls{gap:5px}.cube-controls button{padding:8px}.slice-window{align-items:center}}
