/* Reference layout: natural widget sizes, a fitted first slide, full-width collections. */
@font-face{font-family:Satoshi;src:url('/assets/links/satoshi.woff2') format('woff2');font-weight:100 900;font-display:swap}
html{scroll-padding:0;scroll-behavior:auto}html.snap{scroll-snap-type:y mandatory;scrollbar-width:none}html.snap::-webkit-scrollbar{display:none}
body{font:var(--font-size,16px)/1.5 var(--font,Inter),system-ui,sans-serif;isolation:isolate}
.backdrop{z-index:-1}.backdrop video{transform:scale(1.046)}.video-shade{background:transparent}.scanlines{background:repeating-linear-gradient(180deg,#ffffff14 0px,#ffffff14 1px,transparent 2px,transparent 4px)}.vignette{background:radial-gradient(circle at center,transparent 45%,#000 100%)}
.links-page{min-height:100svh;padding:32px 24px;scroll-snap-stop:always;perspective:1400px;overflow:clip}
.links-page:first-child{padding:32px 24px}.text-paragraph{display:block;margin-bottom:8px}.text-paragraph:last-child{margin-bottom:0}
.panel-fit{width:100%;max-width:1024px;position:relative;flex:none}.panel-scale{transform:scale(var(--fit-scale,1));transform-origin:top center;perspective:1000px}.section-panel{max-width:none;padding:24px;transform:none}.section-panel[data-tilt]{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:center;transition:transform .16s ease-out;will-change:transform}
#main .panel-fit{max-width:var(--panel-width,768px)}#main .section-panel{padding:32px}#main .section-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap,12px)}
#main .section-content>.type-profile,#main .section-content>.type-socials,#main [data-node=scroll-down],#main [data-node=portfolio],#main .section-content>.type-views,#main .section-content>.type-audio{grid-column:1/-1}
.section-panel.glass{border:none;background:rgba(0,0,0,var(--glass-opacity,.0264));box-shadow:0 18px 42px #0000000b}
.profile-header{gap:16px;min-height:120px;align-items:center}.profile-name{font-size:30px;line-height:1;font-weight:600;letter-spacing:-.75px;margin:0 0 8px;text-shadow:0 0 16.67px #ffffffcc,0 0 31.25px #ffffff73}.profile-description{font-size:18px;line-height:1.625;color:#ffffffad;opacity:1}
.profile-name.effect-typewriter{animation:none;clip-path:none;display:flex;align-items:center}.effect-typewriter:after{content:'';height:1em;width:2px;background:currentColor;margin-left:3px;animation:caret 1s steps(2) infinite}
.typed-name{min-height:1em}.widget-label .mask-icon{width:12px;height:12px;background:currentColor}.widget-label{display:flex;align-items:center;gap:4px}.widget .stat-icon{width:14px;height:14px;vertical-align:-2px;margin-right:3px}.clock-face{box-shadow:inset 0 0 0 2px #383838}.project-tags .mask-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;margin-right:5px}
.social-row{gap:12px;padding:4px 0 8px}.social-row a{filter:drop-shadow(0 0 4.5px #ffffff80) drop-shadow(0 0 8px #ffffff2e)}.mask-icon{-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.widget{height:102px;min-height:102px;max-height:102px;padding:12px 16px;gap:12px;border:2px solid #ffffff1a;border-radius:35px;background:rgba(33,33,33,.37);overflow:hidden}
.widget-image-shell{width:74px;height:74px}.widget-image{border-radius:50%}.widget-label{right:20px;top:10px;font-size:9px;line-height:1;font-weight:500;color:#d9dce36b;opacity:1}.widget h3{font-size:18px;font-weight:500;line-height:1.25;letter-spacing:0;margin:0 0 4px}.widget-title{margin:0;flex-wrap:nowrap;gap:4px}.widget p{font-size:12px;line-height:1.4;opacity:1;color:#d9dce3;white-space:pre-line;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.pill{font-size:11px;font-weight:500;line-height:16px;padding:2px 10px;gap:4px;margin-top:6px;background:#fff}.pill .ui-icon{width:12px;height:12px;opacity:.6}.ui-icon{display:inline-block;vertical-align:middle;width:16px;height:16px;flex:none}
[data-node=scroll-down] .widget p,[data-node=portfolio] .widget p{color:#ffffffa6}[data-node=scroll-down] .widget-image{border-radius:14px}
[data-node=discord] .widget{border-color:transparent;background:#2121215e;gap:10px;height:120px;max-height:120px}[data-node=discord] .widget-image-shell{width:74px;height:74px}[data-node=discord] .widget-image{border-radius:50%}[data-node=discord] .widget-content h3{font-size:18px;display:block;margin:0}[data-node=discord] .widget-content .pill{display:none}[data-node=discord] .badges{position:static;display:flex;flex-wrap:wrap;margin:4px 0;gap:4px}[data-node=discord] .badges img{width:15px;height:15px}[data-node=discord] .widget-title{margin:0;gap:5px;flex-wrap:wrap}[data-node=discord] .tag{display:inline-flex;align-items:center;gap:4px;border:1px solid #ffffff1a;border-radius:5px;padding:2px 4px;line-height:1}[data-node=discord] .widget p{margin:0;font-size:11px}[data-node=discord] .activity-image{width:60px;height:60px;border-radius:14px}[data-node=discord] .widget-label{display:none}.tag-icon{width:14px;height:12px;object-fit:contain}.widget-username{font-size:11px;line-height:15px;color:var(--node-description,var(--node-text,var(--description)))}
.views-row{font-size:12px;line-height:18px;gap:10px;opacity:.9}.views-row>span{display:inline-flex;align-items:center;gap:6px}.views-row .ui-icon{width:13px;height:13px}.views-row>span:nth-child(2){opacity:.35}
.section-title{font-size:24px;font-weight:600;line-height:39px;letter-spacing:0;margin:0 0 12px;text-align:center}.section-description{font-size:14px;line-height:23px;margin:-8px 0 16px;color:#9ea0a3;text-align:center}
#about .section-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#about [data-node=about-copy],#about [data-node=skills]{grid-column:1/-1}.text-block{font-size:16px;line-height:26px;color:#ffffffe6}.text-block a{text-decoration:underline;text-underline-offset:2px}
#about [data-node=about-copy]{padding:12px 16px;border:3px solid #ffffff0d;border-radius:35px;background:linear-gradient(120deg,#0d0d0d26,#26262626);backdrop-filter:blur(2px)}
[data-node=skills] .social-row{gap:8px;padding-top:8px}[data-node=skills] .social-row a{filter:none;font-size:14px;border:3px solid #ffffff0d;border-radius:35px;background:linear-gradient(120deg,#0d0d0d26,#26262626);padding:4px 12px;gap:8px;min-height:34px}[data-node=skills] .mask-icon{width:16px;height:16px}
.gallery-heading{font-size:14px;line-height:23px;color:#9ea0a3;opacity:1;margin:-8px 0 16px}.gallery-grid{gap:12px}.gallery-image{border:3px solid #ffffff0d;border-radius:35px;aspect-ratio:auto;height:278px}.gallery-image:first-child:nth-last-child(3){grid-column:1/-1}.gallery-image:after{content:'';display:none}.gallery-controls{margin-top:16px;gap:6px}.gallery-controls .gallery-arrow{margin:0 10px}
#projects .section-panel{padding:0;background:transparent;backdrop-filter:none;box-shadow:none}#projects .section-title{text-align:left}.project-card{height:524px;border-radius:35px;border:3px solid #ffffff0d;position:relative;overflow:hidden;font-family:Satoshi,sans-serif;padding:16px;display:flex;flex-direction:column;justify-content:flex-end;background:#111}
.project-top{margin:0;display:contents}.project-top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:32px;transition:transform .5s}.project-card:before{content:'';position:absolute;inset:0;background:linear-gradient(to top,#000c,#0006,transparent);z-index:1}.project-top>div,.project-card>p,.project-card>.pill{position:relative;z-index:2}.project-tags{position:absolute;top:14px;left:14px;right:14px;z-index:3;font-size:16px;opacity:1}.project-tags span{padding:6px 12px;background:#0008;border:1px solid #fff3;backdrop-filter:blur(12px)}.project-top h3{font-size:36px;line-height:40px;margin:0 0 4px}.project-card p{font-size:20px;line-height:28px;opacity:1;color:#ffffffe6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.project-card>.pill{position:absolute;inset:0;opacity:0;margin:0;border-radius:32px}.project-card:hover .project-top img{transform:scale(1.05)}
#custom .section-panel{padding:0}#custom .text-block{font-size:12px;line-height:18px;color:#ffffff8c;padding:12px 16px;border:3px solid #ffffff0d;border-radius:35px;background:linear-gradient(120deg,#0d0d0d26,#26262626);backdrop-filter:blur(2px)}
.project-top>div{display:contents}.project-top h3{position:relative;z-index:2}[data-node=commu-twitter] .widget-image{border-radius:14px}
.project-tags .mask-icon{background:currentColor;border:0;padding:0;border-radius:0;color:white}
.sound-control{top:16px;left:16px;width:60px;height:60px;display:grid;place-items:center;border:2px solid #ffffff0d;background:linear-gradient(120deg,#0d0d0d26,#26262626);backdrop-filter:blur(2px)}.sound-control .ui-icon{width:34px;height:34px;stroke-width:2.5}
.sound-shell{position:fixed;top:16px;left:16px;z-index:30;display:flex;align-items:center;border:2px solid #ffffff0d;border-radius:35px;background:linear-gradient(120deg,#0d0d0d26,#26262626);backdrop-filter:blur(2px);overflow:hidden}.sound-shell .sound-control{position:static;border:0;background:none;backdrop-filter:none;flex:none;width:56px;height:56px}.sound-shell #volume{width:0;opacity:0;margin:0;transition:width .2s,opacity .2s;accent-color:white}.sound-shell:hover #volume,.sound-shell:focus-within #volume{width:110px;opacity:1;margin-right:18px}.scroll-more{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:20;font-size:14px;font-weight:600;border:0;background:none;color:#ffffffdd;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0}.scroll-more .ui-icon{width:20px;height:20px}body.awaiting-entry .sound-shell,body.awaiting-entry .scroll-more{visibility:hidden}
.music-player{border-radius:26px;background:#00000007;padding:12px 16px;backdrop-filter:blur(22px)}.music-title{font-size:16px;font-weight:500;line-height:20px}.music-artist{font-size:14px;color:#ffffffb8;margin:4px 0}.music-controls{display:flex;align-items:center;gap:8px;font-size:12px;font-variant-numeric:tabular-nums}.music-controls button{border:0;padding:0;background:none;width:28px;height:28px;display:grid;place-items:center}.music-controls button:disabled{opacity:.3}.music-controls .music-play{width:32px;height:32px;border-radius:50%;background:#fffffff5;color:#111}.music-controls .ui-icon{width:14px;height:14px}.music-seek{appearance:none;min-width:0;flex:1;height:6px;border-radius:20px;background:linear-gradient(to right,#fffffff5 var(--progress,0%),#ffffff26 var(--progress,0%));cursor:pointer}.music-seek::-webkit-slider-thumb{appearance:none;width:10px;height:10px;background:white;border-radius:50%}
#section-nav{right:16px;gap:10px}#section-nav a{width:8px;height:8px;background:#ffffff4d}#section-nav a[aria-current=true]{height:20px}
.entrance{background:#0006;backdrop-filter:none}.entrance button{font-size:36px;font-weight:600;line-height:40px;position:absolute;inset:0;width:100%;padding:24px;letter-spacing:-.5px}
body.awaiting-entry{overflow:hidden}body.awaiting-entry #links-app,body.awaiting-entry #section-nav,body.awaiting-entry .sound-control{visibility:hidden;opacity:0}body.awaiting-entry .backdrop{filter:blur(10px)}#links-app{transition:opacity .8s cubic-bezier(.22,1,.36,1)}
@keyframes caret{50%{opacity:0}}
@media(max-width:600px){.links-page{padding:80px 16px 40px}.section-panel,#main .section-panel{padding:18px}#main .section-content,#about .section-content{grid-template-columns:1fr}.profile-header{min-height:88px;gap:10px}.avatar-shell{width:88px;height:88px}.profile-name{font-size:30px}.profile-description{font-size:15px;line-height:1.5}.widget{padding:12px 16px;border-radius:35px}.widget h3{font-size:18px}.widget-image-shell{width:74px;height:74px}.activity-image{display:block;width:64px!important;height:64px!important}.section-title{font-size:24px}.gallery-grid{grid-template-columns:1fr}.gallery-image{height:220px}.gallery-image:first-child{grid-column:auto}.project-card{height:460px}.project-card p{font-size:18px;line-height:26px}.project-top h3{font-size:28px}#section-nav{right:8px}.entrance button{font-size:30px}}
@media(prefers-reduced-motion:reduce){.section-panel[data-tilt]{transform:none!important}}
@media(max-width:600px){.type-clock .widget{height:140px;max-height:140px}}
/* Text colors inherit through section and box overrides to every text role. */
.links-node{color:var(--node-text,var(--text))}.section-title,.widget h3,.project-top h3,.music-title{color:var(--node-heading,var(--node-text,var(--heading,var(--text))))}.profile-name{color:var(--node-heading,var(--node-text,var(--accent)))}
.profile-description,.widget p,[data-node=scroll-down] .widget p,[data-node=portfolio] .widget p,.section-description,.gallery-heading,.music-artist{color:var(--node-description,var(--node-text,var(--description)));opacity:1}.text-block,.project-card p{color:var(--node-text,color-mix(in srgb,var(--text) 90%,transparent))}#custom .text-block{color:var(--node-text,color-mix(in srgb,var(--text) 55%,transparent))}.views-row{color:var(--node-text,var(--text))}.widget-label{color:color-mix(in srgb,var(--node-description,var(--node-text,var(--description))) 60%,transparent)}.pill{color:var(--node-button,var(--button-text,#151515))}
.project-tags,.project-tags .mask-icon{color:var(--node-heading,var(--node-text,var(--heading,var(--text))))}.music-controls{color:var(--node-text,var(--text))}.music-controls .music-play{color:var(--node-button,var(--button-text,#151515))}
.social-row .mask-icon{background:var(--node-text,var(--accent))}[data-node=skills] .social-row a{color:var(--node-text,var(--text))}
.profile-name{text-shadow:0 0 16.67px color-mix(in srgb,currentColor 80%,transparent),0 0 31.25px color-mix(in srgb,currentColor 45%,transparent)}
.panel-reveal{transform-origin:center;position:relative;perspective:1000px}#links-app{transition:none}
.section-panel.glass{background:transparent;backdrop-filter:none;box-shadow:none}.panel-glass{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:rgba(0,0,0,var(--glass-opacity,.0264));backdrop-filter:blur(var(--glass-blur,22px)) saturate(185%) brightness(1.03);box-shadow:0 18px 42px #0000000b}.section-panel>.section-title,.section-panel>.section-description,.section-panel>.section-content{position:relative}
.entry-noise{position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:var(--radius,26px);overflow:hidden;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff45 3px 4px,transparent 4px 7px,#64e9ff38 7px 8px,#f989e72e 8px 9px),url('/assets/links/noise.svg');background-size:auto,130px;mix-blend-mode:screen}
html.lightbox-open{overflow:hidden}#lightbox{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;border:0;border-radius:0;background:transparent;backdrop-filter:none;overflow:hidden}#lightbox[open]{display:grid;place-items:center}#lightbox::backdrop{background:#000b;backdrop-filter:blur(8px);animation:lightbox-backdrop-in 300ms ease-out}#lightbox.is-closing::backdrop{animation:lightbox-backdrop-out 280ms ease-in forwards}.lightbox-shell{position:relative;border:1px solid #ffffff24;border-radius:22px;padding:12px;background:#111e;box-shadow:0 20px 90px #0008;transform-origin:center;max-width:100%;max-height:100%}#lightbox-stage{position:relative;overflow:hidden;border-radius:12px;background:#151515;max-width:100%;max-height:calc(100svh - 112px)}#lightbox-image{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}#lightbox-status{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:12px;line-height:18px;border-radius:12px;padding:6px 12px;background:#111c;white-space:nowrap;pointer-events:none}#lightbox-caption{margin:10px 36px 0;text-align:center;font-size:13px;line-height:20px;opacity:.8}#close-lightbox{top:8px;right:8px;width:34px;height:34px;border-radius:50%;background:#111b;color:#fff;border:1px solid #ffffff26;z-index:2;display:grid;place-items:center;padding:0}#lightbox.is-closing{pointer-events:none}
@keyframes lightbox-backdrop-in{from{background:#0000;backdrop-filter:blur(0)}to{background:#000b;backdrop-filter:blur(8px)}}@keyframes lightbox-backdrop-out{from{background:#000b;backdrop-filter:blur(8px)}to{background:#0000;backdrop-filter:blur(0)}}
