@font-face{font-family:"Press Start 2P";src:url("/homepage/press-start-name.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f5f4eb;--panel:#fffef7;--ink:#191b26;--border:#5d7c91;--bar:#12578c;--link:#0000bd}
*{box-sizing:border-box}
body{max-width:1360px;margin:0 auto;padding:24px;color:var(--ink);background:var(--paper);font:17px/1.4 Arial,Helvetica,sans-serif}
a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
a:visited{color:#551a8b}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.icon{flex:none;vertical-align:middle;object-fit:contain}
h2 .icon{shape-rendering:crispEdges;image-rendering:pixelated}
.channel-icon{border-radius:50%}
.site-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:17px 24px 19px;margin-bottom:14px;border:1px solid #454750;background:var(--panel)}
h1{margin:0;font:400 clamp(24px,4.5vw,52px)/1.45 "Press Start 2P","Courier New",monospace;letter-spacing:-.025em;color:#111}
.asl{margin:0;font:18px/1.2 "Courier New",monospace}
main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"websites games listening" "opensource youtube streaks" "follow youtube streaks";gap:12px;align-items:stretch}
.panel{min-width:0;border:1px solid var(--border);background:var(--panel)}
.websites{grid-area:websites}.games{grid-area:games}.listening{grid-area:listening}.opensource{grid-area:opensource}.youtube{grid-area:youtube}.streaks{grid-area:streaks}.follow{grid-area:follow}
h2{display:flex;align-items:center;gap:11px;margin:0;padding:7px 12px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#104e81,#17649e);color:#fff;font-size:17px;line-height:24px;font-weight:700;letter-spacing:.025em}
ul{padding:0;margin:0;list-style:none}
.project-list{padding:16px 17px 19px}
.project-list li{display:flex;align-items:flex-start;gap:15px}
.project-list li+li{margin-top:17px}
.entry-icon{width:36px;height:36px;margin-top:2px}
.project-list a{font-weight:700}
.project-list p{margin:3px 0 0;font-size:15px;line-height:1.45}
.link-list{padding:13px 17px 16px}
.link-list li{display:flex;gap:13px;align-items:center;min-height:34px}
.link-list .entry-icon{width:28px;height:28px;margin:0}
.listening-content{display:flex;flex-direction:column;align-items:flex-start;padding:17px;gap:12px}
.album-cover{display:block;width:160px;max-width:100%;line-height:0;border:1px solid #35363d}
.album-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.album-details p{margin:0}
.artist{font-weight:700;font-size:18px}
.release{font-style:italic;font-size:17px;margin-top:2px!important}
.release-year{font-size:14px;margin-top:4px!important}
.streak-list{padding:14px 15px 20px}
.streak-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:40px;font-size:16px}
.streak-list .icon{width:24px;height:24px}
.streak-total{white-space:nowrap;font-size:14px;font-variant-numeric:tabular-nums}
.streak-total [data-streak]{font-weight:700}
footer{padding:12px 1px 0;text-align:right;font-size:13px}
footer a{color:#555967}
footer a:visited{color:#555967}
@media(min-width:1200px){.listening-content{flex-direction:row;align-items:center;gap:17px;padding-top:22px}.album-cover{width:170px;flex:none}}
@media(max-width:1050px){body{padding:16px}main{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"websites games" "listening streaks" "opensource youtube" "follow youtube"}.listening-content{flex-direction:row;align-items:center;gap:17px}.album-cover{width:140px;flex:none}}
@media(max-width:640px){body{padding:10px;font-size:17px}.site-header{flex-direction:column;align-items:center;gap:4px;padding:18px 16px;margin-bottom:10px;text-align:center}h1{font-size:clamp(17px,5.6vw,32px);letter-spacing:-.035em}.asl{font-size:16px}main{grid-template-columns:minmax(0,1fr);grid-template-areas:"websites" "games" "opensource" "listening" "streaks" "follow" "youtube";gap:10px}.project-list{padding:16px 16px 19px}.project-list li+li{margin-top:18px}h2{font-size:16px}.listening-content{padding:17px;gap:17px}.album-cover{width:140px}.link-list li{min-height:36px}.streak-list li{min-height:43px}.streak-total{font-size:15px}}
@media(max-width:350px){.listening-content{gap:12px}.album-cover{width:114px}.streak-list{padding-inline:11px}.streak-list li{gap:8px;font-size:15px}}
.bsod-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:clamp(20px,7vw,76px);overflow:auto;border:0;background:#0000aa;color:#f1f1f1;font:clamp(14px,1.6vw,19px)/1.65 "Lucida Console","Courier New",monospace;isolation:isolate}
.onlyfans-trigger{padding:0;border:0;background:none;color:var(--link);font:inherit;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.onlyfans-trigger:hover{text-decoration-thickness:2px}
.onlyfans-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.bsod-dialog::backdrop{background:#000}
.bsod-dialog::before{position:fixed;inset:0;z-index:1;content:"";pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(0,0,0,.08) 2px 4px)}
.bsod-content{position:relative;z-index:2;width:min(100%,840px);min-height:calc(100vh - 2 * clamp(20px,7vw,76px));min-height:calc(100dvh - 2 * clamp(20px,7vw,76px));margin:0 auto;padding-top:clamp(16px,7vh,72px)}
.bsod-window-title{display:table!important;margin:0 auto clamp(38px,10vh,92px)!important;padding:0 .55em!important;border:0!important;background:#c0c0c0!important;color:#0000aa!important;font:inherit!important;line-height:1.4!important;letter-spacing:normal!important}
.bsod-content p{margin:0 0 1.1em;overflow-wrap:anywhere}
.bsod-prompt{margin-top:clamp(40px,12vh,112px)!important;text-align:center}
.bsod-cursor{animation:bsod-blink 1s steps(1,end) infinite}
@keyframes bsod-blink{50%{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.bsod-cursor{animation:none}}
