/* Three-dimensional VHS viewer; all motion is direct user input. */
.kit-viewer{padding:12px;background:radial-gradient(ellipse at center,#303035,#18181c);color:#eee;min-width:0}
.kit-stage{--bw:200px;--bh:332px;--bd:32px;position:relative;height:390px;display:grid;place-items:center;perspective:850px;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;overflow:hidden}
.kit-stage:focus-visible,.kit-viewer button:focus-visible,.kit-viewer select:focus-visible{outline:3px solid #f4b4dc;outline-offset:3px}
.kit-stage.dragging{cursor:grabbing}.kit-box{position:relative;width:var(--bw);height:var(--bh);transform-style:preserve-3d;pointer-events:none}
.kit-face{position:absolute;display:block;backface-visibility:hidden;object-fit:fill;border:0;border-radius:0;margin:0;max-width:none;background:#202023}
.kit-front,.kit-back{width:var(--bw);height:var(--bh);left:0;top:0}.kit-front{transform:translateZ(calc(var(--bd)/2))}.kit-back{transform:rotateY(180deg) translateZ(calc(var(--bd)/2));display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:30px 12px;box-sizing:border-box;text-align:center;background:#232328;color:#ddd;font:12px system-ui;letter-spacing:.05em}.kit-back strong{font-size:22px}
.kit-left,.kit-right{width:var(--bd);height:var(--bh);top:0;left:calc(50% - var(--bd)/2)}.kit-left{transform:rotateY(-90deg) translateZ(calc(var(--bw)/2))}.kit-right{transform:rotateY(90deg) translateZ(calc(var(--bw)/2));background:linear-gradient(90deg,#1d1d20,#303034)}
.kit-top,.kit-bottom{width:var(--bw);height:var(--bd);left:0;top:calc(50% - var(--bd)/2)}.kit-top{transform:rotateX(90deg) translateZ(calc(var(--bh)/2))}.kit-bottom{transform:rotateX(-90deg) translateZ(calc(var(--bh)/2))}
.kit-static{display:none;width:100%;height:100%;object-fit:contain;pointer-events:none}.kit-static-mode .kit-static{display:block}.kit-static-mode .kit-box{display:none}.kit-static-mode .kit-stage{cursor:default}
.kit-hint{font-size:12px;line-height:1.6;text-align:center;margin:4px 0 10px;color:#ccc}.kit-viewer-controls{display:flex;justify-content:center;gap:8px}.kit-viewer button,.kit-viewer select{min-height:44px;padding:8px 12px;background:#28282e;color:#fff;border:1px solid #74747b;border-radius:6px;font:inherit}.kit-viewer button:disabled{opacity:.45}.kit-color{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0;font-size:13px}.kit-enable{display:block;margin:auto}.kit-enable[hidden]{display:none}.kit-view-status{display:block;min-height:18px;text-align:center;font-size:12px;color:#ddd}
@media(max-width:400px){.kit-stage{--bw:180px;--bh:300px;height:350px}}

/* Back artwork uses the same box face geometry, without text-panel padding. */
img.kit-back{padding:0;object-fit:fill}

.kit-reading-controls{display:flex;justify-content:center;gap:10px;margin:10px 0;flex-wrap:wrap}
.kit-large-preview{width:min(1100px,94vw);max-width:100%;max-height:92dvh;padding:0;border:1px solid #82788e;border-radius:14px;background:#19171e;color:#f5f2f7;overflow:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}
.kit-large-preview::backdrop{background:rgb(0 0 0 / .78)}
.kit-large-preview header{position:sticky;top:0;z-index:1;background:#19171e;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border-bottom:1px solid #62586c}
.kit-large-preview h2{font-size:clamp(22px,3vw,32px);margin:0}.kit-large-preview h3{font-size:24px}
.kit-large-preview button{min-height:48px;padding:12px 18px;background:#37303f;border:1px solid #a89ab8;border-radius:8px;color:white;font:inherit;font-size:18px;cursor:pointer}
.kit-large-preview button:focus-visible{outline:3px solid #f4b4dc;outline-offset:3px}
.kit-large-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:30px;padding:24px}
.kit-large-art img{display:block;width:100%;height:auto;max-height:900px;object-fit:contain}.kit-large-copy{font-size:20px;line-height:1.6;min-width:0}.kit-large-copy dl{margin:0}.kit-large-copy dl div{display:flex;justify-content:space-between;gap:24px;padding:10px 0;border-bottom:1px solid #52495b}.kit-large-copy dd{margin:0;font-weight:700}
@media(max-width:700px){.kit-large-preview{width:100%;height:100dvh;max-height:100dvh;max-width:100vw;margin:0;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}.kit-large-preview header{padding:14px}.kit-large-body{grid-template-columns:1fr;padding:18px;gap:20px}.kit-large-copy{grid-row:1}.kit-large-art img{max-height:none}}

/* Compact public presentation; keyboard tools appear only while focused. */
.kit-viewer-controls,.kit-hint,.kit-view-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kit-viewer-controls:focus-within{position:relative;width:auto;height:auto;margin:0;overflow:visible;clip-path:none}
