/* Aonagi's original cabinet treatment, informed by physical mimic-panel conventions. */
.console{position:relative;background:linear-gradient(115deg,#254e53,#315b5d 45%,#23484e);border:9px solid #93afaf;border-top-color:#afc6c5;border-bottom-color:#79999c;border-radius:3px;box-shadow:inset 0 0 0 2px #183c43,0 7px 0 #5a7c82,0 13px 0 #b8cbcc,0 22px 35px #071b2b15;overflow:hidden}.consolehead,.diagramwrap,.consolefoot,.aspectlegend,.number-indicator{position:relative;z-index:1}.consolehead{padding:16px 23px 0;color:#d0e1dc;font-family:'Yu Gothic','Meiryo',sans-serif;font-size:10px;font-weight:500;letter-spacing:1.1px}.consolehead span:first-child:before{display:none}.consolehead span:last-of-type{font-size:9px;color:#b4c9c8}.console .zoom{font-size:9px;border-color:#94b2b166;background:#173c43;color:#d2e0dc;border-radius:2px;padding:4px 9px}.panel-screw{position:absolute;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#d5e0dc,#718f90);border:1px solid #4d7378;z-index:2;box-shadow:0 1px 1px #071b2b66}.panel-screw:after{content:'';position:absolute;width:4px;height:1px;left:1px;top:2px;background:#4a696b;transform:rotate(-35deg)}.panel-screw.tl{top:8px;left:8px}.panel-screw.tr{top:8px;right:8px}.panel-screw.bl{bottom:8px;left:8px}.panel-screw.br{bottom:8px;right:8px}.number-indicator{background:#10282e;border-bottom:3px solid #718d90;padding:12px 22px 13px;display:flex;align-items:center;justify-content:space-between;gap:22px;box-shadow:inset 0 2px 5px #071b2b99}.number-indicator-title{font-size:11px;letter-spacing:1.5px;color:#ccddda;white-space:nowrap}.number-indicator-title small{display:block;font-size:7px;letter-spacing:1.7px;color:#829f9e;margin-top:5px}.number-cells{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;flex:1;max-width:610px}.number-cells>div{text-align:center}.number-cells small{display:block;font-size:8px;color:#a8c0bb;letter-spacing:1px;margin-bottom:4px}.number-cells span{display:block;background:#041b21;border:1px solid #66898b66;box-shadow:inset 0 2px 4px #0007;font:17px ui-monospace,Consolas,monospace;letter-spacing:2px;line-height:24px;color:#3f6465;border-radius:1px}.number-cells span.has-train{color:#d0efbd;text-shadow:0 0 7px #c4edb826}.aspectlegend{padding:10px 23px 0;gap:16px;color:#b9ccbd;font-size:9px;letter-spacing:.2px}.aspectlegend span:before{width:5px;height:5px}.console .diagram{background:transparent}.console .rail,.console .rail.reserved,.console .rail.occupied{stroke:var(--track-band,#b9e4e8);stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;filter:none;opacity:.88}.console .rail.reserved{opacity:1}.console .rail.occupied{opacity:1}.circuit-recess{stroke:#517172;stroke-width:8;stroke-linecap:square;fill:none}.circuit-window{stroke:#071b20;stroke-width:4.5;stroke-linecap:butt;fill:none;pointer-events:none}.circuit-window.reserved{stroke:#f4f4d6;filter:drop-shadow(0 0 1px #faf6d855)}.circuit-window.occupied{stroke:#ff594d;filter:drop-shadow(0 0 3px #ff534b66)}.circuit-id{fill:#d5e2db;font-size:9px;letter-spacing:.35px;font-family:'Yu Gothic','Meiryo',sans-serif}.console .track-label{fill:#e5e9df;font-size:14px;font-weight:500;letter-spacing:1px}.console .tiny{fill:#c2d4ce;font-size:10px}.console .platform{fill:none;stroke:#a9c0b7;stroke-width:1;opacity:.7;rx:0}.console .platform-label{fill:#c1d3ca;font-size:11px;letter-spacing:1px;font-weight:400}.station-nameplate{fill:#21474c;stroke:#91aeaa;stroke-width:.7}.station-engraving{fill:#e6eee4;font-size:24px;font-weight:500;letter-spacing:8px}.cabinet-indicator{fill:#0a292f;stroke:#739b99;stroke-width:1}.cabinet-indicator.on{fill:#a6d491;filter:drop-shadow(0 0 2px #a6d49166)}.cabinet-indicator.amber.on{fill:#e5c66e;filter:drop-shadow(0 0 2px #e5c66e66)}.cabinet-indicator-label{fill:#c7d8ce;font-size:9px;letter-spacing:.5px}.equipment-note{fill:#8faeab;font-size:9px;letter-spacing:1px}.equipment-plate{fill:#31565b;stroke:#8aa9a7;stroke-width:.6}.equipment-plate-text{fill:#d6e1d8;font-size:11px;letter-spacing:1px}.direction-arrow{fill:#d5e2d6;stroke:#254f52;stroke-width:1}.panel-procedure{fill:#a8c1b6;font-size:10px;letter-spacing:1px}.cabinet-signature{fill:#87aaa4;font-size:8px;letter-spacing:2px}.console .switchblade{stroke:#e0e6d2;stroke-width:4.5}.console .switchblade.reverse{stroke:#f3e2a9}.console .switchblade.moving{stroke:#d9b66a}.console .signalcode{font-size:8px;stroke:#254f53;stroke-width:2px;letter-spacing:.2px}.console .aspectlamp{stroke:#153b40;stroke-width:2px}.console .rotor-wrap{width:70px;color:#d0ddcc}.console .rotor{height:62px}.console .rotor .base{width:25px;height:25px;left:20px;top:29px;border-radius:40%;background:conic-gradient(#dde4d8,#698780,#d4dfd0,#5b7e79,#dde4d8);box-shadow:1px 3px 2px #102e2f99}.console .rotor .handle{top:8px;left:24px;width:16px;height:39px;transform-origin:8px 32px;border-radius:3px 4px 9px 9px;box-shadow:2px 3px 2px #102e2f66;background:linear-gradient(90deg,#802f28,#c74b3c 65%,#a9362c)}.console .rotor .disc{left:-4px;top:20px;width:24px;height:23px;border-width:3px;font-size:12px;color:#eef1da;border-color:#b84435;background:#132f30;box-shadow:0 1px 1px #102e2f66}.console .rotor.point .handle{background:linear-gradient(90deg,#b9c9b5,#e4e8d5 60%,#c7d3c0)}.console .rotor.point .disc{border-color:#d9e1cc}.console .rotor.locked:after{font-size:8px;right:1px;bottom:1px;padding:0 2px;border-color:#b8ceba55;background:#204248;color:#d4debf}.console .rotor-label{font-size:8px;line-height:1.35;color:#c0d1c1}.console .rotor-label b{font-size:9px;color:#e1e8d1;font-weight:500}.console .rotor-label em{color:#bdd1b3;font-size:8px}.console .rotor.suggested .base{outline:1px solid #eedf96;outline-offset:3px;box-shadow:0 0 9px #eedf9628}.console .rotor:hover{background:#d2e0c716}.consolefoot{background:#1b3d44;border-top:1px solid #719491;color:#d6e1d0;font-size:11px;min-height:55px;letter-spacing:.2px;padding:13px 22px}.diagramwrap{scrollbar-color:#7faaa7 #254e53}.number-cells span,.circuit-window,.cabinet-indicator{transition:none}@media(min-width:1350px){.layout{grid-template-columns:minmax(0,1fr) 265px}.diagram{min-width:1000px}}@media(max-width:750px){.number-indicator{padding:10px 12px;gap:12px;align-items:flex-start;flex-direction:column}.number-indicator-title{font-size:9px}.number-indicator-title small{display:none}.number-cells{width:100%;gap:6px;max-width:none}.number-cells small{font-size:7px}.number-cells span{font-size:13px;line-height:23px;letter-spacing:1px}.consolehead{padding:12px 14px 0}.aspectlegend{padding:10px 14px 0;gap:9px;font-size:8px}.console{border-width:6px}.consolefoot{padding:12px 14px}}

.rotor.point:disabled{opacity:1;cursor:not-allowed}.rotor.point:disabled:hover{background:transparent}.rotor.point:disabled .handle{filter:saturate(.65)}
