/* PLC-driven CSS 3D cutaway: camera transforms never change control state. */
.shaft-panel{background:#111e19;color:#dce8db}.shaft-panel .panel-heading{border-color:#33483c}.shaft-panel .meta{color:#9eb49e}.shaft-panel .shaft-top{background:#21372b;border-color:#435b46}.shaft-panel .shaft-top strong,.shaft-panel .shaft-top small,.shaft-panel .shaft-top>span{color:#d3efa8}.scene-tools{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 15px}.scene-tools button{min-height:44px;border:1px solid #536b52;border-radius:5px;background:#243a2b;color:#dcebd5;padding:8px 12px;font-size:12px}.scene-tools button[aria-pressed=true]{background:#c4f58b;color:#243522}.scene-help{padding:0 20px 15px;font-size:12px;color:#a8bba4}.shaft-panel .shaft-area{height:550px;margin:0 14px;background:radial-gradient(ellipse at center,#324b33,#0c1712 75%);border-color:#364e3a;perspective:1100px;overflow:hidden}.scene-world{position:absolute;left:50%;top:6%;width:210px;height:84%;margin-left:-105px;transform-style:preserve-3d;transform:rotateX(-9deg) rotateY(-27deg);transition:transform .5s}.scene-world[data-view=front]{transform:rotateX(0) rotateY(0)}.scene-world[data-view=right]{transform:rotateX(-9deg) rotateY(27deg)}.scene-world[data-view=wide]{transform:rotateX(-16deg) rotateY(-38deg) scale(.82)}.shaft-panel .shaft-grid{transform-style:preserve-3d}.shaft-panel .floor-row{padding:0;border:0;transform-style:preserve-3d;align-items:end;pointer-events:none}.shaft-panel .floor-row:before{content:'';position:absolute;left:-13px;right:-13px;bottom:0;height:120px;background:linear-gradient(90deg,#62765bba,#344932bb);border:1px solid #9caf84;transform-origin:bottom;transform:rotateX(90deg);box-shadow:0 4px 0 #182b1d}.shaft-panel .floor-row:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:#8a9d77;transform:translateZ(2px)}.shaft-panel .floor-number{position:absolute;left:-39px;bottom:12px;color:#b4c79f;font-size:23px;transform:translateZ(30px)}.shaft-panel .floor-row.current .floor-number{color:#d2ff86;text-shadow:0 0 14px #c4f58b99}.shaft-panel .hall-call{position:absolute;right:-43px;bottom:12px;pointer-events:auto;transform:translateZ(35px);background:#29422e;border-color:#799169;color:#c4e6a4;width:44px;height:44px}.shaft-panel .hall-call.active{background:#c4f58b;color:#21361e}.shaft-panel .shaft-track{left:23%;right:23%;background:#23382b55;border-color:#647b57;transform-style:preserve-3d;transform:translateZ(-55px)}.shaft-panel .rail{background:linear-gradient(90deg,#435742,#abc19a,#354c37);width:5px}.shaft-panel .car{left:3px;right:3px;height:18%;padding:5px;border-color:#b5cf91;border-radius:0;background:#607852;box-shadow:0 4px 12px #0006;transform:translateZ(58px);transform-style:preserve-3d}.shaft-panel .car:before{content:'';position:absolute;left:-2px;top:-2px;width:100%;height:64px;transform-origin:top;transform:rotateX(-90deg);background:linear-gradient(120deg,#c0cf9e,#698057);border:1px solid #a2b88c}.shaft-panel .car:after{content:'';position:absolute;right:-2px;top:-2px;bottom:-2px;width:64px;transform-origin:right;transform:rotateY(-90deg);background:repeating-linear-gradient(0deg,#526849 0 15px,#607851 16px 17px);border:1px solid #9bb580}.shaft-panel .car-label{color:#e6f3c9;font-size:8px}.shaft-panel .car-interior{background:linear-gradient(130deg,#334a2b,#172a1b);border-color:#c6d5aa}.shaft-panel .car-door{background:linear-gradient(90deg,#7b906d,#d7dfb9 50%,#8a9d78);border-color:#6c815e}.shaft-panel .inside-symbol{font-size:18px}.shaft-panel .shaft-foot{color:#a4b99d;gap:10px;flex-wrap:wrap}.scene-ground{position:absolute;left:-25px;right:-25px;bottom:0;height:180px;transform-origin:bottom;transform:rotateX(90deg) translateZ(-5px);background:repeating-linear-gradient(90deg,transparent 0 24px,#6c875a33 25px 26px),#2d432d;border:1px solid #6c8255}.scene-pill{position:absolute;left:14px;top:12px;color:#b4d096;font:10px monospace;letter-spacing:1px}.fire-active .shaft-panel .car{border-color:#f5aa65}.fire-active .scene-pill{color:#ffba7b}@media(max-width:690px){.shaft-panel .shaft-area{height:490px}.scene-world{width:180px;margin-left:-90px}.shaft-panel .floor-number{left:-30px;font-size:20px}.shaft-panel .hall-call{right:-38px}.scene-tools{padding-left:14px;padding-right:14px;gap:6px}.scene-tools button{padding:8px 10px}.shaft-panel .car-label{font-size:7px}}@media(prefers-reduced-motion:reduce){.scene-world{transition:none}}
.shaft-panel .shaft-area{touch-action:none;cursor:grab;user-select:none}.shaft-panel .shaft-area.rotating{cursor:grabbing}.scene-world{transition:none}.shaft-panel .hall-call{cursor:pointer}.shaft-panel .shaft-area:focus-visible{outline:3px solid #c4f58b;outline-offset:3px}
