 /* @import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=VT323&display=swap'); */

:root {
--green: #eeffee;
--green-dim: #1a1a1a;
--green-glow: #00ff00;
--bg: #050a05;
--scanline: rgba(0,0,0,0.15);
--amber: #ffb000;
--white: #ffffff;
}

- { margin: 0; padding: 0; box-sizing: border-box; }

body {
/* background: linear-gradient(to top, #0000ff, #0000ff, #0000ee, #333333,#333333);
background-size: 100% 4px; */

/* background: #111; */
/* display: flex; */
align-items: center;
justify-content: center;
min-height: 100vh;
/* font-family: ‘VT323’, monospace; */
overflow: hidden;
}

.monitor { padding-top: 32px; max-width: 100%; width: 100%; }
.monitor-shell {
max-width: 100%;
width: 100%;
background: linear-gradient(160deg, #2a2a2a 0%, #1a1a1a 40%, #0d0d0d 100%);
border-radius: 28px 28px 40px 40px;
padding: 30px 30px 50px;
box-shadow:
0 0 0 3px #3a3a3a,
0 0 0 5px #1a1a1a,
0 40px 80px rgba(0,0,0,0.9),
inset 0 2px 4px rgba(255,255,255,0.08);
position: relative;
}

.monitor-label {
position: absolute;
bottom: 16px;
left: 50%;
transform: translateX(-50%);
color: #555;
font-family: ‘Share Tech Mono’, monospace;
font-size: 11px;
letter-spacing: 4px;
text-transform: uppercase;
white-space: nowrap;
}

.monitor-knobs {
position: absolute;
bottom: 18px;
right: 40px;
display: flex;
gap: 12px;
}

.knob {
width: 14px;
height: 14px;
border-radius: 50%;
background: radial-gradient(circle at 35% 35%, #555, #222);
border: 1px solid #444;
box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.screen-bezel {
background: #0a0a0a;
border-radius: 8px;
padding: 20px;
border: 2px solid #222;
box-shadow:
inset 0 0 30px rgba(0,0,0,0.8),
inset 0 0 2px rgba(51,255,51,0.05);
position: relative;
overflow: hidden;
}

/* CRT curvature effect */
.screen-bezel::before {
content: ‘’;
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 50%, transparent 60%, rgba(0,0,0,0.6) 100%);
pointer-events: none;
z-index: 10;
border-radius: 6px;
}

/* Scanlines */
.screen-bezel::after {
content: ‘’;
position: absolute;
inset: 0;
background: repeating-linear-gradient(
0deg,
var(--scanline) 0px,
var(--scanline) 1px,
transparent 1px,
transparent 3px
);
pointer-events: none;
z-index: 11;
border-radius: 6px;
}

.screen {
background: var(--bg);
border-radius: 4px;
padding: 16px;
min-height: 480px;
max-height: 480px;
overflow: hidden;
position: relative;
}

/* Phosphor glow overlay */
.screen::before {
content: ‘’;
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 30%, rgba(51,255,51,0.04) 0%, transparent 70%);
pointer-events: none;
z-index: 5;
}

#output {
font-family: ‘VT323’, monospace;
font-size: 22px;
line-height: 1.35;
color: var(--green);
text-shadow: 0 0 6px var(--green-glow), 0 0 12px rgba(51,255,51,0.3);
white-space: pre-wrap;
word-break: break-all;
/* min-height: 400px; */
position: relative;
z-index: 2;
}

.input-row {
/* display: flex; */
align-items: center;
margin-top: 4px;
position: relative;
z-index: 2;
}

.prompt {
font-family: ‘VT323’, monospace;
font-size: 22px;
color: var(--green);
text-shadow: 0 0 6px var(--green-glow);
white-space: nowrap;
margin-right: 4px;
}

#input {
box-shadow: none;
padding-left: 0;
background: transparent;
border: none;
outline: none;
font-family: ‘VT323’, monospace;
font-size: 22px;
color: var(--green);
text-shadow: 0 0 6px var(--green-glow);
caret-color: transparent;
width: 100%;
letter-spacing: 0.5px;
}

.cursor {
margin-top: -80px;
/* margin-left: 20px; */
background-color: #fff;
display: inline-block;
width: 11px;
height: 20px;
background: var(--green);
box-shadow: 0 0 8px var(--green-glow);
vertical-align: middle;
animation: blink 1s step-end infinite;
position: relative;
z-index: 2;
}

@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}

.line-ok { color: var(--green); }
.line-err { color: #ff4444; text-shadow: 0 0 6px rgba(255,68,68,0.6); }
.line-sys { color: var(--white); text-shadow: 0 0 6px rgba(255,176,0,0.5); }
.line-result { color: #88ffff; text-shadow: 0 0 6px rgba(136,255,255,0.4); }
.line-list { color: #ccffcc; text-shadow: 0 0 4px rgba(51,255,51,0.3); }

@keyframes flicker {
0%,100% { opacity: 1; }
92% { opacity: 1; }
93% { opacity: 0.85; }
94% { opacity: 1; }
98% { opacity: 0.9; }
99% { opacity: 1; }
}

.screen {
animation: flicker 8s infinite;
}

@keyframes powerOn {
0% { transform: scaleY(0.01) scaleX(0.8); opacity: 0; filter: brightness(3); }
15% { transform: scaleY(0.01) scaleX(1); opacity: 1; }
30% { transform: scaleY(1) scaleX(1); filter: brightness(2); }
100% { transform: scaleY(1) scaleX(1); filter: brightness(1); }
}

.screen-bezel {
animation: powerOn 0.8s ease-out forwards;
}