:root{color-scheme:dark;--red:#ed2028;--text:#c64a4a;--muted:#913b3b;--faint:#4e1616;--white:#d7d7d7}
*{box-sizing:border-box}
html{min-height:100%;background:#000;scrollbar-color:#54272e #000}
body{margin:0;background:#000;color:var(--text);font:16px/1.4 'Courier New',monospace;overflow:hidden;cursor:none}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:none}
a{color:var(--white);text-decoration-thickness:1px;text-underline-offset:5px;cursor:none}
a:hover{color:#ff5864}
button:focus-visible,a:focus-visible{outline:1px solid var(--red);outline-offset:6px}
button:active{transform:translateY(1px)}
[hidden]{display:none!important}
.filter-definitions{position:absolute;pointer-events:none}
.cursor{position:fixed;left:0;top:0;width:5px;height:5px;border-radius:50%;background:#f21d31;box-shadow:0 0 7px #e1172b;pointer-events:none;z-index:30;opacity:0;transform:translate(-20px,-20px)}
#entryGate{position:fixed;inset:0;width:100%;height:100%;background:#000;z-index:20;display:grid;place-items:center;cursor:none}
#entryGate.gone{opacity:0;pointer-events:none;transition:opacity 1.1s ease}
.entry-shell{display:grid;place-items:center;gap:clamp(10px,2.2vh,24px);width:min(92vw,820px)}
#entryEye{display:block;width:min(88vw,760px);height:min(62vh,560px);background:#000;outline:none}
#entryGate .enter-btn{font:300 clamp(14px,2vw,22px)/1 'Courier New',monospace;color:#4d0808;background:none;border:none;letter-spacing:6px;text-transform:lowercase;text-indent:9px;padding:12px 32px;position:relative;user-select:none;transition:color .4s,text-shadow .4s;animation:enter-pulse 3s ease-in-out infinite}
#entryGate .enter-btn:hover,#entryGate .enter-btn:focus-visible{color:#a82c39;text-shadow:0 0 8px #78000066,0 0 20px #50000033}
@keyframes enter-pulse{0%,100%{opacity:.4}50%{opacity:.7}}
body.entered{overflow:auto}
main{max-width:764px;margin:0 auto;padding:48px 32px 25px;position:relative}
#inside:focus{outline:none}
.small-controls{position:absolute;top:25px;left:32px;right:32px;display:flex;justify-content:space-between;gap:24px;font-size:10px;letter-spacing:.3px}
.small-controls button{padding:8px 0;min-height:32px;border:0;background:none;color:var(--muted);transition:color .2s ease}
.small-controls button:hover{color:var(--red)}
.character{margin:32px auto;width:190px;max-width:100%;line-height:0}
.character video,.character>img{display:block;width:100%;height:auto;aspect-ratio:476/720;object-fit:contain;background:#000}
h1{font-size:32px;line-height:1.4;font-weight:700;letter-spacing:0;margin:0;color:var(--red)}
.name-period{color:#92202e}
p{margin:0}
.intro{color:var(--white);font-size:14px}
.bio{margin-top:19px}
.github{display:flex;width:fit-content;align-items:center;gap:10px;min-height:44px;margin-top:5px;font-size:16px;font-weight:bold;text-decoration:none}
.github span:first-of-type{text-decoration:underline;text-underline-offset:5px}
.github svg{width:17px;height:17px;flex:none}
.github span:last-child{font-size:17px;margin-left:3px}
section{margin-top:29px}
h2{margin:0 0 13px;color:var(--red);font-size:13px;font-weight:normal}
h2::before{content:'> ';color:var(--muted)}
.projects{margin:0;padding-left:17px;border-left:1px solid #3c151c}
.projects>div{margin-top:13px}
.projects>div:first-child{margin-top:0}
dt{font-size:14px;color:var(--white)}
dd{margin:2px 0 0;font-size:14px;line-height:1.6;color:var(--text)}
.hidden-matrix{display:block;width:calc(64ch + 1px);max-width:100%;overflow:hidden;white-space:nowrap;color:var(--text);user-select:none}
.hidden-matrix-title{width:calc(16ch + 1px);color:var(--white);--matrix-head:#fff;--matrix-trail-1:#f0f0f0;--matrix-trail-2:#e4e4e4;--matrix-trail-3:var(--white);--matrix-glow:#ffffff50}
.matrix-glyphs{display:flex;flex-wrap:wrap}
.matrix-glyphs>span{flex:0 0 1ch}
.matrix-glyphs .matrix-head{color:var(--matrix-head,var(--red));text-shadow:0 0 5px var(--matrix-glow,#ed202880)}
.matrix-glyphs .matrix-trail-1{color:var(--matrix-trail-1,#e33a3c)}
.matrix-glyphs .matrix-trail-2{color:var(--matrix-trail-2,#d74243)}
.matrix-glyphs .matrix-trail-3{color:var(--matrix-trail-3,var(--text))}
.now{margin-top:27px}
.now h2{margin-bottom:8px}
.now p{font-size:14px;color:var(--text)}
footer{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:35px;color:var(--muted);font-size:9px;letter-spacing:.4px}
footer img{opacity:.8;filter:url(#red-flag)}
@media(max-width:600px){main{padding:48px 32px 25px}.character{width:190px}h1{font-size:32px}.github{font-size:14px}.desktop-break{display:none}.bio{font-size:14px}.intro{font-size:14px}.projects{padding-left:13px}section{margin-top:25px}}
@media(pointer:coarse){body,button,a{cursor:auto}.cursor{display:none}.small-controls button{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
