.matrix-portal{min-width:0}.matrix-portal>.construct{display:none!important}.cipher-lock{border:1px solid #80f4a94d;background:radial-gradient(ellipse at 50% 20%,#17412a66,transparent 65%),#08110ce8;padding:23px 28px;max-width:470px;margin:auto;position:relative;overflow:hidden}.cipher-top{display:flex;justify-content:space-between;gap:15px;font:9px/1.5 'Courier New',monospace;letter-spacing:.1em;color:#91b49b}.cipher-top i{display:inline-block;width:4px;height:4px;background:#80f4a9;margin-right:6px;border-radius:50%}.cipher-emblem{height:65px;display:flex;align-items:center;justify-content:center;position:relative;color:#80f4a9}.cipher-emblem>span{font:65px monospace;color:#80f4a93f}.cipher-emblem i{position:absolute;width:48px;height:48px;border:1px solid #80f4a94d;transform:rotate(45deg)}.cipher-emblem b{position:absolute;font:24px monospace}.cipher-lock>.eyebrow{font-size:9px;letter-spacing:.1em;margin:8px 0 12px}.cipher-lock h3{font-size:29px;line-height:1.12;letter-spacing:-.04em;margin:0 0 13px}.cipher-lock h3 em{font-style:normal;color:#80f4a9}.cipher-sub{font-size:12px;color:#91a898;margin:0 0 19px}#cipher-form>label{font:9px 'Courier New',monospace;letter-spacing:.12em;color:#8fb19a;display:block;margin-bottom:8px}#cipher-code{width:100%;height:54px;background:#030a06;border:1px solid #80f4a94f;color:#baffcf;text-align:center;font:27px 'Courier New',monospace;letter-spacing:.5em;padding-left:.5em;border-radius:0;outline-offset:3px}#cipher-code:focus{outline:1px solid #80f4a9}.cipher-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.cipher-keypad button{height:40px;background:linear-gradient(145deg,#193524,#0b1b11);border:1px solid #80f4a929;color:#d2e5d6;font:17px monospace;box-shadow:0 3px 0 #010703;transition:transform .12s,border-color .15s}.cipher-keypad button:active{transform:translateY(2px)}.cipher-keypad button:hover{border-color:#80f4a9}.cipher-keypad button:nth-last-child(3),.cipher-keypad button:last-child{color:#80b58f;font-size:14px}.cipher-submit{width:100%;margin-top:12px;padding:13px 17px;background:#80f4a9;color:#07150c;display:flex;justify-content:space-between;align-items:center;font:bold 11px 'Courier New',monospace;letter-spacing:.1em}.cipher-submit:hover{background:#b4ffcd}#cipher-message{font:11px/1.6 'Courier New',monospace;color:#8eaf98;min-height:35px;margin:13px 0 0}.cipher-lock.cipher-error #cipher-code{border-color:#e5a36e;color:#ffd0ab}.cipher-lock.cipher-unlocked{border-color:#80f4a9}.cipher-unlocked #cipher-state{color:#b7ffca}
.arcade-dialog{width:min(1050px,95vw);max-width:none;max-height:95svh;padding:0;background:#060e0a;border:1px solid #80f4a97d;color:#e2f2e5;box-shadow:0 0 100px #29ff7614;overflow:auto}.arcade-dialog::backdrop{background:#010604e8;backdrop-filter:blur(10px)}.arcade-header{display:flex;justify-content:space-between;align-items:center;padding:17px 23px;border-bottom:1px solid #80f4a92b;gap:15px}.arcade-header>div>span{font:9px 'Courier New',monospace;letter-spacing:.14em;color:#8ab89a}.arcade-header h2{font-size:26px;letter-spacing:.04em;margin:6px 0 0;font-weight:400}.arcade-header button{padding:10px 13px;background:#10251a;color:#b5d9c1;border:1px solid #80f4a93c;font:11px monospace}.arcade-hud{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:13px 23px;font:10px monospace;color:#83b294}.arcade-hud b{color:#c2ffd3;font-size:15px;margin-left:8px}.arcade-field{position:relative;width:min(100%,800px);aspect-ratio:16/10;max-height:53svh;margin:0 auto;background:#030a06;overflow:hidden;border:1px solid #80f4a929}.arcade-field canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none;outline-offset:-3px}.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px;background:radial-gradient(ellipse,#06130add,#03100a88);pointer-events:none}.game-overlay[hidden]{display:none}.game-overlay>p:first-child{font:10px monospace;letter-spacing:.16em;color:#80f4a9}.game-overlay h3{font-size:clamp(28px,4vw,48px);letter-spacing:-.045em;margin:12px 0;color:#d6f9e1}.game-overlay>p:last-child{font:12px/1.7 'Courier New',monospace;color:#92b79f;max-width:420px}.game-callout{position:absolute;left:0;right:0;top:15px;text-align:center;color:#baffd0;font:13px monospace;pointer-events:none;text-shadow:0 0 15px #35ff80;transition:opacity .2s}.game-announcement{font:11px/1.5 monospace;text-align:center;color:#a2cbae;margin:12px 20px;min-height:17px}.arcade-actions{display:flex;justify-content:center;gap:8px;padding:0 20px;flex-wrap:wrap}.arcade-actions button{background:#10281a;border:1px solid #80f4a950;color:#c1ebce;padding:12px 17px;font:11px monospace}.arcade-actions button:first-child{background:#80f4a9;color:#041008}.arcade-help{font:11px/1.7 'Courier New',monospace;color:#a2bbaa;text-align:center;margin:15px 23px 5px}.arcade-note{font:9px/1.6 'Courier New',monospace;color:#648c73;text-align:center;margin:0 23px 18px}body.arcade-open{overflow:hidden}.arcade-dialog :focus-visible{outline:2px solid #80f4a9;outline-offset:3px}
body.code-storm .mini-rain>span{color:#a1ffc7;text-shadow:0 0 20px #80f4a98c}body.code-storm .world-effects #code-rain{opacity:.9}
@media(max-width:700px){.cipher-lock{padding:20px;max-width:none}.cipher-lock h3{font-size:28px}.cipher-keypad button{height:44px}.arcade-dialog{width:96vw;max-height:96svh}.arcade-header{padding:13px 14px}.arcade-header>div>span{font-size:7px;letter-spacing:.04em}.arcade-header h2{font-size:21px}.arcade-header button{font-size:10px;padding:10px}.arcade-hud{gap:8px;padding:12px 13px;font-size:8px}.arcade-hud b{font-size:13px;margin-left:3px}.arcade-field{max-height:none;min-height:180px}.game-overlay{padding:12px}.game-overlay h3{font-size:28px;margin:6px 0}.game-overlay>p:last-child{font-size:10px}.arcade-actions{padding:0 10px;gap:6px}.arcade-actions button{font-size:10px;padding:11px 9px}.arcade-help{font-size:10px;margin:13px 15px 6px}.arcade-note{font-size:8px;margin:0 15px 15px}.game-callout{font-size:11px}.game-announcement{font-size:10px}}

.game-overlay.serve-ready{inset:12px 15px auto;background:transparent;padding:0}.game-overlay.serve-ready h3{font-size:20px;margin:5px 0}.game-overlay.serve-ready>p:first-child{margin:0 0 4px}.game-overlay.serve-ready>p:last-child{font-size:10px;max-width:460px;margin:5px 0}
@media(max-width:700px){.game-overlay.serve-ready{inset:7px 10px auto}.game-overlay.serve-ready h3{font-size:14px}.game-overlay.serve-ready>p:first-child{font-size:8px}.game-overlay.serve-ready>p:last-child{font-size:9px;margin:2px 0}}

/* Size the arcade from the available screen height, including ultrawide displays. */
.arcade-dialog{width:min(96vw,calc(144svh - 280px));width:min(96vw,calc(144dvh - 280px));height:90svh;height:90dvh;max-height:90svh;max-height:90dvh;box-sizing:border-box;overflow:hidden}
.arcade-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto auto}
.arcade-dialog[open]>.arcade-header{position:relative;z-index:2}
.arcade-field{width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;box-sizing:border-box}
.arcade-header,.arcade-hud,.arcade-actions{min-width:0}
@media(max-height:600px){.arcade-dialog{width:min(96vw,160svh);width:min(96vw,160dvh)}}
@media(max-width:700px){.arcade-dialog{width:96vw}.arcade-help{font-size:9px;line-height:1.4;margin:8px 12px 4px}.arcade-note{font-size:8px;line-height:1.4;margin:0 12px 10px}.game-announcement{margin:8px 12px}}
@media(max-height:600px){.arcade-header{padding:7px 14px}.arcade-header>div>span{display:none}.arcade-header h2{font-size:20px;margin:0}.arcade-header button{padding:7px 10px}.arcade-hud{padding:7px 14px}.game-announcement{margin:5px 12px}.arcade-actions button{padding:8px 12px}.arcade-help{font-size:9px;line-height:1.3;margin:6px 12px}.arcade-note{display:none}}
