@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=JetBrains+Mono:wght@300;400;500;700&display=swap";:root{--bg: #000000;--bg-2: #0a0a0a;--fg: #ffffff;--fg-dim: #b8b8b8;--fg-muted: #6a6a6a;--accent: #ffffff;--accent-soft: rgba(255, 255, 255, .18);--grey: #2a2a2a}*{box-sizing:border-box;cursor:url('data:image/svg+xml;utf8,<svg width="15" height="22" xmlns="http://www.w3.org/2000/svg"><polygon points="1,1 1,16 4,12 7,20 10,19 7,11 14,11" fill="white" stroke="black" stroke-width="1" /></svg>'),auto}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:JetBrains Mono,monospace;font-size:14px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}@media (min-width: 1024px){body,body a,body button{cursor:none}}.font-pixel{font-family:"Press Start 2P",monospace;letter-spacing:.02em;line-height:1.2}.font-mono{font-family:JetBrains Mono,monospace}::selection{background:var(--accent);color:var(--bg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-2)}::-webkit-scrollbar-thumb{background:var(--grey)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.blink{animation:blink 1s steps(1) infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.pulse-dot{animation:pulse-dot 1.4s ease-in-out infinite}.scanlines:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(245,240,220,.025) 2px,rgba(245,240,220,.025) 3px);pointer-events:none;z-index:1}.vignette:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.55) 100%);pointer-events:none}.tilt-card{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .4s;transform-style:preserve-3d}.tilt-card:hover{transform:rotate(-.6deg) translateY(-3px)}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr!important;gap:32px!important}.hero-art{justify-content:flex-start!important}}.cursor-cross{position:fixed;width:22px;height:22px;pointer-events:none;z-index:9999;mix-blend-mode:difference;transform:translate(-50%,-50%);display:none}@media (min-width: 1024px){.cursor-cross{display:block}}.cursor-cross:before,.cursor-cross:after{content:"";position:absolute;background:var(--accent)}.cursor-cross:before{left:50%;top:0;width:1px;height:100%;transform:translate(-50%)}.cursor-cross:after{top:50%;left:0;height:1px;width:100%;transform:translateY(-50%)}.cursor-plus{position:fixed;font-family:JetBrains Mono,monospace;color:var(--accent);font-size:10px;pointer-events:none;z-index:9999;transform:translate(8px,8px);display:none;letter-spacing:0;opacity:.85}@media (min-width: 1024px){.cursor-plus{display:block}}.hero-name{text-shadow:0 0 0 var(--fg)}.heading-tag{font-family:JetBrains Mono,monospace;color:var(--accent);font-size:11px;letter-spacing:.15em}.proj-card{position:relative;background:var(--bg-2);border:1px solid var(--grey);transition:border-color .3s,box-shadow .3s,transform .4s cubic-bezier(.2,.8,.2,1);overflow:hidden}.proj-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 32px -8px var(--accent-soft);transform:rotate(-.4deg) translateY(-2px)}.timeline-dash{background-image:linear-gradient(to bottom,var(--accent) 50%,transparent 50%);background-size:1px 8px;background-repeat:repeat-y}.ascii-layer{font-family:JetBrains Mono,monospace;white-space:pre;-webkit-user-select:none;user-select:none;pointer-events:none}.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:translateY(0)}.social-link{transition:color .2s,text-shadow .2s;color:var(--fg)}.social-link:hover{color:var(--accent);text-shadow:0 0 12px var(--accent-soft)}.nav-link{color:var(--fg-dim);transition:color .2s}.nav-link:hover{color:var(--accent)}.nav-link.active{color:var(--fg)}.badge{font-size:10px;padding:2px 8px;letter-spacing:.1em;display:inline-flex;align-items:center;gap:6px;border:1px solid currentColor}.badge-live{color:var(--accent)}.badge-progress{color:#d4c66a}.badge-archived{color:var(--fg-muted)}.dot{width:6px;height:6px;background:currentColor;border-radius:50%;display:inline-block}.no-scroll{overflow:hidden}.container-x{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}@media (min-width: 768px){.container-x{padding-left:48px;padding-right:48px}}.hero-name{font-family:"Press Start 2P",monospace;color:var(--fg);font-size:clamp(56px,14vw,200px);line-height:.92;letter-spacing:-.01em;font-weight:400}.hero-name .name-line{display:block}.hero-name .name-line.tight{letter-spacing:-.02em}.section-h{font-family:"Press Start 2P",monospace;color:var(--fg);font-size:clamp(20px,3.4vw,36px)}.term-card{background:#14140ab3;border:1px solid var(--grey);padding:18px 22px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.log-row{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:10px 0;border-bottom:1px dashed rgba(106,104,82,.35)}@media (max-width: 640px){.log-row{grid-template-columns:100px 1fr;gap:12px}}.copyline{color:var(--fg-muted);font-size:11px}.intro-container{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeOut .5s ease 4s forwards;pointer-events:none}@keyframes fadeOut{to{opacity:0;visibility:hidden}}.books-container{position:absolute;bottom:20%;display:flex;flex-direction:column;align-items:center;gap:4px}.book{font-family:JetBrains Mono,monospace;font-size:24px;color:var(--fg);background:var(--bg);padding:4px 16px;border:1px solid var(--grey);transform:translateY(-120vh);animation:dropBook .5s cubic-bezier(.5,1.5,.5,1) forwards}.book-1{animation-delay:.2s}.book-2{animation-delay:.5s}.book-3{animation-delay:.8s}.book-4{animation-delay:1.1s}.book-5{animation-delay:1.4s}@keyframes dropBook{to{transform:translateY(0)}}.intro-name{font-family:"Press Start 2P",monospace;font-size:clamp(40px,10vw,120px);color:var(--fg);text-align:center;line-height:.92;z-index:10;opacity:0;transform:scale(.8);animation:popName .8s cubic-bezier(.2,.8,.2,1) 2.2s forwards;text-shadow:0 0 20px var(--bg),0 0 40px var(--bg)}.intro-name .name-line{display:block}@keyframes popName{to{opacity:1;transform:scale(1)}}@keyframes spinY{0%{transform:rotateY(0)}to{transform:rotateY(-360deg)}}.carousel-spinner{animation:spinY 40s infinite linear}.carousel-spinner:hover{animation-play-state:paused}
