:root{--bg:#0b0f10;--fg:#c6f7d0;--fg-dim:#9ad4ac;--accent:#6ff7ff;--accent-2:#ffd16f;--border:#1b2a2a;--chip-bg:#0f1718;--chip-fg:#b8f0c6;--shadow:0 0 0.5px rgba(111, 247, 255, 0.35), 0 0 6px rgba(111, 247, 255, 0.15), 0 0 18px rgba(111, 247, 255, 0.08)}.content-section{color:var(--fg);font:15px/1.7 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;position:relative;isolation:isolate;padding:24px 12px 56px;overflow-x:hidden}.content-section::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:repeating-linear-gradient( to bottom,rgba(111,247,255,5%),rgba(111,247,255,5%) 1px,transparent 1px,transparent 3px );mix-blend-mode:screen;opacity:.35}.content-section>*{position:relative;z-index:1}.heading{margin:0 0 8px;font-size:clamp(18px,3.2vw,24px);letter-spacing:.08em;color:var(--accent);text-shadow:var(--shadow)}.project{border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,rgba(15,23,24,.75),rgba(10,14,15,.85));box-shadow:var(--shadow);padding:18px 16px;margin:16px auto;max-width:980px}.project-year{color:var(--fg-dim);font-size:13px;margin-bottom:6px}.project-title{margin:0 0 6px;font-weight:700;color:var(--fg)}.project-description{margin:6px 0 0;color:var(--fg)}.project-writing-container{display:grid;grid-template-columns:1fr min(24ch,28%);gap:20px;align-items:center}.stack-labels{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.stack-label{background:var(--chip-bg);color:var(--chip-fg);border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem;font-size:.8rem;box-shadow:0 0 10px rgba(111,247,255,5%)inset}.p-media{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;background:#080c0d;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:6px;min-height:140px;max-width:220px;width:100%;place-self:center;animation:crt-flicker 6s infinite steps(60,end)}.magazine-image{display:block;max-width:100%;max-height:100%;width:100%;height:auto;object-fit:contain;image-rendering:-webkit-optimize-contrast;filter:grayscale(1)contrast(1)brightness(.4)}.p-media::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(120% 80% at 50% 10%,rgba(111,247,255,.25),transparent 60%),linear-gradient(180deg,rgba(111,247,255,.12),rgba(111,247,255,0));mix-blend-mode:screen}.p-media::before{content:"";position:absolute;inset:-1px;pointer-events:none;z-index:2;background:repeating-linear-gradient( to bottom,rgba(111,247,255,9%),rgba(111,247,255,9%) 1px,transparent 1px,transparent 3px );mix-blend-mode:screen;animation:scan-move 12s linear infinite;opacity:.5}.p-media:nth-of-type(2n){animation-duration:7.2s;animation-delay:-1.3s}.p-media:nth-of-type(3n){animation-duration:5.8s;animation-delay:-2.6s}.p-media:nth-of-type(4n){animation-duration:8.4s;animation-delay:-.9s}.p-media:nth-of-type(5n){animation-duration:6.4s;animation-delay:-3.1s}.p-media:nth-of-type(2n)::before{animation-duration:15s;animation-delay:-2s}.p-media:nth-of-type(3n)::before{animation-duration:11s;animation-delay:-4s}.p-media:nth-of-type(4n)::before{animation-duration:18s;animation-delay:-1s}.p-media:nth-of-type(5n)::before{animation-duration:13s;animation-delay:-5s}.p-caption{color:var(--fg-dim);font-size:12px;margin-top:6px;text-align:center}@keyframes scan-move{0%{transform:translateY(0)}100%{transform:translateY(3px)}}@keyframes crt-flicker{0%,100%{filter:none;transform:none}10%{filter:brightness(1.01)saturate(1.02)}20%{filter:brightness(.8)}35%{filter:brightness(1.015);transform:translateZ(0)scale(1.0008)}60%{filter:brightness(.985)}75%{filter:brightness(1.008)}}@media(max-width:820px){.project{padding:16px 14px}.project-writing-container{grid-template-columns:1fr}.p-media{min-height:130px;max-width:70%}.project-description,.stack-labels,.project-title{overflow-wrap:anywhere;word-break:break-word}}.scroll-up{opacity:1;transform:none;transition:opacity .3s ease,transform .3s ease}.scroll-up.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.content-section::before{opacity:.25}.p-media{animation:none !important}.p-media::before{animation:none !important}.scroll-up{opacity:1;transform:none}}