#game-mount{min-height:360px;padding:28px;border-radius:24px;background:#f6f3fd;border:1px solid #cfbce6;color:#252033;position:relative}#game-mount:focus-visible{outline:3px solid #7540ba;outline-offset:5px}#game-mount.is-paused{opacity:.6}#game-mount button{font:inherit;font-weight:600;border:1px solid #aa90c7;border-radius:12px;background:#fff;color:#352345;min-height:44px;padding:10px 14px;cursor:pointer;overflow-wrap:anywhere}#game-mount button:focus-visible{outline:3px solid #7540ba;outline-offset:3px}#game-mount button:disabled{cursor:default;opacity:.65}#game-mount [aria-pressed=true]{background:#7540ba;color:#fff}#game-mount .ng-primary{background:#7540ba;color:#fff}#game-mount h3{font-size:24px;letter-spacing:-.03em;margin:0 0 16px}.ng-instruction{max-width:68ch;font-size:15px;line-height:1.65}.ng-status{font-size:15px;font-weight:600;min-height:2.5em;margin:20px 0 0}.ng-controls{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.ng-board{display:grid;grid-template-columns:repeat(var(--ng-columns,4),minmax(0,1fr));gap:7px;max-width:480px;margin:24px auto;padding:10px;border-radius:20px;background:#e4d5f4}.ng-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;border-radius:10px;background:#fff;color:#3b294f;font-size:13px;text-align:center;border:1px solid #c2aed7;white-space:pre-line;padding:3px}.ng-wall{background:#3a2e47;color:#fff;border-color:#3a2e47}.ng-goal{background:#f9e8aa;color:#302144;border:2px dashed #8a6518}.ng-beacon{background:#e6d9f8;color:#42266a;border:2px solid #7540ba}.ng-player{background:#7540ba;color:white;box-shadow:0 0 0 3px #fff inset;font-weight:800}.ng-crate{background:#e8ac66;color:#372311;font-weight:800}.ng-materials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.ng-recipe{background:#fff8e3;padding:20px;border-radius:16px;margin:20px 0;border:1px solid #d9bc7c}.ng-recipe summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.ng-memory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:640px;margin:24px auto}.ng-memory .ng-card{aspect-ratio:1;white-space:pre-line;min-width:0;font-size:15px;padding:6px!important;background:#d1edf0!important;color:#173b42!important}.ng-memory .ng-card.ng-matched{background:#def0df!important;color:#254a2b!important;border:2px solid #41754c!important}.ng-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-height:230px;padding:18px;background:linear-gradient(#c8e6fa,#f8fbff);border-radius:24px;margin:20px 0}.ng-lanes .ng-lane{white-space:pre-line;background:#fff8!important;color:#224b70!important;font-size:14px;line-height:2.7}.ng-lanes .ng-selected{border:3px solid #245ea6!important;box-shadow:0 6px 0 #245ea6;background:#fff!important}.ng-sequencer,.ng-target{display:grid;grid-template-columns:minmax(68px,1.2fr) repeat(8,minmax(24px,1fr));gap:6px;align-items:center;max-width:720px;margin:20px 0}.ng-sequencer .ng-step{min-height:42px;padding:2px!important;border-radius:8px!important;aspect-ratio:1;min-width:0;font-size:12px}.ng-sequencer .ng-active{outline:3px solid #b65e15}.ng-track-label{font-size:12px;font-weight:600;overflow-wrap:anywhere}.ng-target>span{aspect-ratio:1;border:1px solid #baa4cc;border-radius:5px;display:grid;place-items:center;background:#fff;font-size:12px}.ng-target .ng-on{background:#7540ba;color:#fff}.ng-rally label,.ng-memory-game label{display:flex;gap:12px;align-items:center;margin:18px 0;font-size:14px}.ng-rally input{width:22px;height:22px}.runtime-notice{position:fixed;z-index:90;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(90vw,640px);background:#252033;color:white;border-radius:16px;padding:14px 20px;font:14px/1.5 Inter,sans-serif;box-shadow:0 8px 35px #25203330}.runtime-notice:empty{display:none}.saved-shelf{margin:32px 0;padding:28px;background:#ece2f6;border-radius:24px}.saved-shelf ul{padding:0;list-style:none;display:grid;gap:16px}.saved-shelf li{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;border-bottom:1px solid #d1bddf;padding:12px 0}.saved-shelf small{display:block;width:100%}.saved-shelf span{font-size:14px}.nova-dialog{border:1px solid #c6b2d8;border-radius:24px;background:#f6f3fd;color:#252033;padding:32px;max-width:min(92vw,880px);max-height:88vh}.nova-dialog::backdrop{background:#252033bb}.nova-dialog>button{margin:16px 12px 0 0}.nova-dialog img{max-width:100%;max-height:60vh;object-fit:contain;display:block}.expanded-player{position:fixed!important;inset:16px;overflow:auto;z-index:80;background:#f6f3fd!important;padding:24px!important}.reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:600px){#game-mount{padding:16px;min-height:300px}.ng-board{gap:5px;padding:7px}.ng-cell{font-size:11px;border-radius:7px}.ng-materials{grid-template-columns:repeat(2,minmax(0,1fr))}.ng-memory{gap:7px}.ng-memory .ng-card{font-size:12px}.ng-lanes{padding:10px;gap:8px;min-height:200px}.ng-lanes .ng-lane{font-size:11px}.ng-sequencer,.ng-target{grid-template-columns:42px repeat(8,minmax(0,1fr));gap:3px}.ng-track-label{font-size:10px}.ng-sequencer .ng-step{min-height:30px;font-size:9px}.ng-target>span{font-size:9px}.ng-controls{gap:8px}.ng-controls button{flex:1 1 40%;font-size:12px!important}.saved-shelf{padding:20px}.expanded-player{inset:6px;padding:12px!important}}
.ng-target>.ng-track-label{aspect-ratio:auto;border:0;background:none;justify-content:start}.ng-neon label,.ng-tide label{display:flex;align-items:center;gap:12px;font-size:14px;margin:18px 0}.ng-neon input,.ng-tide input{width:22px;height:22px}.ng-workshop details{margin-top:24px}.ng-workshop summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
@media(max-width:600px){.ng-sequencer,.ng-target{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ng-track-label{grid-column:1/-1;aspect-ratio:auto!important;justify-self:start;font-size:12px;padding-top:12px}.ng-sequencer .ng-step{min-height:44px;min-width:44px;font-size:14px}.ng-target>span:not(.ng-track-label){aspect-ratio:auto;min-height:30px}.ng-lanes .ng-lane{line-height:1.8;min-height:150px}}
@media(forced-colors:active){#game-mount,.ng-cell,.ng-lanes,.ng-recipe,.saved-shelf{background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText}#game-mount button,.ng-memory .ng-card,.ng-lanes .ng-lane{background:ButtonFace!important;color:ButtonText!important;border:1px solid ButtonText!important}#game-mount [aria-pressed=true],.ng-player,.ng-crate,.ng-selected{outline:3px solid Highlight!important}.ng-wall{border:3px double CanvasText}.nova-dialog{background:Canvas;color:CanvasText}}
@media(prefers-reduced-motion:reduce){#game-mount *{animation:none!important;transition:none!important}}
