body {

margin:0;

height:100vh;

background:#111;

display:flex;

justify-content:center;

align-items:center;

overflow:hidden;

}



/* TV BODY */

.birthday-tv {

width:920px;

height:650px;

padding:12px;

background:#252525;

border-radius:30px;

box-shadow:

0 0 40px rgba(255,255,255,.15),

inset 0 0 20px black;

position:relative;

}



/* SCREEN */

.screen {

width:100%;

height:100%;

border-radius:20px;

overflow:hidden;

position:relative;

background:black;

}



/* VIDEO */

video {

width:100%;

height:100%;

object-fit:contain;

display:none;

}



/* OLD TV POWER LIGHT */


.power-light {

position:absolute;

right:35px;

bottom:20px;

width:10px;

height:10px;

border-radius:50%;

background:red;

box-shadow:0 0 10px red;

animation:blink 3s infinite;

z-index:20;

}



@keyframes blink {

50%{

opacity:.3;

}

}



/* OFF SCREEN MESSAGE */


.off-screen {

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%);

color:white;

font-family:"Courier New",monospace;

font-size:28px;

text-align:center;

text-shadow:

0 0 10px white;

}



/* SCANLINES */


.scanlines {

position:absolute;

inset:0;

background:

repeating-linear-gradient(

0deg,

rgba(255,255,255,.05),

rgba(255,255,255,.05) 1px,

transparent 1px,

transparent 4px

);

pointer-events:none;

}



/* BUTTONS */


.controls {

position:absolute;

bottom:20px;

left:0;

width:100%;

display:flex;

justify-content:center;

gap:20px;

z-index:100;

}



button {

background:#222;

color:white;

border:2px solid #555;

padding:10px 20px;

font-family:"Courier New",monospace;

cursor:pointer;

border-radius:8px;

}



button:hover {

background:#555;

transform:scale(1.05);

}

/* ---------- BIRTHDAY BANNER ---------- */

.birthday-banner {

    position:absolute;

    top:20px;

    left:50%;

    transform:translateX(-50%);

    width:400px;

    z-index:25;

}