:root{--mi-primary: #38a6ff;--mi-primary-rgb: 56, 166, 255;--acc: var(--mi-primary);--acc-rgb: var(--mi-primary-rgb);--acc2: color-mix(in srgb, var(--acc) 62%, #ffffff);--acc-dim: color-mix(in srgb, var(--acc) 40%, #10131a);--good: #35d07f;--bad: #ff4d4d;--scr-bg: #04070b;--mono: "Cascadia Mono", "Consolas", ui-monospace, "SF Mono", Menlo, monospace;--sans: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:transparent;color:#eceff5;font-family:var(--sans);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*{animation:none!important}}.mm-root{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(1000px 640px at 50% 8%,rgba(var(--acc-rgb),.05),transparent 60%),#04050859;animation:mm-fade .18s ease}@keyframes mm-fade{0%{opacity:0}to{opacity:1}}.mm-device{width:min(460px,94vw);border-radius:26px;padding:20px 18px 16px;position:relative;background:linear-gradient(157deg,#33373f,#20232a 34%,#15171c);box-shadow:inset 0 2px #ffffff24,inset 0 -6px 14px #000000a6,inset 0 0 0 1px #00000080,0 44px 90px -40px #000;animation:mm-pop .22s ease}@keyframes mm-pop{0%{opacity:0;transform:scale(.985) translateY(6px)}to{opacity:1;transform:none}}.mm-device:before{content:"";position:absolute;inset:7px;border-radius:20px;border:1px solid rgba(255,255,255,.05);pointer-events:none}.mm-screw{position:absolute;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#6b7180,#191b21 70%);box-shadow:inset 0 0 3px #000,0 1px #ffffff0f}.mm-screw.a{top:12px;left:12px}.mm-screw.b{top:12px;right:12px}.mm-screw.c{bottom:12px;left:12px}.mm-screw.d{bottom:12px;right:12px}.mm-top{display:flex;align-items:center;gap:12px;padding:2px 8px 12px}.mm-status{display:flex;gap:12px}.mm-st{display:flex;align-items:center;gap:5px;font:700 9px/1 var(--mono);letter-spacing:.1em;color:#868d9c}.mm-st i{width:8px;height:8px;border-radius:50%;background:#0c0d10;box-shadow:inset 0 0 2px #000}.mm-st i.acc{background:var(--acc);box-shadow:0 0 8px rgba(var(--acc-rgb),.95)}.mm-st i.grn{background:var(--good);box-shadow:0 0 8px var(--good)}.mm-ledbar{margin-left:auto;display:flex;gap:3px}.mm-led{width:9px;height:14px;border-radius:2px;background:#0b0c10;box-shadow:inset 0 0 3px #000}.mm-led.on{background:linear-gradient(var(--acc2),var(--acc));box-shadow:0 0 7px rgba(var(--acc-rgb),.9)}.mm-led.low{background:linear-gradient(#ff7a5e,#ff4d4d);box-shadow:0 0 7px #ff4d4d}.mm-screen{position:relative;border-radius:14px;padding:14px 15px 12px;overflow:hidden;background:radial-gradient(130% 130% at 50% 0%,rgba(var(--acc-rgb),.1),var(--scr-bg) 70%);border:1px solid #000;box-shadow:inset 0 3px 20px #000000f2,inset 0 0 0 2px rgba(var(--acc-rgb),.12),0 0 22px -6px rgba(var(--acc-rgb),.35);font-family:var(--mono);transition:box-shadow .2s}.mm-scanlines{position:absolute;inset:0;pointer-events:none;z-index:5;opacity:.5;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.28) 2px 3px)}.mm-vignette{position:absolute;inset:0;pointer-events:none;z-index:5;border-radius:14px;box-shadow:inset 0 0 60px 8px #000000b3}.phase-won .mm-screen{box-shadow:inset 0 0 0 3px var(--good),inset 0 0 46px #35d07f66}.phase-lost .mm-screen{box-shadow:inset 0 0 0 3px var(--bad),inset 0 0 46px #ff4d4d66;animation:mm-shake .4s}@keyframes mm-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.mm-scr-head{display:flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.12em;color:var(--acc2);border-bottom:1px dashed rgba(var(--acc-rgb),.35);padding-bottom:8px;position:relative;z-index:2}.mm-hbar{width:4px;height:12px;background:var(--acc);box-shadow:0 0 8px var(--acc);flex:none}.mm-tm{margin-left:auto;color:var(--acc);font-weight:700}.mm-scr-cmd{font-size:12px;color:color-mix(in srgb,var(--acc2) 88%,#fff);margin:9px 0;position:relative;z-index:2}.mm-caret{display:inline-block;width:7px;height:12px;background:var(--acc);vertical-align:-2px;margin-left:3px;animation:mm-blink 1s step-end infinite}@keyframes mm-blink{50%{opacity:0}}.mm-scr-game{position:relative;z-index:3;min-height:182px;display:grid;place-items:center;padding:4px 0}.phase-won .mm-scr-game,.phase-lost .mm-scr-game{pointer-events:none}.mm-err{color:var(--bad);font-size:13px;letter-spacing:.1em}.mm-scr-foot{display:flex;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.06em;color:color-mix(in srgb,var(--acc2) 55%,#7b7076);border-top:1px dashed rgba(var(--acc-rgb),.3);padding-top:8px;margin-top:6px;position:relative;z-index:2;text-transform:uppercase}.mm-scr-foot b{color:var(--acc2)}.mm-note{max-width:46%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-verdict{position:absolute;inset:0;z-index:8;display:grid;place-items:center;font:800 22px/1 var(--mono);letter-spacing:.2em;background:#0305098c;backdrop-filter:blur(1px)}.mm-verdict.won{color:var(--good);text-shadow:0 0 18px var(--good)}.mm-verdict.lost{color:var(--bad);text-shadow:0 0 18px var(--bad)}.mm-count{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--acc2)}.mm-count-obj{font-size:12px;color:color-mix(in srgb,var(--acc2) 72%,#7b7076);text-align:center;max-width:32ch;letter-spacing:.04em}.mm-count-num{font:800 68px/1 var(--mono);color:var(--acc);text-shadow:0 0 24px rgba(var(--acc-rgb),.8);animation:mm-pip .8s ease}.mm-count-go{font-size:10px;letter-spacing:.28em;color:color-mix(in srgb,var(--acc2) 55%,#7b7076)}@keyframes mm-pip{0%{transform:scale(1.6);opacity:0}30%{opacity:1}to{transform:scale(1);opacity:.9}}.mm-prog{height:6px;border-radius:4px;background:rgba(var(--acc-rgb),.12);overflow:hidden;margin:10px 0 2px;position:relative;z-index:2;border:1px solid rgba(var(--acc-rgb),.2)}.mm-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:4px;transition:width .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 8px rgba(var(--acc-rgb),.6)}.phase-won .mm-prog i{background:var(--good);box-shadow:0 0 10px var(--good)}.mm-bot{display:flex;align-items:center;gap:10px;padding:13px 8px 4px}.mm-plate{font:700 9px/1.3 var(--mono);letter-spacing:.14em;color:#6a6f7a;text-transform:uppercase}.mm-plate span{color:#4a4e57}.mm-btn{border:1px solid rgba(0,0,0,.6);border-radius:8px;padding:8px 12px;font:700 10px/1 var(--mono);letter-spacing:.12em;background:linear-gradient(#2b2f37,#1a1d23);color:#868d9c;box-shadow:inset 0 1px #ffffff14,0 2px #00000080}.mm-btn:hover{color:#cfd3da}.mm-btn.go{margin-left:0;color:#fff;background:linear-gradient(color-mix(in srgb,var(--acc) 85%,#000),color-mix(in srgb,var(--acc) 55%,#000));box-shadow:inset 0 1px #fff3,0 0 14px -2px rgba(var(--acc-rgb),.8)}.mm-btn.go:hover{color:#fff}.mm-grille{margin-left:auto;display:flex;gap:3px}.mm-grille i{width:4px;height:14px;border-radius:2px;background:#0c0d11;box-shadow:inset 0 0 2px #000}.mg-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:13px;color:var(--acc2)}.mg-instr{font-size:11.5px;color:color-mix(in srgb,var(--acc2) 70%,#7b7076);text-align:center;letter-spacing:.04em}.mg-instr b{color:var(--acc2)}.mg-row-h{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.mg-sweep{position:relative;width:300px;max-width:78vw;height:22px;border:1px solid rgba(var(--acc-rgb),.4);background:#020407;overflow:hidden;border-radius:3px;cursor:pointer}.mg-sweep.v{width:22px;height:190px}.mg-zone{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(90deg,rgba(53,208,127,.42) 0 4px,transparent 4px 8px);border-left:1px solid var(--good);border-right:1px solid var(--good)}.mg-sweep.v .mg-zone{left:0;right:0;top:auto;background:repeating-linear-gradient(0deg,rgba(53,208,127,.42) 0 4px,transparent 4px 8px);border:0;border-top:1px solid var(--good);border-bottom:1px solid var(--good)}.mg-mark{position:absolute;top:-3px;bottom:-3px;width:5px;background:var(--acc);box-shadow:0 0 9px var(--acc)}.mg-sweep.v .mg-mark{left:-3px;right:-3px;top:auto;height:5px;width:auto}.mg-dial{cursor:pointer;filter:drop-shadow(0 0 6px rgba(var(--acc-rgb),.35))}.mg-dring{fill:none;stroke:rgba(var(--acc-rgb),.22);stroke-width:2}.mg-tick{stroke:color-mix(in srgb,var(--acc2) 40%,#7b7076);stroke-width:1.5}.mg-tick.big{stroke:var(--acc2);stroke-width:2}.mg-notch{fill:none;stroke:var(--good);stroke-width:3.5;stroke-linecap:round}.mg-dtarget{fill:var(--acc2)}.mg-ptr{stroke:var(--acc);stroke-width:2.6;stroke-linecap:round;filter:drop-shadow(0 0 4px var(--acc))}.mg-hub{fill:var(--acc)}.mg-key{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 6px;border:1px solid rgba(var(--acc-rgb),.35);border-radius:6px;background:#06090e;color:var(--acc2);font:700 14px/1 var(--mono);box-shadow:inset 0 -2px #00000080;text-transform:uppercase}.mg-key.active{border-color:var(--acc);color:#fff;background:rgba(var(--acc-rgb),.18);box-shadow:0 0 12px -2px rgba(var(--acc-rgb),.8)}.mg-key.good{border-color:var(--good);color:var(--good);background:#35d07f24}.mg-key.bad{border-color:var(--bad);color:var(--bad);background:#ff4d4d24}.mg-meter{width:240px;max-width:70vw;height:8px;border-radius:5px;background:rgba(var(--acc-rgb),.12);overflow:hidden;border:1px solid rgba(var(--acc-rgb),.25)}.mg-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:5px;transition:width .12s linear}.mg-meter.good i{background:var(--good)}.mg-grid{display:grid;gap:5px}.mg-cell{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(var(--acc-rgb),.28);border-radius:5px;background:#06090e;color:var(--acc2);font:700 13px/1 var(--mono);cursor:pointer;user-select:none;transition:background .08s,border-color .08s,transform .08s}.mg-cell:hover{border-color:rgba(var(--acc-rgb),.6)}.mg-cell.flat{cursor:default}.mg-cell.hidden{background:linear-gradient(#12161d,#0a0d12);border-color:#ffffff0f}.mg-cell.lit{background:rgba(var(--acc-rgb),.9);border-color:var(--acc);color:#fff;box-shadow:0 0 12px rgba(var(--acc-rgb),.8)}.mg-cell.sel{border-color:var(--acc);color:#fff;background:rgba(var(--acc-rgb),.2)}.mg-cell.on{background:#35d07f29;border-color:var(--good);color:var(--good)}.mg-cell.off{opacity:.55}.mg-cell.safe{background:#35d07f1f;border-color:#35d07f66;color:var(--good);cursor:default}.mg-cell.mine{background:#ff4d4d33;border-color:var(--bad);color:var(--bad)}.mg-cell.bad{border-color:var(--bad);color:var(--bad);background:#ff4d4d29}.mg-cell.wall{background:#05070b;border-color:rgba(var(--acc-rgb),.5);cursor:default}.mg-cell.path{background:rgba(var(--acc-rgb),.14)}.mg-cell.goal{border-color:var(--good);color:var(--good);box-shadow:inset 0 0 10px #35d07f80}.mg-cell.token{background:var(--acc);color:#fff;border-color:var(--acc);box-shadow:0 0 12px rgba(var(--acc-rgb),.8)}.mg-field{position:relative;width:320px;max-width:80vw;height:190px;border:1px solid rgba(var(--acc-rgb),.3);border-radius:6px;background:linear-gradient(#03060a,#010306);overflow:hidden;cursor:crosshair}.mg-dot{position:absolute;border-radius:50%;transform:translate(-50%,-50%)}.mg-obj{position:absolute}.mg-list{display:flex;flex-direction:column;gap:3px;width:260px;max-width:74vw;font-size:12px}.mg-lrow{display:flex;justify-content:space-between;gap:10px;padding:3px 9px;border:1px solid transparent;border-radius:4px;color:color-mix(in srgb,var(--acc2) 55%,#7b7076)}.mg-lrow .i{color:color-mix(in srgb,var(--acc2) 40%,#7b7076)}.mg-lrow.cur{border-color:var(--acc);color:var(--acc2);background:rgba(var(--acc-rgb),.12);box-shadow:0 0 10px -2px rgba(var(--acc-rgb),.6)}.mg-lrow.ok{border-color:var(--good);color:var(--good)}.mg-lrow.no{border-color:var(--bad);color:var(--bad)}.mg-pulse-ok{animation:mg-ok .4s}.mg-pulse-no{animation:mg-no .4s}@keyframes mg-ok{0%,to{filter:none}40%{filter:drop-shadow(0 0 8px var(--good))}}@keyframes mg-no{0%,to{filter:none}40%{filter:drop-shadow(0 0 8px var(--bad))}}.mg-big{font:800 26px/1 var(--mono);letter-spacing:.14em;color:var(--acc2)}.mg-chip{padding:6px 10px;border:1px solid rgba(var(--acc-rgb),.35);border-radius:6px;background:#06090e;color:var(--acc2);font:700 14px/1 var(--mono);cursor:pointer}.mg-chip.on{background:rgba(var(--acc-rgb),.85);color:#fff;border-color:var(--acc)}.dev{position:fixed;top:0;left:0;bottom:0;width:240px;z-index:100;background:#0a0b0ff5;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;font-family:var(--sans);transform:translate(-100%);transition:transform .2s}.dev.open{transform:none}.dev-tab{position:absolute;right:-34px;top:14px;width:34px;height:40px;border:0;border-radius:0 8px 8px 0;background:#0a0b0ff5;color:var(--acc);display:grid;place-items:center}.dev-head{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.dev-head h3{font-size:13px}.dev-head p{font-size:10.5px;color:#7b7076;margin-top:3px}.dev-ctrls{padding:10px 12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid rgba(255,255,255,.08)}.dev-ctrls label{font-size:10px;color:#7b7076;text-transform:uppercase;letter-spacing:.08em}.dev select{width:100%;background:#16181d;color:#eceff5;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:6px 8px;font-size:12px}.dev-sw{display:flex;gap:6px;flex-wrap:wrap}.dev-sw button{width:22px;height:22px;border-radius:6px;border:2px solid transparent}.dev-sw button[data-on="1"]{border-color:#fff}.dev-list{flex:1;overflow-y:auto;padding:6px}.dev-cat{font-size:9.5px;color:#7b7076;text-transform:uppercase;letter-spacing:.1em;padding:8px 8px 4px}.dev-game{display:block;width:100%;text-align:left;background:transparent;border:0;color:#cfd3da;padding:6px 8px;border-radius:6px;font-size:12px}.dev-game:hover{background:rgba(var(--acc-rgb),.14);color:#fff}.dev-res{padding:8px 12px;font-size:11px;border-top:1px solid rgba(255,255,255,.08);color:#7b7076}.dev-res b.ok{color:var(--good)}.dev-res b.no{color:var(--bad)}.dev::-webkit-scrollbar,.dev-list::-webkit-scrollbar{width:8px}html.demo,html.demo body{background:#06070b;overflow:hidden}.dev-splash{position:fixed;inset:0 0 0 240px;z-index:1;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;text-align:center;pointer-events:none}.dev-splash h4{font:700 21px/1.25 var(--sans);color:#eceff5}.dev-splash p{max-width:420px;font-size:13px;line-height:1.65;color:#837a81}.dev-splash code{font:500 11.5px/1 var(--mono);color:var(--acc2);padding:9px 13px;border-radius:7px;background:rgba(var(--acc-rgb),.09);border:1px solid rgba(var(--acc-rgb),.26)}.dev-list::-webkit-scrollbar-thumb{background:#2b2327;border-radius:6px}
