/* Belial / personal orbit */
:root{color-scheme:dark;--bg:#09090d;--text:#f3f0f9;--muted:#94909f;--violet:#b69af8;--line:#ffffff10;--display:'Space Grotesk',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif;--mono:'JetBrains Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}body.loading{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,dialog{border:0}button{background:none}button:disabled{cursor:wait}::selection{background:#a78bfa55;color:white}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{display:block;max-width:100%}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(1160px,calc(100% - 112px));margin-inline:auto}:focus-visible{outline:2px solid #c6aaff;outline-offset:6px}.skip-link{position:fixed;z-index:50;top:15px;left:15px;padding:13px 20px;background:#c4a9ff;color:#17101f;border-radius:6px;transform:translateY(-200%)}.skip-link:focus{transform:none}.micro,.eyebrow,.section-side,.hero-kicker,.scroll-invite,.hero-bottom-note,.card-corner,.stack-number,.stack-label,.toolkit-footer,.game-small,.games-footnote,.genre-badge,.copy-help,.credits,.footer>span{font-family:var(--mono)}.micro{font-size:9px;letter-spacing:.17em}
.scroll-progress{position:fixed;top:0;left:0;right:0;z-index:12;height:2px;pointer-events:none}.scroll-progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#9776e9,#d7c6ff)}
/* Loading sequence */
.loader{display:none;position:fixed;inset:0;z-index:30;background:#09090d;align-items:center;justify-content:center;flex-direction:column;transition:opacity .65s ease,visibility .65s;gap:0}.js .loader{display:flex}.loader.done{opacity:0;visibility:hidden}.loader-orbit{height:108px;width:108px;display:grid;place-items:center;margin-bottom:36px;position:relative}.loader-orbit:before,.loader-orbit:after,.loader-orbit span{content:"";position:absolute;border-radius:50%;inset:0;border:1px solid #a88bff25;transform:rotate(-35deg) scaleY(.45)}.loader-orbit:after{transform:rotate(35deg) scaleY(.45)}.loader-orbit span{border-color:transparent;border-top-color:#c6acff;transform:none;animation:spin 2s linear infinite}.loader-orbit b{font:500 39px var(--display);color:#d6c6ff}.loader>.micro{color:#a599bc;font-size:9px}.load-track{width:230px;height:2px;background:#ffffff12;margin:24px 0 12px}.load-track i{display:block;width:0%;height:100%;background:#bca2f7;box-shadow:0 0 12px #bca2f7aa;transition:width .2s}.load-info{display:flex;justify-content:space-between;width:230px;color:#787181;font:9px var(--mono)}@keyframes spin{to{rotate:360deg}}
/* Navigation */
.header{height:94px;display:flex;align-items:center;justify-content:space-between;width:min(1280px,calc(100% - 80px));margin:auto;position:relative;z-index:5;border-bottom:1px solid var(--line)}.logo{font:600 24px var(--display);letter-spacing:-1.3px;display:flex;align-items:center}.logo-period{color:var(--violet)}.logo-icon{display:grid;place-items:center;font:600 27px var(--display);width:33px;height:33px;border:1px solid #b59aff55;border-radius:9px;background:#a78bfa0c;margin-right:10px;color:#d5c3ff;position:relative}.logo-icon span{position:absolute;right:4px;bottom:2px;color:#a485e7;font-size:25px}.header nav{display:flex;gap:34px;padding-left:90px;font-size:12px;color:#98939f}.header nav a{position:relative;padding:12px 0;transition:color .2s}.header nav a:hover,.header nav a.active{color:#eee8fa}.header nav a.active:after{content:"";position:absolute;width:3px;height:3px;bottom:3px;left:50%;border-radius:50%;background:var(--violet)}.header-right{display:flex;gap:17px;align-items:center}.motion-button{display:grid;place-items:center;color:#a297b6;width:31px;height:31px;border:1px solid #ffffff15;border-radius:50%;transition:color .2s}.motion-button:hover{color:white}.motion-button svg{width:15px;height:15px}.motion-button[aria-pressed=true]{color:#6d647e;opacity:.8}.nav-contact{border:1px solid #ffffff18;border-radius:7px;padding:10px 14px;font-size:11px;display:flex;align-items:center;gap:19px;background:#ffffff03;transition:background .2s,border-color .2s}.nav-contact:hover{border-color:#b69af855;background:#b69af80a}.nav-contact svg{width:13px;height:13px}
/* Hero / event horizon */
.hero{position:relative;min-height:750px;isolation:isolate;overflow:hidden}.hero-glow{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 76% 43%,#54358224 0,transparent 48%),radial-gradient(ellipse at 5% 80%,#382b5318,transparent 50%)}#starfield{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.7}.singularity{position:absolute;width:790px;height:650px;top:-16px;left:calc(50% - 40px);z-index:-1;pointer-events:none;transform:translate3d(var(--px,0px),var(--py,0px),0);transition:transform 1s ease-out}.singularity>img{width:100%;height:100%;object-fit:contain;animation:breathe 10s ease-in-out infinite;filter:drop-shadow(0 0 35px #8c5dff25)}@keyframes breathe{50%{transform:scale(1.035) rotate(1deg);filter:drop-shadow(0 0 50px #8c5dff35)}}.orbital-label{position:absolute;top:75%;right:21%;font:8px var(--mono);letter-spacing:.12em;color:#9985bb;display:flex;gap:12px;align-items:center}.tiny-cross{color:#b39bd9;font:20px var(--mono)}.hero-grid{min-height:664px;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:50px;position:relative;padding-top:38px;padding-bottom:55px}.hero-copy{align-self:center}.hero-kicker{font-size:9px;letter-spacing:.15em;display:flex;gap:10px;align-items:center;color:#b7a8ca}.signal-dot{width:5px;height:5px;border-radius:50%;background:#c5a8ff;box-shadow:0 0 12px #b794fbaa}.kicker-line{width:33px;height:1px;background:#72618170;margin-left:3px}h1{position:relative;font:500 clamp(90px,10.7vw,148px)/.95 var(--display);letter-spacing:-.08em;margin:28px 0 25px;width:fit-content}h1>span:not(.name-shadow){color:var(--violet)}.name-shadow{display:none}.hero-subtitle{font:400 clamp(23px,2.4vw,32px)/1.37 var(--display);letter-spacing:-1px;margin:0 0 19px;color:#dfd9e9}.hero-description{font-size:12px;line-height:1.95;color:#918999;margin:0}.hero-actions{display:flex;gap:15px;align-items:center;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;padding:14px 18px;font-size:11px;font-weight:600;transition:transform .25s,background .25s,box-shadow .25s}.button svg{width:17px;height:17px}.button.primary{color:#17101e;background:#c8b2f4;border:1px solid #ddcfff;box-shadow:inset 0 1px #fff4,0 4px 24px #9170ca1c}.button.primary:hover{background:#d9c6ff;transform:translateY(-3px);box-shadow:0 5px 25px #a78bfa33}.button .button-tail{height:13px;width:13px;opacity:.65;margin-left:10px}.button.secondary{color:#b7adca;padding-left:7px;padding-right:4px;font-weight:400;gap:18px}.button.secondary:hover{color:white;transform:translateY(-2px)}.button.secondary span{font-size:16px}.hero-languages{display:flex;align-items:center;gap:14px;margin-top:37px}.hero-languages>span:first-child{font:7px var(--mono);letter-spacing:.1em;color:#6e667b;margin-right:4px}.mini-lang{font:600 12px var(--display);opacity:.8}.python-mini{color:#9eb8df}.cs-mini{color:#b29ae5}.html-mini{color:#d0987e}.js-mini{color:#d6c896}
.profile-card{width:292px;justify-self:center;margin-top:155px;border:1px solid #d2b9ff27;border-radius:13px;background:linear-gradient(150deg,#26203199,#131119db 60%);box-shadow:0 28px 80px #0007,inset 0 1px 0 #ffffff08;backdrop-filter:blur(20px);transform:perspective(800px) rotateY(-7deg) rotateX(3deg) rotateZ(2deg);transition:transform .5s;position:relative}.profile-banner{height:78px;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:18px 20px;position:relative;background:linear-gradient(120deg,#82619835,#39284911),url('assets/lands-between.jpg') center 30%/cover;overflow:hidden}.profile-banner:before{content:"";position:absolute;inset:0;background:#1b1024a8}.profile-banner>*{position:relative}.profile-banner .micro{font-size:7px;letter-spacing:.2em;color:#d4c3e2}.profile-banner>svg{width:15px;height:15px;color:#d6c4e6}.profile-body{padding:0 23px}.avatar{width:62px;height:62px;position:relative;margin-top:-30px;border:4px solid #1b1722;border-radius:17px;background:#222;box-shadow:0 0 0 1px #c5a4ff30;isolation:isolate}.avatar>img{width:100%;height:100%;object-fit:cover;object-position:50% 94%;border-radius:12px;transform:scale(1);filter:saturate(.45) brightness(.8)}.avatar-badge{position:absolute;right:-6px;bottom:-4px;display:grid;place-items:center;width:21px;height:21px;background:#c4a9f6;border:3px solid #1b1722;border-radius:50%;color:#20162c}.avatar-badge svg{width:11px;height:11px}.profile-title h2{font:600 24px var(--display);letter-spacing:-1px;margin:15px 0 5px}.profile-title h2 span{color:#c4a5ff;font-size:15px;margin-left:3px}.profile-handle{font:9px var(--mono);color:#b4a7c6}.profile-handle>span{color:#766981;font:8px var(--body);margin-left:5px}.profile-body>p{font-size:10px;line-height:1.9;color:#a79aaf;margin:18px 0 16px}.profile-badges{display:flex;gap:6px}.profile-badges>span{display:flex;align-items:center;gap:5px;font-size:8px;border:1px solid #ffffff11;border-radius:5px;padding:6px 8px;background:#b293db09;color:#bbaeC9}.profile-badges svg{width:12px;height:12px;color:#bca0e7}.profile-divider{height:1px;background:#ffffff0c;margin:21px 0 12px}.profile-footer{display:flex;align-items:center;gap:7px;padding-bottom:15px;font:7px var(--mono);letter-spacing:.09em;color:#9c8dad}.status-orb{width:4px;height:4px;border-radius:50%;background:#b69af8;box-shadow:0 0 8px #b69af866}.icon-button{margin-left:auto;display:grid;place-items:center;padding:3px;color:#a99ab9}.icon-button:hover{color:white}.icon-button svg{width:13px;height:13px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;padding:7px 0 30px;position:relative}.scroll-invite{font-size:8px;letter-spacing:.12em;color:#8b8298;display:flex;align-items:center;gap:11px}.mouse{height:23px;width:15px;border:1px solid #695b78;border-radius:9px;display:flex;justify-content:center;padding-top:5px}.mouse i{width:2px;height:5px;background:#b9a6d0;animation:scrollDown 2.5s infinite}@keyframes scrollDown{60%{transform:translateY(5px);opacity:.25}}.hero-bottom-note{display:flex;align-items:center;gap:20px;font-size:7px;letter-spacing:.08em;color:#6f657b}.hero-bottom-note>span:first-child{color:#b3a0cb}.ticker{height:76px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#0c0b10;display:flex;align-items:center}.ticker-track{display:flex;align-items:center;width:max-content;gap:58px;animation:marquee 36s linear infinite;padding-left:58px}.ticker span{font:500 26px var(--display);letter-spacing:-1px;color:#5e566b}.ticker i{font:30px var(--display);color:#9f81c3;font-style:normal;opacity:.65}@keyframes marquee{to{transform:translateX(-50%)}}
/* Interior sections */
.section{padding-block:105px}.section-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:45px}.eyebrow{font-size:9px;letter-spacing:.11em;color:#a69ab8;display:flex;align-items:center;gap:12px}.eyebrow>span{font-size:8px;color:#9a80c0;border:1px solid #9a80c031;border-radius:4px;padding:4px 5px}.section-side{font-size:7px;letter-spacing:.1em;color:#62586f}h2{font:400 clamp(34px,4.3vw,53px)/1.15 var(--display);letter-spacing:-2.3px;margin:0}h2 em{font-style:normal;color:#b4a0d0}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.about-copy p{font-size:12px;line-height:1.95;color:#9890a3;max-width:380px;margin:24px 0 0}.about-copy p+p{margin-top:15px}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:11px;color:#c9b4e4;margin-top:29px;border-bottom:1px solid #c9b4e433;padding-bottom:8px;transition:gap .2s}.text-link:hover{gap:25px}.text-link svg{width:17px;height:17px}.about-bento{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-card{padding:22px 21px 0;background:linear-gradient(140deg,#17131e,#0e0d12);border:1px solid #ffffff0e;border-radius:11px;min-height:258px;position:relative;overflow:hidden}.card-corner{position:absolute;right:16px;top:19px;font-size:7px;letter-spacing:.08em;color:#6f637c}.square-icon{width:32px;height:32px;display:grid;place-items:center;color:#c3a8ed;background:#aa80e911;border:1px solid #aa80e91a;border-radius:7px}.square-icon svg{width:17px;height:17px}.mini-card h3{font:500 23px var(--display);letter-spacing:-.9px;margin:24px 0 9px}.mini-card p{color:#8b8098;font-size:10px;line-height:1.8;margin:0}.code-sample{font:10px/1.8 var(--mono);color:#737e99;transform:rotate(-6deg);margin:22px 0 -8px 40px;padding:10px 12px;background:#0c0b11;border:1px solid #fff1;border-radius:6px;white-space:nowrap}.code-sample span{color:#a58acb}.gamer-card{background:radial-gradient(ellipse at 50% 100%,#3a172d55,transparent 70%),#121015}.gamer-card .square-icon{color:#ce9e9d;background:#b5797911;border-color:#b5797918}.respawn{text-align:center;padding-top:35px;transform:rotate(3deg)}.respawn>span{color:#bd747b;letter-spacing:.15em;font-family:Georgia,serif;font-size:17px;text-shadow:0 0 15px #ae384450}.respawn small{display:block;color:#75606b;font:7px var(--mono);margin-top:8px}.bento-note{grid-column:1/-1;display:flex;align-items:center;gap:19px;padding:16px 20px;border:1px solid #bca0e51a;border-radius:9px;background:linear-gradient(110deg,#20192b77,#131017)}.note-star{font-size:36px;color:#9d83c1}.bento-note p{margin:0;color:#7b6b8d;font-size:10px;line-height:1.7}.bento-note strong{font-weight:400;color:#b1a0c1}.note-end{font-size:20px;color:#897399;margin-left:auto}.stack-section{background:#0d0c11;border-block:1px solid var(--line)}.section-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-intro>p{color:#8d839b;font-size:12px;line-height:1.9;margin:0 0 5px}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stack-card{background:linear-gradient(145deg,#17131e,#121015);border:1px solid #ffffff0f;border-radius:10px;padding:24px 21px 21px;position:relative;overflow:hidden;transition:border-color .3s,background .3s}.stack-card:hover{border-color:#bca0e548;background:#1b1523}.stack-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.language-icon{display:flex;align-items:center;justify-content:center;height:38px;min-width:38px;font:700 22px var(--display);letter-spacing:-1px}.python-icon{color:#b4c8df;background:linear-gradient(145deg,#273958,#1c2132);border:1px solid #8fb6e244;border-radius:10px;font-size:17px}.cs-icon{color:#c0a4e7;font-size:30px}.cs-icon>span{font-size:19px}.html-icon{color:#f5a581;clip-path:polygon(0 0,100% 0,87% 84%,50% 100%,13% 84%);background:#c76f3c22;width:34px;border-top:2px solid #c88763}.js-icon{color:#d9c277;background:#7c682d22;border:1px solid #e1c97633;border-radius:7px;font-size:18px}.stack-number{font-size:8px;color:#665a76}.stack-card h3{font:500 20px var(--display);letter-spacing:-.7px;margin:0 0 12px}.stack-card p{font-size:11px;color:#91859f;line-height:1.85;margin:0 0 29px;min-height:61px}.stack-label{font-size:7px;letter-spacing:.05em;color:#746782;border-top:1px solid #ffffff09;padding-top:13px;display:block;white-space:nowrap}.toolkit-footer{display:flex;align-items:center;justify-content:space-between;margin-top:23px;color:#776b86;font-size:7px;letter-spacing:.06em}.little-cross{color:#ac8dcc;font-size:16px;margin-right:7px;vertical-align:middle}.tool-pills{display:flex;gap:7px}.tool-pills span{font:8px var(--body);padding:6px 9px;border-radius:4px;border:1px solid #ffffff0e;color:#8d809b}
/* After hours */
.afterhours{padding-bottom:95px}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.game-card{min-height:480px;border:1px solid #ffffff15;position:relative;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;background:#191b20;transition:transform .4s,box-shadow .4s}.game-image{position:absolute;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s,filter .9s;filter:saturate(.55) brightness(.8)}.souls-card .game-image{object-position:52% center}.dota-card .game-image{object-position:57% center}.game-card:hover .game-image{transform:scale(1.045);filter:saturate(.8) brightness(.9)}.game-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0a0b1233 0%,#0a0b1122 20%,#0a0b11d1 64%,#0a0b11 100%)}.dota-card .game-shade{background:linear-gradient(180deg,#130d1233 0%,#140e1422 20%,#130e14d4 64%,#100d13 100%)}.game-card-top{display:flex;align-items:center;justify-content:space-between;padding:23px}.genre-badge{font-size:7px;letter-spacing:.1em;border:1px solid #ffffff25;padding:8px 10px;border-radius:5px;background:#14101844;backdrop-filter:blur(8px);color:#e0d7e7}.game-symbol{font-size:28px;color:#e3d3a3}.dota-mark{font:32px Georgia,serif;color:#dcad99}.game-content{padding:30px}.game-small{font-size:7px;letter-spacing:.08em;color:#baa886}.dota-card .game-small{color:#b7909d}.game-content h3{font:400 41px/1.07 var(--display);letter-spacing:-1.8px;margin:15px 0}.game-content p{font-size:11px;color:#a49eab;line-height:1.9;max-width:310px;margin:0}.game-card-bottom{border-top:1px solid #ffffff14;display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:14px}.game-card-bottom>span{font-size:9px;color:#7d748a}.game-card-bottom>a{width:28px;height:28px;border:1px solid #ffffff22;border-radius:50%;display:grid;place-items:center;color:#c6bbd3;transition:background .2s}.game-card-bottom>a:hover{background:#b69af82e}.game-card-bottom svg{width:12px;height:12px}.games-footnote{display:flex;justify-content:space-between;color:#665b76;font-size:7px;letter-spacing:.05em;padding-top:24px}.games-footnote>span:last-child{display:flex;gap:9px;align-items:center}.games-footnote svg{width:15px;height:15px}
/* Contact / footer */
.contact-section{border-block:1px solid var(--line);position:relative;overflow:hidden;text-align:center;isolation:isolate;padding:90px 0 84px;background:radial-gradient(ellipse at 50% 80%,#30213f44,transparent 60%)}.contact-orbit{position:absolute;width:870px;height:380px;top:110px;left:50%;border:1px solid #aa82da10;border-radius:50%;transform:translateX(-50%) rotate(-18deg);z-index:-1}.contact-orbit:after{content:"";position:absolute;inset:40px -30px;border:1px solid #aa82da0c;border-radius:50%;transform:rotate(35deg)}.contact-inner{position:relative}.contact-inner>.eyebrow{justify-content:center;margin-bottom:25px}.contact-inner h2{font-size:66px;line-height:1.08;letter-spacing:-3px;position:relative;width:fit-content;margin-inline:auto}.contact-spark{position:absolute;right:-46px;top:5px;color:#ad8dd3;width:29px;height:29px;animation:spin 24s linear infinite}.contact-inner>p{font-size:12px;line-height:1.9;color:#92829f;margin:24px 0}.discord-contact{display:flex;align-items:center;text-align:left;width:260px;margin:27px auto 0;border:1px solid #b49bd442;border-radius:9px;padding:15px;background:linear-gradient(115deg,#32263c88,#1e172777);box-shadow:0 4px 35px #0003;transition:background .2s,transform .2s,border-color .2s;gap:12px}.discord-contact:hover{background:#3b2a4c99;transform:translateY(-4px);border-color:#b49bd480}.discord-contact-icon{display:grid;place-items:center;border:1px solid #b999df2e;border-radius:7px;width:37px;height:37px;background:#bca0e512;color:#cab2e6}.discord-contact-icon svg{width:21px;height:21px}.discord-contact small{display:block;font:7px var(--mono);letter-spacing:.08em;color:#9f8cb3;margin-bottom:5px}.discord-contact strong{font:500 19px var(--display);letter-spacing:-.5px}.contact-copy{margin-left:auto;width:16px;height:16px;color:#a58abb}.copy-help{display:block;font-size:7px;letter-spacing:.02em;color:#6b5a7b;margin-top:16px}.footer{min-height:99px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer>.logo{font-size:24px}.footer>span{font-size:7px;letter-spacing:.04em;color:#645971}.footer-dot{color:#937aa8;margin:0 9px}.footer>div{display:flex;align-items:center;gap:22px}.credits-toggle{font-size:9px;color:#6e627b;padding:4px 0}.credits-toggle:hover{color:#b6a2ca}.back-top{width:27px;height:27px;display:grid;place-items:center;border:1px solid #ffffff17;border-radius:50%;font-size:13px;color:#b49ccb}.credits{font-size:9px;line-height:1.8;color:#7c6e8d;padding-bottom:25px}.credits a{color:#bca1dd;text-decoration:underline}.toast{position:fixed;bottom:25px;left:50%;z-index:40;transform:translate(-50%,20px);opacity:0;visibility:hidden;display:flex;align-items:center;gap:10px;padding:15px 20px;border:1px solid #c9a8f64a;border-radius:9px;background:#20192aee;backdrop-filter:blur(15px);box-shadow:0 10px 50px #0008;color:#d2bfe5;font-size:12px;transition:opacity .3s,transform .3s,visibility .3s;max-width:calc(100% - 30px);white-space:nowrap}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}.toast>span:first-child{color:#c8b0ef}dialog{background:#1a1422;color:#e4d7f1;border:1px solid #bda2e73d;padding:30px;border-radius:14px;max-width:calc(100% - 40px)}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{font-size:27px;letter-spacing:-1px}dialog p{font-size:12px;color:#b6a4c6}dialog input{display:block;background:#0f0b15;color:white;border:1px solid #8a6ca655;border-radius:6px;padding:10px;width:100%;margin:20px 0;font:15px var(--mono)}
.luau-mini{color:#9cbfdf}
.luau-icon{color:#b5d3ef;background:linear-gradient(145deg,#293b5c,#172039);border:1px solid #8fb6e244;border-radius:50%;font-size:17px;letter-spacing:-.8px}
.typed-name{display:inline-block;white-space:pre;font:inherit;letter-spacing:inherit;vertical-align:baseline}
.typed-name.name-space{font-family:'Space Grotesk',sans-serif;font-weight:500}
.typed-name.name-sans{font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:-.095em}
.typed-name.name-mono{font-family:'JetBrains Mono',monospace;font-size:.72em;font-weight:500;letter-spacing:-.09em}
.typed-name.name-serif{font-family:Georgia,serif;font-size:.9em;font-style:italic;font-weight:700;letter-spacing:-.085em}
#hero-title>.name-dot{color:var(--violet)}
#hero-title::after{content:"";display:inline-block;width:3px;height:.68em;margin-left:.07em;background:#c6a4ff;box-shadow:0 0 13px #b69af889;vertical-align:-.04em;opacity:0}
#hero-title.typing::after{opacity:1;animation:caretBlink .8s steps(1) infinite}
@keyframes caretBlink{50%{opacity:0}}
.js .reveal{filter:blur(7px);transform:translateY(42px) scale(.985);transition:opacity .95s ease,transform .95s cubic-bezier(.16,1,.3,1),filter .95s ease}
.js .reveal.in{filter:blur(0);transform:none}
.stack-card:nth-child(2),.about-bento .mini-card:nth-child(2),.game-card:nth-child(2){transition-delay:90ms}
.stack-card:nth-child(3),.about-bento .bento-note{transition-delay:160ms}
.stack-card:nth-child(4){transition-delay:230ms}
.motion-enabled.js .reveal:not(.in){opacity:0!important;filter:blur(7px)!important;transform:translateY(42px) scale(.985)!important}
.motion-enabled.js .reveal.in{opacity:1!important;filter:blur(0)!important;transform:none!important}
.motion-enabled .reveal{transition-duration:.95s!important}
.motion-enabled .singularity>img{animation-duration:10s!important;animation-iteration-count:infinite!important}
.motion-enabled .ticker-track{animation-duration:36s!important;animation-iteration-count:infinite!important}
.motion-enabled #hero-title.typing::after{animation-duration:.8s!important;animation-iteration-count:infinite!important}
/* Readable body copy alongside the smaller technical captions. */
.hero-description,.about-copy p{font-size:13px}
.stack-card p,.game-content p{font-size:12px}
/* Avatar crop keeps the knight, rather than the cover's title, in the small frame. */
.avatar{background:#16191b url('assets/elden-ring-small.jpg') 49% 86%/340% auto no-repeat}
.avatar>img{opacity:0}
.motion-paused .hero-copy,.motion-paused .profile-card{animation:none;opacity:1;translate:none}
/* Animation / responsive */
.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.js .reveal.in{opacity:1;transform:none}.hero-copy{animation:arrive 1s .15s both}.profile-card{animation:cardArrive 1.2s .35s both}@keyframes arrive{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}@keyframes cardArrive{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}.loading .hero-copy,.loading .profile-card{animation-play-state:paused}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .reveal{transition-duration:.01ms!important}.motion-paused{scroll-behavior:auto}.motion-paused .singularity{transition:none}
@media(min-width:1500px){.hero{min-height:800px}.hero-grid{min-height:715px}.singularity{width:900px;height:720px;left:calc(50% - 55px)}}
@media(max-width:1050px){.container{width:calc(100% - 72px)}.hero-grid{grid-template-columns:1.2fr 1fr;gap:15px}.hero{min-height:690px}.hero-grid{min-height:605px}.singularity{left:42%;width:720px;top:-10px}.profile-card{width:265px}.hero-actions{gap:8px}.button{padding:13px 12px;font-size:10px}.button .button-tail{margin-left:3px}.about-layout{gap:40px}.mini-card{padding:20px 16px 0}.stack-card{padding:20px 16px}.stack-label{font-size:6px;letter-spacing:0}.header nav{padding-left:0}.game-card{min-height:450px}.section-side{font-size:6px}.game-content h3{font-size:36px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.header{height:76px;width:calc(100% - 40px)}.header .logo{font-size:21px}.logo-icon{height:28px;width:28px;font-size:24px}.header nav{gap:21px;font-size:10px}.nav-contact{display:none}.header-right{gap:0}.hero{min-height:0}.hero-grid{padding:70px 0 60px;grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{position:relative;z-index:1}.hero-kicker{font-size:8px}h1{font-size:110px;margin:27px 0 24px}.hero-subtitle{font-size:28px}.hero-description{font-size:12px}.hero-actions{gap:12px;margin-top:28px}.button{font-size:11px;padding:14px 16px}.hero-languages{margin-top:30px}.profile-card{width:280px;justify-self:end;margin:80px 15px 0 0;transform:rotate(3deg)}.singularity{width:650px;height:560px;top:360px;left:calc(50% - 310px);opacity:.95}.orbital-label{top:85%;right:21%}.hero-bottom{padding-bottom:25px}.hero-bottom-note{font-size:6px;gap:9px}.hero-bottom-note>span:first-child{display:none}.hero-bottom-note .tiny-cross{display:none}.scroll-invite{font-size:7px}.ticker{height:64px}.ticker-track{gap:35px;padding-left:35px}.ticker span{font-size:23px}.ticker i{font-size:24px}.section{padding-block:72px}.section-heading{padding-bottom:30px}.section-side{display:none}.eyebrow{font-size:8px;gap:8px;letter-spacing:.07em}h2{font-size:43px;letter-spacing:-2px}.about-layout{grid-template-columns:1fr;gap:38px}.about-copy p{max-width:480px}.about-bento{max-width:none}.mini-card{min-height:255px;padding:22px}.code-sample{margin-top:19px}.section-intro{display:block;margin-bottom:30px}.section-intro>p{margin:18px 0 0;font-size:12px}.stack-grid{grid-template-columns:1fr 1fr;gap:10px}.stack-card{padding:21px 17px}.stack-card p{font-size:11px;min-height:61px}.stack-label{font-size:6px;letter-spacing:0}.toolkit-footer{display:block;font-size:7px}.tool-pills{margin-top:15px;flex-wrap:wrap}.game-grid{grid-template-columns:1fr;gap:18px}.game-card{min-height:470px}.game-content h3{font-size:42px}.game-content p{max-width:300px}.games-footnote{font-size:6px;gap:20px;line-height:1.6}.games-footnote svg{display:none}.games-footnote>span:last-child{text-align:right;display:block}.contact-section{padding:70px 0}.contact-inner h2{font-size:54px;letter-spacing:-2.6px}.contact-spark{width:23px;height:23px;right:-25px}.contact-inner>p{font-size:12px}.footer{min-height:125px;flex-wrap:wrap;padding:24px 0;gap:20px}.footer>span{order:3;width:100%;font-size:6px}.footer>div{margin-left:auto;gap:15px}.credits-toggle{font-size:8px}}
@media(max-width:380px){.header nav{gap:15px}.header .logo{font-size:19px}.logo-icon{display:none}h1{font-size:97px}.hero-subtitle{font-size:25px}.hero-actions{gap:8px}.button{padding:13px 11px;font-size:10px}.button.secondary{gap:8px}.hero-bottom-note{max-width:150px;text-align:right;line-height:1.7}.profile-card{margin-right:0}.mini-card{padding:20px 16px 0}.card-corner{right:10px;font-size:6px}.stack-label{font-size:5.5px}.stack-card{padding:18px 13px}.game-content{padding:25px}.game-content h3{font-size:38px}.contact-inner h2{font-size:47px}.contact-spark{right:-20px;width:20px}.toast{font-size:10px}}
.js:not(.motion-paused) .reveal:not(.in){opacity:0;filter:blur(7px);transform:translateY(42px) scale(.985)}
.js:not(.motion-paused) .reveal.in{opacity:1;filter:blur(0);transform:none}
/* Float the entire profile independently so pointer tilt never cancels the motion. */
.profile-float{width:292px;justify-self:center;margin-top:155px;position:relative;animation:profileFloat 5.8s ease-in-out infinite;will-change:transform}
.profile-float:before{content:"";position:absolute;inset:12% -17%;z-index:-1;border-radius:50%;background:#ae70ff2a;filter:blur(48px);animation:profileAura 5.8s ease-in-out infinite}
.profile-float .profile-card{width:100%;margin:0}
/* Keep the float on its own composited layer without repainting a live backdrop blur. */
.profile-float .profile-card{background:linear-gradient(150deg,#262031,#131119 60%);backdrop-filter:none;will-change:transform}
.profile-banner{background:linear-gradient(120deg,#82619835,#39284911),url('assets/lands-between-small.jpg') center 30%/cover}
.profile-float:before{filter:none;background:radial-gradient(ellipse,#a86bf54d 0,#a86bf518 45%,transparent 72%)}
.singularity{transition:none;will-change:auto}
.singularity>img{animation:none;filter:none}
.footer>.visit-count{display:flex;align-items:center;gap:9px;white-space:nowrap;font:8px var(--mono);letter-spacing:.08em;color:#867895}
.visit-count .visit-orb{width:6px;height:6px;border-radius:50%;background:#b89bf2;box-shadow:0 0 11px #ad83eea8}
.visit-count strong{font:600 11px var(--mono);letter-spacing:0;color:#d5c1f4;min-width:20px}
@media(max-width:760px){.footer .visit-count{order:2;margin-left:auto}.footer>div:last-child{order:1;margin-left:0}.footer>span{order:3}}
@keyframes profileFloat{0%,100%{transform:translate3d(0,4px,0) rotate(-1deg)}50%{transform:translate3d(0,-17px,0) rotate(1.2deg)}}
@keyframes profileAura{0%,100%{opacity:.45;transform:scale(.9)}50%{opacity:.85;transform:scale(1.1)}}
@media(max-width:1050px){.profile-float{width:265px}}
@media(max-width:760px){.profile-float{width:280px;justify-self:end;margin:80px 15px 0 0}}
@media(max-width:380px){.profile-float{margin-right:0}}
/* A short game-like world initialization before the profile appears. */
.loader{overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#22152f 0,#110d18 30%,#09090d 68%);isolation:isolate}
.loader:before{content:"";position:absolute;inset:-25%;z-index:-1;background:repeating-conic-gradient(from 0deg at 50% 45%,transparent 0deg 12deg,#c19afe08 14deg 15deg,transparent 17deg 30deg);animation:loaderDrift 28s linear infinite;opacity:.8}
.loader:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(transparent 50%,#0002 50%);background-size:100% 4px;opacity:.25}
.loader-top,.loader-bottom{position:absolute;left:clamp(24px,5vw,72px);right:clamp(24px,5vw,72px);display:flex;justify-content:space-between;color:#887e99;font:9px var(--mono);letter-spacing:.19em}
.loader-top{top:clamp(24px,5vw,55px)}.loader-bottom{bottom:clamp(24px,5vw,55px);font-size:8px;color:#716a7c}
.loader-bottom i{display:inline-block;width:5px;height:5px;margin-left:8px;vertical-align:middle;border-radius:50%;background:#c7abff;box-shadow:0 0 11px #c7abff;animation:signalPulse 1.3s ease-in-out infinite}
.loader-bottom button{color:#baa5d8;font:inherit;letter-spacing:inherit;border-bottom:1px solid #a48ac15e;padding:0 0 5px;cursor:pointer;transition:color .2s,border-color .2s}.loader-bottom button:hover,.loader-bottom button:focus-visible{color:#fff;border-color:#c9a9ff}.loader-bottom button span{font-size:12px;margin-left:5px}
.loader-orbit{width:174px;height:174px;margin:0 0 26px;background:radial-gradient(circle,#050407 0 29%,#170e24 35%,#08070b 47%,transparent 53%);filter:drop-shadow(0 0 27px #9b6df852)}
.loader-orbit:before,.loader-orbit:after{inset:-10px;border-color:#b899ff3d}.loader-orbit span{inset:-5px;border-top:2px solid #ddc9ff;border-right:1px solid #9d6be7;box-shadow:0 -5px 22px #b084fb55;animation-duration:3s}.loader-orbit b{font-size:52px;text-shadow:0 0 24px #aa80ff99}
.loader-title{font:700 clamp(52px,8vw,88px)/1 var(--display);letter-spacing:-.085em;color:#f1eafc;text-shadow:0 0 35px #a773ff44}.loader-title span{color:#b99af4}
.loader-subtitle{margin:15px 0 57px;color:#a69aae;font:13px var(--body);letter-spacing:.02em}
.loader-panel{width:min(420px,calc(100vw - 48px));padding:18px 20px 16px;border:1px solid #b394ed30;background:#100d16a8;box-shadow:0 14px 50px #0005,0 0 35px #a46be80c;backdrop-filter:blur(12px)}
.loader-panel-top{display:flex;justify-content:space-between;color:#c4addf;font:9px var(--mono);letter-spacing:.17em}.loader-panel-top span:last-child{color:#8c789f}
.loader-panel .load-track{width:100%;height:3px;margin:21px 0 13px;background:#ffffff16;overflow:hidden}.loader-panel .load-track i{background:linear-gradient(90deg,#8760d3,#e4cfff);box-shadow:0 0 19px #c3a1ff;transition:width .13s linear}
.loader-panel .load-info{width:100%;font-size:10px;color:#9d93a8}.loader-panel #load-number{color:#dccbf6}
.loader.ready .loader-title,.loader.ready .loader-orbit{animation:loaderFinale .62s ease both}.loader.ready .loader-panel{border-color:#b99af477;box-shadow:0 0 70px #9e69ec2e}
@keyframes loaderDrift{to{transform:rotate(360deg)}}@keyframes signalPulse{50%{opacity:.25;box-shadow:0 0 2px #c7abff}}@keyframes loaderFinale{50%{filter:brightness(1.55) drop-shadow(0 0 32px #aa78ff)}}
@media(max-width:600px){.loader-top,.loader-bottom{font-size:7px;letter-spacing:.08em}.loader-bottom span:first-child{max-width:160px;line-height:1.6}.loader-subtitle{margin-bottom:42px}.loader-orbit{width:145px;height:145px}}
