*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}html{font-size:106.25%}html,body{background:var(--color-bg-deep);height:100%;color:var(--color-text);font-family:var(--font-family);-webkit-user-select:none;user-select:none;overflow:hidden}#app{height:100%;position:relative}.title-screen{background:linear-gradient(#00000059, #00000059), repeating-linear-gradient(0deg, transparent 0 63px, var(--color-tile-b) 63px 64px), repeating-linear-gradient(90deg, transparent 0 63px, var(--color-tile-b) 63px 64px), var(--color-bg-deep);flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex;position:absolute;inset:0}.title-sub{color:var(--color-hologram);letter-spacing:var(--font-holo-letter-spacing);text-transform:uppercase;font-size:clamp(.7rem,2vw,.9rem)}.title-main{color:var(--color-text);letter-spacing:.12em;text-align:center;text-shadow:0 0 var(--glow-blur) var(--color-hologram);font-size:clamp(1.8rem,6vw,3.5rem);font-weight:700}.title-buttons{flex-direction:column;align-items:center;gap:1rem;display:flex}.title-start{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);color:var(--color-hologram);letter-spacing:var(--font-holo-letter-spacing);cursor:pointer;min-height:44px;text-shadow:0 0 var(--glow-blur) var(--color-hologram);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 40%, transparent);background:0 0;padding:.9rem 2.4rem;font-family:inherit;font-size:1rem;transition:background .2s}.title-start:hover,.title-start:active{background:color-mix(in srgb, var(--color-hologram) 15%, transparent)}.title-footer{bottom:max(.8rem, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:.1rem;display:flex;position:absolute}.title-credit{color:color-mix(in srgb, var(--color-text) 55%, transparent);letter-spacing:.08em;font-size:.75rem}.title-contact{color:var(--color-hologram);letter-spacing:var(--font-holo-letter-spacing);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:.5rem .8rem;font-family:inherit;font-size:.8rem;text-decoration:underline}.contact-overlay{z-index:40;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.contact-panel{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:var(--color-bg-deep);width:min(460px,100% - 2rem);max-height:calc(100% - 2rem);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 40%, transparent);flex-direction:column;gap:.8rem;padding:1.1rem 1.3rem;display:flex;overflow-y:auto}.contact-title{color:var(--color-hologram);letter-spacing:var(--font-holo-letter-spacing);font-size:1rem}.contact-categories{border:none;flex-direction:column;gap:.15rem;margin:0;padding:0;display:flex}.contact-radio{color:var(--color-text);cursor:pointer;align-items:center;gap:.5rem;min-height:32px;font-size:.9rem;display:flex}.contact-radio input{accent-color:var(--color-hologram);width:1rem;height:1rem}.contact-textarea{border:1px solid color-mix(in srgb, var(--color-hologram) 50%, transparent);border-radius:var(--corner-radius);color:var(--color-text);resize:vertical;background:#00000059;min-height:100px;padding:.6rem .7rem;font-family:inherit;font-size:.9rem;line-height:1.5}.contact-textarea:focus{border-color:var(--color-hologram);outline:none}.contact-status{min-height:1.2em;color:var(--color-hologram);font-size:.8rem}.contact-actions{justify-content:flex-end;gap:.8rem;display:flex}.contact-btn{padding:.6rem 1.4rem;font-size:.9rem}.contact-btn:disabled{opacity:.5;cursor:default}.char-select{background:var(--color-bg-deep);z-index:150;flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex;position:absolute;inset:0}.char-select-row{gap:2.5rem;display:flex}.char-select-btn{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-hologram) 6%, transparent);cursor:pointer;justify-content:center;align-items:center;width:132px;height:172px;transition:border-color .15s,box-shadow .15s;display:flex}.char-select-btn:hover,.char-select-btn:focus-visible{border-color:var(--color-hologram);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 50%, transparent)}.char-select-btn img{width:84px;image-rendering:pixelated}.dialogue-box{left:50%;bottom:max(24px, env(safe-area-inset-bottom));border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));width:min(680px,100% - 32px);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 50%, transparent);cursor:pointer;z-index:100;padding:1rem 1.2rem;position:absolute;transform:translate(-50%)}.dialogue-speaker{color:var(--color-hologram);letter-spacing:var(--font-holo-letter-spacing);margin-bottom:.5rem;font-size:.8rem}.dialogue-text{white-space:pre-line;font-size:.95rem;line-height:1.7}.dialogue-hint{text-align:right;color:var(--color-line);margin-top:.5rem;font-size:.75rem;animation:1.2s infinite dialogue-blink}@keyframes dialogue-blink{50%{opacity:.2}}.game-canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.game-ui{pointer-events:none;position:absolute;inset:0}.game-ui .dialogue-box{pointer-events:auto}.interact-label{color:var(--color-text);white-space:nowrap;text-shadow:0 1px 4px var(--color-bg-deep);font-size:.85rem;font-weight:600;position:absolute;transform:translate(-50%,-130%)}.puzzle-overlay{background:color-mix(in srgb, var(--color-bg-deep) 55%, transparent);pointer-events:auto;z-index:50;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.puzzle-frame{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 92%, var(--color-hologram));width:min(760px,100% - 24px);max-height:calc(100% - 24px);box-shadow:0 0 calc(var(--glow-blur) * 2) color-mix(in srgb, var(--color-hologram) 45%, transparent);flex-direction:column;padding:.9rem 1rem 1rem;display:flex;position:relative;overflow:hidden}.puzzle-overlay.solved{pointer-events:none}.puzzle-overlay.solved .puzzle-frame{border-color:var(--color-success);box-shadow:0 0 calc(var(--glow-blur) * 2) color-mix(in srgb, var(--color-success) 55%, transparent)}.puzzle-frame.danger-flash{animation:.5s ease-out danger-flash}@keyframes danger-flash{0%,60%{border-color:var(--color-danger);box-shadow:0 0 calc(var(--glow-blur) * 2) var(--color-danger)}to{border-color:var(--color-hologram)}}.puzzle-title{color:var(--color-hologram);white-space:nowrap;letter-spacing:clamp(.02em, .55vw, var(--font-holo-letter-spacing));flex:none;align-items:center;min-height:44px;margin-bottom:.6rem;padding-right:48px;font-size:clamp(.62rem,3.05vw,.85rem);display:flex}.puzzle-scroll{flex:auto;min-height:0;position:relative;overflow-y:auto}.puzzle-scroll-more{z-index:2;pointer-events:none;opacity:0;height:34px;color:var(--color-hologram);background:linear-gradient(to top, color-mix(in srgb, var(--color-bg-deep) 92%, var(--color-hologram)), transparent);justify-content:center;align-items:flex-end;margin-top:-34px;font-size:.8rem;line-height:1;transition:opacity .18s ease-out;display:flex;position:sticky;bottom:0;overflow:hidden}.puzzle-scroll-more:after{content:"▾"}.puzzle-scroll-more.on{opacity:1}.puzzle-close{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);width:44px;height:44px;color:var(--color-text);cursor:pointer;background:0 0;font-size:1rem;position:absolute;top:8px;right:8px}.puzzle-status{z-index:3;background:color-mix(in srgb, var(--color-bg-deep) 92%, var(--color-hologram));padding:.25rem 0;position:sticky;bottom:0}.puzzle-hint-bar{border-top:1px solid var(--color-line);flex-direction:column;flex:none;max-height:40%;margin-top:.8rem;padding-top:.7rem;display:flex;overflow:hidden}.puzzle-hint-bar:not(:has(button)){display:none}.puzzle-bar-row{flex-wrap:wrap;flex:none;align-items:center;gap:.5rem;display:flex}.puzzle-actions{flex:1 1 0;align-items:center;gap:.5rem;min-width:0;display:flex}.puzzle-actions:empty{display:none}.puzzle-hint-button{border:1px solid var(--color-success);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-success) 12%, transparent);min-height:40px;color:var(--color-success);letter-spacing:.08em;cursor:pointer;padding:.35rem 1.1rem;font-family:inherit;font-size:.85rem}.puzzle-hint-button:disabled{opacity:.5;cursor:default}.puzzle-hint-list{flex-direction:column;gap:.35rem;min-height:0;margin-top:.5rem;display:flex;overflow-y:auto}.puzzle-hint-item{color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.6}.note-overlay{background:color-mix(in srgb, var(--color-bg-deep) 55%, transparent);pointer-events:auto;z-index:80;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.note-panel{border:var(--stroke-outline) solid var(--color-success);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 90%, var(--color-success));width:min(560px,100% - 32px);max-height:calc(100% - 32px);box-shadow:0 0 calc(var(--glow-blur) * 2) color-mix(in srgb, var(--color-success) 35%, transparent);flex-direction:column;gap:.8rem;padding:1rem 1.2rem;display:flex;overflow-y:auto}.note-header{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.note-title{color:var(--color-success);letter-spacing:.08em;font-weight:700}.note-badge{border:1px solid var(--color-danger);border-radius:var(--corner-radius);color:var(--color-danger);letter-spacing:.08em;padding:.15rem .5rem;font-size:.72rem}.note-body{white-space:pre-line;font-size:.92rem;line-height:1.8}.overlay-actions{justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.overlay-hint{color:color-mix(in srgb, var(--color-text) 55%, transparent);letter-spacing:.08em;font-size:.72rem}.note-close{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);min-height:44px;color:var(--color-text);cursor:pointer;background:0 0;align-self:flex-end;padding:.4rem 1.4rem;font-family:inherit}.note-counter{top:max(10px, env(safe-area-inset-top));color:var(--color-success);letter-spacing:.15em;text-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-success) 60%, transparent);pointer-events:auto;cursor:pointer;background:color-mix(in srgb, var(--color-bg-deep) 70%, transparent);border:1px solid color-mix(in srgb, var(--color-success) 40%, transparent);border-radius:var(--corner-radius);min-height:40px;padding:.4rem .7rem;font-family:inherit;font-size:.8rem;position:absolute;right:12px}.journal-overlay{background:color-mix(in srgb, var(--color-bg-deep) 55%, transparent);pointer-events:auto;z-index:70;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.journal-panel{border:var(--stroke-outline) solid var(--color-success);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 92%, var(--color-success));width:min(520px,100% - 32px);max-height:calc(100% - 32px);box-shadow:0 0 calc(var(--glow-blur) * 2) color-mix(in srgb, var(--color-success) 30%, transparent);padding:1rem 1.1rem;overflow-y:auto}.journal-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.journal-title{color:var(--color-success);letter-spacing:.08em;font-weight:700}.journal-close{border:1px solid var(--color-line);border-radius:var(--corner-radius);width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0}.journal-list{flex-direction:column;gap:.4rem;display:flex}.journal-list[hidden]{display:none}.journal-item{text-align:left;border:1px solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 80%, transparent);color:var(--color-text);cursor:pointer;min-height:44px;padding:.6rem .8rem;font-family:inherit;font-size:.9rem}.journal-item:disabled{opacity:.4;cursor:default;color:var(--color-line)}.journal-item:not(:disabled):hover{border-color:var(--color-success)}.journal-tabs{gap:.4rem;margin-bottom:.8rem;display:flex}.journal-tab{border:1px solid var(--color-line);border-radius:var(--corner-radius);cursor:pointer;min-height:40px;color:var(--color-hologram);letter-spacing:.08em;cursor:pointer;background:0 0;flex:1;padding:.4rem .8rem;font-family:inherit;font-size:.85rem}.journal-tab.active{border-color:var(--color-success);color:var(--color-success);background:color-mix(in srgb, var(--color-success) 12%, transparent)}.principle-list{flex-direction:column;gap:.6rem;margin:0;padding-left:1.2rem;font-size:.92rem;line-height:1.7;display:flex}.principle-list li::marker{color:var(--color-success)}.mute-button{top:max(10px, env(safe-area-inset-top));border:1px solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 70%, transparent);cursor:pointer;pointer-events:auto;z-index:45;width:40px;height:40px;font-size:1.1rem;line-height:1;position:absolute;left:12px}.discovery-overlay{background:color-mix(in srgb, var(--color-bg-deep) 55%, transparent);pointer-events:auto;z-index:60;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.discovery-panel{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 90%, var(--color-hologram));width:min(520px,100% - 32px);max-height:calc(100% - 32px);box-shadow:0 0 calc(var(--glow-blur) * 2) color-mix(in srgb, var(--color-hologram) 40%, transparent);flex-direction:column;gap:.8rem;padding:1rem 1.2rem;display:flex;overflow-y:auto}.discovery-badge{border:1px solid var(--color-success);border-radius:var(--corner-radius);color:var(--color-success);letter-spacing:.05em;text-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-success) 60%, transparent);align-self:flex-start;padding:.3rem .7rem;font-size:.85rem;font-weight:700}.discovery-body{white-space:pre-line;font-size:.92rem;line-height:1.8}.discovery-footer{color:color-mix(in srgb, var(--color-text) 55%, transparent);border-top:1px solid color-mix(in srgb, var(--color-line) 60%, transparent);padding-top:.6rem;font-size:.82rem;line-height:1.6}.keypad-overlay{background:color-mix(in srgb, var(--color-bg-deep) 55%, transparent);pointer-events:auto;z-index:60;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.keypad-panel{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 92%, var(--color-hologram));box-shadow:0 0 calc(var(--glow-blur) * 2) color-mix(in srgb, var(--color-hologram) 45%, transparent);flex-direction:column;gap:.8rem;width:min(280px,100% - 48px);padding:1rem 1.2rem 1.2rem;display:flex;position:relative}.keypad-prompt{color:var(--color-hologram);letter-spacing:.08em;padding-right:44px;font-size:.82rem;line-height:1.5}.keypad-display{border:1px solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 80%, black);color:var(--color-success);letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;padding:.5rem;font-size:1.6rem;font-weight:700}.keypad-display.wrong{color:var(--color-danger);animation:.3s keypad-shake}@keyframes keypad-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.keypad-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.keypad-key{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-hologram) 8%, transparent);min-height:48px;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:1.15rem}.keypad-key:active{background:color-mix(in srgb, var(--color-hologram) 25%, transparent)}.keypad-panel:has(.keypad-keyboard){width:min(420px,100% - 48px)}.keypad-keyboard{grid-template-columns:repeat(8,minmax(0,1fr));gap:.3rem}.keypad-note{flex-direction:column;justify-content:flex-end;align-items:center;gap:.3rem;min-height:72px;padding:.4rem .1rem;display:flex}.keypad-note-bar{background:var(--color-hologram);opacity:.8;border-radius:2px;width:8px}.keypad-note-name{letter-spacing:0;font-size:.78rem}.keypad-action{grid-column:span 4;min-height:44px;font-size:.9rem}.item-hud{top:max(60px, calc(env(safe-area-inset-top) + 48px));pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;right:12px}.item-chip{border:var(--stroke-outline) solid var(--color-success);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 82%, var(--color-success));cursor:pointer;pointer-events:auto;width:44px;height:44px;font-size:1.3rem}.ending-screen{background:color-mix(in srgb, var(--color-bg-deep) 88%, black);z-index:200;pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;animation:2s ease-out ending-fade;display:flex;position:absolute;inset:0}@keyframes ending-fade{0%{opacity:0}}.ending-hint{color:var(--color-line);letter-spacing:.15em;font-size:.9rem}.ending-stats{color:var(--color-text);letter-spacing:.06em;border:var(--stroke-outline) solid var(--color-line);background:color-mix(in srgb, var(--color-bg-deep) 70%, transparent);border-radius:8px;flex-direction:column;align-items:center;gap:.4rem;padding:.8rem 1.6rem;font-size:.95rem;display:flex}.ending-actions{gap:.8rem;display:flex}.ending-button{border:var(--stroke-outline) solid var(--color-line);min-height:44px;color:var(--color-text);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem 1.4rem;font-family:inherit;font-size:.95rem}.ending-button:hover{border-color:var(--color-success);color:var(--color-success)}.joystick-layer{pointer-events:none;position:absolute;inset:0}.joystick-base{left:max(24px, env(safe-area-inset-left));bottom:max(28px, env(safe-area-inset-bottom));border:var(--stroke-outline) solid var(--color-line);background:color-mix(in srgb, var(--color-bg-deep) 60%, transparent);pointer-events:auto;touch-action:none;border-radius:50%;width:108px;height:108px;position:absolute}.joystick-knob{background:color-mix(in srgb, var(--color-hologram) 45%, var(--color-bg-deep));border:var(--stroke-outline) solid var(--color-hologram);width:44px;height:44px;box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 40%, transparent);border-radius:50%;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%}.act-button{right:max(28px, env(safe-area-inset-right));bottom:max(40px, env(safe-area-inset-bottom));border:var(--stroke-outline) solid var(--color-hologram);background:color-mix(in srgb, var(--color-hologram) 18%, var(--color-bg-deep));width:68px;height:68px;color:var(--color-hologram);letter-spacing:.1em;pointer-events:auto;cursor:pointer;border-radius:50%;font-family:inherit;font-weight:700;position:absolute}.puzzle-body.cent-root{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;display:flex}.cent-svg{flex:300px;width:min(380px,100%);height:auto}.cent-ring{fill:color-mix(in srgb, var(--color-console-body) 60%, var(--color-bg-deep));stroke:var(--color-line);stroke-width:2px}.cent-svg.overspeed .cent-ring{stroke:var(--color-danger);filter:drop-shadow(0 0 var(--glow-blur) var(--color-danger));animation:.12s linear infinite cent-shake}@keyframes cent-shake{0%,to{transform:translate(0)}50%{transform:translate(1.5px,-1px)}}.cent-spoke{stroke:var(--color-line);stroke-width:3px}.cent-window{fill:color-mix(in srgb, var(--color-hologram) 35%, transparent);stroke:var(--color-hologram);stroke-width:1px}.cent-hub{fill:var(--color-bg-deep);stroke:var(--color-hologram);stroke-width:2px}.cent-hub-label{fill:var(--color-hologram);letter-spacing:.12em;text-anchor:middle;font-size:11px}.cent-cargo{fill:color-mix(in srgb, var(--color-success) 30%, var(--color-console-body));stroke:var(--color-success);stroke-width:1.5px}.cent-svg.overspeed .cent-cargo{fill:color-mix(in srgb, var(--color-danger) 22%, var(--color-console-body));stroke:var(--color-danger);stroke-dasharray:3 2}.cent-spin-arrow{transition:opacity .25s}.cent-spin-arc{fill:none;stroke:var(--color-hologram);stroke-width:2px;opacity:.7}.cent-spin-head{fill:var(--color-hologram);opacity:.85}.cent-svg.overspeed .cent-spin-arc{stroke:var(--color-danger)}.cent-svg.overspeed .cent-spin-head{fill:var(--color-danger)}.cent-panel{flex-direction:column;flex:260px;gap:.6rem;min-width:250px;display:flex}.cent-plates{flex-direction:column;gap:.3rem;display:flex}.cent-plate{border:1px solid var(--color-line);border-radius:var(--corner-radius);color:var(--color-text);letter-spacing:.02em;padding:.3rem .55rem;font-size:.8rem}.cent-plate b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.cent-dial-wrap{justify-content:center;display:flex}.cent-dial{touch-action:none;width:min(190px,70%);height:auto}.cent-track{fill:none;stroke:var(--color-line);stroke-width:6px;stroke-linecap:round}.cent-tick{stroke:var(--color-line);stroke-width:1.5px}.cent-tick-label{fill:var(--color-text);text-anchor:middle;opacity:.75;font-size:10px}.cent-needle{stroke:var(--color-hologram);stroke-width:3px;stroke-linecap:round}.cent-cap{fill:var(--color-bg-deep);stroke:var(--color-hologram);stroke-width:2px}.cent-cap-label{fill:var(--color-hologram);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.cent-knob{fill:var(--color-hologram);stroke:var(--color-bg-deep);stroke-width:2px;cursor:grab}.cent-dial.dragging .cent-knob{filter:drop-shadow(0 0 var(--glow-blur) var(--color-hologram))}.cent-dial.overspeed .cent-knob,.cent-dial.overspeed .cent-needle{fill:var(--color-danger);stroke:var(--color-danger)}.cent-dial.locked{opacity:.45;pointer-events:none}.cent-hit{fill:#0000;cursor:grab}.cent-readout{color:var(--color-text);text-align:center;letter-spacing:.02em;font-size:.9rem}.cent-readout b{color:var(--color-hologram);font-variant-numeric:tabular-nums;font-size:1.05rem}.cent-state{min-height:2.6em;color:var(--color-text);font-size:.85rem;line-height:1.5}.cent-state[data-level=ok]{color:var(--color-success)}.cent-state[data-level=danger]{color:var(--color-danger);font-weight:700}.cent-done{color:var(--color-success);letter-spacing:.1em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.cent-feedback{min-height:3.2em;color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.55}@media (max-width:520px){.cent-svg{flex:0 auto;width:min(110px,100%)}.cent-state,.cent-feedback{min-height:0}.puzzle-body.cent-root{gap:.5rem}}.puzzle-body.thr-root{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;display:flex}.thr-svg{touch-action:none;flex:340px;width:min(430px,100%);height:auto}.thr-axis{stroke:var(--color-line);stroke-width:2px;stroke-dasharray:5 4}.thr-axis-label{fill:var(--color-text);opacity:.75;letter-spacing:.04em;font-size:11px}.thr-ring{fill:none;stroke:var(--color-line);stroke-width:1.5px;stroke-dasharray:3 5;opacity:.55}.thr-module{fill:var(--color-console-body);stroke:var(--color-line);stroke-width:2px}.thr-module-label{fill:var(--color-hologram);letter-spacing:.1em;text-anchor:middle;font-size:9px}.puzzle-overlay.solved .thr-module-group{animation:.9s ease-out forwards thr-slide}@keyframes thr-slide{to{transform:translate(70px)}}@media (prefers-reduced-motion:reduce){.puzzle-overlay.solved .thr-module-group{animation:none}}.thr-vec-line{stroke-width:3px;stroke-linecap:round}.thr-vec-line.thr-a{stroke:var(--color-hologram)}.thr-vec-line.thr-b{stroke:var(--color-success)}.thr-vec-line.thr-c{stroke:var(--color-danger)}.thr-vec-line.thr-sum{stroke:var(--color-text);stroke-width:2px;stroke-dasharray:6 4;opacity:.85}.thr-vec-head.thr-a{fill:var(--color-hologram)}.thr-vec-head.thr-b{fill:var(--color-success)}.thr-vec-head.thr-c{fill:var(--color-danger)}.thr-vec-head.thr-sum{fill:var(--color-text);opacity:.85}.thr-sum-label{fill:var(--color-text);opacity:.8;font-size:11px}.thr-hit{fill:#0000;pointer-events:none}.thr-grab-layer{fill:#0000;cursor:grab}.thr-svg.dragging .thr-grab-layer,.thr-svg.dragging .thr-hit{cursor:grabbing}.thr-hit.thr-a.active{filter:drop-shadow(0 0 var(--glow-blur) var(--color-hologram))}.thr-hit.thr-b.active{filter:drop-shadow(0 0 var(--glow-blur) var(--color-success))}.thr-panel{flex-direction:column;flex:260px;gap:.6rem;min-width:250px;display:flex}.thr-plates{flex-direction:column;gap:.3rem;display:flex}.thr-plate{border:1px solid var(--color-line);border-radius:var(--corner-radius);color:var(--color-text);letter-spacing:.02em;padding:.3rem .55rem;font-size:.8rem}.thr-plate b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.thr-plate-c{border-color:var(--color-danger)}.thr-plate-c b{color:var(--color-danger)}.thr-legend{flex-wrap:wrap;gap:.4rem;display:flex}.thr-chip{border-radius:var(--corner-radius);border:1px solid var(--color-line);color:var(--color-text);padding:.15rem .5rem;font-size:.75rem;font-weight:700}.thr-chip.thr-a{color:var(--color-hologram);border-color:var(--color-hologram)}.thr-chip.thr-b{color:var(--color-success);border-color:var(--color-success)}.thr-chip.thr-c{color:var(--color-danger);border-color:var(--color-danger)}.thr-readout{color:var(--color-text);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.85rem}.thr-state{min-height:2.6em;color:var(--color-text);font-size:.85rem;line-height:1.5}.thr-state[data-level=ok]{color:var(--color-success)}.thr-state[data-level=y-off],.thr-state[data-level=x-over]{color:var(--color-danger);font-weight:700}.thr-state[data-level=near]{color:var(--color-hologram)}.thr-done{color:var(--color-success);letter-spacing:.1em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.thr-feedback{min-height:3.4em;color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.55}.thr-unit-note{border-top:1px dashed var(--color-line);color:var(--color-text);opacity:.62;margin:auto 0 0;padding-top:.6rem;font-size:.78rem;line-height:1.5}.thr-unit-note b{color:var(--color-hologram);opacity:.9}@media (max-width:520px){.thr-svg{flex:0 auto;width:100%;max-height:44vh}.thr-state,.thr-feedback{min-height:0}.puzzle-body.thr-root{gap:.5rem}}.thr-live{flex-direction:column;gap:.3rem;display:flex}.puzzle-body.orb-root{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;display:flex}.orb-svg{touch-action:none;flex:340px;width:min(430px,100%);height:auto}.orb-ref-orbit{fill:none;stroke:var(--color-line);stroke-width:1.5px;stroke-dasharray:4 3;opacity:.85}.orb-ellipse{fill:color-mix(in srgb, var(--color-hologram) 10%, transparent);stroke:var(--color-hologram);stroke-width:2px;transition:rx 80ms linear,ry 80ms linear,cx 80ms linear}.orb-svg.checking .orb-ellipse{filter:drop-shadow(0 0 var(--glow-blur) var(--color-hologram))}.orb-planet{fill:var(--color-console-body);stroke:var(--color-text);stroke-width:var(--stroke-outline)}.orb-axis-line{stroke:var(--color-line);stroke-width:1px;stroke-dasharray:2 3;opacity:.7}.orb-center-mark{stroke:var(--color-line);stroke-width:1.5px;opacity:.9}.orb-focus2{fill:none;stroke:var(--color-line);stroke-width:1.5px;stroke-dasharray:3 2}.orb-focus-label{fill:var(--color-text);text-anchor:middle;opacity:.75;font-size:9px}.orb-focus-label.primary{fill:var(--color-hologram);opacity:1}.orb-peri-dot{fill:var(--color-line);stroke:var(--color-bg-deep);stroke-width:1px}.orb-axis-label{fill:var(--color-text);text-anchor:middle;opacity:.85;font-size:10px}.orb-svg>*{pointer-events:none}.orb-hit{fill:#0000;cursor:grab;pointer-events:auto}.orb-svg.dragging .orb-hit{cursor:grabbing}.orb-svg.checking .orb-hit{pointer-events:none}.orb-knob{fill:var(--color-hologram);stroke:var(--color-bg-deep);stroke-width:2px;cursor:grab}.orb-svg.dragging .orb-knob{filter:drop-shadow(0 0 var(--glow-blur) var(--color-hologram))}.orb-watchman{fill:var(--color-text);stroke:var(--color-line);stroke-width:1px}.orb-relay{fill:var(--color-hologram);stroke:var(--color-bg-deep);stroke-width:1px}.orb-panel{flex-direction:column;flex:260px;gap:.6rem;min-width:250px;display:flex}.orb-plates{flex-direction:column;gap:.3rem;display:flex}.orb-plate{border:1px solid var(--color-line);border-radius:var(--corner-radius);color:var(--color-text);letter-spacing:.02em;padding:.3rem .55rem;font-size:.8rem}.orb-plate b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.orb-plate-broken{border-color:var(--color-danger);color:var(--color-danger);font-weight:700}.orb-readout{color:var(--color-text);font-size:.85rem;line-height:1.5}.orb-readout b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.orb-confirm{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));color:var(--color-hologram);letter-spacing:.04em;cursor:pointer;align-self:flex-start;padding:.45rem 1rem;font-size:.9rem;font-weight:700}.orb-confirm:disabled{opacity:.5;cursor:default}.orb-lamp{min-height:2.6em;color:var(--color-text);font-size:.85rem;line-height:1.5}.orb-lamp[data-level=checking]{color:var(--color-hologram);animation:.9s ease-in-out infinite orb-pulse}.orb-lamp[data-level=ok]{color:var(--color-success)}.orb-lamp[data-level=danger]{color:var(--color-danger);font-weight:700}@keyframes orb-pulse{0%,to{opacity:.6}50%{opacity:1}}.orb-done{color:var(--color-success);letter-spacing:.1em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.orb-feedback{min-height:3.2em;color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.55}@media (max-width:520px){.orb-svg{flex:0 auto;width:100%;max-height:44vh}.orb-lamp,.orb-feedback{min-height:0}.puzzle-body.orb-root{gap:.5rem}}.puzzle-body.dok-root{flex-direction:column;gap:.9rem;display:flex}.dok-rail{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-console-body) 45%, var(--color-bg-deep));width:100%;height:120px;position:relative;overflow:hidden}.dok-track{background:var(--color-line);border-radius:2px;height:4px;position:absolute;top:50%;left:4%;right:4%;transform:translateY(-50%)}.dok-launch-mark{background:color-mix(in srgb, var(--color-hologram) 60%, transparent);width:2px;position:absolute;top:20%;bottom:20%;left:6%}.dok-clamp{width:18px;height:60px;position:absolute;top:50%;left:86%;transform:translate(-50%,-50%)}.dok-jaw{border-left:9px solid #0000;border-right:9px solid #0000;width:0;height:0;position:absolute;left:50%;transform:translate(-50%)}.dok-jaw.top{border-top:14px solid var(--color-hologram);top:0}.dok-jaw.bottom{border-bottom:14px solid var(--color-hologram);bottom:0}.dok-pod{background:color-mix(in srgb, var(--color-hologram) 55%, var(--color-console-body));border:var(--stroke-outline) solid var(--color-hologram);width:26px;height:26px;box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 50%, transparent);border-radius:50%;margin:-13px 0 0 -13px;transition-property:left;position:absolute;top:50%;left:6%}.dok-skid{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-console-body) 70%, var(--color-bg-deep));justify-content:center;align-items:center;width:64px;height:40px;margin:-20px 0 0 -32px;transition-property:left;display:flex;position:absolute;top:50%;left:62%}.dok-skid-label{letter-spacing:.15em;color:var(--color-text);opacity:.8;font-size:.65rem}.dok-skid.merged{border-color:var(--color-hologram);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 45%, transparent)}.dok-skid.locked{border-color:var(--color-success);background:color-mix(in srgb, var(--color-success) 25%, var(--color-console-body));box-shadow:0 0 calc(var(--glow-blur) * 1.5) color-mix(in srgb, var(--color-success) 55%, transparent);animation:.6s ease-out dok-lock-pulse}@keyframes dok-lock-pulse{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.dok-skid.bounced{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 22%, var(--color-console-body));box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-danger) 50%, transparent)}.dok-skid.adrift{border-color:var(--color-line);opacity:.75;border-style:dashed}.dok-plates{flex-wrap:wrap;gap:.3rem;display:flex}.dok-plate{border:1px solid var(--color-line);border-radius:var(--corner-radius);color:var(--color-text);letter-spacing:.02em;padding:.3rem .55rem;font-size:.8rem}.dok-plate b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.dok-caption{color:var(--color-text);opacity:.75;letter-spacing:.02em;margin:0;font-size:.78rem}.dok-tanks{flex-wrap:wrap;gap:.5rem;display:flex}.dok-tank{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));min-width:44px;min-height:44px;color:var(--color-text);font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;padding:.4rem .7rem;font-size:.95rem}.dok-tank.selected{border-color:var(--color-hologram);color:var(--color-hologram);background:color-mix(in srgb, var(--color-hologram) 18%, var(--color-bg-deep));box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 40%, transparent)}.dok-tank:disabled{opacity:.5;cursor:not-allowed}.dok-readout{color:var(--color-text);letter-spacing:.02em;margin:0;font-size:.9rem}.dok-readout b{color:var(--color-hologram);font-variant-numeric:tabular-nums;font-size:1.02rem}.dok-launch{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-hologram) 15%, transparent);min-height:44px;color:var(--color-hologram);letter-spacing:.08em;cursor:pointer;align-self:flex-start;padding:.45rem 1.1rem;font-size:.95rem;font-weight:700}.dok-launch:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.dok-state{min-height:2.4em;color:var(--color-text);margin:0;font-size:.85rem;line-height:1.5}.dok-state[data-level=ok]{color:var(--color-success)}.dok-state[data-level=danger]{color:var(--color-danger);font-weight:700}.dok-state[data-level=low]{color:var(--color-line)}.dok-done{color:var(--color-success);letter-spacing:.06em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.dok-feedback{min-height:3.4em;color:var(--color-text);opacity:.9;margin:0;font-size:.85rem;line-height:1.55}.puzzle-body.chr-root{flex-direction:column;gap:.7rem;display:flex}.chr-lead{color:var(--color-text);opacity:.92;font-size:.85rem;line-height:1.6}.chr-axis{color:var(--color-hologram);letter-spacing:.08em;justify-content:space-between;font-size:.75rem;display:flex}.chr-rack{flex-wrap:wrap;align-items:stretch;gap:.5rem;display:flex}.chr-slot{border:1px dashed var(--color-line);border-radius:var(--corner-radius);flex:130px;min-width:120px;min-height:168px;padding:1.15rem .3rem .3rem;position:relative}.chr-slot-num{color:var(--color-hologram);font-variant-numeric:tabular-nums;opacity:.85;font-size:.8rem;font-weight:700;position:absolute;top:2px;left:7px}.chr-card{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 84%, var(--color-hologram));cursor:grab;touch-action:none;z-index:1;flex-direction:column;gap:.28rem;height:100%;padding:.9rem .5rem .5rem;display:flex;position:relative}.chr-card.dragging{cursor:grabbing;z-index:5;box-shadow:0 0 var(--glow-blur) var(--color-hologram)}.chr-card-tag{color:var(--color-hologram);letter-spacing:.1em;font-size:.72rem;font-weight:700;position:absolute;top:3px;right:6px}.chr-card-title{color:var(--color-text);font-size:.82rem;line-height:1.35}.chr-card-env{color:var(--color-text);opacity:.8;font-size:.74rem;line-height:1.45}.chr-card-drift{color:var(--color-success);font-variant-numeric:tabular-nums;margin-top:auto;font-size:.74rem}.chr-panel{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.chr-lamp{color:var(--color-text);letter-spacing:.06em;font-size:.85rem}.chr-lamp[data-level=ok]{color:var(--color-success);font-weight:700}.chr-lamp[data-level=danger]{color:var(--color-danger);font-weight:700}.chr-judge{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-hologram) 12%, transparent);min-height:44px;color:var(--color-hologram);letter-spacing:.08em;cursor:pointer;padding:.4rem 1.5rem;font-family:inherit;font-size:.9rem}.chr-judge:disabled{opacity:.45;cursor:default}.chr-done{color:var(--color-success);letter-spacing:.1em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.chr-feedback{min-height:3em;color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.55}@media (max-width:560px){.chr-rack{grid-template-columns:1fr 1fr;display:grid}.chr-slot{min-width:0;min-height:152px}.chr-axis{font-size:.7rem}}.puzzle-body.gas-root{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;display:flex}.gas-stage{flex:300px;width:min(380px,100%);position:relative}.gas-svg{width:100%;height:auto;display:block}.gas-particles{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.gas-tank{fill:color-mix(in srgb, var(--color-console-body) 70%, var(--color-bg-deep));stroke:var(--color-line);stroke-width:var(--stroke-outline)}.gas-body{fill:color-mix(in srgb, var(--color-hologram) 22%, transparent);stroke:var(--color-hologram);stroke-width:1.5px;transition:y .12s linear,height .12s linear,fill .2s linear}.gas-piston{fill:var(--color-console-body);stroke:var(--color-text);stroke-width:var(--stroke-outline);transition:y .12s linear}.gas-coil{fill:none;stroke:var(--color-line);stroke-width:2px;stroke-dasharray:3 3}.gas-label{fill:var(--color-text);text-anchor:middle;opacity:.85;font-size:10px}.gas-gauge-arc{fill:none;stroke:var(--color-line);stroke-width:6px;stroke-linecap:round}.gas-gauge-fill{fill:none;stroke:var(--color-hologram);stroke-width:6px;stroke-linecap:round;opacity:calc(.66 + .34 * var(--pulse,0));transition:stroke-dashoffset .12s linear}.gas-gauge-fill.over{stroke:var(--color-danger)}.gas-gauge-target{stroke:var(--color-success);stroke-width:2px}.gas-panel{flex-direction:column;flex:260px;gap:.6rem;min-width:250px;display:flex}.gas-plates{flex-direction:column;gap:.3rem;display:flex}.gas-plate{border:1px solid var(--color-line);border-radius:var(--corner-radius);color:var(--color-text);letter-spacing:.02em;padding:.3rem .55rem;font-size:.8rem}.gas-plate b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.gas-plate-limit{border-color:var(--color-success)}.gas-plate-limit b{color:var(--color-success)}.gas-svg.tripped{filter:drop-shadow(0 0 var(--glow-blur) var(--color-danger))}.gas-sliders{flex-direction:column;gap:.5rem;display:flex}.gas-slider-row{flex-direction:column;gap:.15rem;display:flex}.gas-slider-row label{color:var(--color-text);font-size:.8rem}.gas-slider-row label b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.gas-slider-row input[type=range]{width:100%;accent-color:var(--color-hologram);height:32px}.gas-readout{color:var(--color-text);font-size:.85rem;line-height:1.5}.gas-readout b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.gas-actions{flex:auto;align-items:center;gap:.6rem;min-width:0;display:flex}.gas-btn{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-hologram) 8%, transparent);min-height:44px;color:var(--color-text);letter-spacing:.08em;cursor:pointer;flex-shrink:0;padding:0 1rem;font-family:inherit;font-size:.95rem}.gas-btn:active{background:color-mix(in srgb, var(--color-hologram) 25%, transparent)}.gas-btn:disabled{opacity:.5;cursor:default}.gas-state{min-width:0;color:var(--color-text);margin:0;font-size:.85rem;line-height:1.5}.gas-state[data-level=ok]{color:var(--color-success)}.gas-state[data-level=band]{color:var(--color-hologram)}.gas-state[data-level=over],.gas-state[data-level=underfill]{color:var(--color-danger);font-weight:700}.gas-fill-ok{color:var(--color-success)}.gas-fill-short{color:var(--color-danger)}.gas-svg.leaking{animation:.9s ease-in-out infinite gas-leak-pulse}@keyframes gas-leak-pulse{50%{filter:drop-shadow(0 0 var(--glow-blur) var(--color-danger))}}.gas-svg.filled .gas-tank{stroke:var(--color-success)}@media (prefers-reduced-motion:reduce){.gas-svg.leaking{filter:drop-shadow(0 0 var(--glow-blur) var(--color-danger));animation:none}}@media (max-width:520px){.gas-stage{flex:0 auto;width:min(190px,100%)}.gas-feedback{min-height:0}@media (max-height:720px){.gas-stage{width:min(150px,100%)}}.gas-panel{gap:.45rem}.gas-plate{padding:.22rem .5rem}}.gas-done{color:var(--color-success);letter-spacing:.1em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.gas-feedback{min-height:3.2em;color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.55}.gas-live{flex-direction:column;gap:.5rem;display:flex}.puzzle-body.fit-root{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;display:flex}.fit-svg{flex:300px;width:min(400px,100%);height:auto}.fit-pipe{fill:var(--color-console-body);stroke:var(--color-text);stroke-width:var(--stroke-outline);transition:x .25s ease-out,width .25s ease-out}.fit-pipe.hot{fill:color-mix(in srgb, var(--color-danger) 30%, var(--color-console-body))}.fit-anchor{fill:var(--color-line);stroke:var(--color-text);stroke-width:1px}.fit-gap{fill:color-mix(in srgb, var(--color-hologram) 18%, transparent);stroke:var(--color-hologram);stroke-width:1px;stroke-dasharray:3 2;transition:x .25s ease-out,width .25s ease-out}.fit-gap.bad{fill:color-mix(in srgb, var(--color-danger) 22%, transparent);stroke:var(--color-danger)}.fit-buckle{stroke:var(--color-danger);stroke-width:26px;fill:none;stroke-linecap:butt;opacity:0;transition:opacity .2s linear}.fit-dim{stroke:var(--color-hologram);stroke-width:1.5px;fill:none}.fit-label{fill:var(--color-text);text-anchor:middle;opacity:.85;font-size:10px}.fit-label.warn{fill:var(--color-danger);opacity:1}.fit-panel{flex-direction:column;flex:260px;gap:.6rem;min-width:250px;display:flex}.fit-plates{flex-direction:column;gap:.3rem;display:flex}.fit-plate{border:1px solid var(--color-line);border-radius:var(--corner-radius);color:var(--color-text);padding:.3rem .55rem;font-size:.8rem}.fit-plate b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.fit-group-title{color:var(--color-text);opacity:.8;margin-bottom:.2rem;font-size:.78rem}.fit-cards{flex-wrap:wrap;gap:.4rem;display:flex}.fit-card{text-align:left;border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));min-width:104px;min-height:44px;color:var(--color-text);cursor:pointer;flex:110px;padding:.35rem .5rem;font-size:.78rem;line-height:1.35}.fit-card b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.fit-card[aria-pressed=true]{border-color:var(--color-hologram);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 60%, transparent)}.fit-card:disabled{opacity:.45;cursor:not-allowed}.fit-card .fit-note{opacity:.75;font-size:.72rem;display:block}.fit-gaps{flex-wrap:wrap;gap:.4rem;display:flex}.fit-gap-btn{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));min-width:60px;min-height:44px;color:var(--color-text);font-variant-numeric:tabular-nums;cursor:pointer;font-size:.85rem}.fit-gap-btn[aria-pressed=true]{border-color:var(--color-hologram);color:var(--color-hologram);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 60%, transparent)}.fit-commit{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));color:var(--color-hologram);letter-spacing:.04em;cursor:pointer;align-self:flex-start;min-height:44px;padding:.45rem 1rem;font-size:.9rem;font-weight:700}.fit-commit:disabled{opacity:.5;cursor:default}.fit-state{min-height:2.6em;color:var(--color-text);font-size:.85rem;line-height:1.5}.fit-state[data-level=ok]{color:var(--color-success)}.fit-state[data-level=danger]{color:var(--color-danger);font-weight:700}.fit-done{color:var(--color-success);letter-spacing:.1em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.fit-feedback{min-height:3.2em;color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.55}@media (max-width:520px){.fit-svg{flex:0 auto;width:min(280px,100%)}.fit-state,.fit-feedback{min-height:0}.puzzle-body.fit-root{gap:.5rem}}.puzzle-body.cyl-root{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;display:flex}.cyl-svg{flex:240px;width:min(300px,100%);height:auto}.cyl-wall{fill:none;stroke:var(--color-text);stroke-width:var(--stroke-outline)}.cyl-gas{fill:color-mix(in srgb, var(--color-hologram) 30%, transparent);transition:y .15s ease-out,height .15s ease-out,fill .25s linear}.cyl-piston{fill:var(--color-console-body);stroke:var(--color-text);stroke-width:var(--stroke-outline);transition:y .15s ease-out}.cyl-rod{stroke:var(--color-text);stroke-width:4px;transition:y1 .15s ease-out}.cyl-coil{fill:none;stroke:var(--color-line);stroke-width:3px;stroke-linecap:round}.cyl-coil.on{stroke:var(--color-danger);filter:drop-shadow(0 0 var(--glow-blur) var(--color-danger))}.cyl-scale{stroke:var(--color-line);stroke-width:1px}.cyl-label{fill:var(--color-text);opacity:.85;font-size:10px}.cyl-panel{flex-direction:column;flex:260px;gap:.6rem;min-width:250px;display:flex}.cyl-plates{flex-direction:column;gap:.3rem;display:flex}.cyl-plate{border:1px solid var(--color-line);border-radius:var(--corner-radius);color:var(--color-text);padding:.3rem .55rem;font-size:.8rem}.cyl-plate b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.cyl-plate-warn{border-color:var(--color-danger)}.cyl-plate-warn b{color:var(--color-danger)}.cyl-heat{border:var(--stroke-outline) solid var(--color-danger);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 86%, var(--color-danger));min-height:52px;color:var(--color-danger);letter-spacing:.06em;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;font-size:.95rem;font-weight:700}.cyl-heat.holding{box-shadow:0 0 var(--glow-blur) var(--color-danger)}.cyl-heat:disabled{opacity:.5;cursor:default}.cyl-qbar{border:1px solid var(--color-line);border-right:3px solid var(--color-danger);border-radius:999px;height:12px;overflow:hidden}.cyl-qbar span{background:var(--color-danger);width:0;height:100%;transition:width 80ms linear;display:block}.cyl-slider-row{flex-direction:column;gap:.15rem;display:flex}.cyl-slider-row label{color:var(--color-text);font-size:.8rem}.cyl-slider-row label b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.cyl-slider-row input[type=range]{width:100%;height:32px;accent-color:var(--color-hologram)}.cyl-readout{color:var(--color-text);font-size:.85rem;line-height:1.5}.cyl-readout b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.cyl-actions{flex-wrap:wrap;flex:none;gap:.5rem;display:flex}.cyl-btn{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));min-height:44px;color:var(--color-hologram);cursor:pointer;padding:.4rem .9rem;font-size:.88rem;font-weight:700}.cyl-btn.ghost{border-color:var(--color-line);color:var(--color-text)}.cyl-btn:disabled{opacity:.5;cursor:default}.cyl-state{min-height:2.6em;color:var(--color-text);font-size:.85rem;line-height:1.5}.cyl-state[data-level=ok]{color:var(--color-success)}.cyl-state[data-level=danger]{color:var(--color-danger);font-weight:700}.cyl-done{color:var(--color-success);letter-spacing:.1em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.cyl-feedback{min-height:3.2em;color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.55}@media (max-width:520px){.cyl-svg{flex:0 auto;width:min(170px,100%)}.cyl-state,.cyl-feedback{min-height:0}.puzzle-body.cyl-root{gap:.5rem}@media (max-height:720px){.cyl-svg{width:min(120px,100%)}}}.cyl-live{flex-direction:column;gap:.4rem;display:flex}.puzzle-body.eng-root{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;display:flex}.eng-svg{flex:300px;width:min(400px,100%);height:auto}.eng-axis{fill:none;stroke:var(--color-line);stroke-width:1.5px}.eng-axis-label{fill:var(--color-text);opacity:.85;font-size:10px}.eng-leg{fill:none;stroke:var(--color-hologram);stroke-width:2.5px;stroke-linecap:round}.eng-leg.adiabatic{stroke-dasharray:5 3}.eng-leg.empty{stroke:var(--color-line);stroke-width:1.5px;stroke-dasharray:2 4}.eng-leg.bad{stroke:var(--color-danger)}.eng-node{fill:var(--color-hologram);stroke:var(--color-bg-deep);stroke-width:1.5px}.eng-slot-num{fill:var(--color-text);text-anchor:middle;font-size:11px;font-weight:700}.eng-slot-hit{fill:#0000;cursor:pointer}.eng-slot-hit.armed{fill:color-mix(in srgb, var(--color-hologram) 14%, transparent)}.eng-panel{flex-direction:column;flex:260px;gap:.6rem;min-width:250px;display:flex}.eng-lead{color:var(--color-text);font-size:.85rem;line-height:1.5}.eng-tray{flex-wrap:wrap;gap:.4rem;display:flex}.eng-card{text-align:left;border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));min-width:116px;min-height:44px;color:var(--color-text);cursor:pointer;flex:120px;padding:.35rem .5rem;font-size:.78rem;line-height:1.35}.eng-card b{color:var(--color-hologram);font-variant-numeric:tabular-nums}.eng-card-head{opacity:.75;margin-bottom:.15rem;font-size:.72rem;display:block}.eng-mini{width:64px;height:56px;display:block}.eng-mini-curve{fill:none;stroke:var(--color-hologram);stroke-width:2.5px;stroke-linecap:round}.eng-mini-curve.steep{stroke-dasharray:4 3}.eng-mini-arrow{fill:var(--color-hologram)}.eng-card-name{color:var(--color-success);margin-top:.15rem;font-size:.72rem;display:block}.eng-card-name[hidden]{display:none}.eng-card[aria-pressed=true]{border-color:var(--color-hologram);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 60%, transparent)}.eng-card.placed{opacity:.62;border-style:dashed}.eng-slots{flex-direction:column;gap:.25rem;display:flex}.eng-slot{border:1px solid var(--color-line);border-radius:var(--corner-radius);min-height:44px;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.8rem;display:flex}.eng-slot[aria-pressed=true]{border-color:var(--color-hologram)}.eng-slot .eng-slot-idx{color:var(--color-hologram);min-width:1.4em;font-weight:700}.eng-slot .eng-slot-q{font-variant-numeric:tabular-nums;opacity:.85;margin-left:auto}.eng-actions{flex-wrap:wrap;gap:.5rem;display:flex}.eng-btn{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));min-height:44px;color:var(--color-hologram);cursor:pointer;padding:.4rem .9rem;font-size:.88rem;font-weight:700}.eng-btn.ghost{border-color:var(--color-line);color:var(--color-text)}.eng-btn:disabled{opacity:.5;cursor:default}.eng-state{min-height:2.6em;color:var(--color-text);font-size:.85rem;line-height:1.5}.eng-state[data-level=ok]{color:var(--color-success)}.eng-state[data-level=danger]{color:var(--color-danger);font-weight:700}.eng-done{color:var(--color-success);letter-spacing:.1em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.eng-feedback{min-height:3.2em;color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.55}@media (max-width:520px){.eng-svg{flex:0 auto;width:min(240px,100%)}.eng-state,.eng-feedback{min-height:0}.puzzle-body.eng-root{gap:.5rem}}.puzzle-body.ent-root{flex-direction:column;gap:.4rem;display:flex}.ent-lead{color:var(--color-text);font-size:.8rem;line-height:1.45}.ent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}@media (min-width:700px){.ent-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.ent-title{color:var(--color-text);opacity:.85;font-size:.78rem;line-height:1.35}.ent-film{border:1px solid var(--color-line);border-radius:var(--corner-radius);background:#0a0e16;align-self:center;width:100%;max-width:180px;height:auto}.ent-scene{border:1px solid var(--color-line);border-radius:var(--corner-radius);flex-direction:column;gap:.35rem;min-width:0;padding:.4rem .5rem;display:flex}.ent-scene[data-picked=true]{border-color:color-mix(in srgb, var(--color-hologram) 55%, var(--color-line))}.ent-opts{flex-wrap:wrap;gap:.4rem;display:flex}.ent-opt{text-align:center;border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));min-width:0;min-height:44px;color:var(--color-text);cursor:pointer;flex:1 1 0;padding:.4rem .3rem;font-size:.8rem;line-height:1.4}.ent-opt[aria-pressed=true]{border-color:var(--color-hologram);color:var(--color-hologram);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 55%, transparent)}.ent-opt:disabled{cursor:default}.ent-why{color:var(--color-success);font-size:.78rem;line-height:1.45}.ent-actions{flex-wrap:wrap;flex:1 1 0;align-items:center;gap:.5rem;min-width:0;display:flex}.ent-btn{border:var(--stroke-outline) solid var(--color-hologram);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 88%, var(--color-hologram));min-height:44px;color:var(--color-hologram);letter-spacing:.04em;cursor:pointer;padding:.45rem 1rem;font-size:.9rem;font-weight:700}.ent-btn:disabled{opacity:.5;cursor:default}.ent-state{min-width:0;min-height:0;color:var(--color-text);flex:1 1 0;font-size:.85rem;line-height:1.5}.ent-state[data-level=ok]{color:var(--color-success)}.ent-state[data-level=danger]{color:var(--color-danger);font-weight:700}.ent-done{color:var(--color-success);letter-spacing:.1em;text-shadow:0 0 var(--glow-blur) var(--color-success);font-size:.9rem;font-weight:700}.ent-feedback{min-height:0;color:var(--color-text);opacity:.9;font-size:.85rem;line-height:1.55}.pend-root{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:.8rem;display:grid}@media (max-width:640px){.pend-root{grid-template-columns:minmax(0,1fr)}}.pend-svg{width:100%;max-height:46vh}.pend-frame{fill:none;stroke:var(--color-line);stroke-width:6px;stroke-linecap:round}.pend-rod{stroke:var(--color-text);stroke-width:3px}.pend-bob{fill:var(--color-console-body,#42454d);stroke:var(--color-hologram);stroke-width:2px}.pend-pivot{fill:var(--color-line);transition:fill .1s}.pend-pivot.tick{fill:var(--color-hologram);filter:drop-shadow(0 0 6px var(--color-hologram))}.pend-nadir{stroke:var(--color-line);stroke-width:2px;stroke-dasharray:3 3}.pend-panel{flex-direction:column;gap:.7rem;display:flex}.pend-gauge-wrap{align-items:center;gap:.5rem;display:flex}.pend-gauge-label{color:var(--color-text);white-space:nowrap;font-size:.8rem}.pend-gauge{border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-bg-deep) 80%, black);border-radius:7px;flex:1;height:14px;position:relative;overflow:hidden}.pend-gauge-fill{background:var(--color-hologram);width:0;height:100%;transition:width .12s linear}.pend-gauge-fill.high{background:var(--color-success)}.pend-gauge-target{background:var(--color-success);width:2px;position:absolute;top:-2px;bottom:-2px}.pend-push{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-hologram) 8%, transparent);min-height:64px;color:var(--color-text);letter-spacing:.2em;cursor:pointer;font-family:inherit;font-size:1.2rem;transition:background .12s,box-shadow .12s,border-color .12s}.pend-push.glow{border-color:var(--color-hologram);background:color-mix(in srgb, var(--color-hologram) 22%, transparent);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 60%, transparent)}.pend-push.hit{background:color-mix(in srgb, var(--color-success) 30%, transparent)}.pend-push.bad{background:color-mix(in srgb, var(--color-danger) 25%, transparent)}.pend-push:disabled{opacity:.5;cursor:default}.pend-state{color:var(--color-text);min-height:2.4em;margin:0;font-size:.85rem}.pend-state[data-level=warm]{color:var(--color-hologram)}.pend-state[data-level=ok]{color:var(--color-success)}.pend-done{border:1px solid var(--color-success);border-radius:var(--corner-radius);color:var(--color-success);padding:.5rem .7rem;font-size:.9rem}.knock-root{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:.8rem;display:grid}@media (max-width:640px){.knock-root{grid-template-columns:minmax(0,1fr)}}.knock-grid{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 80%, black);gap:4px;width:100%;height:min(46vh,380px);padding:6px;display:grid}@media (max-width:640px){.knock-grid{height:min(32vh,240px)}}.knock-panel{border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-line) 18%, transparent);cursor:pointer;border-radius:3px;min-width:0;min-height:0;transition:background .12s,border-color .12s,box-shadow .12s}.knock-panel:active{background:color-mix(in srgb, var(--color-text) 25%, transparent)}.knock-panel.knocked{background:color-mix(in srgb, var(--color-line) 8%, transparent)}.knock-panel.hollow{border-color:var(--color-hologram);background:color-mix(in srgb, var(--color-hologram) 22%, transparent);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 60%, transparent)}.knock-panel.opened{border-color:var(--color-success);background:color-mix(in srgb, var(--color-bg-deep) 40%, black);box-shadow:inset 0 0 10px black, 0 0 var(--glow-blur) color-mix(in srgb, var(--color-success) 50%, transparent)}.knock-side{flex-direction:column;gap:.6rem;display:flex}.knock-scope{background:color-mix(in srgb, var(--color-bg-deep) 70%, black);border-radius:var(--corner-radius);width:100%;max-height:26vh}.knock-scope-frame{fill:none;stroke:var(--color-line);stroke-width:2px}.knock-scope-baseline{stroke:var(--color-line);stroke-width:1px;stroke-dasharray:4 4;opacity:.6}.knock-wave{fill:none;stroke:var(--color-hologram);stroke-width:2px;stroke-linejoin:round}.knock-wave.double{stroke:var(--color-success);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--color-success) 60%, transparent))}.knock-echo-mark line{stroke:var(--color-success);stroke-width:1px;stroke-dasharray:3 3}.knock-echo-mark text{fill:var(--color-success);font-size:11px}.knock-state{color:var(--color-text);min-height:2.4em;margin:0;font-size:.85rem}.knock-state[data-level=warm]{color:var(--color-hologram)}.knock-state[data-level=ok]{color:var(--color-success)}.knock-open{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-hologram) 8%, transparent);min-height:48px;color:var(--color-text);letter-spacing:.15em;cursor:pointer;font-family:inherit;font-size:1rem;transition:background .12s,border-color .12s,box-shadow .12s,opacity .12s}.knock-open:not(:disabled){border-color:var(--color-hologram);background:color-mix(in srgb, var(--color-hologram) 22%, transparent);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 60%, transparent)}.knock-open:disabled{opacity:.4;cursor:default}.knock-done{border:1px solid var(--color-success);border-radius:var(--corner-radius);color:var(--color-success);padding:.5rem .7rem;font-size:.9rem}.node-root{flex-direction:column;align-items:stretch;gap:.8rem;display:flex}.node-canvas{border:1px solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 85%, black);width:100%;max-height:38vh}.node-caption{color:var(--color-text);margin:0;font-size:.88rem;line-height:1.55}.node-caption.ok{color:var(--color-success)}.node-canvas{cursor:ew-resize}.node-switch{border:var(--stroke-outline) solid var(--color-danger);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-danger) 12%, transparent);min-height:52px;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:1.05rem}.node-switch:active{background:color-mix(in srgb, var(--color-danger) 28%, transparent)}.node-switch:disabled{opacity:.5;cursor:default;border-color:var(--color-line)}.node-done{border:1px solid var(--color-success);border-radius:var(--corner-radius);color:var(--color-success);padding:.5rem .7rem;font-size:.9rem}.noise-meter[hidden]{display:none}.noise-meter{left:50%;top:max(14px, env(safe-area-inset-top));border:1px solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 82%, transparent);pointer-events:none;z-index:30;align-items:center;gap:.5rem;padding:.35rem .7rem;display:flex;position:absolute;transform:translate(-50%)}.noise-meter-label{letter-spacing:.12em;color:var(--color-text);font-size:.72rem}.noise-meter-bar{border:1px solid var(--color-line);background:color-mix(in srgb, var(--color-bg-deep) 70%, black);border-radius:5px;width:120px;height:10px;overflow:hidden}.noise-meter-fill{background:var(--color-danger);width:0;height:100%;transition:width .1s linear}.noise-meter-fill.quiet{background:var(--color-success)}.mono-root{flex-direction:column;gap:.6rem;display:flex}.mono-sign-row{align-items:center;gap:.7rem;display:flex}.mono-sign{color:var(--color-hologram);flex:1;margin:0;font-size:.92rem}.mono-target{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-hologram) 8%, transparent);color:var(--color-text);white-space:nowrap;cursor:pointer;padding:.45rem .7rem;font-family:inherit;font-size:.85rem;transition:border-color .12s,box-shadow .12s}.mono-target.played{border-color:var(--color-hologram);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 55%, transparent)}.mono-svg{cursor:pointer;width:100%;max-height:32vh}.mono-body{fill:color-mix(in srgb, var(--color-bg-deep) 82%, var(--color-hologram));stroke:var(--color-line);stroke-width:2px}.mono-bridge{fill:var(--color-line)}.mono-string{stroke:var(--color-text);stroke-width:2.5px;stroke-linecap:round}.mono-wave{fill:none;stroke:var(--color-hologram);stroke-width:2px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--color-hologram) 60%, transparent))}.mono-node-dot{fill:var(--color-success);stroke:var(--color-bg-deep);stroke-width:1px}.mono-finger{fill:color-mix(in srgb, var(--color-hologram) 35%, transparent);stroke:var(--color-hologram);stroke-width:2px}.mono-lamps{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.mono-lamp{border:1px solid var(--color-line);border-radius:var(--corner-radius);color:color-mix(in srgb, var(--color-text) 45%, transparent);padding:.25rem .55rem;font-size:.8rem;transition:color .15s,border-color .15s,box-shadow .15s}.mono-lamp.lit{color:var(--color-hologram);border-color:var(--color-hologram);box-shadow:0 0 var(--glow-blur) color-mix(in srgb, var(--color-hologram) 50%, transparent)}.mono-mute{color:var(--color-danger);margin-left:auto;font-size:.8rem}.mono-state{color:var(--color-text);min-height:1.3em;margin:0;font-size:.85rem}.mono-state[data-level=warm]{color:var(--color-hologram)}.mono-state[data-level=ok]{color:var(--color-success)}.mono-caption{color:color-mix(in srgb, var(--color-text) 60%, transparent);margin:0;font-size:.74rem}.mono-done{border:1px solid var(--color-success);border-radius:var(--corner-radius);color:var(--color-success);padding:.5rem .7rem;font-size:.9rem}.dop-root{flex-direction:column;align-items:stretch;gap:.7rem;display:flex}.dop-canvas{border:1px solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 85%, black);width:100%;max-height:34vh}.dop-play,.dop-compare{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-hologram) 8%, transparent);min-height:44px;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:.95rem}.dop-play:active,.dop-compare:active{background:color-mix(in srgb, var(--color-hologram) 22%, transparent)}.dop-play:disabled{opacity:.55;cursor:default}.dop-compare{border-style:dashed;font-size:.85rem}.dop-question{color:var(--color-hologram);margin:0;font-size:.92rem}.dop-legend{opacity:.8;color:var(--color-text);margin:0;font-size:.8rem}.dop-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.dop-choice{border:var(--stroke-outline) solid var(--color-line);border-radius:var(--corner-radius);background:color-mix(in srgb, var(--color-bg-deep) 70%, transparent);min-height:52px;color:var(--color-text);cursor:pointer;font-family:inherit;font-size:1rem}.dop-choice.right{border-color:var(--color-success);color:var(--color-success)}.dop-choice.wrong-pick{border-color:var(--color-danger);animation:.3s dop-shake}@keyframes dop-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.dop-done{border:1px solid var(--color-success);border-radius:var(--corner-radius);color:var(--color-success);padding:.5rem .7rem;font-size:.9rem}
