:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:linear-gradient(#3f8bdd 0%,#83bdf0 40%,#c6e3fb 72%,#f0f8ff 100%);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.sky{z-index:-1;pointer-events:none;background:linear-gradient(#3f8bdd 0%,#83bdf0 40%,#c6e3fb 72%,#f0f8ff 100%);position:fixed;inset:0;overflow:hidden}.sky-sun{filter:blur(3px);background:radial-gradient(circle,#fffdf2 0%,#ffe9a8 42%,#ffe9a800 72%);border-radius:50%;width:150px;height:150px;position:absolute;top:7%;right:11%}.sky-cloud{filter:blur(4px);opacity:.95;width:80px;height:80px;transform:scale(var(--s,1));background:#fff;border-radius:50%;animation:linear infinite sky-drift;position:absolute;box-shadow:70px 8px 0 -8px #fff,34px -28px 0 -14px #fff,86px -16px 0 -20px #fff,-28px 14px 0 -12px #fff}.sky-cloud-1{--s:1.5;animation-duration:120s;top:12%;left:-18%}.sky-cloud-2{--s:.95;opacity:.85;animation-duration:160s;animation-delay:-40s;top:22%;left:-30%}.sky-cloud-3{--s:1.9;opacity:.9;animation-duration:190s;animation-delay:-90s;top:8%;left:-55%}.sky-cloud-4{--s:.7;opacity:.8;animation-duration:140s;animation-delay:-70s;top:30%;left:-8%}@keyframes sky-drift{0%{transform:translateX(0) scale(var(--s,1))}to{transform:translateX(180vw) scale(var(--s,1))}}@media (prefers-reduced-motion:reduce){.sky-cloud{animation:none}}#root{flex-direction:column;display:flex}canvas{touch-action:none}.hud{z-index:1;color:#1f2937;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#ffffffd1;border:1px solid #0d2a501f;border-radius:8px;max-width:260px;max-height:calc(100% - 32px);padding:10px 14px;font-size:13px;line-height:1.5;position:absolute;top:16px;left:16px;overflow-y:auto;box-shadow:0 6px 20px #15335c24}.hud-title{margin-bottom:4px;font-size:15px;font-weight:700}.hud strong{color:#2563eb}.hud a{color:#2563eb;pointer-events:auto;text-decoration:none}.hud a:hover{text-decoration:underline}.hud-links{margin:8px 0 0;padding:0;list-style:none}.hud-links li{margin-top:2px}.hud-breadcrumb{margin-bottom:4px}.hud-concept{color:#6b7280;margin-left:6px;font-size:12px}.hud-section{color:#4b5563;margin-top:10px;font-weight:600}.hud-buttons{pointer-events:auto;flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.hud-buttons button{color:#1f2937;cursor:pointer;background:#ffffffb3;border:1px solid #0d2a502e;border-radius:6px;padding:3px 8px;font-size:12px}.hud-buttons button:hover{border-color:#2563eb99}.hud-buttons button.active{color:#fff;background:#2563eb;border-color:#2563eb}.hud-buttons button:disabled{opacity:.4;cursor:default}.hud-island-count{color:#4b5563;align-self:center;padding:0 4px;font-size:12px}.hud-members{margin:4px 0 8px;padding:0;list-style:none}.hud-members li{align-items:center;gap:6px;display:flex}.hud-details{pointer-events:auto;margin-top:6px}.hud-details summary{cursor:pointer;color:#2563eb;font-weight:600}.hud-form{pointer-events:auto;flex-direction:column;gap:4px;margin-top:4px;display:flex}.hud-form input{color:#1f2937;font:inherit;background:#ffffffe6;border:1px solid #0d2a502e;border-radius:6px;padding:4px 6px;font-size:12px}.hud-form button{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:6px;align-self:flex-start;padding:3px 10px;font-size:12px}.hud-form button:disabled{opacity:.5;cursor:default}.hud-note{color:#4b5563;font-size:12px}.hud-error{color:#b91c1c;font-size:12px}.hud-id{word-break:break-all;-webkit-user-select:all;user-select:all;pointer-events:auto;margin:2px 0;font-size:11px;display:block}.avatar-dot{background:#9ca3af;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.is-online .avatar-dot{background:#22c55e;box-shadow:0 0 0 2px #22c55e40}.avatar-tag,.island-sign{color:#1f2937;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#ffffffd9;border:1px solid #0d2a501f;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.avatar-tag.is-offline{color:#6b7280;background:#fff9}.avatar-zzz{width:0;height:0;position:relative}.avatar-zzz span{color:#1e3a8a;-webkit-text-stroke:3px #fff;paint-order:stroke fill;opacity:0;font-style:italic;font-weight:800;animation:2.7s ease-out infinite avatar-zzz;position:absolute;bottom:0;left:0}.avatar-zzz span:first-child{font-size:12px}.avatar-zzz span:nth-child(2){font-size:16px;animation-delay:.9s}.avatar-zzz span:nth-child(3){font-size:20px;animation-delay:1.8s}@keyframes avatar-zzz{0%{opacity:0;transform:translate(0)rotate(-10deg)}20%{opacity:1}to{opacity:0;transform:translate(14px,-44px)rotate(12deg)}}@media (prefers-reduced-motion:reduce){.avatar-zzz span{opacity:1;animation:none}.avatar-zzz span:first-child{transform:translate(0)}.avatar-zzz span:nth-child(2){transform:translate(5px,-14px)}.avatar-zzz span:nth-child(3){transform:translate(10px,-32px)}}.island-sign{padding:3px 10px;font-size:12px}.island-sign.is-hovered{color:#fff;background:#2563eb;border-color:#2563eb}.mg-page,.bomb-screen,.room-bomb-ui{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--mg-text:#1f2937;--mg-text-soft:#374151;--mg-muted:#6b7280;--mg-panel:#ffffffd1;--mg-panel-solid:#fff;--mg-well:#eef3fa;--mg-well-deep:#dbe4f0;--mg-well-stripe:#e3eaf5;--mg-chip:#fff;--mg-inactive:#c3cedc;--mg-border:#0d2a501f;--mg-border-strong:#0d2a5033;--mg-hover:#2563eb0f;--mg-accent:#2563eb;--mg-accent-bg:#2563eb1a;--mg-accent-border:#2563eb73;--mg-highlight:#f59e0b;--mg-highlight-bg:#f59e0b40;--mg-highlight-text:#b45309;--mg-good:#16a34a;--mg-good-bg:#16a34a1f;--mg-good-text:#15803d;--mg-bad:#dc2626;--mg-bad-bg:#dc26261a;--mg-bad-border:#dc262673;--mg-bad-panel:#fff7f7;--mg-bad-text:#b91c1c;--mg-bad-chip:#fee2e2;--mg-bad-chip-text:#991b1b;--mg-shadow:0 6px 20px #15335c24;--mg-shadow-strong:#15335c4d;background:linear-gradient(#3f8bdd 0%,#83bdf0 40%,#c6e3fb 72%,#f0f8ff 100%) fixed}.mg-page{color:var(--mg-text);flex:1;width:100%;max-width:720px;margin:0 auto;padding:24px 16px;overflow-y:auto}.mg-page-wide{max-width:1100px}.mg-page a{color:var(--mg-accent);text-decoration:none}.mg-header{background:var(--mg-panel);border:1px solid var(--mg-border);box-shadow:var(--mg-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.mg-header h1{margin:0;font-size:22px}.mg-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.mg-tile{background:var(--mg-panel);border:1px solid var(--mg-border);box-shadow:var(--mg-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;flex-direction:column;gap:4px;padding:16px;transition:border-color .15s,background .15s;display:flex;color:inherit!important}.mg-tile:hover{border-color:var(--mg-accent);background:var(--mg-panel-solid)}.mg-tile-main{border-color:var(--mg-bad-border);grid-column:1/-1}.mg-tile-icon{font-size:28px}.mg-tile-name{font-size:16px;font-weight:700}.mg-muted{color:var(--mg-muted);font-size:13px}.mg-hint{color:var(--mg-muted);margin:0 0 10px;font-size:12px}.mg-question{margin:4px 0 8px;font-size:15px;font-weight:600}.mg-center{text-align:center;margin-top:16px}.mg-button{font:inherit;border:1px solid var(--mg-border-strong);background:var(--mg-panel-solid);color:inherit;cursor:pointer;border-radius:8px;padding:8px 14px}.mg-button:hover:not(:disabled){border-color:var(--mg-accent)}.mg-button:disabled{opacity:.5;cursor:default}.mg-primary{background:var(--mg-accent);border-color:var(--mg-accent);color:#fff}.bomb-bar{background:var(--mg-panel);border:1px solid var(--mg-border);box-shadow:var(--mg-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;padding:10px 14px;display:flex}.bomb-timer{color:#e5484d;text-align:center;background:#0a0c10;border-radius:6px;min-width:96px;padding:2px 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:26px;font-weight:700}.bomb-timer.is-low{animation:1s steps(2,end) infinite bomb-blink}@keyframes bomb-blink{50%{opacity:.35}}.bomb-strikes{flex:1;gap:6px;display:flex}.bomb-strike{color:var(--mg-inactive);font-weight:700}.bomb-strike.is-hit{color:var(--mg-bad)}.bomb-result{text-align:center;border-radius:10px;margin-bottom:12px;padding:12px 14px;font-weight:700}.bomb-result.is-good{background:var(--mg-good-bg);border:1px solid var(--mg-good)}.bomb-result.is-bad{background:var(--mg-bad-bg);border:1px solid var(--mg-bad)}.bomb-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.bomb-module{background:var(--mg-panel);border:1px solid var(--mg-border);min-width:0;color:var(--mg-text);box-shadow:var(--mg-shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;flex-direction:column;padding:14px;display:flex}.bomb.is-exploded .bomb-module{opacity:.6}.bomb-module-head{text-transform:uppercase;letter-spacing:.04em;color:var(--mg-muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.bomb-led{background:var(--mg-inactive);border-radius:50%;width:12px;height:12px}.bomb-led.is-sending{background:var(--mg-highlight)}.bomb-led.is-solved{background:var(--mg-good);box-shadow:0 0 8px var(--mg-good)}.bomb-led.is-failed{background:var(--mg-bad);box-shadow:0 0 8px var(--mg-bad)}.bomb-led.is-submitted{background:var(--mg-accent);box-shadow:0 0 8px var(--mg-accent)}.bomb-error{color:var(--mg-bad);font-size:12px}.bomb-lock{align-self:flex-end;margin-top:auto}.mod-wires{background:var(--mg-well);border:1px solid var(--mg-border);border-radius:10px;flex-direction:column;gap:4px;margin-bottom:12px;padding:10px 12px;display:flex}.mod-wire{grid-template-columns:minmax(0,1fr) 16px minmax(120px,2.2fr) 16px;align-items:center;font-size:13px;display:grid}.mod-wire-label{overflow-wrap:anywhere;padding-right:10px}.mod-wire.is-cut .mod-wire-label{color:var(--mg-muted);text-decoration:line-through}.mod-wire-terminal{z-index:1;background:linear-gradient(#e2e8f0,#94a3b8);border:1px solid #64748b;border-radius:3px;height:22px;position:relative}.mod-wire-terminal:after{content:"";background:linear-gradient(135deg,#f1f5f9,#64748b);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 1px #475569}.mod-wire-cable{cursor:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2748%27 height=%2748%27 viewBox=%270 0 32 32%27%3E%3Cg transform=%27rotate%28-45 16 16%29%27 stroke-linecap=%27round%27%3E%3Cpath d=%27M15 13.5 L12.5 27%27 stroke=%27%237f1d1d%27 stroke-width=%274.6%27/%3E%3Cpath d=%27M15 13.5 L12.5 27%27 stroke=%27%23dc2626%27 stroke-width=%273%27/%3E%3Cpath d=%27M17 13.5 L19.5 27%27 stroke=%27%237f1d1d%27 stroke-width=%274.6%27/%3E%3Cpath d=%27M17 13.5 L19.5 27%27 stroke=%27%23dc2626%27 stroke-width=%273%27/%3E%3Cpath d=%27M14.6 12.5 C 13.6 9%2C 14.2 5.5%2C 16 3 L16 12.5 Z%27 transform=%27rotate%28-10 16 12.5%29%27 fill=%27%23cbd5e1%27 stroke=%27%23334155%27 stroke-width=%270.8%27 stroke-linejoin=%27round%27/%3E%3Cpath d=%27M17.4 12.5 C 18.4 9%2C 17.8 5.5%2C 16 3 L16 12.5 Z%27 transform=%27rotate%2810 16 12.5%29%27 fill=%27%23cbd5e1%27 stroke=%27%23334155%27 stroke-width=%270.8%27 stroke-linejoin=%27round%27/%3E%3Ccircle cx=%2716%27 cy=%2712.5%27 r=%272%27 fill=%27%2364748b%27 stroke=%27%23334155%27 stroke-width=%270.8%27/%3E%3C/g%3E%3C/svg%3E") 10 10,crosshair;background:0 0;border:none;height:40px;margin:0 -2px;padding:0;position:relative}.mod-wire-cable:disabled,.mod-wire.is-cut .mod-wire-cable{cursor:default}.mod-wire-cable.is-snapping{cursor:none}.mod-wire-cable svg{width:100%;height:100%;display:block;overflow:visible}.mod-wire:not(.is-cut) .mod-wire-cable:hover:not(:disabled) svg{filter:drop-shadow(0 0 4px #2563eb73)}.mod-wire-cable:focus-visible{outline:2px solid var(--mg-accent);outline-offset:2px;border-radius:6px}.mod-wire-copper{stroke:#d97706;stroke-width:3px}.mod-wire-snap{pointer-events:none;width:48px;height:48px;margin:-10.5px 0 0 -10.5px;animation:.7s ease-out forwards pliers-fade;position:absolute}.pliers{width:100%;height:100%;overflow:visible}.pliers-handle{stroke:#dc2626;stroke-width:3px;stroke-linecap:round;filter:drop-shadow(0 0 .8px #7f1d1d)}.pliers-jaw path{fill:#cbd5e1;stroke:#334155;stroke-width:.8px}.pliers-pivot{fill:#64748b;stroke:#334155;stroke-width:.8px}.pliers-jaw{transform-origin:16px 12.5px}.pliers-jaw path{stroke-linejoin:round}.pliers.is-snapping .pliers-jaw.is-left{animation:.18s ease-in forwards jaw-left}.pliers.is-snapping .pliers-jaw.is-right{animation:.18s ease-in forwards jaw-right}@keyframes jaw-left{0%{transform:rotate(-10deg)}to{transform:rotate(0)}}@keyframes jaw-right{0%{transform:rotate(10deg)}to{transform:rotate(0)}}@keyframes pliers-fade{0%,70%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.pliers.is-snapping .pliers-jaw{animation:none}}.mod-switches{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.mod-switch-row{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.mod-switch-label{overflow-wrap:anywhere;flex:1}.mod-toggle{color:var(--mg-muted);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;min-width:96px;padding:0;font-size:11px;font-weight:700;display:flex}.mod-toggle-track{background:var(--mg-well);border:1px solid var(--mg-border-strong);border-radius:999px;flex:none;width:44px;height:24px;transition:background .15s,border-color .15s;position:relative}.mod-toggle-lever{background:var(--mg-muted);border-radius:50%;width:18px;height:18px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.mod-toggle.is-on{color:var(--mg-text)}.mod-toggle.is-on .mod-toggle-track{background:var(--mg-good-bg);border-color:var(--mg-good)}.mod-toggle.is-on .mod-toggle-lever{background:var(--mg-good);transform:translate(20px)}.mod-positions{border:1px solid var(--mg-border-strong);border-radius:8px;display:flex;overflow:hidden}.mod-position{background:var(--mg-well);color:var(--mg-muted);font:inherit;cursor:pointer;border:none;padding:5px 10px;font-size:12px}.mod-position+.mod-position{border-left:1px solid var(--mg-border-strong)}.mod-position.is-active{background:var(--mg-accent);color:#fff}.mod-lock{align-items:center;gap:6px;margin-bottom:12px;display:flex}.mod-wheel{background:var(--mg-well);border:1px solid var(--mg-border-strong);border-radius:8px;flex-direction:column;align-items:center;display:flex}.mod-wheel-btn{color:var(--mg-muted);cursor:pointer;background:0 0;border:none;padding:4px 12px;font-size:11px}.mod-wheel-btn:hover:not(:disabled){color:var(--mg-text)}.mod-wheel-digit{padding:0 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:24px;font-weight:700}.mod-lock-unit{color:var(--mg-muted);margin-left:6px}.mod-wheel.is-cursor{border-color:var(--mg-highlight);box-shadow:0 0 0 2px var(--mg-highlight-bg)}.mg-select{font:inherit;border:1px solid var(--mg-border-strong);background:var(--mg-well);color:inherit;cursor:pointer;border-radius:8px;padding:8px 10px}.mod-fuses{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-bottom:12px;display:grid}.mod-fuse{border:1px solid var(--mg-border);background:var(--mg-well);color:inherit;font:inherit;cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}.mod-fuse-slot{background:var(--mg-well-deep);border:1px solid var(--mg-border-strong);border-radius:4px;width:22px;height:46px;position:relative}.mod-fuse-body{opacity:.35;background:linear-gradient(90deg,#6b7488,#c9ced8 40%,#6b7488);border-radius:3px;height:40px;transition:transform .15s;position:absolute;top:-14px;left:3px;right:3px;transform:translateY(-6px)}.mod-fuse.is-in .mod-fuse-body{opacity:1;transform:translateY(16px)}.mod-fuse-state{color:var(--mg-muted);margin-top:6px;font-size:10px;font-weight:700}.mod-fuse.is-in .mod-fuse-state{color:var(--mg-good)}.mod-fuse-label{text-align:center;overflow-wrap:anywhere;font-size:12px}.mod-cables{background:var(--mg-well);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(60px,.8fr) minmax(0,1fr);margin-bottom:12px;padding:8px 0;display:grid;position:relative}.mod-cables.is-dragging{cursor:grabbing}.mod-cables-col{flex-direction:column;gap:6px;display:flex}.mod-cable-end{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:8px;padding:0 4px;font-size:13px;display:flex}.mod-cable-end.is-left{text-align:right;cursor:grab;touch-action:none;justify-content:flex-end}.mod-cable-end.is-left.is-active{background:var(--mg-accent-bg)}.mod-cable-end.is-right{text-align:left}.mod-cable-end.is-right.is-target{background:var(--mg-accent-bg)}.mod-cable-end.is-right.is-target .mod-cable-plug.is-socket{border-color:var(--mg-highlight)}.mod-cable-end:disabled{cursor:default}.mod-cable-text{overflow-wrap:anywhere}.mod-cable-plug{border-radius:4px;flex:none;width:18px;height:18px;box-shadow:inset 0 -3px #0000004d}.mod-cable-plug.is-socket{background:var(--mg-well-deep);border:2px solid var(--mg-muted);border-radius:50%}.mod-cables-wires{pointer-events:none;position:absolute;inset:0;overflow:visible}.mod-cables-wires path{fill:none;stroke-width:9px;stroke-linecap:round;filter:drop-shadow(0 2px 2px var(--mg-shadow-strong))}.mod-cables-wires path.is-live{opacity:.85}.mod-belt{background:repeating-linear-gradient(90deg, var(--mg-well) 0 14px, var(--mg-well-stripe) 14px 28px);border:1px solid var(--mg-border);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;display:flex}.mod-belt-item{color:#111;background:#f5d90a;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700}.mod-bins{gap:8px;margin-bottom:12px;display:grid}.mod-bin{flex-direction:column;gap:6px;min-width:0;display:flex}.mod-bin-lever{overflow-wrap:anywhere;padding:6px 8px;font-size:12px}.mod-bin-content{background:var(--mg-well);border:1px dashed var(--mg-border-strong);border-radius:8px;flex-direction:column;gap:4px;min-height:60px;padding:6px;display:flex}.mod-bin-item{background:var(--mg-chip);color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;border:none;border-radius:4px;padding:3px 6px;font-size:12px}.mod-terminal{color:#39d98a;background:#031a0c;border:1px solid #0f5c2e;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;display:flex}.mod-terminal-line{opacity:.7;font-size:11px}.mod-terminal-input{align-items:center;gap:8px;display:flex}.mod-terminal-input input{min-width:0;color:inherit;font:inherit;caret-color:#39d98a;background:0 0;border:none;outline:none;flex:1;font-size:16px}.mod-terminal-unit{opacity:.7}.mod-terminal-error{color:#e5484d;font-size:11px}.mod-buttons{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin-bottom:10px;display:grid}.mod-press{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex}.mod-press-cap{color:#fff;background:radial-gradient(circle at 35% 30%,#ff7a7e,#b3262b);border-radius:50%;place-items:center;width:46px;height:46px;font-weight:700;transition:transform 80ms,box-shadow 80ms;display:grid;box-shadow:0 4px #6e1418}.mod-press:active:not(:disabled) .mod-press-cap,.mod-press.is-pressed .mod-press-cap{transform:translateY(3px);box-shadow:0 1px #6e1418}.mod-press.is-pressed .mod-press-cap{background:radial-gradient(circle at 35% 30%,#5fe3a1,#1f7a4d);box-shadow:0 1px #10462b}.mod-press-label{text-align:center;overflow-wrap:anywhere;font-size:12px}.mod-radar{cursor:crosshair;background:#031a0c;border:2px solid #0f5c2e;border-radius:8px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.mod-radar img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.mod-radar-sweep{pointer-events:none;background:linear-gradient(90deg,#0000 0 80%,#39d98a40 100%) 0 0/50% 100% no-repeat;animation:3s linear infinite radar-sweep;position:absolute;inset:0}@keyframes radar-sweep{0%{background-position:-100% 0}to{background-position:200% 0}}.mod-radar-marker{pointer-events:none;border:2px solid #e5484d;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;box-shadow:0 0 0 4px #e5484d40}.mod-radar-marker:before,.mod-radar-marker:after{content:"";background:#e5484d;position:absolute}.mod-radar-marker:before{width:2px;margin-left:-1px;top:-6px;bottom:-6px;left:50%}.mod-radar-marker:after{height:2px;margin-top:-1px;top:50%;left:-6px;right:-6px}.bomb-module.is-collapsed{color:inherit;font:inherit;text-align:left;cursor:pointer;gap:6px;transition:border-color .15s}.bomb-module.is-collapsed:hover{border-color:var(--mg-accent)}.bomb-module.is-collapsed .bomb-module-prompt{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.bomb-module.is-collapsed.is-solved{border-color:var(--mg-good)}.bomb-module.is-collapsed.is-failed{border-color:var(--mg-bad-border)}.bomb-module.is-expanded{background:var(--mg-panel-solid);border-color:var(--mg-accent-border);order:-1;grid-column:1/-1;padding:20px}.bomb-module.is-expanded .mg-question{font-size:18px}.mod-rotary,.mod-dial-card{container-type:inline-size}.mod-rotary-body{align-items:center;gap:16px;margin-bottom:12px;display:flex}.mod-dial{--knob:140px;--label-w:150px;--label-h:34px;width:var(--knob);height:var(--knob);flex:none;position:relative}.mod-dial.is-small{--knob:64px;--label-w:96px;--label-h:22px}.mod-knob{width:var(--knob);height:var(--knob);margin:calc(var(--knob) / -2) 0 0 calc(var(--knob) / -2);border:1px solid var(--mg-border-strong);background:var(--mg-well);color:var(--mg-muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;position:absolute;top:50%;left:50%}.mod-knob.is-dragging{cursor:grabbing}.mod-knob.is-disabled{cursor:default;opacity:.6}.mod-knob:focus-visible{outline:2px solid var(--mg-accent);outline-offset:2px}.mod-knob-tick{pointer-events:none;justify-content:center;padding-top:4px;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.mod-knob-tick:before{content:"";background:var(--mg-inactive);border-radius:2px;width:3px;height:10px}.mod-dial.is-small .mod-knob-tick{padding-top:2px}.mod-dial.is-small .mod-knob-tick:before{width:2px;height:6px}.mod-knob-tick.is-active{color:var(--mg-highlight-text)}.mod-knob-tick.is-active:before{background:var(--mg-highlight)}.mod-knob-cap{background:linear-gradient(var(--mg-inactive), #262d3b);box-shadow:0 2px 6px var(--mg-shadow-strong);pointer-events:none;border-radius:50%;transition:transform .12s;position:absolute;inset:24%}.mod-knob.is-dragging .mod-knob-cap{transition:none}.mod-knob-cap:after{content:"";background:var(--mg-highlight);border-radius:2px;width:3px;height:36%;margin-left:-1.5px;position:absolute;top:8%;left:50%}.mod-knob-cap.is-idle:after{background:var(--mg-muted)}.mod-dial-label{left:calc(50% + var(--sin) * (var(--knob) / 2 + 10px));top:calc(50% - var(--cos) * (var(--knob) / 2 + 10px));max-width:var(--label-w);color:var(--mg-text-soft);font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 6px;font-size:12px;line-height:1.3;display:none;position:absolute}.mod-dial-label.is-right{text-align:left;transform:translateY(-50%)}.mod-dial-label.is-left{text-align:right;transform:translate(-100%,-50%)}.mod-dial-label.is-center{text-align:center;transform:translate(-50%,-100%)}.mod-dial-label:hover:not(:disabled){color:var(--mg-text)}.mod-dial-label.is-active{border-color:var(--mg-highlight);color:var(--mg-highlight-text)}@container (width>=520px){.mod-rotary .mod-dial{width:calc(var(--knob) + 2 * var(--label-w) + 20px);height:calc(var(--knob) + 2 * var(--label-h) + 20px);margin:0 auto}.mod-rotary .mod-dial-label{display:block}.mod-rotary .mod-rotary-legend{display:none}.mod-rotary .mod-rotary-body{justify-content:center}}@container (width>=300px){.mod-dial-card .mod-dial{width:calc(var(--knob) + 2 * var(--label-w) + 20px);height:calc(var(--knob) + 2 * var(--label-h) + 20px)}.mod-dial-card .mod-dial-label{display:block}.mod-dial-card .mod-dial-value{display:none}}.mod-rotary-legend{flex-direction:column;gap:4px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.mod-rotary-option{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;border-radius:6px;align-items:baseline;gap:8px;padding:4px 8px;font-size:13px;display:flex}.mod-rotary-option:hover:not(:disabled){background:var(--mg-hover)}.mod-rotary-option.is-active{border-color:var(--mg-highlight)}.mod-dial-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;margin-bottom:12px;display:grid}.mod-dial-card{background:var(--mg-hover);border:1px solid var(--mg-hover);border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px;display:flex}.mod-dial-card-label{text-align:center;font-size:14px;font-weight:600}.mod-dial-value{color:var(--mg-highlight-text);font-size:12px}.mod-rail{background:var(--mg-well);border:1px solid var(--mg-border);touch-action:none;border-radius:8px;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:10px;display:flex}.mod-block{background:var(--mg-chip);border:1px solid var(--mg-border);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;transition:background .1s;display:flex}.mod-rail.is-dragging,.mod-rail.is-dragging .mod-block{cursor:grabbing}.mod-block-gap{border:2px dashed var(--mg-accent-border);background:var(--mg-accent-bg);border-radius:6px}.mod-block.is-floating{z-index:10;pointer-events:none;color:#fff;background:var(--mg-accent);box-shadow:0 8px 20px var(--mg-shadow-strong);cursor:grabbing;position:fixed}.mod-block.is-disabled{cursor:default;opacity:.6}.mod-block:focus-visible{outline:2px solid var(--mg-accent)}.mod-block-grip{color:var(--mg-muted)}.mod-block-pos{color:var(--mg-highlight-text);font-size:11px;font-weight:700}.bomb-feedback{background:var(--mg-accent-bg);border:1px solid var(--mg-accent-border);border-radius:8px;margin:4px 0 12px;padding:10px 12px;font-size:14px}.bomb-feedback.is-good{background:var(--mg-good-bg);border-color:var(--mg-good)}.bomb-feedback.is-bad{background:var(--mg-bad-panel);border-color:var(--mg-bad)}.bomb-feedback.is-bad>strong{color:var(--mg-bad-text)}.bomb-compare{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:8px;display:grid}.bomb-compare ul{margin:4px 0 0;padding-left:18px}.bomb-compare li{margin:2px 0}.bomb-compare li.is-wrong{background:var(--mg-bad-chip);width:fit-content;color:var(--mg-bad-chip-text);text-decoration:line-through;-webkit-text-decoration-color:var(--mg-bad-chip-text);text-decoration-color:var(--mg-bad-chip-text);border-radius:4px;padding:0 6px}.bomb-compare .is-solution li{color:var(--mg-good-text);font-weight:600}.mod-block.is-floating .mod-block-pos,.mod-block.is-floating .mod-block-grip{color:#fff}.bomb-stage-3d{border:1px solid var(--mg-border);height:min(78vh,760px);box-shadow:var(--mg-shadow);background:radial-gradient(circle at 50% 40%,#2a2f38,#0d0f13 75%);border-radius:10px;margin-bottom:12px;position:relative;overflow:hidden}.bomb-stage-hint{color:#9aa3b2;pointer-events:none;font-size:12px;position:absolute;bottom:10px;left:12px}.bomb-zoom{pointer-events:none;justify-content:center;align-items:center;padding:56px 16px 16px;display:flex;position:absolute;inset:0}.bomb-zoom-back{pointer-events:auto;position:absolute;top:12px;left:12px}.bomb-zoom-panel{pointer-events:auto;width:min(640px,100%);max-height:100%;animation:.35s ease-out .95s both bomb-zoom-in;overflow:auto}.bomb-zoom-panel>.bomb-module.is-expanded{border:2px solid #ff8a1f;box-shadow:0 12px 40px #00000080}.bomb-stage-3d{container-type:size}.bomb-zoom.is-center{padding:0}.bomb-zoom.is-center .bomb-zoom-panel{--face:calc(min(100cqw, 100cqh) / 1.04);width:calc(var(--face) * .84);height:calc(var(--face) * .72);margin-top:calc(var(--face) * .12);background:#fffffff0;border-radius:10px;max-height:none;overflow:auto;box-shadow:inset 0 0 0 2px #00000040,0 6px 24px #00000059}.bomb-zoom.is-center .bomb-module.is-expanded{min-height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:clamp(12px,2.5cqh,28px)}.bomb-zoom.is-side{justify-content:flex-end;align-items:flex-start}.bomb-zoom.is-side .bomb-zoom-panel{width:min(260px,22%)}.bomb-zoom.is-side .bomb-module.is-expanded{padding:14px}.bomb-zoom.is-side .bomb-module.is-expanded .mg-question{font-size:16px}@keyframes bomb-zoom-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.bomb-screen{background:#0d0f13;position:fixed;inset:0}.bomb-screen .bomb-stage-3d{height:100%;box-shadow:none;border:0;border-radius:0;margin:0}.bomb-screen-message{color:#9aa3b2;text-align:center;place-content:center;gap:12px;margin:0;display:grid;position:absolute;inset:0}.bomb-screen-result{font:inherit;color:#fff;cursor:pointer;border:0;border-radius:10px;padding:10px 20px;font-size:22px;font-weight:700;display:grid;position:absolute;top:24px;left:50%;transform:translate(-50%)}.bomb-screen-result small{opacity:.85;font-size:12px;font-weight:500}.bomb-flash{pointer-events:none;animation:1.4s ease-out forwards bomb-flash;position:absolute;inset:0}@keyframes bomb-flash{0%{background:#fff}12%{background:#ffd68cd9}40%{background:#ff6e1e59}to{background:#ff501400}}.blast-overlay{pointer-events:none;position:fixed;inset:0}.blast-overlay-fire{inset:0;position:absolute!important}.blast-overlay-soot{background:radial-gradient(#14080226 0%,#0a040099 75%);animation:1.2s ease-out forwards blast-soot;position:absolute;inset:0}@keyframes blast-soot{0%{opacity:0}to{opacity:1}}.bomb-screen.is-blasted .book-stage{animation:.7s cubic-bezier(.36,.07,.19,.97) book-shake}@keyframes book-shake{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-18px,10px)rotate(-1.5deg)}25%{transform:translate(16px,-12px)rotate(1.2deg)}40%{transform:translate(-12px,8px)rotate(-.8deg)}55%{transform:translate(9px,-5px)rotate(.5deg)}70%{transform:translate(-5px,3px)rotate(-.3deg)}85%{transform:translate(2px,-1px)rotate(0)}}@media (prefers-reduced-motion:reduce){.bomb-screen.is-blasted .book-stage{animation:none}}.celebration{pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebration-glow{background:radial-gradient(at 50% 45%,#3dff6e59,#0000 60%);animation:1.6s ease-out forwards celebration-glow;position:absolute;inset:0}@keyframes celebration-glow{0%{opacity:0}15%{opacity:1}to{opacity:.35}}.celebration-confetti{width:100%;height:100%;position:absolute;inset:0}.celebration-banner{justify-items:center;gap:8px;animation:.9s cubic-bezier(.2,1.6,.4,1) both celebration-pop,1s ease-in 4.2s forwards celebration-fade;display:grid;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}.celebration-title{letter-spacing:.04em;color:#fff;-webkit-text-stroke:3px #14532d;text-shadow:0 6px #14532d,0 0 40px #3dff6ee6;font-size:clamp(44px,11vw,120px);font-weight:900;animation:1.2s ease-in-out .9s 3 celebration-wobble}.celebration-sub{color:#fff;background:#0d0f13bf;border-radius:999px;padding:6px 16px;font-size:clamp(14px,2.6vw,22px);font-weight:700}@keyframes celebration-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(-12deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes celebration-wobble{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-3deg)scale(1.06)}75%{transform:rotate(3deg)scale(1.06)}}@keyframes celebration-fade{to{opacity:0;transform:translate(-50%,-60%)scale(.9)}}@media (prefers-reduced-motion:reduce){.celebration-banner,.celebration-title{animation:none}}.bomb-badge{color:#e6e9ef;pointer-events:none;background:#0d0f13bf;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;position:absolute;top:12px;left:12px}.bomb-testbar{color:#e6e9ef;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--mg-border-strong:#ffffff2e;--mg-panel-solid:#1b1f27;--mg-well:#1b1f27;background:#0d0f13bf;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px;display:flex;position:absolute;top:12px;left:12px}.bomb-testbar .mg-button,.bomb-testbar .mg-select{padding:6px 10px}.bomb-testbar-info{color:#9aa3b2;padding:0 6px;font-size:13px}.bomb-screen-result.is-good{background:#30a46ce6}.bomb-screen-result.is-bad{background:#e5484de6}.room-bomb-ui{z-index:2;pointer-events:none;background:0 0;position:fixed;inset:0;container-type:size}.room-bomb-ui .bomb-screen-result{pointer-events:auto}.koop-seed{align-items:center;gap:10px;display:flex}.koop-manual{gap:12px;padding:0;list-style:none;display:grid}.koop-links p{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.koop-link{align-items:center;gap:8px;min-width:0;display:inline-flex}.koop-link code{overflow-wrap:anywhere;font-size:13px}.glyph-icon{flex:none;width:1.9em;height:1.9em}.glyph-icon path{fill:none!important}.book-glyphs li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-screen{color:#3b2a14;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(at 50% 55%,#783cc847 0%,#0000 55%),radial-gradient(at 50% 45%,#1d1530 0%,#0c0914 70%,#050409 100%);grid-template-rows:1fr auto auto;place-items:center;gap:10px;padding:16px 16px 18px;font-family:Georgia,Times New Roman,serif;display:grid;position:fixed;inset:0;overflow:hidden}.book-loading{color:#d9c8ff;grid-row:1/-1;font-family:Georgia,Times New Roman,serif;font-size:20px}.enchant-runes{pointer-events:none;position:absolute;inset:0}.enchant-runes span{color:#d8c7ff;text-shadow:0 0 8px #8f5cffcc;opacity:0;font-size:20px;animation:6s linear infinite rune-drift;position:absolute}@keyframes rune-drift{0%{opacity:0;transform:translate(0)scale(.8)}20%{opacity:.45}80%{opacity:.3}to{opacity:0;transform:translate(calc(7.5vw - 7.5%),-38vh)scale(.5)}}@media (prefers-reduced-motion:reduce){.enchant-runes span{opacity:.4;animation:none}}.book-stage{perspective:2200px;place-items:center;width:100%;height:100%;min-height:0;display:grid}.book-tilt{transform-origin:50% 70%;position:relative;transform:rotateX(8deg)}.book-table{background:radial-gradient(at 50% 40%,#8a1f27 0%,#5e121a 70%,#430b12 100%);border:12px solid #2b1a10;border-radius:10px;position:absolute;inset:-8% -6% -11%;box-shadow:inset 0 0 0 2px #c99a4a59,inset 0 0 60px #0009,0 40px 60px #000000b3,0 0 90px #783cdc40}.book-table-gem{background:linear-gradient(135deg,#f2d48a,#a8782e);border-radius:4px;width:30px;height:30px;position:absolute;box-shadow:inset 0 0 0 2px #6e4b17,0 2px 4px #00000080}.book-table-gem.is-tl{top:-20px;left:-20px}.book-table-gem.is-tr{top:-20px;right:-20px}.book-table-gem.is-bl{bottom:-20px;left:-20px}.book-table-gem.is-br{bottom:-20px;right:-20px}.book-spread{aspect-ratio:1040/730;perspective:2600px;filter:drop-shadow(0 22px 30px #0000008c);width:min(1060px,100vw - 80px,142dvh - 355px);display:flex;position:relative}.book-slot{touch-action:none;cursor:grab;flex:50%;min-width:0;position:relative;overflow:hidden;container-type:size}.book-slot.is-left .book-paper,.book-leaf-turn.is-right .book-leaf-face.is-back .book-paper,.book-leaf-turn.is-left .book-leaf-face.is-back .book-paper{background:linear-gradient(270deg,#140a027a 0%,#3c230a1f 10%,#0000 20%),radial-gradient(at 50% 40%,#0000 60%,#78501e14 100%),#faf2dc}.book-slot.is-right .book-paper,.book-leaf-turn.is-right .book-leaf-face.is-front .book-paper,.book-leaf-turn.is-left .book-leaf-face.is-front .book-paper{background:linear-gradient(90deg,#140a027a 0%,#3c230a1f 10%,#0000 20%),radial-gradient(at 50% 40%,#0000 60%,#78501e14 100%),#faf2dc}.book-leaf-turn{z-index:5;width:50%;transform-style:preserve-3d;cursor:grabbing;transition:transform .55s cubic-bezier(.4,.1,.2,1);position:absolute;top:0;bottom:0}.book-leaf-turn.is-right{transform-origin:0;left:50%}.book-leaf-turn.is-left{transform-origin:100%;right:50%}.book-leaf-turn.is-hard{transition-duration:.85s;transition-timing-function:cubic-bezier(.3,.6,.15,1)}.book-leaf-turn.is-dragging{transition:none}.book-leaf-face{backface-visibility:hidden;position:absolute;inset:0;overflow:hidden;container-type:size}.book-leaf-turn.is-right .book-leaf-face.is-front{transform:rotateY(0)}.book-leaf-turn.is-right .book-leaf-face.is-back,.book-leaf-turn.is-left .book-leaf-face.is-front{transform:rotateY(180deg)}.book-leaf-turn.is-left .book-leaf-face.is-back{transform:rotateY(0)}.book-cover{color:#f3e2b6;background:radial-gradient(at 30% 20%,#ffffff1a,#0000 60%),linear-gradient(90deg,#4a2c14 0 5%,#7a4a24 5%);border-radius:0 6px 6px 0;height:100%;padding:4cqw;box-shadow:inset 0 0 40px #00000080}.book-cover-frame{outline-offset:-8px;text-align:center;border:2px solid #c99a4a;border-radius:6px;outline:1px solid #c99a4a80;flex-direction:column;justify-content:center;align-items:center;gap:4cqh;height:100%;padding:5cqw;display:flex}.book-cover h1{color:#f3d58e;text-shadow:0 2px #00000073;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(16px,8cqw,40px);line-height:1.15}.book-cover-stamp{color:#ff8f7f;letter-spacing:.15em;border:2px solid #d9584a;border-radius:4px;padding:.5em .8em;font-family:Georgia,Times New Roman,serif;font-size:clamp(9px,2.8cqw,14px);font-weight:700;transform:rotate(-5deg)}.book-cover-icon{color:#e8d9ff;text-shadow:0 0 12px #8f5cffe6;font-size:clamp(28px,12cqw,64px);animation:2.4s ease-in-out infinite alternate cover-glow}@keyframes cover-glow{0%{opacity:.6}to{opacity:1}}.book-cover-facts{grid-template-columns:auto auto;gap:.2em .8em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(12px,4cqw,20px);display:grid}.book-cover-facts dt{text-align:right;opacity:.75}.book-cover-facts dd{text-align:left;color:#ffe7ad;margin:0;font-weight:700}.book-cover-hint{opacity:.7;font-family:Georgia,Times New Roman,serif;font-size:clamp(11px,3.2cqw,15px)}.book-cover.is-back{border-radius:6px 0 0 6px}.book-cover.is-back .book-cover-frame{font-family:Georgia,Times New Roman,serif;font-size:clamp(13px,4.4cqw,22px)}.book-paper{color:#3b2a14;background:radial-gradient(at 50% 40%,#0000 60%,#78501e14 100%),#faf2dc;flex-direction:column;height:100%;padding:7cqw 7cqw 5cqw;font-family:Georgia,Times New Roman,serif;font-size:clamp(10px,3.8cqw,18px);line-height:1.4;display:flex;position:relative;overflow:hidden}.book-paper h2{color:#4a2a0e;margin:0 0 .8em;font-family:Georgia,Times New Roman,serif;font-size:1.35em;line-height:1.2}.book-paper h3{letter-spacing:.12em;text-transform:uppercase;color:#7a5228;margin:0 0 .6em;font-family:system-ui,sans-serif;font-size:.7em}.book-paper section+section{margin-top:1.2em}.book-paper ol{margin:0;padding-left:1.2em}.book-paper ol li+li{margin-top:.4em}.book-question{color:#2a1a08;margin:0;font-size:1.3em}.book-statements{margin:0;padding:0;list-style:none}.book-statements li+li{margin-top:.4em}.book-glyphs{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:2.8em;gap:.45em;margin:0;padding:0;list-style:none;display:grid}.book-glyphs li{color:#2a1a08;background:#f6ecd0;border:1px solid #c4a86f;border-radius:6px;align-items:center;gap:.5em;min-width:0;margin:0;padding:.3em .45em;display:flex}.book-users{gap:.6em;margin:0;display:grid}.book-users div{background:#f6ecd0;border:1px solid #c4a86f;border-radius:6px;padding:.4em .6em}.book-users dt{color:#4a2a0e;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700}.book-users dd{margin:.15em 0 0}.book-folio{text-align:center;color:#8a6a3c;margin:auto 0 0;padding-top:1.4em;font-size:.8em}.book-help{z-index:2;color:#d9c8ff8c;margin:0;font-size:13px;position:relative}.book-nav{z-index:2;color:#eadfc8;align-items:center;gap:14px;font-size:15px;display:flex;position:relative}.book-nav .mg-button{color:#f3e2b6;background:#3a2414;border:1px solid #c99a4a;border-radius:8px;padding:6px 16px}.book-nav .mg-button:hover:not(:disabled){background:#4a2e18;border-color:#f3d58e}.book-nav .mg-button:disabled{opacity:.4}.mod3d-hidden-input{opacity:0;border:0;width:1px;height:1px;padding:0;position:absolute}.chamfer{--cut:12px;clip-path:polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)), 0 var(--cut))}.upload-fab{z-index:1;cursor:pointer;filter:drop-shadow(0 7px #1b1030)drop-shadow(0 14px 14px #14002859);background:0 0;border:none;padding:0;transition:transform 80ms,filter 80ms;position:absolute;bottom:24px;right:24px}.upload-fab:hover{transform:translateY(-3px)}.upload-fab:active{filter:drop-shadow(0 1px #1b1030)drop-shadow(0 4px 6px #14002859);transform:translateY(6px)}.upload-fab:focus-visible{outline-offset:6px;outline:4px solid #ffd23f}.upload-fab-body{--cut:18px;background:#1b1030;padding:4px;display:block}.upload-fab-face{--cut:15px;color:#2f6bd9;background:linear-gradient(160deg,#ffffff80 0 20%,#0000 20%),linear-gradient(32deg,#78280038 0 26%,#0000 26%),linear-gradient(115deg,#ffd65e 0 44%,#ffb43b 44% 70%,#f39324 70%);align-content:center;place-items:center;gap:4px;width:92px;height:92px;display:grid}.upload-fab:hover .upload-fab-face{filter:brightness(1.07)}.upload-fab-icon{animation:1.2s steps(2,end) infinite pixel-bob}.upload-fab-label{text-transform:uppercase;letter-spacing:.08em;color:#fff;text-shadow:0 2px #1b1030,1px 0 #1b1030,-1px 0 #1b1030,0 -1px #1b1030;font:800 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@keyframes pixel-bob{50%{transform:translateY(-3px)}}.upload-backdrop{z-index:5;background:#0f234066;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.upload-dialog{--cut:18px;background:#1b1030;width:min(460px,100%);padding:4px}.upload-dialog-face{--cut:15px;color:#1b1030;background:#fff8ea;max-height:calc(100vh - 40px);padding:18px;font-size:13px;overflow-y:auto}.upload-dialog button{color:#1b1030;cursor:pointer;background:#fff;border:3px solid #1b1030;border-radius:4px;padding:6px 14px;font:700 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:transform 60ms,box-shadow 60ms;box-shadow:inset 0 -3px #0000001f,0 3px #1b1030}.upload-dialog button:hover:not(:disabled){filter:brightness(1.05);background-color:#f2f6ff}.upload-dialog button:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 -3px #0000001f,0 0 #1b1030}.upload-dialog button:disabled{cursor:default;opacity:.5}.upload-dialog button:focus-visible{outline-offset:3px;outline:3px solid #ffd23f}.upload-dialog button.is-primary{color:#fff;text-shadow:0 2px #2f6b12;background:linear-gradient(#b8f05a 0%,#7ed321 48%,#5aa816 52%,#4c9a10 100%)}.upload-dialog button.is-primary:hover:not(:disabled){background:linear-gradient(#c4f56c 0%,#8adf2c 48%,#63b51c 52%,#55a614 100%)}.upload-header{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.upload-title{text-transform:uppercase;letter-spacing:.04em;font-size:18px;font-weight:800}.upload-subtitle{color:#6b5f80}.upload-dialog .upload-close{padding:0 8px 2px;font-size:18px;line-height:1.1}.upload-dropzone{--cut:14px;background:#1b1030;padding:4px}.upload-dropzone-face{--cut:11px;color:#2f6bd9;text-align:center;background:linear-gradient(150deg,#fff6 0 28%,#0000 28%),linear-gradient(22deg,#0a285a24 0 32%,#0000 32%),linear-gradient(100deg,#a6d8fb 0 38%,#82c3f5 38% 68%,#64aced 68%);flex-direction:column;align-items:center;gap:6px;padding:26px 16px 22px;display:flex;position:relative}.upload-dropzone-face:before{content:"";pointer-events:none;border:3px dashed #1b103059;position:absolute;inset:10px}.upload-dropzone.is-dragging .upload-dropzone-face{color:#2f6b12;background:linear-gradient(150deg,#fff6 0 28%,#0000 28%),linear-gradient(22deg,#143c0029 0 32%,#0000 32%),linear-gradient(100deg,#c4f56c 0 38%,#8fdc34 38% 68%,#6bbd1f 68%)}.upload-dropzone.is-dragging .upload-dropzone-face:before{border-color:#1b1030}.upload-dropzone.is-disabled{opacity:.6}.upload-dropzone-icon{animation:1.2s steps(2,end) infinite pixel-bob}.upload-dropzone.is-dragging .upload-dropzone-icon{animation-duration:.4s}.upload-dropzone-title{text-transform:uppercase;letter-spacing:.06em;color:#fff;text-shadow:0 2px #1b1030,1px 0 #1b1030,-1px 0 #1b1030,0 -1px #1b1030;font-size:16px;font-weight:800}.upload-or{color:#1b1030;opacity:.7;font-size:12px;font-weight:600}.upload-files{margin:14px 0 0;padding:0;list-style:none}.upload-files li{border-bottom:2px dashed #1b103026;align-items:center;gap:8px;padding:5px 0;display:flex}.upload-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.upload-file-size{color:#6b5f80;font-size:12px}.upload-dialog .upload-files button{border-width:2px;padding:0 6px 1px;font-size:14px;box-shadow:0 2px #1b1030}.upload-progress{background:#fff;border:3px solid #1b1030;height:14px;margin-top:14px;padding:2px}.upload-progress>div{background:repeating-linear-gradient(90deg,#7ed321 0 10px,#5aa816 10px 12px);height:100%;transition:width .15s steps(4,end)}.upload-message{border:3px solid;margin-top:14px;padding:8px 10px;font-weight:600}.upload-message.is-good{color:#2f6b12;background:#e7f9d8}.upload-message.is-bad{color:#9b1c1f;background:#fde4e4}.upload-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.upload-fab.friends-fab{bottom:148px}.friends-fab .upload-fab-face{color:#e2457a;background:linear-gradient(160deg,#ffffff80 0 20%,#0000 20%),linear-gradient(32deg,#003c2838 0 26%,#0000 26%),linear-gradient(115deg,#8ee6b0 0 44%,#5fd394 44% 70%,#3bb877 70%)}.friends-fab .upload-fab-icon{animation-delay:.6s}.friends-section{border-top:3px dashed #1b10302e;margin-top:14px;padding-top:12px}.upload-header+.friends-section{border-top:none;margin-top:0;padding-top:0}.friends-section-title{text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-weight:800}.friends-dialog .hud-note{color:#6b5f80;margin-bottom:8px}.friends-dialog .welcome-form:has(input+input){flex-direction:column}.friends-dialog .upload-message{margin-top:0}.friends-id-row{align-items:center;gap:10px;display:flex}.friends-id{overflow-wrap:anywhere;background:#fff;border:2px dashed #1b10304d;flex:1;min-width:0;padding:6px 8px;font-size:12px}.hud.hud-lowpoly{max-width:280px;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:#1b1030;filter:drop-shadow(0 7px #1b1030)drop-shadow(0 14px 14px #14002859);background:0 0;border:none;border-radius:0;padding:0;overflow:visible}.hud-lowpoly-body{--cut:16px;background:#1b1030;padding:4px}.hud-lowpoly-face{--cut:13px;pointer-events:auto;background:#fff8ea;max-height:calc(100vh - 64px);padding:12px 14px;overflow-y:auto}.hud-lowpoly .hud-title{text-transform:uppercase;letter-spacing:.04em;font-size:16px;font-weight:800}.hud-lowpoly .hud-section{color:#1b1030;text-transform:uppercase;letter-spacing:.04em;border-top:3px dashed #1b10302e;margin-top:10px;padding-top:8px;font-weight:800}.hud-lowpoly .hud-note,.hud-lowpoly .hud-concept,.hud-lowpoly .hud-island-count{color:#6b5f80}.hud-lowpoly a,.hud-lowpoly strong,.hud-lowpoly .hud-details summary{color:#2f6bd9}.hud-lowpoly .hud-buttons{gap:6px;margin:6px 0 4px}.hud-lowpoly .hud-buttons button,.hud-lowpoly .hud-form button{color:#1b1030;background:#fff;border:3px solid #1b1030;border-radius:4px;padding:3px 10px;font:700 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:transform 60ms,box-shadow 60ms;box-shadow:inset 0 -3px #0000001f,0 3px #1b1030}.hud-lowpoly .hud-buttons button:hover:not(:disabled),.hud-lowpoly .hud-form button:hover:not(:disabled){background-color:#f2f6ff;border-color:#1b1030}.hud-lowpoly .hud-buttons button:active:not(:disabled),.hud-lowpoly .hud-form button:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 -3px #0000001f,0 0 #1b1030}.hud-lowpoly .hud-buttons button.active,.hud-lowpoly .hud-form button.is-primary,.hud-lowpoly .hud-form button[type=submit]{color:#fff;text-shadow:0 2px #2f6b12;background:linear-gradient(#b8f05a 0%,#7ed321 48%,#5aa816 52%,#4c9a10 100%)}.hud-lowpoly .hud-form input{color:#1b1030;background:#fff;border:2px solid #1b1030;border-radius:4px;padding:5px 8px}.hud-lowpoly .hud-id{background:#fff;border:2px dashed #1b10304d;padding:4px 6px}@media (prefers-reduced-motion:reduce){.upload-fab-icon,.upload-dropzone-icon{animation:none}}.welcome-backdrop{background:linear-gradient(160deg,#ffffff2e 0 30%,#0000 30%),linear-gradient(110deg,#7cc4f2 0 45%,#5aaee8 45% 75%,#3f95d6 75%)}.upload-dialog.welcome-dialog{filter:drop-shadow(0 7px #1b1030)drop-shadow(0 14px 14px #14002859);width:min(400px,100%)}.welcome-banner{--cut:14px;background:#1b1030;padding:4px}.welcome-banner-face{--cut:11px;text-align:center;background:linear-gradient(160deg,#ffffff80 0 20%,#0000 20%),linear-gradient(32deg,#78280038 0 26%,#0000 26%),linear-gradient(115deg,#ffd65e 0 44%,#ffb43b 44% 70%,#f39324 70%);padding:20px 16px 18px}.welcome-banner-title{text-transform:uppercase;letter-spacing:.06em;color:#fff;text-shadow:0 3px #1b1030,2px 0 #1b1030,-2px 0 #1b1030,0 -2px #1b1030;font:800 28px/1.1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.welcome-banner-subtitle{color:#1b1030;text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-size:12px;font-weight:700}.welcome-lead{margin:16px 0 10px;font-weight:600}.welcome-form{align-items:stretch;gap:10px;display:flex}.welcome-form input{color:#1b1030;background:#fff;border:3px solid #1b1030;border-radius:4px;flex:1;min-width:0;padding:7px 10px;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;box-shadow:inset 0 3px #00000014}.welcome-form input:focus{outline-offset:2px;outline:3px solid #ffd23f}.welcome-form .hud-error{color:#9b1c1f;background:#fde4e4;border:3px solid;flex-basis:100%;padding:6px 8px;font-weight:600}.welcome-form:has(.hud-error){flex-wrap:wrap}.welcome-details{margin-top:14px}.welcome-details .hud-note{color:#6b5f80;margin-top:6px}.welcome-details .hud-id{background:#fff;border:2px dashed #1b10304d;margin:4px 0 8px;padding:6px 8px;font-size:12px}.welcome-details .hud-buttons{gap:10px}.welcome-details summary{cursor:pointer;color:#2f6bd9;font-weight:700}.welcome-details .welcome-form{margin-top:8px}.session-panel{background:#0d0f1359;border-radius:12px;flex-direction:column;align-items:flex-start;gap:12px;margin:20px 0;padding:16px;display:flex}.session-panel h2{margin:0;font-size:18px}.session-topics{border:1px solid #e6e9ef40;border-radius:8px;flex-wrap:wrap;gap:8px 16px;margin:0;display:flex}.session-options{flex-wrap:wrap}.session-code{flex:1;min-width:0}.session-lobbies{width:100%;margin:0;padding:0;list-style:none}.session-lobbies li{border-top:1px solid #e6e9ef26;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.session-bar{color:#e6e9ef;z-index:5;background:#0d0f13bf;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;width:fit-content;max-width:calc(100% - 24px);padding:8px 12px;font-size:14px;display:flex;position:absolute;top:12px;left:12px;right:12px}.session-online{color:#3dff6e}.session-offline{color:#9aa1ad}.session-note{color:#ffe2e2;z-index:5;background:#3c1414d9;border-radius:10px;padding:8px 14px;font-size:14px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.session-toast{color:#0d0f13;z-index:6;pointer-events:none;border-radius:12px;padding:10px 18px;font-weight:700;position:absolute;top:70px;left:50%;transform:translate(-50%)}.session-toast.is-good{background:#3dff6e}.session-toast.is-bad{background:#ff6b6b}.session-start{z-index:20;color:#1f2937;background:#fffdf6;border:3px solid #1f2937;border-radius:6px;gap:12px;width:min(380px,100% - 32px);padding:14px 16px 12px;font-size:14px;animation:.22s cubic-bezier(.2,1.6,.4,1) session-pop;display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px #1f2937,0 18px 30px #15335c4d}.session-start-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.session-start-storey{text-transform:uppercase;letter-spacing:.04em;font-size:18px;font-weight:800}.session-start-concept{color:#6b7280;font-size:13px}.session-start-close{font:inherit;color:#6b7280;cursor:pointer;background:0 0;border:0;font-size:18px;font-weight:700}.session-chunky{width:100%;font:inherit;text-transform:uppercase;letter-spacing:.05em;color:#fff;cursor:pointer;border:3px solid #1f2937;border-radius:6px;padding:10px 16px;font-weight:800;transition:transform 60ms,box-shadow 60ms;display:block;box-shadow:0 5px #1f2937}.session-chunky:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #1f2937}.session-chunky:disabled{cursor:default;opacity:.7}.session-chunky.is-go{text-shadow:0 2px #15803d;background:linear-gradient(#4ade80 0%,#22c55e 55%,#16a34a 100%)}.session-start .session-chunky.is-go{padding:18px 16px;font-size:22px}.session-chunky.is-go:hover:not(:disabled){filter:brightness(1.06)}.session-chunky.is-grey{color:#1f2937;background:#e5e7eb}.session-chunky.is-dark{color:#1f2937;background:#fbbf24}.session-partner{color:#374151;justify-content:center;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.session-dot{background:#9ca3af;border:2px solid #1f2937;border-radius:50%;width:10px;height:10px}.session-dot.is-online{background:#22c55e}.session-solo{color:#6b7280;justify-self:center;font-size:12px;text-decoration:none}.session-solo:hover{color:#1f2937;text-decoration:underline}.session-alert{color:#f9fafb;background:#1f2937;border:3px solid #1f2937;border-radius:6px;animation:.4s session-shake;overflow:hidden}.session-alert-tape{background:repeating-linear-gradient(-45deg,#fbbf24 0 12px,#1f2937 12px 24px);height:12px}.session-alert-tape.is-calm{background:repeating-linear-gradient(-45deg,#22c55e 0 12px,#1f2937 12px 24px)}.session-alert-body{gap:8px;padding:12px 14px 14px;display:grid}.session-alert-body strong{color:#fca5a5;text-transform:uppercase;letter-spacing:.04em;font-size:17px}.session-alert-body p{margin:0 0 4px;line-height:1.45}.session-waiting{text-align:center;gap:10px;display:grid}.session-waiting p{margin:0;font-size:17px}.session-waiting small{color:#6b7280}.session-waiting-fuse{background:#e5e7eb;border:2px solid #1f2937;border-radius:5px;height:10px;overflow:hidden}.session-waiting-fuse span{background:linear-gradient(90deg,#f59e0b,#ef4444);width:30%;height:100%;animation:1.4s ease-in-out infinite alternate session-fuse;display:block}.session-dots span{animation:1.2s infinite session-dot}.session-dots span:nth-child(2){animation-delay:.2s}.session-dots span:nth-child(3){animation-delay:.4s}.session-flash{z-index:40;color:#fff;text-transform:uppercase;letter-spacing:.05em;text-shadow:0 2px #15803d;background:#22c55e;border:3px solid #1f2937;border-radius:6px;padding:10px 18px;font-weight:800;animation:.3s cubic-bezier(.2,1.6,.4,1) session-drop;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 5px #1f2937}.invite-card{z-index:50;color:#1f2937;background:#fffdf6;border:3px solid #1f2937;border-radius:6px;width:min(340px,100% - 32px);font-size:14px;animation:.3s cubic-bezier(.2,1.6,.4,1) session-drop;position:fixed;top:16px;right:16px;overflow:hidden;box-shadow:0 8px #1f2937,0 18px 30px #15335c4d}.invite-card-body{gap:10px;padding:12px 14px 16px;display:grid}.invite-card-body strong{font-size:16px}.invite-card-body p{margin:0;line-height:1.45}.invite-card-body small{color:#6b7280}.invite-card-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}@keyframes session-pop{0%{opacity:0;transform:translate(-50%)scale(.85)}}@keyframes session-drop{0%{opacity:0;translate:0 -24px}}@keyframes session-shake{20%,60%{translate:-5px}40%,80%{translate:5px}}@keyframes session-fuse{0%{margin-left:0}to{margin-left:70%}}@keyframes session-dot{0%,to{opacity:.2}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.session-start,.session-alert,.session-flash,.invite-card,.session-waiting-fuse span,.session-dots span{animation:none}}.session-ready{z-index:4;pointer-events:none;justify-items:center;max-width:calc(100% - 32px);display:grid;position:fixed;bottom:12vh;left:50%;transform:translate(-50%)}.session-ready-button{pointer-events:auto;aspect-ratio:17/11;cursor:pointer;background:0 0;border:0;width:min(340px,80vw);padding:0;animation:.3s ease-out both session-ready-in;display:block}.session-ready-button:disabled{cursor:default}.session-ready-button:focus-visible{outline-offset:4px;border-radius:24px;outline:3px solid #2fbf68}.session-ready-canvas{pointer-events:none}.session-ready-wait{color:#e6e9ef;text-align:center;background:#0d0f13bf;border-radius:10px;margin:0;padding:10px 18px;font-size:16px}@keyframes session-ready-in{0%{opacity:0;transform:scale(.85)}}.ready-check{text-align:center;justify-items:center;gap:8px;display:grid}.ready-check .session-ready-button{width:min(240px,100%)}.ready-check .session-ready-button:disabled:not([aria-pressed=true]){opacity:.55;filter:grayscale(.6)}.ready-check-players{justify-content:center;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ready-check-players li{background:#e5e7eb;border:2px solid #1f2937;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-weight:700;display:flex}.ready-check-players li.is-ready{color:#fff;text-shadow:0 1px #15803d;background:#22c55e}.ready-check-mark{font-weight:900}.ready-check small{color:#6b7280}.session-end-backdrop{z-index:20;animation:.35s ease-out both session-end-in}.session-end-backdrop.is-lost{background:linear-gradient(160deg,#ffffff24 0 30%,#0000 30%),linear-gradient(32deg,#3c000047 0 22%,#0000 22%),linear-gradient(110deg,#f0524a 0 45%,#d93a35 45% 75%,#b8282a 75%)}.session-end-backdrop.is-won{background:linear-gradient(160deg,#ffffff24 0 30%,#0000 30%),linear-gradient(110deg,#6ed678d9 0 45%,#48b85cd9 45% 75%,#309648d9 75%)}.session-end-backdrop.is-abandoned{background:linear-gradient(160deg,#ffffff24 0 30%,#0000 30%),linear-gradient(110deg,#8a93a8 0 45%,#737c93 45% 75%,#5d657b 75%)}.session-end .welcome-banner-title{font-size:34px}.session-end-backdrop.is-lost .session-end-banner{background:linear-gradient(160deg,#ffffff73 0 20%,#0000 20%),linear-gradient(32deg,#5a000040 0 26%,#0000 26%),linear-gradient(115deg,#ff8a5c 0 44%,#f2563a 44% 70%,#d63a2a 70%)}.session-end-backdrop.is-lost .session-end-banner .welcome-banner-subtitle{color:#fff;text-shadow:0 2px #1b1030}.session-end-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.session-end-actions button{flex:140px;padding:10px 16px;font-size:15px}@keyframes session-end-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.session-end-backdrop{animation:none}}.title-page{position:fixed;inset:0;overflow:hidden}.title-bg{background:radial-gradient(circle at 50% 38%,#ffcf6b 0%,#ff8a3d 18%,#d9467a 42%,#5b2a9e 70%,#1c0d40 100%);position:absolute;inset:0;overflow:hidden}.title-rays{background:repeating-conic-gradient(#ffffff21 0deg 9deg,#fff0 9deg 18deg);width:260vmax;height:260vmax;animation:90s linear infinite title-rays-spin;position:absolute;top:38%;left:50%;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle,#000 0%,#0009 20%,#0000 45%);mask-image:radial-gradient(circle,#000 0%,#0009 20%,#0000 45%)}@keyframes title-rays-spin{to{rotate:360deg}}.title-canvas{inset:0;position:absolute!important}.title-ui{pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:absolute;top:64%;left:0;right:0}.play-button{pointer-events:auto;text-transform:uppercase;letter-spacing:.08em;color:#fff;text-shadow:0 3px #2f6b12,0 0 2px #2f6b12;cursor:pointer;background:linear-gradient(#b8f05a 0%,#7ed321 48%,#5aa816 52%,#4c9a10 100%);border:4px solid #1b1030;border-radius:22px;padding:.55em 2.2em .6em;font:600 clamp(28px,5vmin,44px)/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:filter .12s;animation:.6s cubic-bezier(.2,1.6,.4,1) 1.4s both play-in,1.6s ease-in-out 2s infinite play-pulse;box-shadow:inset 0 4px #ffffff8c,inset 0 -6px #0000002e,0 8px #1b1030,0 14px 24px #14002873}.play-button:hover{filter:brightness(1.08)}.play-button:active,.play-button:disabled{animation:none;transform:translateY(6px)scale(.97);box-shadow:inset 0 4px #ffffff8c,inset 0 -6px #0000002e,0 2px #1b1030,0 6px 12px #14002873}.play-button:disabled{cursor:default}.play-button:focus-visible{outline-offset:6px;outline:4px solid #ffd23f}@keyframes play-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes play-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.title-rays{animation:none}.play-button{animation:1ms 1.4s both play-in}}.cloud-overlay{z-index:1000;pointer-events:auto;position:fixed;inset:0;overflow:hidden}.cloud-overlay[data-phase=idle]{display:none}.cloud-fill{opacity:1;background:radial-gradient(circle at 50% 45%,#fff 0%,#eef4fb 60%,#dbe7f5 100%);position:absolute;inset:0}.cloud{width:var(--w);height:calc(var(--w) * .62);will-change:transform;position:absolute;translate:-50% -50%}.puff{aspect-ratio:1;background:radial-gradient(circle at 38% 30%,#fff 0 42%,#f1f6fc 64%,#cfdcee 100%);border-radius:50%;position:absolute}.puff-1{width:42%;top:34%;left:0%}.puff-2{width:50%;top:2%;left:18%}.puff-3{width:46%;top:12%;left:46%}.puff-4{width:38%;top:38%;left:62%}.puff-5{width:48%;top:36%;left:26%}.cloud-overlay[data-phase=in] .cloud{animation:cloud-in .52s cubic-bezier(.15, .75, .3, 1.05) var(--din) both}.cloud-overlay[data-phase=in] .cloud-fill{animation:.65s linear both cloud-fill-in}.cloud-overlay[data-phase=out] .cloud{animation:cloud-out .76s cubic-bezier(.55, 0, .8, .4) var(--dout) both}.cloud-overlay[data-phase=out] .cloud-fill{animation:.26s ease-out both cloud-fill-out}@keyframes cloud-in{0%{transform:translate(calc(var(--ox) * 1vmax), calc(var(--oy) * 1vmax)) scale(.75)}to{transform:none}}@keyframes cloud-out{0%{transform:none}to{transform:translate(calc(var(--ox) * 1.1vmax), calc(var(--oy) * 1.1vmax)) scale(1.25)}}@keyframes cloud-fill-in{0%,60%{opacity:0}to{opacity:1}}@keyframes cloud-fill-out{0%{opacity:1}to{opacity:0}}
