.da-game{--da-blue:#2f7be0;--da-yellow:#ffc93c;--da-orange:#ff8a1f;--da-green:#22b573;--da-red:#ef4444;--da-card:#fff;--da-ink:#16233b;--da-soft:#5b6b85;--da-line:#d8e5f7;--da-tint:#f3f8ff;color:var(--da-ink);grid-template:"tools stage mission""tools stage controls"1fr/196px minmax(0,1fr) 300px;align-items:start;gap:16px;margin:8px 0 28px;display:grid;position:relative}.dark .da-game{--da-card:#14233b;--da-ink:#e8f0ff;--da-soft:#9fb3d1;--da-line:#2a4370;--da-tint:#0f1c30}.da-mission,.da-tools,.da-controls{background:var(--da-card);border:2px solid var(--da-line);border-radius:24px;padding:16px;box-shadow:0 16px 30px -24px #0f2a5c8c}.da-mission{grid-area:mission}.da-tools{grid-area:tools;position:sticky;top:12px}.da-stage{grid-area:stage;min-width:0}.da-controls{grid-area:controls;gap:12px;display:grid}.da-mission-head{align-items:center;gap:12px;display:flex}.da-mission-icon{background:linear-gradient(145deg, #fff3c4, var(--da-yellow));border-radius:18px;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:28px;display:grid;box-shadow:inset 0 -4px #00000014,0 8px 16px -10px #f59e0b}.da-mission small{color:var(--da-soft);font-size:12px;font-weight:700}.da-mission h2{margin:2px 0 0;font-size:19px;font-weight:900}.da-goal{background:var(--da-tint);border-radius:16px;margin:12px 0;padding:10px 12px;font-size:14px;font-weight:700;line-height:1.9}.da-levels{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.da-level{border:2px solid var(--da-line);background:var(--da-card);width:100%;min-height:56px;color:var(--da-ink);font:inherit;cursor:pointer;border-radius:14px;place-items:center;gap:2px;padding:6px 2px;font-size:20px;transition:transform .15s;display:grid}.da-level i{color:#f5a524;letter-spacing:-1px;font-size:11px;font-style:normal}.da-level:hover:not(:disabled){transform:translateY(-2px)}.da-level.is-current{border-color:var(--da-blue);box-shadow:0 0 0 3px #2f7be033}.da-level.is-done{background:linear-gradient(160deg,#eafff4,#c9f5df)}.dark .da-level.is-done{background:#123a2e}.da-level:disabled{opacity:.5;cursor:not-allowed}.da-total{color:var(--da-soft);text-align:center;margin:10px 0 0;font-size:13px;font-weight:800}.da-tools h3{margin:0 0 10px;font-size:15px;font-weight:900}.da-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.da-tool{border:2px solid var(--da-line);background:linear-gradient(180deg, var(--da-card), var(--da-tint));color:var(--da-ink);font:inherit;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:18px;justify-items:center;gap:2px;padding:8px 4px 6px;font-size:11.5px;font-weight:800;line-height:1.4;transition:transform .15s,box-shadow .15s;display:grid;position:relative}.da-tool svg{pointer-events:none;width:100%;height:42px}.da-tool:hover:not(:disabled){box-shadow:0 10px 18px -14px var(--da-blue);transform:translateY(-2px)}.da-tool.is-active{border-color:var(--da-blue);box-shadow:0 0 0 3px #2f7be040}.da-tool:disabled{opacity:.42;cursor:not-allowed}.da-tool.is-placed{opacity:.6}.da-tool-badge{background:var(--da-green);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-style:normal;display:grid;position:absolute;top:4px;left:6px}.da-tools-tip{color:var(--da-soft);margin:10px 0 0;font-size:12px;line-height:1.9}.da-scene-wrap{border:3px solid var(--da-line);background:var(--da-tint);border-radius:28px;position:relative;overflow:hidden;box-shadow:0 24px 40px -30px #0f2a5cb3}.da-scene{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:auto;font-family:inherit;display:block}.da-wall-top{stop-color:#e6f1ff}.da-wall-bottom{stop-color:#cde0fa}.dark .da-wall-top{stop-color:#22365a}.dark .da-wall-bottom{stop-color:#182842}.da-scene [role=button]{cursor:pointer;outline:none}.da-scene [role=button]:focus-visible{outline-offset:3px;outline:3px solid #ffb020}.da-door{transform-box:fill-box;transform-origin:0;transition:transform .7s cubic-bezier(.3,.7,.2,1)}.da-door.is-open{transform:scaleX(.22)skewY(-6deg)}.da-door:hover{filter:brightness(1.05)}.da-slot rect{fill:#ffffff8c;stroke:#8fb3e6;stroke-width:2.5px;stroke-dasharray:7 6}.da-slot text{fill:#4f72aa;font-size:13px;font-weight:800}.da-slot.is-target rect{fill:#22b57329;stroke:var(--da-green);stroke-width:3.5px;animation:.9s linear infinite da-dash}.da-slot.is-target text{fill:#178a57}.dark .da-slot rect{fill:#ffffff0f}.da-part{cursor:grab;touch-action:none}.da-part.is-dragging{opacity:.3}.da-sel-ring{fill:#ffb02014;stroke:#ffb020;stroke-width:3px;stroke-dasharray:6 5}.da-led-on{filter:drop-shadow(0 0 5px #facc15)}.da-knob{transition:cx .2s}.da-hot{animation:.45s ease-in-out infinite alternate da-hot}.da-buzzer .da-waves{opacity:0}.da-buzzer.is-on{transform-box:fill-box;transform-origin:bottom;animation:.16s linear infinite da-shake}.da-buzzer.is-on .da-waves{opacity:1;animation:.5s ease-in-out infinite da-waves}.da-buzzer.is-weak .da-waves{opacity:.3}.da-lamp .da-halo{opacity:0}.da-lamp.is-on .da-halo{opacity:.9;animation:.7s step-end infinite da-blink}.da-lamp.is-weak .da-halo{opacity:.22}.da-wire-hit{fill:none;stroke:#0000;stroke-width:20px}.da-wire-body{fill:none;stroke-width:7px;stroke-linecap:round;transition:stroke-width .15s}.da-wire-red .da-wire-body{stroke:#ef4444}.da-wire-blue .da-wire-body{stroke:#2f7be0}.da-wire-gloss{fill:none;stroke:#fff;stroke-opacity:.4;stroke-width:2px;stroke-linecap:round;pointer-events:none}.da-wire-flow{fill:none;stroke:#fff59d;stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:3 15;pointer-events:none;animation:.6s linear infinite da-flow}.da-wire.is-broken .da-wire-body{stroke-dasharray:18 9;opacity:.75}.da-wire-cut circle{fill:#fff;stroke:var(--da-red);stroke-width:2.5px}.da-wire-cut text{fill:var(--da-red);font-size:14px}.da-wire.is-selected .da-wire-body,.da-wire:hover .da-wire-body{stroke-width:10px}.da-wire.is-selected .da-wire-body{filter:drop-shadow(0 0 5px #ffb020)}.da-wire.is-flash-good .da-wire-body{animation:.9s ease-out da-flash-good}.da-wire.is-flash-bad .da-wire-body{animation:.3s ease-in-out 3 da-flash-bad}.da-terminal{cursor:crosshair;touch-action:none}.da-terminal-hit{fill:#0000}.da-terminal-ring{fill:none;stroke:#0000;stroke-width:3px;transform-box:fill-box;transform-origin:50%}.da-terminal-dot{fill:url(#da-g-metal);stroke:#8a5a00;stroke-width:2px}.da-terminal-sign{fill:var(--da-ink);pointer-events:none;font-size:16px;font-weight:900}.da-terminal:hover .da-terminal-ring,.da-scene.is-wiring .da-terminal-ring{stroke:var(--da-yellow)}.da-terminal.is-pending .da-terminal-ring{stroke:var(--da-green);stroke-width:4px;animation:.9s ease-in-out infinite da-ring}.da-terminal.is-hint .da-terminal-ring{stroke:#ff4d8d;stroke-width:4px;animation:.9s ease-in-out infinite da-ring}.da-rubber{stroke:#ffb020;stroke-width:5px;stroke-linecap:round;stroke-dasharray:8 7;pointer-events:none}.da-alarm-tint{fill:#ff2d2d;opacity:0}.da-scene.is-alarm .da-alarm-tint{animation:.8s ease-in-out infinite da-alarm}.da-toast{z-index:2;color:#16233b;background:#fff;border-radius:18px;width:max-content;max-width:calc(100% - 24px);margin:0;padding:9px 16px;font-size:13.5px;font-weight:800;line-height:1.8;animation:.25s ease-out da-pop;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 12px 26px -14px #0f2a5c99}.da-toast.is-good{color:#0f6b42;background:#e6fff2}.da-toast.is-bad{color:#b42318;background:#fff0f0}.da-spark{pointer-events:none;background:radial-gradient(circle at 50% 45%,#fff59db3,#0000 60%);animation:.9s ease-out forwards da-spark;position:absolute;inset:0}.da-win{z-index:3;text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a19328c;place-content:center;justify-items:center;gap:8px;padding:16px;animation:.3s ease-out da-pop;display:grid;position:absolute;inset:0}.da-win>*{max-width:440px}.da-win-stars{gap:6px;font-size:54px;line-height:1;display:flex}.da-win-stars span{color:#ffffff59}.da-win-stars span.is-on{color:var(--da-yellow);text-shadow:0 4px #d98b00,0 0 20px #ffc93ccc;animation:.6s cubic-bezier(.2,1.6,.4,1) both da-star}.da-win h3{color:#fff;margin:0;font-size:22px;font-weight:900}.da-win-list{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.da-win-list li{color:#ffffffa6;background:#ffffff24;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:800}.da-win-list li.is-on{color:#fff;background:#ffc93c40}.da-win-learn,.da-win-final{color:#16233b;background:#fffffff2;border-radius:14px;margin:4px 0;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.9}.da-win-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.da-actionbar{border:2px solid var(--da-line);background:var(--da-card);border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;display:flex}.da-actionbar small{color:var(--da-soft);font-size:12px}.da-chip{background:var(--da-tint);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:800}.da-chip.is-ok{color:#0f6b42;background:#e6fff2}.da-chip.is-bad{color:#b42318;background:#fff0f0}.da-status{text-align:center;background:var(--da-tint);border-radius:16px;margin:0;padding:10px 14px;font-size:14px;font-weight:900}.da-status.is-ok{color:#0f6b42;background:#e6fff2}.da-status.is-alarm{color:#b42318;background:#ffe1e1;animation:.8s ease-in-out infinite da-status}.da-status.is-bad{color:#b42318;background:#fff0f0}.da-status.is-warn{color:#92400e;background:#fff6db}.da-status.is-muted{color:var(--da-soft)}.da-readout{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.da-readout li{border:1.5px solid var(--da-line);color:var(--da-soft);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:800}.da-readout li.is-ok{color:#0f6b42;background:#effff6;border-color:#9be3c2}.da-readout li.is-warn{color:#92400e;background:#fff9e8;border-color:#fcd98a}.da-readout li.is-bad,.da-readout li.is-alarm{color:#b42318;background:#fff1f1;border-color:#fca5a5}.da-buttons{gap:8px;display:grid}.da-buttons.is-small{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.da-btn{border:2px solid var(--da-line);background:var(--da-card);min-height:44px;color:var(--da-ink);font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:800;transition:transform .12s,box-shadow .12s;display:inline-flex}.da-btn:hover:not(:disabled){transform:translateY(-2px)}.da-btn:disabled{opacity:.5;cursor:not-allowed}.da-btn:focus-visible,.da-tool:focus-visible,.da-level:focus-visible,.da-link:focus-visible{outline-offset:2px;outline:3px solid #ffb020}.da-btn.is-big{min-height:52px;font-size:15.5px;box-shadow:inset 0 -4px #0000001a}.da-btn.is-primary{background:linear-gradient(180deg, #34d399, var(--da-green));color:#fff;border-color:#0000}.da-btn.is-door{background:linear-gradient(180deg, #ffb35c, var(--da-orange));color:#fff;border-color:#0000}.da-btn.is-arm.is-on{color:#0f6b42;background:#effff6;border-color:#9be3c2}.dark .da-btn.is-arm.is-on{color:#a7f3d0;background:#123a2e}.da-btn.is-small{min-height:40px;padding:6px 8px;font-size:12.5px}.da-btn.is-ghost{background:0 0}.da-win .da-btn.is-ghost{color:#fff;border-color:#fff6}.da-result,.da-hint{border-radius:16px;padding:10px 14px;font-size:13.5px;line-height:1.9}.da-result p,.da-hint p{margin:4px 0 0}.da-result.is-bad{color:#8a1c13;background:#fff0f0;border:2px solid #fecaca}.da-hint{color:#6b4a00;background:#fff9e6;border:2px solid #fde68a}.da-link{color:var(--da-blue);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-weight:800}.da-counters{color:var(--da-soft);text-align:center;margin:0;font-size:12px}.da-advanced{background:var(--da-tint);border-radius:16px;padding:10px 12px;font-size:13px;line-height:1.9}.da-advanced summary{cursor:pointer;font-weight:900}.da-advanced p{margin:8px 0 0}.da-ghost{z-index:1000;pointer-events:none;filter:drop-shadow(0 12px 14px #0f2a5c59);width:92px;height:66px;position:fixed;transform:translate(-50%,-50%)rotate(-4deg)}.da-ghost svg{width:100%;height:100%}@media (max-width:1180px){.da-game{grid-template:"mission mission""tools stage""controls controls"/176px minmax(0,1fr)}}@media (max-width:760px){.da-game{grid-template-columns:minmax(0,1fr);grid-template-areas:"mission""tools""stage""controls";gap:12px}.da-tools{padding:12px;position:static}.da-tools h3,.da-tools-tip{display:none}.da-tools-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.da-tool{padding:6px 2px 4px;font-size:10.5px}.da-tool svg{height:32px}.da-scene-wrap{border-radius:20px}.da-scene-scroll{overscroll-behavior-x:contain;overflow-x:auto}.da-scene{min-width:600px}.da-win-stars{font-size:40px}.da-win h3{font-size:18px}.da-win-learn{display:none}}@keyframes da-dash{to{stroke-dashoffset:-26px}}@keyframes da-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes da-waves{50%{opacity:.35}}@keyframes da-blink{50%{opacity:.15}}@keyframes da-flow{to{stroke-dashoffset:-18px}}@keyframes da-ring{50%{transform:scale(1.35)}}@keyframes da-alarm{50%{opacity:.13}}@keyframes da-hot{to{filter:drop-shadow(0 0 10px #ff3b30)}}@keyframes da-flash-good{0%{stroke-width:14px;filter:drop-shadow(0 0 8px #22c55e)}}@keyframes da-flash-bad{50%{stroke:#ff1f1f;stroke-width:12px;filter:drop-shadow(0 0 8px #ff1f1f)}}@keyframes da-pop{0%{opacity:0;transform:translate(-50%)scale(.9)}}.da-win{animation-name:da-fade}@keyframes da-fade{0%{opacity:0}}@keyframes da-spark{0%{opacity:1}to{opacity:0}}@keyframes da-star{0%{transform:scale(0)rotate(-40deg)}}@keyframes da-status{50%{background:#ffc9c9}}@media (prefers-reduced-motion:reduce){.da-game *,.da-game :before,.da-game :after{transition:none!important;animation:none!important}.da-scene.is-alarm .da-alarm-tint{opacity:.08}}
