@font-face{font-family:MalakyGalactic;src:url('fonts/MalakyGalactic.ttf') format('truetype');font-display:swap}
@font-face{font-family:GalacticSyllabics;src:url('fonts/GalacticSyllabics.ttf') format('truetype');font-display:swap}
.terminal-window{--phosphor:#b9efc5;--dim:#779c8c;width:min(1010px,calc(100vw - 36px));max-width:none;height:min(760px,calc(100svh - 36px));max-height:none;padding:0;border:0;border-radius:12px;background:#353844;color:var(--phosphor);box-shadow:0 0 0 3px #171c2a,0 0 0 7px #606271,0 25px 100px #000a;overflow:hidden;font:23px/1.3 'VT323',monospace;text-align:left}
.terminal-window::backdrop{background:#020719e8}
.terminal-window[open]{animation:terminal-arrive .3s ease-out}
.terminal-window [hidden]{display:none!important}
.terminal-case{height:100%;display:flex;flex-direction:column;padding:0 22px;background:linear-gradient(90deg,#515563 0 12px,#484c5a 12px 20px,#414553 20px calc(100% - 20px),#343846 calc(100% - 20px) calc(100% - 12px),#292e3c calc(100% - 12px));border:3px solid transparent}
/* Four-pixel steps on the casing only; keep the curved CRT glass unchanged. */
.terminal-window{border-radius:0;background:transparent;box-shadow:none;clip-path:polygon(12px 0,calc(100% - 12px) 0,calc(100% - 12px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 12px,100% 12px,100% calc(100% - 12px),calc(100% - 4px) calc(100% - 12px),calc(100% - 4px) calc(100% - 4px),calc(100% - 12px) calc(100% - 4px),calc(100% - 12px) 100%,12px 100%,12px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 12px),0 calc(100% - 12px),0 12px,4px 12px,4px 4px,12px 4px)}
.terminal-case::after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:url('terminal-art/border.svg') center/100% 100% no-repeat;image-rendering:pixelated}
.terminal-top{height:54px;flex:none;display:flex;align-items:center;justify-content:space-between;color:#d0d2df;font-size:19px;letter-spacing:1.2px}
#terminal-close{background:#282d3b;border:2px solid #74778a;color:#c8cbdc;font:30px/1 'VT323',monospace;width:32px;height:32px;padding:0;box-shadow:2px 2px #181c28}
.terminal-screen{position:relative;isolation:isolate;flex:1;min-height:0;display:flex;flex-direction:column;padding:24px 28px 15px;background:radial-gradient(ellipse at 45% 40%,#142b2b,#081416 90%);border:8px solid #1d242f;border-radius:28px;box-shadow:inset 0 0 36px #000,0 2px #8b8d96;text-shadow:0 0 8px #9dffc52b;overflow:hidden}
.terminal-screen::after{content:'';pointer-events:none;position:absolute;inset:0;z-index:3;border-radius:20px;background:repeating-linear-gradient(0deg,#0002 0 1px,transparent 1px 4px);box-shadow:inset 0 0 40px #0005}
.terminal-status{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #80bb9638;color:var(--dim);font-size:17px;letter-spacing:1px}
.terminal-status i,.terminal-bottom i{display:inline-block;width:7px;height:7px;background:#b9efc5;margin-right:8px;box-shadow:0 0 10px #a3ffb8}
.terminal-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;grid-template-rows:minmax(0,1fr);gap:28px;flex:1;min-height:0;padding-top:21px}
.terminal-feed{display:flex;flex-direction:column;min-height:0;min-width:0}
.terminal-heading{font-size:39px;line-height:.95;letter-spacing:2px;color:#c9f8d5;margin-bottom:22px}
.terminal-heading span{display:block;font-size:18px;letter-spacing:5px;margin-top:8px;color:var(--dim)}
#terminal-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#598276 #101e21;padding:0 14px 10px 0}
.terminal-line{margin:0 0 17px;overflow-wrap:anywhere}
.terminal-line b{font-weight:400;color:#e2f6d1}
.terminal-line.system{font-size:19px;color:var(--dim)}
.terminal-line.reply{color:#dbc28e}
.terminal-line.reply b{color:#dbc28e}
.terminal-line.alien{color:#dbb3fb}
.terminal-galactic{font-family:GalacticSyllabics,MalakyGalactic,'Segoe UI Symbol','Cambria Math',sans-serif;font-size:23px;line-height:1.7}
.terminal-contact{border-left:1px solid #80bb962c;padding-left:22px;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:17px;color:var(--dim);min-height:0;overflow-y:auto;scrollbar-width:none}
.terminal-portrait{width:156px;height:156px;max-width:100%;aspect-ratio:1;flex-shrink:0;position:relative;display:grid;place-items:center;background:#0b161a;border:2px solid #60766e;box-shadow:4px 4px #040e13;margin:5px 0 20px;overflow:hidden}
#terminal-avatar{width:100%;height:100%;image-rendering:pixelated;object-fit:contain}
.terminal-radar{width:95px;height:95px;border:1px solid #6d9b8066;border-radius:50%;background:linear-gradient(90deg,transparent 49%,#61857070 50%,transparent 51%),linear-gradient(0deg,transparent 49%,#61857070 50%,transparent 51%);box-shadow:0 0 0 16px #1e3b342b,inset 0 0 0 20px #1e3b343d}
.terminal-radar::after{content:'';display:block;width:8px;height:8px;background:#c1f1c8;box-shadow:0 0 12px #b9efc5;position:absolute;top:39%;left:58%;animation:terminal-signal 3s ease-in-out infinite}
.terminal-small{font-size:14px;letter-spacing:2px}
#terminal-caller{font-weight:400;color:#d6f4c8;font-size:27px;margin:5px 0 10px}
#terminal-origin{line-height:1.25;min-height:42px}
.terminal-signal{font-size:18px;letter-spacing:0;white-space:nowrap;color:#9acd9e;margin:12px 0}
#terminal-queue{font-size:14px;letter-spacing:1px}
.terminal-controls{flex:none;border-top:1px solid #80bb9638;padding-top:12px}
#terminal-options{display:flex;flex-wrap:wrap;gap:8px;min-height:37px;margin-bottom:10px}
.terminal-window button{cursor:url('pointers/pointer.png') 12 9,pointer;transition:background .15s,color .15s,transform .15s}
#terminal-options button{font:19px/1 'VT323',monospace;color:#b9efc5;border:1px solid #638474;background:#122a27;padding:8px 13px;box-shadow:2px 2px #0005}
#terminal-options button:hover{background:#b9efc5;color:#122a27;transform:translateY(-2px)}
#terminal-form{display:flex;align-items:center;gap:12px;min-width:0;background:#061113b3;border:1px solid #476158;padding:7px 12px}
#terminal-form label{color:#e5d39d;white-space:nowrap;font-size:21px}
#terminal-command{width:100%;min-width:0;border:0;border-radius:0;background:transparent;color:#daf8cf;font:22px/1.2 'VT323',monospace;outline:none;caret-color:#caffc9;padding:3px 0;cursor:text}
#terminal-command::placeholder{color:#6a8a7d}
#terminal-form:focus-within{border-color:#bfedc8}
#terminal-form button{font:25px/1 'VT323',monospace;color:#b9efc5;border:0;background:transparent;padding:0 4px}
#terminal-hint{margin:8px 0 0;min-height:21px;font-size:16px;line-height:1.2;color:#86a497}
.terminal-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;height:50px;flex:none;font-size:15px;color:#c0c0ce;letter-spacing:2px}
.terminal-vents{height:15px;width:120px;background:repeating-linear-gradient(90deg,#1f2531 0 4px,transparent 4px 9px)}
.terminal-window :focus-visible{outline:2px dashed #b9efc5;outline-offset:3px}
.terminal-window input:focus-visible{outline:none}
.terminal-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@keyframes terminal-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes terminal-signal{50%{opacity:.3}}
@media(max-height:800px) and (min-width:651px){.terminal-portrait{width:117px;height:117px;margin:0 0 12px}.terminal-contact{font-size:15px}#terminal-caller{font-size:23px;margin:5px 0}#terminal-origin{min-height:32px}.terminal-signal{margin:8px 0}}
@media(max-width:650px){.terminal-window{width:calc(100vw - 18px);height:calc(100svh - 22px);font-size:21px}.terminal-case{padding:0 9px}.terminal-top{height:44px;font-size:13px;letter-spacing:0}.terminal-screen{padding:15px 13px 12px;border-width:5px;border-radius:18px}.terminal-status{font-size:13px;letter-spacing:0}.terminal-grid{grid-template-columns:minmax(0,1fr) 84px;gap:12px;padding-top:16px}.terminal-contact{padding-left:9px;font-size:14px}.terminal-portrait{width:78px;height:78px;margin-bottom:12px}.terminal-radar{width:42px;height:42px}.terminal-heading{font-size:28px;letter-spacing:1px;margin-bottom:17px}.terminal-heading span{font-size:12px;letter-spacing:2px}.terminal-small{font-size:10px;letter-spacing:0}#terminal-caller{font-size:18px}.terminal-signal{font-size:14px;letter-spacing:0;margin:14px 0}#terminal-queue{font-size:11px;letter-spacing:0}#terminal-origin{font-size:13px}.terminal-line.system{font-size:17px}.terminal-galactic{font-size:19px}#terminal-options button{font-size:17px;padding:8px}#terminal-form{gap:7px;padding:6px 8px}#terminal-form label{font-size:17px}#terminal-command{font-size:19px}#terminal-hint{font-size:14px}.terminal-bottom{font-size:11px;letter-spacing:1px;height:40px}.terminal-vents{width:54px}#terminal-log{padding-right:5px}}
@media(max-height:700px){.terminal-portrait{width:78px;height:78px;margin:0 0 8px}.terminal-small,.terminal-signal{display:none}#terminal-caller{font-size:20px;margin:3px 0 7px}#terminal-origin{font-size:14px;min-height:0}#terminal-queue{font-size:12px;margin-top:8px}}
@media(max-height:700px){.terminal-heading{font-size:24px;line-height:1;margin-bottom:12px}.terminal-heading span{display:none}}
/* User-drawn casing overlays the glass, including its stepped inner corners. */
.terminal-window{clip-path:none;width:min(1010px,calc(100vw - 36px));height:min(760px,calc(100svh - 36px));aspect-ratio:auto}
.terminal-case{position:relative;padding:0;border:0;background:transparent}
.terminal-top,.terminal-bottom{position:absolute;left:4%;right:4%;height:9.41%;z-index:6}
.terminal-top{top:0}
.terminal-bottom{bottom:0}
.terminal-vents{visibility:hidden}
.terminal-screen{position:absolute;left:3.125%;right:3.125%;top:9.41%;bottom:9.41%;border:0;border-radius:0;box-shadow:inset 0 0 36px #000;padding:18px 24px 12px}
.terminal-screen::after{border-radius:0}
@media(max-width:650px){.terminal-window{width:calc(100vw - 18px);height:calc(100svh - 22px);aspect-ratio:auto}.terminal-screen{padding:14px 14px 12px}.terminal-top{font-size:12px}.terminal-bottom{font-size:11px}#terminal-close{width:27px;height:27px;font-size:25px}}
