/* Generated workshop props. All controls retain their native button semantics. */
.workbench{grid-template-columns:minmax(150px,.5fr) minmax(0,1.5fr);min-height:0}.workbench>figure img{object-position:55% center}.workbench figcaption{display:flex;flex-direction:column;gap:8px}.workbench figcaption>span{font:10px system-ui;letter-spacing:2px;text-transform:uppercase;color:#e1b978}.workbench figcaption>b{font:29px Georgia,serif}.workbench figcaption>small{color:#ded1ae;font-size:11px}.workbench .drain-game{container-type:inline-size;padding:24px clamp(16px,2vw,30px);gap:12px;background:#f4ecd6}.workbench .drain-game>header{gap:10px}.workbench .drain-game h2{font-size:29px}.workbench .puzzle-instruction{max-width:650px}.puzzle-budget{display:flex;align-items:center;gap:4px;white-space:nowrap;font:10px system-ui;color:#7c6849}.puzzle-budget i{width:6px;height:10px;background:#9dba78;border:1px solid #72845c;border-radius:2px}.puzzle-budget i.spent{background:#ac4c34;border-color:#873520}.puzzle-budget>span{margin-left:5px}
.bench-instrument{position:relative;border:5px solid #445044;border-radius:12px;padding:18px 20px 22px;background:radial-gradient(ellipse at 30% 0,#52604a55,transparent 70%),repeating-linear-gradient(100deg,#ffffff02 0 1px,transparent 1px 5px),#253a30;color:#e5dcc0;box-shadow:inset 0 0 0 1px #83917a66,inset 0 0 30px #081a1880,0 5px 0 #172a24,0 10px 18px #202b2424;margin:3px 0 7px;min-width:0}.instrument-label{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #a6b68a24;padding:0 0 12px;margin:0 10px 12px;font:9px/1.5 system-ui;letter-spacing:1px;color:#bdc6ab}.instrument-label>span:last-child{letter-spacing:0;color:#d8c59b}.bench-screw{position:absolute;width:8px;height:8px;border:1px solid #101e18;border-radius:50%;background:linear-gradient(135deg,#92967b 35%,#24362b 36% 48%,#a0a38a 49%);box-shadow:0 1px 2px #0009}.bench-screw:nth-of-type(1){left:6px;top:7px}.bench-screw:nth-of-type(2){right:6px;top:7px}.bench-screw:nth-of-type(3){left:6px;bottom:7px}.bench-screw:nth-of-type(4){right:6px;bottom:7px}
.valve-instruments{display:flex;align-items:center;justify-content:center;gap:32px}.bench-gauge{position:relative;width:190px;aspect-ratio:1;flex-shrink:0;filter:drop-shadow(0 5px 5px #0b161aa6)}.bench-gauge img{display:block;width:100%}.gauge-needle{position:absolute;left:calc(50% - 2px);top:22%;width:4px;height:30%;background:#a33926;border-radius:60% 60% 2px 2px;transform-origin:50% 93%;transform:rotate(var(--needle));box-shadow:1px 1px 2px #3339}.bench-gauge>span,.bench-gauge>small{position:absolute;transform:translate(-50%,-50%);color:#333f2e;font:700 12px monospace;left:50%}.bench-gauge .gauge-target{top:33%;font-size:16px}.bench-gauge .gauge-zero{left:23%;top:67%}.bench-gauge .gauge-max{left:77%;top:67%}.bench-gauge>small{top:76%;font-size:8px;letter-spacing:1px}.bench-readout{min-width:125px}.bench-readout>span{font:10px system-ui;text-transform:uppercase;letter-spacing:1px;color:#acb69a}.bench-readout>strong{display:block;font:600 48px/1.3 monospace;letter-spacing:-3px;color:#ead5a4}.bench-readout>strong small{font:20px monospace;color:#a5b299;margin-left:8px;letter-spacing:0}.bench-readout>strong.at-target{color:#b5d782}.bench-readout>strong.over-target{color:#f09465}.workbench .bench-readout p{font:12px system-ui;color:#d8caa9;margin:0 0 12px}.bench-target{display:flex;align-items:center;gap:6px;color:#bacc9c;font-size:11px}.bench-target i{width:6px;height:6px;background:#a1bd6a;border-radius:50%}
.valve-manifold{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:14px 0 18px}.valve-manifold:before{content:'';position:absolute;left:15px;right:15px;top:57px;height:15px;background:linear-gradient(#15241c,#677259 35%,#3c5140 70%,#172b20);border:1px solid #7a836166;border-radius:8px}.workbench .bench-valve{position:relative;min-width:0;display:flex;flex-direction:column;gap:4px;border:0;padding:5px 2px 9px;background:transparent;color:#f2ddad;box-shadow:none;border-radius:5px;min-height:142px}.workbench .bench-valve:hover:not(:disabled){background:#a4ba8620;box-shadow:none}.valve-id{font:9px monospace;color:#b1b899;letter-spacing:1px}.valve-wheel{width:100%;max-width:78px;aspect-ratio:1;display:block;z-index:1}.valve-wheel img{display:block;width:100%;height:100%;filter:drop-shadow(0 5px 3px #07140bb0);transform:rotate(-22deg)}.is-open .valve-wheel img{transform:rotate(25deg);filter:drop-shadow(0 2px 7px #e4bd4570)}.bench-valve>b{font:700 20px monospace;background:#14281d;border:1px solid #71806766;border-radius:3px;min-width:36px;padding:3px;color:#ddcc9e}.bench-valve.is-open>b{background:#d5c487;color:#213321;border-color:#e9d9a0}.valve-state{display:flex;gap:4px;align-items:center;font:9px system-ui;color:#afb59a}.valve-state i{width:5px;height:5px;border-radius:50%;background:#697560}.is-open .valve-state{color:#cadf9a}.is-open .valve-state i{background:#b8d780;box-shadow:0 0 5px #c6dfaa}.bench-submit{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.bench-submit button{min-height:43px}.workbench .bench-submit small{font-size:10px;color:#b6bea5}
.lock-instruments{display:flex;gap:25px;align-items:center;justify-content:center;margin:14px 0 18px}.bench-lock-face{position:relative;width:220px;aspect-ratio:1;flex-shrink:0;filter:drop-shadow(0 6px 4px #091b13)}.bench-lock-face img{width:100%;display:block}.bench-lock-face>span{position:absolute;transform:translate(-50%,-50%);font:700 11px monospace;color:#d9c894;text-shadow:0 1px 3px #000}.bench-lock-face>span.active{color:#ffe3a1;background:#273b28;border-radius:2px;box-shadow:0 0 5px #d9b66d;padding:2px}.lock-pointer{position:absolute;inset:32%;transform:rotate(var(--angle));z-index:1}.lock-pointer:before{content:'';position:absolute;left:calc(50% - 3px);top:0;width:6px;height:13px;background:#e6c374;clip-path:polygon(50% 0,100% 100%,0 100%)}.lock-details{min-width:120px}.bench-plate{display:inline-block;color:#b1b49d;font:9px monospace;letter-spacing:1px;border:1px solid #7b866051;padding:4px 7px}.lock-position{margin:15px 0}.lock-position small{display:block;color:#adb69d;font:10px system-ui}.lock-position b{font:38px monospace;color:#e2d2a6}.lock-position b>span{font:14px monospace;color:#99aa8d;margin-left:5px}.lock-pins{display:flex;flex-direction:column;gap:9px}.lock-pins>span{display:grid;grid-template-columns:7px auto;gap:3px 8px;color:#adba9f;font:10px system-ui}.lock-pins i{grid-row:1/3;height:21px;width:7px;background:#12251a;border:1px solid #5d7053;border-radius:2px}.lock-pins b{font-size:11px;color:#d2c6a6}.lock-pins .unlocked i{background:#b8d279;box-shadow:0 0 7px #bbd2945f}.lock-pins .unlocked b{color:#bad584}.lock-controls{display:flex;justify-content:center;gap:9px}.lock-controls button{padding:11px 12px;font-size:12px}.lock-controls .secondary{background:#40523e;color:#e1d9b7;border-color:#82907266}
.circuit-instruments{display:flex;align-items:center;justify-content:center;gap:26px;padding:6px 0}.bench-circuit{display:grid;grid-template-columns:repeat(3,78px);gap:8px;max-width:100%}.workbench .circuit-module{position:relative;display:flex;flex-direction:column;gap:3px;padding:6px;background:#1c3025;border:1px solid #64775a;border-radius:4px;box-shadow:inset 0 1px #84967733;min-width:0;min-height:105px}.workbench .circuit-module:hover:not(:disabled){background:#3a5139;border-color:#b9ba87}.lamp-id{font:9px monospace;color:#a4b093}.lamp-glass{display:block;width:62px;max-width:100%;aspect-ratio:1;background:url('../assets/puzzles/lamp-v1.png') left center/200% 100% no-repeat;filter:brightness(.6)}.lit .lamp-glass{background-position:right center;filter:drop-shadow(0 0 6px #e5ad4633)}.lamp-switch{display:block;width:22px;height:7px;border:1px solid #697a59;background:#13251a;border-radius:4px}.lamp-switch i{display:block;width:10px;height:5px;background:#819476;border-radius:3px}.lit .lamp-switch i{margin-left:auto;background:#dfba63}.circuit-legend>span{display:block;font:10px system-ui;color:#c3c9ad}.circuit-legend>b{display:block;font:46px monospace;color:#e9ca7b;margin:12px 0 0}.circuit-legend>b small{font:18px monospace;color:#9aad8b}.workbench .circuit-legend p{font:10px/1.5 system-ui;color:#b8c2a5;margin:7px 0 12px}.workbench .circuit-legend>small{color:#aabb99;font-size:10px}.cross-diagram{display:grid;grid-template-columns:repeat(3,9px);gap:3px;margin-top:17px}.cross-diagram i{width:9px;height:9px;background:#15291d;border:1px solid #536a46}.cross-diagram i.on{background:#c7b168;border-color:#ecce80}
.cipher-paper{background:url('../assets/puzzles/paper-v1.png') center/100% 100% no-repeat;padding:26px 30px 23px;color:#423522;min-height:240px}.cipher-paper header{display:flex;justify-content:space-between;gap:10px;font:10px Georgia,serif;margin:0 0 26px;padding-left:6px}.cipher-paper h3{font:italic 20px Georgia,serif;text-align:center;color:#564129}.cipher-row{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px 0;font:700 29px Georgia,serif}.cipher-row>span{font-size:16px;color:#8d7351}.cipher-unknown{border-bottom:2px solid #9f5637;padding:0 8px;color:#a0492a}.cipher-notes{display:flex;gap:15px;justify-content:center;font:10px Georgia,serif;color:#796144}.cipher-notes .decoded{color:#3e6434}.cipher-choice-label{font:11px system-ui;color:#c7c9af;text-align:center;margin:18px 0 10px}.cipher-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:350px;margin:auto}.workbench .cipher-keys button{display:flex;flex-direction:column;gap:2px;background:#d1c5a2;color:#293b2d;border:2px solid #877c60;border-radius:5px;box-shadow:0 4px 0 #0c2016,inset 0 1px #f9e8ba;min-height:56px;padding:5px}.cipher-keys button small{font:9px monospace;color:#756e53}.cipher-keys button b{font:700 23px monospace}.workbench .cipher-keys button:hover{background:#f0dba2}
.bench-feedback{display:flex;align-items:center;gap:11px;padding:11px 12px;background:#e4dfc8;border:1px solid #c9c5a9;border-radius:4px}.bench-feedback>span{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;background:#687457;color:#fff2ce;border-radius:50%;font:19px Georgia,serif}.workbench .bench-feedback p{font:12px/1.5 system-ui;margin:0;color:#4b5a43}.bench-feedback.solved{background:#dfe9c9;border-color:#a8b587}.bench-feedback.failed{background:#eed8c3;border-color:#c39178}.bench-feedback.failed>span{background:#a0442e}.workbench .drain-game>footer{margin-top:0;gap:10px}.workbench .drain-game>footer .text-button{font-size:11px;color:#755c43}.workbench .drain-game>footer small{font-size:10px}.workbench button:focus-visible{outline:3px solid #e9c778;outline-offset:3px}.workbench button:disabled{opacity:.85;cursor:default}.workbench[data-puzzle-state='solved'] .instrument-label{color:#c4de96}
@container(max-width:530px){.valve-manifold{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 5px}.valve-manifold:before{display:none}.workbench .bench-valve{min-height:128px}.valve-wheel{max-width:72px}.valve-instruments{gap:15px}.bench-gauge{width:160px}.bench-readout>strong{font-size:40px}.lock-instruments{gap:15px}.bench-lock-face{width:190px}.bench-circuit{grid-template-columns:repeat(3,64px);gap:6px}.workbench .circuit-module{min-height:91px}.circuit-instruments{gap:18px}.lamp-glass{width:50px}.cipher-paper{padding:23px 18px}.cipher-row{gap:10px;font-size:25px}}
@container(max-width:350px){.bench-instrument{padding:14px 10px 17px}.instrument-label{font-size:8px;margin:0 3px 10px}.bench-gauge{width:130px}.bench-readout{min-width:90px}.bench-readout>span{font-size:8px}.bench-readout>strong{font-size:34px}.bench-readout>strong small{font-size:15px}.bench-target{font-size:9px}.bench-gauge .gauge-target{font-size:13px}.bench-gauge>span{font-size:9px}.lock-instruments{gap:10px}.bench-lock-face{width:155px}.bench-lock-face>span{font-size:8px}.lock-details{min-width:90px}.lock-controls{gap:5px;flex-wrap:wrap}.lock-controls button{font-size:10px;padding:10px 8px}.lock-controls .primary{order:3;flex-basis:100%}.circuit-instruments{flex-direction:column;gap:14px}.bench-circuit{grid-template-columns:repeat(3,65px)}.circuit-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 12px;text-align:center}.circuit-legend>b{font-size:25px;margin:0}.circuit-legend .cross-diagram{margin:0}.circuit-legend p{display:none!important}.circuit-legend>small{flex-basis:100%}.cipher-paper{padding:22px 17px;min-height:220px}.cipher-paper h3{font-size:17px}.cipher-row{gap:8px;font-size:22px}.cipher-paper header,.cipher-notes{font-size:8px;gap:7px}.cipher-keys{gap:7px}.puzzle-budget{gap:3px}.puzzle-budget i{width:4px}}
@media(max-width:760px){.workbench{grid-template-columns:1fr}.workbench>figure{height:75px}.workbench figcaption{padding:11px 16px;gap:3px}.workbench figcaption>b{font-size:23px}.workbench figcaption>small{display:none}.workbench .drain-game{padding:20px 14px}.workbench .drain-game h2{font-size:26px}.workbench .drain-game>header .eyebrow{font-size:9px;letter-spacing:.8px}.workbench .bench-feedback p{font-size:11px}}
