@font-face{font-family:Neatpixels Standard;src:url(/play/assets/neatpixels-standard-BRJrvutp.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neatpixels Minimal;src:url(/play/assets/NeatpixelsMinimal-Cv3PoVmH.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neatpixels Boss;src:url(/play/assets/neatpixels-boss-CVyaGq-z.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neatpixels Blocks;src:url(/play/assets/neatpixels-blocks-DYJbHMoB.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--dq-bg-deep:#0d0d1a;--dq-bg-panel:#1a1a2e;--dq-bg-panel-alt:#16213e;--dq-border:#e2c044;--dq-border-dim:#8a7530;--dq-border-inner:#3a3a5c;--dq-text:#e8e8e8;--dq-text-dim:#9a9ab0;--dq-text-accent:#e2c044;--dq-text-npc:#7ec8e3;--dq-text-player:#a8e6a3;--dq-text-narrator:#d4a5e5;--dq-text-error:#e57373;--dq-text-success:#81c784;--dq-btn-bg:#2a2a4a;--dq-btn-bg-hover:#3a3a6a;--dq-btn-bg-active:#1a1a3a;--dq-btn-border:#e2c044;--dq-xp-bar:#4fc3f7;--dq-hp-bar:#66bb6a;--dq-shadow:#00000080;--dq-font-body:"Neatpixels Standard","Courier New",monospace;--dq-font-heading:"Neatpixels Boss","Courier New",monospace;--dq-font-ui:"Neatpixels Minimal","Courier New",monospace;--dq-font-display:"Neatpixels Blocks","Courier New",monospace;--dq-space-xs:4px;--dq-space-sm:8px;--dq-space-md:12px;--dq-space-lg:16px;--dq-space-xl:24px;--dq-panel-radius:2px;--dq-panel-border-width:3px}*{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.dq-panel{background:var(--dq-bg-panel);border:var(--dq-panel-border-width)solid var(--dq-border);border-radius:var(--dq-panel-radius);box-shadow:inset 0 0 0 1px var(--dq-border-inner),0 4px 12px var(--dq-shadow);padding:var(--dq-space-lg);color:var(--dq-text);font-family:var(--dq-font-body);font-size:16px;line-height:1.6}.dq-panel--alt{background:var(--dq-bg-panel-alt)}.dq-panel--compact{padding:var(--dq-space-sm)var(--dq-space-md)}.dq-btn{align-items:center;gap:var(--dq-space-sm);padding:var(--dq-space-sm)var(--dq-space-lg);background:var(--dq-btn-bg);border:2px solid var(--dq-btn-border);border-radius:var(--dq-panel-radius);color:var(--dq-text);font-family:var(--dq-font-ui);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:14px;transition:background .1s,transform 50ms;display:inline-flex}.dq-btn:hover:not(:disabled){background:var(--dq-btn-bg-hover)}.dq-btn:active:not(:disabled){background:var(--dq-btn-bg-active);transform:translateY(1px)}.dq-btn:disabled{opacity:.4;cursor:not-allowed}.dq-btn--primary{background:var(--dq-border);color:var(--dq-bg-deep);border-color:var(--dq-border);font-weight:700}.dq-btn--primary:hover:not(:disabled){background:#f0d060}.dq-btn--small{padding:var(--dq-space-xs)var(--dq-space-sm);font-size:12px}.dq-btn--choice{text-align:left;width:100%;padding:var(--dq-space-md)var(--dq-space-lg);border-left-width:4px;font-size:15px;display:block}.dq-btn--choice:hover:not(:disabled){border-left-color:#f0d060}.dq-dialogue{background:var(--dq-bg-panel);border:var(--dq-panel-border-width)solid var(--dq-border);border-radius:var(--dq-panel-radius);box-shadow:inset 0 0 0 1px var(--dq-border-inner),0 4px 12px var(--dq-shadow);padding:var(--dq-space-lg);min-height:80px;position:relative}.dq-dialogue__speaker{top:calc(-1*var(--dq-space-md) - 2px);left:var(--dq-space-lg);background:var(--dq-bg-panel);border:2px solid var(--dq-border);border-radius:var(--dq-panel-radius);padding:2px var(--dq-space-sm);font-family:var(--dq-font-heading);color:var(--dq-text-accent);font-size:13px;position:absolute}.dq-dialogue__text{font-family:var(--dq-font-body);color:var(--dq-text);font-size:16px;line-height:1.6}.dq-dialogue__text--npc{color:var(--dq-text-npc)}.dq-dialogue__text--player{color:var(--dq-text-player)}.dq-dialogue__text--narrator{color:var(--dq-text-narrator);font-style:italic}.dq-heading{font-family:var(--dq-font-heading);color:var(--dq-text-accent);margin:0;line-height:1.3}.dq-heading--lg{font-size:28px}.dq-heading--md{font-size:20px}.dq-heading--sm{font-size:16px}.dq-label{font-family:var(--dq-font-ui);color:var(--dq-text-dim);text-transform:uppercase;letter-spacing:1px;font-size:12px}.dq-bar{background:var(--dq-bg-deep);border:1px solid var(--dq-border-dim);border-radius:1px;height:8px;overflow:hidden}.dq-bar__fill{background:var(--dq-xp-bar);height:100%;transition:width .4s}.dq-bar__fill--hp{background:var(--dq-hp-bar)}.dq-feedback{border-left:4px solid var(--dq-text-accent);padding:var(--dq-space-md)var(--dq-space-lg);font-family:var(--dq-font-body);background:#e2c0440f}.dq-feedback--success{border-left-color:var(--dq-text-success);background:#81c7840f}.dq-feedback--error{border-left-color:var(--dq-text-error);background:#e573730f}.dq-puzzle{border:2px dashed var(--dq-border-dim);border-radius:var(--dq-panel-radius);padding:var(--dq-space-lg);background:#1a1a2e99}.dq-journal-entry{padding:var(--dq-space-md);border:1px solid var(--dq-border-inner);border-radius:var(--dq-panel-radius);background:var(--dq-bg-panel-alt)}.dq-divider{border:none;border-top:1px solid var(--dq-border-inner);margin:var(--dq-space-lg)0}.dq-stack{flex-direction:column;display:flex}.dq-stack--xs>*+*{margin-top:var(--dq-space-xs)}.dq-stack--sm>*+*{margin-top:var(--dq-space-sm)}.dq-stack--md>*+*{margin-top:var(--dq-space-md)}.dq-stack--lg>*+*{margin-top:var(--dq-space-lg)}.dq-row{align-items:center;gap:var(--dq-space-md);display:flex}.dq-row--between{justify-content:space-between}.dq-scroll::-webkit-scrollbar{width:8px}.dq-scroll::-webkit-scrollbar-track{background:var(--dq-bg-deep)}.dq-scroll::-webkit-scrollbar-thumb{background:var(--dq-border-dim);border:1px solid var(--dq-bg-deep)}.dq-world-container{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.dq-world-hint{margin-top:var(--dq-space-sm);text-align:center}.dq-portal-blocked{color:#ff6b6b;text-align:center;z-index:100;pointer-events:none;background:#000000d9;border:2px solid #ff6b6b;border-radius:4px;padding:8px 20px;font-size:14px;animation:2.5s ease-out forwards dq-blocked-fade;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}@keyframes dq-blocked-fade{0%{opacity:0;transform:translate(-50%)translateY(10px)}15%{opacity:1;transform:translate(-50%)translateY(0)}75%{opacity:1}to{opacity:0}}.dq-overlay{padding:var(--dq-space-lg);z-index:50;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.dq-overlay__content{background:var(--dq-bg-panel);border:var(--dq-panel-border-width)solid var(--dq-border);border-radius:var(--dq-panel-radius);width:100%;max-width:720px;max-height:70%;box-shadow:inset 0 0 0 1px var(--dq-border-inner),0 8px 32px #0009;padding:var(--dq-space-lg);color:var(--dq-text);font-family:var(--dq-font-body);overflow-y:auto}.dq-shell{background:var(--dq-bg-deep);width:100vw;height:100vh;color:var(--dq-text);font-family:var(--dq-font-body);flex-direction:column;display:flex;overflow:hidden}.dq-shell__header{align-items:center;gap:var(--dq-space-md);padding:var(--dq-space-sm)var(--dq-space-lg);background:var(--dq-bg-panel);border-bottom:2px solid var(--dq-border);flex-shrink:0;min-height:48px;display:flex}.dq-shell__body{flex:1;display:flex;overflow:hidden}.dq-shell__main{padding:var(--dq-space-lg);flex:1;overflow-y:auto}.dq-shell__sidebar{width:320px;padding:var(--dq-space-lg);border-left:2px solid var(--dq-border);background:var(--dq-bg-panel-alt);flex-shrink:0;overflow-y:auto}@media (max-width:768px){.dq-shell__sidebar{z-index:100;width:85vw;max-width:360px;box-shadow:-4px 0 20px var(--dq-shadow);position:fixed;top:48px;bottom:0;right:0}}@keyframes dq-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dq-animate-in{animation:.2s ease-out dq-fade-in}@keyframes dq-blink{0%,to{opacity:1}50%{opacity:0}}.dq-blink{animation:.8s step-end infinite dq-blink}.dq-circuit-builder{gap:var(--dq-space-md);flex-direction:column;display:flex}.dq-circuit-goal{font-family:var(--dq-font-body);color:var(--dq-text);padding:var(--dq-space-sm)var(--dq-space-md);border-left:3px solid var(--dq-text-accent);border-radius:var(--dq-panel-radius);background:#e2c04414;font-size:14px}.dq-circuit-palette{align-items:center;gap:var(--dq-space-sm);padding:var(--dq-space-sm);background:var(--dq-bg-panel-alt);border:1px solid var(--dq-border-inner);border-radius:var(--dq-panel-radius);flex-wrap:wrap;display:flex}.dq-circuit-gate-btn{background:var(--dq-btn-bg);border:2px solid var(--dq-border-dim);border-radius:var(--dq-panel-radius);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;transition:background .1s,border-color .1s,transform 50ms;display:flex}.dq-circuit-gate-btn:hover:not(:disabled){background:var(--dq-btn-bg-hover);transform:scale(1.1)}.dq-circuit-gate-btn--selected{background:var(--dq-btn-bg-active);border-width:3px;box-shadow:0 0 8px #e2c0444d}.dq-circuit-gate-btn:disabled{opacity:.4;cursor:not-allowed}.dq-circuit-gate-label{font-family:var(--dq-font-heading);font-size:16px;font-weight:700}.dq-circuit-svg{background:var(--dq-bg-deep);border:2px solid var(--dq-border-inner);border-radius:var(--dq-panel-radius)}.dq-circuit-qubit-label{font-family:var(--dq-font-ui);fill:var(--dq-text-dim);font-size:12px}.dq-circuit-wire{stroke:var(--dq-border-dim);stroke-width:2px}.dq-circuit-cell{fill:#0000;stroke:var(--dq-border-inner);stroke-width:.5px;stroke-dasharray:2 4;cursor:pointer}.dq-circuit-cell--hover{fill:#e2c04414}.dq-circuit-gate{stroke:#ffffff4d;stroke-width:1px;rx:4;filter:drop-shadow(0 2px 4px #0006)}.dq-circuit-gate--locked{stroke:var(--dq-text-dim);stroke-width:2px;stroke-dasharray:3 2;opacity:.8}.dq-circuit-gate-text{font-family:var(--dq-font-heading);fill:#fff;pointer-events:none;text-shadow:0 1px 2px #0009;font-size:14px}.dq-circuit-control-line{stroke-width:2px}.dq-circuit-control-dot{stroke:#ffffff4d;stroke-width:1px}@keyframes dq-circuit-success{0%{filter:brightness()}50%{filter:brightness(1.5)drop-shadow(0 0 12px #81c78499)}to{filter:brightness()}}@keyframes dq-circuit-fail{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.dq-circuit-svg--success{animation:.6s dq-circuit-success}.dq-circuit-svg--fail{animation:.4s dq-circuit-fail}.dq-title-screen{background:var(--dq-bg-deep);background-image:radial-gradient(at 30% 20%,#4fc3f70f 0%,#0000 50%),radial-gradient(at 70% 80%,#7e57c20f 0%,#0000 50%);flex:1;justify-content:center;align-items:center;min-height:100vh;display:flex}.dq-title-screen__content{align-items:center;gap:var(--dq-space-xl);padding:var(--dq-space-xl);flex-direction:column;display:flex}.dq-title-logo{text-align:center}.dq-title-logo .dq-heading{letter-spacing:4px;text-shadow:0 0 20px #e2c0444d,0 2px 4px #0009;font-size:48px}.dq-title-subtitle{margin-top:var(--dq-space-sm);font-family:var(--dq-font-ui);color:var(--dq-text-dim);letter-spacing:6px;text-transform:uppercase;font-size:16px;display:block}.dq-title-menu{align-items:stretch;min-width:200px}.dq-title-menu .dq-btn{padding:var(--dq-space-md)var(--dq-space-xl);justify-content:center;font-size:16px}.dq-title-footer{margin-top:var(--dq-space-xl);opacity:.5}@keyframes dq-title-pulse{0%,to{text-shadow:0 0 20px #e2c0444d,0 2px 4px #0009}50%{text-shadow:0 0 30px #e2c04480,0 2px 4px #0009}}.dq-title-logo .dq-heading{animation:3s ease-in-out infinite dq-title-pulse}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--dq-font-body);color:var(--dq-text);background:var(--dq-bg-deep);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}a{color:var(--dq-text-accent);text-decoration:none}a:hover{text-decoration:underline}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6'%3E%3Cpath d='M0 0l4 6 4-6z' fill='%23e2c044'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:24px!important}
