:root{--green: #1aff80;--dim: #0f9950;--bg: #04130a}*{box-sizing:border-box;margin:0}body{background:#000;color:var(--green);font-family:VT323,monospace;overflow:hidden}.crt{position:relative;height:100vh;cursor:pointer;-webkit-user-select:none;user-select:none;background:radial-gradient(ellipse at center,#0a2a16 0%,var(--bg) 70%,#000 100%);text-shadow:0 0 4px var(--green),0 0 12px rgba(26,255,128,.4)}.crt:before,.crt:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:100}.crt:before{background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 2px,transparent 2px 4px)}.crt:after{background:linear-gradient(transparent,rgba(26,255,128,.06),transparent);height:20%;animation:roll 7s linear infinite}@keyframes roll{0%{transform:translateY(-100%)}to{transform:translateY(600%)}}.screen{height:calc(100% - 3rem);animation:boot .5s steps(6)}@keyframes boot{0%{opacity:0;filter:brightness(3)}50%{opacity:.6}to{opacity:1;filter:none}}.slide{height:100%;max-width:900px;margin:0 auto;padding:6vh 1.5rem;display:flex;flex-direction:column;justify-content:center;gap:1rem}h1{font-size:clamp(2.5rem,7vw,5rem);font-weight:400;letter-spacing:.05em;text-transform:uppercase}h2{font-size:clamp(1.4rem,3vw,2.2rem);font-weight:400;color:var(--dim)}h2:before{content:"> "}hr{border:0;border-top:2px solid var(--green);box-shadow:0 0 8px var(--green)}p{font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.3;white-space:pre-line}p:not(.ps):after{content:"█";animation:blink 1s steps(1) infinite;margin-left:.2em}@keyframes blink{50%{opacity:0}}.ps:before{content:"// "}.ps{font-size:clamp(1.1rem,2vw,1.5rem);color:var(--dim)}.slide img{max-height:40vh;max-width:100%;align-self:center;border:2px solid var(--green);filter:grayscale(1) sepia(1) hue-rotate(80deg) saturate(3) brightness(.9);box-shadow:0 0 20px #1aff804d}.slide video{max-height:50vh;max-width:100%;align-self:center;border:2px solid var(--green);box-shadow:0 0 20px #1aff804d}footer{position:absolute;bottom:0;left:0;right:0;height:3rem;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;font-size:1.4rem;border-top:2px solid var(--dim)}.finale{position:relative;height:100%;overflow:hidden}.finale h1{text-align:center;padding-top:2vh}.photo{position:absolute;max-width:35vw;max-height:40vh;padding:10px 10px 30px;background:#e8e4d4;box-shadow:0 10px 30px #000000b3;transform:rotate(var(--rot));animation:drop .6s cubic-bezier(.16,1,.3,1) both}@keyframes drop{0%{opacity:0;transform:scale(1.8) rotate(calc(var(--rot) * 3))}to{opacity:1;transform:scale(1) rotate(var(--rot))}}
