@font-face{font-family:Rajdhani;src:url(/fonts/rajdhani-latin-400.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Rajdhani;src:url(/fonts/rajdhani-latin-500.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#030609;--foreground:#e3eef9;--muted:#b0bfd1;--blue:125, 192, 255;--violet:178, 141, 255;--cyan:111, 231, 233;--ease:cubic-bezier(.22, .75, .25, 1);--ink-strong:#fff;--ink-heading:#deeeff;--ink-body:#e0eaf6;--ink-soft:#d3deea;--ink-label:#c1d3e9;--ink-eyebrow:#b5c8dc;--focus-ring:#e4f7ff;--selection-bg:#596494;--selection-ink:#fff;--glow-alpha:.4;--copy-shadow:0 2px 12px #000;--title-shadow:0 2px 14px #000;--wordmark-shadow:0 0 16px #c8dcff22;--scene-bg:radial-gradient(ellipse 80% 50% at 50% 68%, #1c4e8c38, transparent 68%), linear-gradient(180deg, #02040a 0%, #050a14 52%, #020409 100%);--scene-veil:linear-gradient(180deg, #0002086b, transparent 28%), radial-gradient(ellipse at center, transparent 42%, #00010494 100%);--scene-veil-compact:linear-gradient(#0003, #0001 40%, #000a);--glass-fill:transparent;--glass-highlight:#fff9;--reflection-opacity:.5;--divider:rgba(var(--blue), .2);--panel-fill:linear-gradient(145deg, #111020aa, #040a1299 72%);--tile-fill:linear-gradient(145deg, #131522, #070c14 80%);--tile-fill-active:#171426;--tile-border-active:#bba0f0;--tile-ink:#d3dced;--tile-ink-active:#eee5ff;--tile-shadow:#0005;--violet-ink:#c1b5d4;--violet-ink-dim:#a9afc1;--violet-ink-accent:#b9a2e1;--back-ink:#d6c8ee;--media-bg:#060b13;--game-title:#eff1ff;--game-copy:#c2cedf;--game-note:#aeb9cc;--thumb-active:#f2e9ff;--icon-filter:drop-shadow(0 0 7px #78adff38);--social-border:#8bcbd461;--social-fill:linear-gradient(130deg, #6ed5e30f, #0008);--social-glow:inset 0 0 13px #6bdfef0c;--social-icon-filter:drop-shadow(0 0 9px #74dfff55);--social-ink:#adced6;--contact-ink:#daecf1;--nav-ink:#b9c9df;--nav-line:#c3d0ff30;--nav-ink-active:#f1f5ff;--nav-line-active:#b6d8f4;--control-fill:#12151f;--control-fill-hover:#1c2233;--control-ink:#f4f7ff;--control-border:#e4f7ff59;--unavailable-ink:#ff4d4d;--lightbox-backdrop:#02040ae0;--dialog-fill:linear-gradient(160deg, #0b1620f7, #050a12fa);--dialog-shadow:#0000008c;--scrollbar-thumb:#8e73b9;--scrollbar-track:#080d18;--switch-fill:#7dc0ff0f;--switch-border:#7dc0ff38;--switch-ring:#7dc0ff;font-synthesis:none;font-family:Arial,Helvetica,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f5f5;--foreground:#16202f;--muted:#4b5a6e;--blue:46, 116, 206;--violet:126, 84, 214;--cyan:13, 146, 160;--ink-strong:#070d18;--ink-heading:#14213a;--ink-body:#1f2a3b;--ink-soft:#2c3a50;--ink-label:#34435a;--ink-eyebrow:#4a5a70;--focus-ring:#1d5fc4;--selection-bg:#c7d7f4;--selection-ink:#0b1322;--glow-alpha:.2;--copy-shadow:none;--title-shadow:0 1px 0 #fff;--wordmark-shadow:none;--scene-bg:radial-gradient(ellipse 80% 50% at 50% 68%, #78a8e433, transparent 68%), linear-gradient(180deg, #fbfbfb 0%, #f5f5f5 52%, #eceef2 100%);--scene-veil:linear-gradient(180deg, #ffffff8c, transparent 28%), radial-gradient(ellipse at center, transparent 45%, #c4cede59 100%);--scene-veil-compact:linear-gradient(#fff6, #fff2 40%, #e3e8ef99);--glass-fill:#ffffff6b;--glass-highlight:#fff;--reflection-opacity:.3;--panel-fill:linear-gradient(145deg, #ffffffd6, #f7f5fcbd 72%);--tile-fill:linear-gradient(145deg, #fff, #f1eff7 80%);--tile-fill-active:#f0eaff;--tile-border-active:#8a63d8;--tile-ink:#1f2737;--tile-ink-active:#2a1b4d;--tile-shadow:#3a2c6e29;--violet-ink:#5b4d77;--violet-ink-dim:#676d80;--violet-ink-accent:#7650c6;--back-ink:#5a3fa0;--media-bg:#e6e8ee;--game-title:#121a2c;--game-copy:#34405a;--game-note:#56627a;--thumb-active:#7650c6;--icon-filter:brightness(.3) saturate(3);--social-border:#0d92a066;--social-fill:linear-gradient(130deg, #0d92a014, #ffffffb3);--social-glow:inset 0 0 13px #0d92a00f;--social-icon-filter:brightness(.3) saturate(3);--social-ink:#2e5e66;--contact-ink:#1f3037;--nav-ink:#45546a;--nav-line:#283c6e2e;--nav-ink-active:#0f1a2c;--nav-line-active:#2e74ce;--control-fill:#fff;--control-fill-hover:#eef1f7;--control-ink:#121a2c;--control-border:#1e325a38;--unavailable-ink:#c01818;--lightbox-backdrop:#eceef2f0;--dialog-fill:linear-gradient(160deg, #fff, #f4fafb);--dialog-shadow:#1e3c502e;--scrollbar-thumb:#9d85cf;--scrollbar-track:#e9e6f2;--switch-fill:#ffffffb3;--switch-border:#1e325a29;--switch-ring:#2e74ce}*{box-sizing:border-box}html,body{background:var(--background);min-width:320px;color:var(--foreground);margin:0}body{font-size:16px}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:7px}::selection{background:var(--selection-bg);color:var(--selection-ink)}h1,h2,p{margin:0}h1,h2{font-weight:400}img{display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.universe{--pointer-x:0;--pointer-y:0;isolation:isolate;background:var(--scene-bg);height:100svh;min-height:760px;position:relative;overflow:hidden}.cosmos{z-index:-3;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.atmosphere{z-index:-2;background:var(--scene-veil);pointer-events:none;position:absolute;inset:0}.site-header{z-index:20;justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;top:5.2%;left:4.2%;right:4.2%}.wordmark{letter-spacing:.26em;text-shadow:var(--wordmark-shadow);white-space:nowrap;font-family:Rajdhani,Arial,sans-serif;font-size:24px;font-weight:500;line-height:1.4}.header-actions{align-items:center;gap:22px;display:flex}.home-link{text-transform:uppercase;letter-spacing:.16em;min-height:36px;color:var(--ink-soft);white-space:nowrap;align-items:center;gap:12px;font-family:Rajdhani,Arial,sans-serif;font-size:14px;display:flex}.home-link span{font-size:21px}.home-link:hover{color:var(--ink-strong)}.theme-switch{border:1px solid var(--switch-border);background:var(--switch-fill);border-radius:999px;align-items:center;gap:2px;min-width:0;margin:0;padding:2px;display:flex}.theme-swatch{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;margin:0;padding:0;display:grid}.theme-swatch>span{width:16px;height:16px;transition:transform .2s var(--ease), box-shadow .2s ease, opacity .2s ease;border-radius:50%}.theme-swatch-dark>span{--swatch-edge:inset 0 0 0 1px #7dc0ff80;background:radial-gradient(circle at 35% 30%,#3d68ad,#0f2347 60%,#081226)}.theme-swatch-light>span{--swatch-edge:inset 0 0 0 1px #141e3247;background:radial-gradient(circle at 35% 30%,#fff,#f5f5f5 55%,#e4e6ea)}.theme-swatch>span{box-shadow:var(--swatch-edge);opacity:.7}.theme-swatch:hover>span{opacity:1;transform:scale(1.1)}.theme-swatch[aria-pressed=true]>span{opacity:1;box-shadow:var(--swatch-edge), 0 0 0 2px var(--background), 0 0 0 3.5px var(--switch-ring)}.theme-swatch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0}.eyebrow{text-transform:uppercase;letter-spacing:.26em;color:var(--ink-eyebrow);font-family:Rajdhani,Arial,sans-serif;font-size:13px;font-weight:500;line-height:1.8}.section-heading{z-index:8;text-align:center;width:80%;animation:heading-in .6s var(--ease);transition:opacity .42s ease, transform .56s var(--ease);position:absolute;top:14%;left:50%;transform:translate(-50%)}.section-heading h1{letter-spacing:.24em;color:var(--ink-heading);text-shadow:0 0 18px rgba(var(--accent), var(--glow-alpha));outline:none;padding-left:.24em;font-family:Rajdhani,Arial,sans-serif;font-size:clamp(36px,3.1vw,52px);line-height:1.4}.section-heading>p{margin-top:9px}.tone-about{--accent:var(--blue)}.tone-projects{--accent:var(--violet)}.tone-contact{--accent:var(--cyan)}.stage{perspective:1400px;position:absolute;inset:0}.card-position{pointer-events:none;--accent:var(--blue);--yaw:18deg;--roll:3deg;z-index:3;width:20%;height:33%;transition:left .6s var(--ease), bottom .6s var(--ease), width .6s var(--ease), height .6s var(--ease), opacity .6s var(--ease);perspective:1200px;position:absolute;bottom:31%;left:27%}.card-projects{--accent:var(--violet);--yaw:17deg;z-index:4;width:24%;height:42%;bottom:27.8%;left:51%}.card-contact{--accent:var(--cyan);--yaw:18deg;height:32%;bottom:29%;left:76%}.card-float{width:100%;height:100%;animation:8s ease-in-out -2s infinite float}.card-projects .card-float{animation-delay:-4s}.card-contact .card-float{animation-delay:-1s}.card-depth{width:100%;height:100%;transform:translateX(-50%) rotateY(calc(var(--yaw) + var(--pointer-x)*2deg)) rotateX(calc(3deg - var(--pointer-y)*1.5deg)) rotateZ(var(--roll));transform-style:preserve-3d;transition:transform .7s var(--ease);position:relative}.glass-backing,.glass-face{pointer-events:auto;border-radius:11px;position:absolute;inset:0}.glass-backing{border:1px solid rgba(var(--accent), .45);box-shadow:inset 2px 0 8px rgba(var(--accent), .28), -3px 0 15px rgba(var(--accent), .1);background:0 0;transform:translate(-12px,3px)translateZ(-10px)}.glass-face{border:1px solid rgba(var(--accent), .96);background:var(--glass-fill);box-shadow:inset 3px 0 5px rgba(var(--accent), .9), inset 0 1px 3px var(--glass-highlight), inset -1px -1px 8px rgba(var(--accent), .45), 0 0 3px rgba(var(--accent), .8), -6px 1px 22px rgba(var(--accent), .2);transition:box-shadow .35s;overflow:hidden}.glass-sheen{background:linear-gradient(122deg, rgba(var(--accent), .09), transparent 27%, transparent 65%, rgba(var(--accent), .08));pointer-events:none;z-index:1;position:absolute;inset:0}.glass-face:has(.card-link:hover){box-shadow:inset 3px 0 6px rgba(var(--accent), 1), inset 0 1px 3px var(--glass-highlight), 0 0 6px rgba(var(--accent), .9), 0 0 32px rgba(var(--accent), .24)}.card-link{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:15px;width:100%;height:100%;display:flex;position:relative}.card-link h2{letter-spacing:.17em;text-shadow:0 0 14px rgba(var(--accent), var(--glow-alpha)), var(--title-shadow);padding-left:.17em;font-family:Rajdhani,Arial,sans-serif;font-size:clamp(27px,2.2vw,38px)}.card-subtitle{letter-spacing:.18em;opacity:0;text-align:center;max-width:90%;font-size:12px;transition:opacity .3s}.view-home .card-link h2{transition:transform .4s var(--ease);transform:translateY(27px)}:is(.card-link:hover .card-rule,.card-link:focus-visible .card-rule){opacity:.85;transform:scaleX(1)}:is(.card-link:hover .card-subtitle,.card-link:focus-visible .card-subtitle){opacity:1}:is(.view-home .card-link:hover h2,.view-home .card-link:focus-visible h2){transform:translateY(10px)}.enter-arrow{color:rgba(var(--accent), .8);opacity:0;font-size:21px;transition:opacity .3s;position:absolute;bottom:23px;right:24px}:is(.card-link:hover .enter-arrow,.card-link:focus-visible .enter-arrow){opacity:1}.card-link:focus-visible{outline-offset:-7px;border-radius:10px}.card-reflection{background:linear-gradient(90deg, transparent, rgba(var(--accent), .5) 4%, transparent 9%, rgba(var(--accent), .06) 50%, rgba(var(--accent), .35) 95%, transparent);filter:blur(5px);width:110%;height:70%;opacity:var(--reflection-opacity);pointer-events:none;border-radius:8px;position:absolute;top:calc(100% + 32px);left:-5%;transform:scaleY(-1)skew(-5deg);-webkit-mask-image:linear-gradient(#0000 10%,#0009);mask-image:linear-gradient(#0000 10%,#0009)}.card-position.is-active{z-index:7;--yaw:-3deg;--roll:0deg;width:44%;height:45%;bottom:25%;left:50%}.is-active .card-float{animation:none}.is-active .card-depth{transform:translate(-50%)rotateY(-3deg)rotateX(1deg)}.is-active .glass-face{background:var(--glass-fill);box-shadow:inset 4px 0 7px rgba(var(--accent), .95), inset 0 1px 4px var(--glass-highlight), inset -1px -1px 12px rgba(var(--accent), .5), 0 0 4px rgba(var(--accent), .8), -5px 2px 30px rgba(var(--accent), .23)}.card-position.side-left{--yaw:-12deg;--roll:1deg;width:16%;height:27%;bottom:30%;left:15%}.card-position.side-right{--yaw:10deg;--roll:-1deg;width:16%;height:27%;bottom:30%;left:85%}.side-left .card-rule,.side-right .card-rule{opacity:.9}.side-left .card-subtitle,.side-right .card-subtitle{opacity:1;letter-spacing:.13em;font-size:12px}.side-left .card-link h2,.side-right .card-link h2{font-size:32px}.panel-content{z-index:2;width:100%;height:100%;animation:content-in .75s var(--ease);text-shadow:var(--copy-shadow);flex-direction:column;justify-content:center;padding:clamp(24px,3.2vw,55px);display:flex;position:relative}.contact-intro{text-align:center;letter-spacing:.04em;max-width:370px;color:var(--contact-ink);align-self:center;font-size:17px;line-height:1.9}.social-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:100%;max-width:440px;margin:38px auto 0;padding:0;list-style:none;display:grid}.social-tile{-webkit-appearance:none;appearance:none;width:100%;color:inherit;font:inherit;text-align:center;text-shadow:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;margin:0;padding:6px 0;display:flex}.social-tile.is-idle{cursor:default}.social-icon{border:1px solid var(--social-border);background:var(--social-fill);width:88px;height:76px;box-shadow:var(--social-glow);transition:border-color .22s ease, box-shadow .22s ease, transform .22s var(--ease);border-radius:6px;place-items:center;display:grid}.social-icon img{filter:var(--social-icon-filter)}.social-name{letter-spacing:.12em;white-space:nowrap;margin-top:14px;padding-left:.12em;font-family:Rajdhani,Arial,sans-serif;font-size:23px}.social-action{letter-spacing:.08em;color:var(--social-ink);white-space:nowrap;margin-top:6px;font-family:Rajdhani,Arial,sans-serif;font-size:14px;line-height:18px}@media (hover:hover){a.social-tile:hover .social-icon,button.social-tile:hover .social-icon{border-color:rgba(var(--accent), .8);box-shadow:var(--social-glow), 0 0 18px rgba(var(--accent), .28);transform:translateY(-3px)}a.social-tile:hover .social-action,button.social-tile:hover .social-action{color:var(--ink-strong)}}.social-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.captcha{--accent:var(--cyan);border:1px solid rgba(var(--accent), .65);background:var(--dialog-fill);width:min(400px,100vw - 32px);max-height:calc(100svh - 32px);color:var(--foreground);text-align:center;text-shadow:none;box-shadow:inset 3px 0 6px rgba(var(--accent), .45), 0 0 3px rgba(var(--accent), .7), 0 24px 70px var(--dialog-shadow);border-radius:12px;margin:auto;padding:30px 26px 22px;overflow:auto}.captcha[open]{animation:captcha-in .32s var(--ease)}.captcha::backdrop{background:var(--lightbox-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.captcha form{margin:0;position:absolute;top:8px;right:8px}.captcha-close{width:36px;height:36px;color:var(--ink-eyebrow);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;margin:0;padding:0;font-size:1.5rem;line-height:1;display:grid}.captcha-close:hover{border-color:rgba(var(--accent), .35);color:var(--ink-strong)}.captcha-shape{width:128px;height:128px;margin:0 auto 14px;display:block;overflow:visible}.captcha-shape polygon{fill:rgba(var(--accent), .08);stroke:rgb(var(--accent));stroke-width:1.1px;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(var(--accent), .7))}.captcha h2{letter-spacing:.06em;color:var(--ink-heading);font-family:Rajdhani,Arial,sans-serif;font-size:24px;font-weight:500}.captcha-note{color:var(--ink-eyebrow);margin-top:8px;font-size:12px;line-height:1.5}.captcha-note code{font-family:ui-monospace,Consolas,Courier New,monospace}.captcha-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.captcha-choice{-webkit-appearance:none;appearance:none;border:1px solid rgba(var(--accent), .25);background:rgba(var(--accent), .05);min-width:0;color:var(--ink-soft);letter-spacing:.06em;cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:8px;margin:0;padding:14px 4px 12px;font-family:Rajdhani,Arial,sans-serif;font-size:15px;font-weight:500;transition:border-color .2s,box-shadow .2s,color .2s;display:flex}.captcha-choice svg{width:26px;height:26px;overflow:visible}.captcha-choice polygon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round}@media (hover:hover){.captcha-choice:hover{border-color:rgba(var(--accent), .75);box-shadow:0 0 14px rgba(var(--accent), .2);color:var(--ink-strong)}}.captcha-choice.is-wrong{border-color:var(--unavailable-ink);color:var(--unavailable-ink)}:is(.captcha-close:focus-visible,.captcha-choice:focus-visible,.captcha-copy:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.captcha-feedback{min-height:1.5em;color:var(--unavailable-ink);margin-top:14px;font-size:14px;line-height:1.5;display:block}.captcha-feedback span{animation:captcha-shake .42s var(--ease);display:inline-block}.captcha-result{border:1px solid rgba(var(--accent), .3);background:rgba(var(--accent), .06);animation:game-reveal .3s var(--ease);border-radius:8px;justify-items:center;gap:6px;margin-top:20px;padding:16px;display:grid}.captcha-id{letter-spacing:.1em;color:var(--ink-heading);text-shadow:0 0 14px rgba(var(--accent), var(--glow-alpha));-webkit-user-select:all;user-select:all;font-family:Rajdhani,Arial,sans-serif;font-size:30px;font-weight:500}.captcha-copy{border:1px solid var(--control-border);background:var(--control-fill);min-height:36px;color:var(--control-ink);letter-spacing:.08em;cursor:pointer;border-radius:4px;margin:6px 0 0;padding:0 14px;font-family:Rajdhani,Arial,sans-serif;font-size:.875rem}.captcha-copy:hover{background:var(--control-fill-hover)}@keyframes captcha-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes captcha-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.scene-footer{pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:4.4%;left:4.2%;right:4.2%}.scene-footer span{letter-spacing:.28em;text-transform:uppercase;color:var(--ink-eyebrow);font-family:Rajdhani,Arial,sans-serif;font-size:12px;font-weight:500}.mobile-nav{display:none}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes heading-in{0%{opacity:0;translate:0 -6px}to{opacity:1;translate:0}}@keyframes content-in{0%,25%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes game-reveal{0%{opacity:0}to{opacity:1}}@media (min-width:900px) and (max-height:800px){.universe{min-height:760px}.section-heading{top:12%}.card-position.is-active{height:48%;bottom:23%}.panel-content{padding:28px 35px}}@media (min-width:1800px){.card-position{width:18%;left:28%}.card-projects{width:22%;left:50%}.card-contact{left:74%}.panel-content{padding:55px}}@media (max-width:899px){.universe{height:auto;min-height:100svh;padding:110px 24px 70px;overflow:hidden}.cosmos,.atmosphere{position:fixed}.atmosphere{background:var(--scene-veil-compact)}.site-header{position:absolute;top:28px;left:24px;right:24px}.wordmark{letter-spacing:.18em;font-size:21px}.header-actions{gap:14px}.home-link{gap:7px;min-height:44px;font-size:13px}.theme-swatch{width:32px;height:32px}.stage{perspective:none;flex-direction:column;align-items:center;gap:38px;display:flex;position:relative;inset:auto}.card-position,.card-projects,.card-contact{perspective:1000px;--yaw:-7deg;--roll:0deg;width:min(100%,420px);height:260px;position:relative;bottom:auto;left:auto}.card-projects{height:300px}.card-depth{transform:rotateY(-7deg)rotateX(2deg)}.card-float{animation:none}.card-link h2{font-size:36px}.view-home .card-link h2{transform:translateY(21px)}.card-reflection{display:none}.glass-backing{transform:translate(-7px,2px)translateZ(-6px)}.card-position.is-active{order:0;width:min(100%,650px);height:auto;min-height:385px;bottom:auto;left:auto}.is-active .card-depth{min-height:inherit;transform:none}.is-active .glass-face{min-height:inherit;position:relative}.is-active .glass-backing{transform:translate(-6px,3px)}.card-position.side-left,.card-position.side-right{display:none}.section-heading{width:100%;margin:0 auto 30px;position:relative;top:auto;left:auto;transform:none}.section-heading h1{font-size:40px}.section-heading .eyebrow{font-size:12px}.panel-content{min-height:385px;padding:35px 30px}.scene-footer{justify-content:center;margin-top:40px;position:relative;bottom:auto;left:auto;right:auto}.scene-footer span:last-child{display:none}.scene-footer span{letter-spacing:.18em;font-size:12px}.view-home .scene-footer{display:none}.mobile-nav{justify-content:center;gap:8px;margin-top:28px;display:flex}.mobile-nav a{letter-spacing:.08em;border-bottom:1px solid var(--nav-line);min-height:44px;color:var(--nav-ink);align-items:center;padding:13px 17px;font-family:Rajdhani,Arial,sans-serif;font-size:16px;display:inline-flex}.mobile-nav a[aria-current]{color:var(--nav-ink-active);border-color:var(--nav-line-active)}.social-grid{gap:30px;margin-top:34px}}@media (max-width:480px){.universe{padding:100px 18px 32px}.view-home{padding-top:116px}.site-header{top:26px;left:20px;right:16px}.stage{gap:30px}.card-position{width:100%;height:240px}.card-projects{height:280px}.card-link h2{font-size:34px}.section-heading{margin-bottom:26px}.panel-content{padding:28px 20px}.contact-intro{font-size:16px}.social-grid{gap:12px}.social-icon{width:74px;height:66px}.social-name{letter-spacing:.08em;margin-top:12px;padding-left:.08em;font-size:19px}.social-action{letter-spacing:.04em;font-size:13px}.captcha{padding:28px 18px 18px}.captcha-shape{width:108px;height:108px}.captcha h2{font-size:21px}.section-heading h1{font-size:36px}.scene-footer{margin-top:28px}.mobile-nav{gap:4px;margin-top:24px}.mobile-nav a{padding-inline:14px}.home-link{letter-spacing:.04em}}@media (max-width:359px){.wordmark{letter-spacing:.12em;font-size:18px}.header-actions{gap:8px}.theme-swatch{width:28px;height:28px}.social-icon{width:64px;height:58px}.social-name{letter-spacing:.04em;padding-left:.04em;font-size:16px}.section-heading h1{font-size:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.card-depth{transform:translateX(-50%) rotateY(var(--yaw)) rotateX(3deg) rotateZ(var(--roll))}.is-active .card-depth{transform:translate(-50%)rotateY(-3deg)}.card-link h2{transform:none!important}@media (max-width:899px){.card-depth{transform:rotateY(-7deg)}.is-active .card-depth{transform:none}}}.card-position:hover .card-float,.card-position:focus-within .card-float{animation-play-state:paused}.panel-about{--cols:4;--tile-gap:10px}.about-copy{max-width:36rem;text-shadow:var(--copy-shadow);gap:12px;display:grid}.about-copy:before{content:"";background:rgba(var(--accent), .9);width:28px;height:2px;box-shadow:0 0 10px rgba(var(--accent), .7);border-radius:2px;justify-self:start;margin-bottom:4px}.about-lead{letter-spacing:.02em;color:var(--ink-heading);font-family:Rajdhani,Arial,sans-serif;font-size:clamp(19px,1.45vw,25px);font-weight:500;line-height:1.4}.about-body{letter-spacing:.02em;color:var(--ink-label);font-size:clamp(15px,1vw,17px);line-height:1.75}.panel-about hr{background:linear-gradient(90deg, transparent, rgba(var(--accent), .4) 20%, rgba(var(--accent), .4) 80%, transparent);border:0;width:100%;height:1px;margin:22px 0}.tech-grid{justify-content:center;gap:12px var(--tile-gap);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tech-grid li{flex:0 0 calc((100% - (var(--cols) - 1) * var(--tile-gap)) / var(--cols));min-width:0;animation:tool-in .52s var(--ease) both;animation-delay:calc(.24s + var(--i,0) * 28ms);flex-direction:column;align-items:center;gap:6px;display:flex}.tech-icon{border:1px solid rgba(var(--accent), .2);background:linear-gradient(150deg, rgba(var(--accent), .09), rgba(var(--accent), .015) 70%);width:100%;max-width:76px;height:40px;transition:border-color .22s ease, box-shadow .22s ease, transform .22s var(--ease);border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.tech-icon img{object-fit:contain;width:22px;height:22px;filter:var(--icon-filter)}.tech-icon img[src$=phaser\.svg]{filter:none;width:112%;max-width:none;height:auto;position:absolute;top:50%;left:50%;transform:translate(-58%,-36.5%)}:root[data-theme=light] .tech-icon img[src$=phaser\.svg]{filter:var(--icon-filter)}:root[data-theme=light] .tech-icon img[src$=rapier\.svg],:root[data-theme=light] .tech-icon img[src$=playwright\.svg]{filter:none}.tech-name{letter-spacing:.01em;color:var(--ink-label);white-space:nowrap;font-family:Rajdhani,Arial,sans-serif;font-size:13px;font-weight:500;line-height:1.2;transition:color .22s}@media (hover:hover){.tech-grid li:hover .tech-icon{border-color:rgba(var(--accent), .65);box-shadow:0 0 16px rgba(var(--accent), .25), inset 0 0 12px rgba(var(--accent), .12);transform:translateY(-2px)}.tech-grid li:hover .tech-name{color:var(--ink-strong)}}@keyframes tool-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (min-width:1200px){.card-about.is-active{width:50%}.panel-about{grid-template-columns:minmax(0,1.15fr) 1px minmax(16.5rem,1fr);align-items:center;column-gap:clamp(28px,3vw,52px);display:grid}.panel-about hr{background:linear-gradient(180deg, transparent, rgba(var(--accent), .4) 20%, rgba(var(--accent), .4) 80%, transparent);align-self:stretch;width:1px;height:auto;margin:0}.panel-about .tech-grid{justify-self:center;width:100%;max-width:24rem}}@media (min-width:900px) and (max-width:1199px){.card-about.is-active{width:52%;height:60%;bottom:14%}.panel-about{--cols:6}.panel-about hr{margin:18px 0}}@media (max-width:899px){.panel-about{--cols:8}}@media (max-width:639px){.panel-about{--cols:6}}@media (max-width:479px){.panel-about{--cols:4}.tech-grid{row-gap:14px}}@media (max-width:359px){.tech-name{letter-spacing:0;font-size:12px}}.card-projects.is-active{perspective:none;width:min(100%,520px);height:auto;min-height:0;transition:width .42s var(--ease);margin-inline:auto;position:relative;bottom:auto;left:auto}.card-projects.is-active.is-inspecting{width:min(100%,1040px)}.card-projects.is-active .card-depth{transform-style:flat;transform:none}.card-projects.is-active .glass-backing{pointer-events:none;opacity:.6;transform:translate(-5px,3px)}.card-projects.is-active .glass-face{background:var(--panel-fill);border-color:rgba(var(--accent), .7);min-height:0;box-shadow:inset 1px 0 4px rgba(var(--accent), .3), 0 0 2px rgba(var(--accent), .7), 0 0 24px rgba(var(--accent), .1);position:relative;overflow:visible}.card-projects.is-active .panel-projects{justify-content:flex-start;height:auto;min-height:0;padding:24px}.card-projects.is-active .card-reflection{height:160px;opacity:calc(var(--reflection-opacity) / 2)}.game-list{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;display:grid}.game-list.is-open{grid-template-columns:minmax(200px,1fr) minmax(0,2fr)}.game-catalog,.game-detail{min-width:0}.game-zone-bar{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.game-zone-label{color:var(--violet-ink);letter-spacing:.18em;font-size:.875rem}.game-count,.game-index{font-variant-numeric:tabular-nums;letter-spacing:.12em;color:var(--violet-ink);font-family:Rajdhani,Arial,sans-serif;font-size:.875rem}.game-index span{color:var(--violet-ink-dim)}.game-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.game-pick{-webkit-appearance:none;appearance:none;cursor:pointer;aspect-ratio:1;width:100%;min-width:0;color:inherit;text-align:left;border:1px solid rgba(var(--accent), .22);background:var(--tile-fill);transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s var(--ease);border-radius:6px;grid-template-rows:minmax(0,1fr) auto;margin:0;padding:0;display:grid;position:relative}.game-pick-art{min-width:0;min-height:0;padding:8px 8px 0;display:grid}.game-pick-frame{border-radius:2px;height:100%;min-height:0;display:block;position:relative;overflow:hidden;container-type:inline-size}.game-pick img{object-fit:contain;opacity:.9;border-radius:2px;width:100%;height:100%;min-height:0;transition:opacity .2s}.game-pick-caption{letter-spacing:.04em;min-height:44px;color:var(--tile-ink);justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;font-family:Rajdhani,Arial,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25;display:flex}.game-pick-caption>span:first-child{overflow-wrap:anywhere;min-width:0}.game-pick-indicator{color:var(--violet-ink-accent);flex:none;font-size:1.125rem}.game-pick.is-placeholder img{opacity:.72}.game-pick[aria-pressed=true]{border-color:var(--tile-border-active);background:var(--tile-fill-active);box-shadow:0 0 0 1px rgba(var(--violet), .15), 0 5px 24px var(--tile-shadow)}.game-pick[aria-pressed=true] .game-pick-caption{color:var(--tile-ink-active)}@media (hover:hover){.game-pick:hover{border-color:rgba(var(--accent), .7);box-shadow:0 8px 24px var(--tile-shadow);transform:translateY(-3px)}.game-pick:hover img{opacity:1}}.game-pick[aria-pressed=true] img{opacity:1}:is(.game-pick:focus-visible,.game-close:focus-visible){outline:2px solid var(--focus-ring);outline-offset:4px}.game-detail{border-left:1px solid rgba(var(--accent), .18);padding-left:28px;scroll-margin-top:24px}.game-close{-webkit-appearance:none;appearance:none;cursor:pointer;min-height:44px;color:var(--back-ink);letter-spacing:.04em;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:10px;margin:0;padding:0 8px;font-family:Rajdhani,Arial,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.3;transition:background-color .2s,color .2s;display:inline-flex}.game-close>span{font-size:1.125rem}.game-close:hover{background:rgba(var(--accent), .09);color:var(--ink-strong)}.game-card{min-width:0;animation:game-reveal .3s var(--ease);gap:20px;margin-top:16px;display:grid}.game-card-text{align-content:start;gap:14px;min-height:8rem;display:grid}.game-cover{aspect-ratio:16/9;object-fit:contain;background:var(--media-bg);border:1px solid rgba(var(--accent), .2);border-radius:4px;width:100%;height:auto}.game-copy{gap:8px;display:grid}.game-copy h2{letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere;color:var(--game-title);outline:none;font-family:Rajdhani,Arial,sans-serif;font-size:clamp(1.5rem,2.1vw,2rem);font-weight:500;line-height:1.2}.game-copy p{color:var(--game-copy);font-size:1rem;line-height:1.65}.game-preview-note{border-top:1px solid rgba(var(--accent), .14);color:var(--game-note);letter-spacing:.04em;padding-top:14px;font-family:Rajdhani,Arial,sans-serif;font-size:.875rem}.game-media{--stage-ratio:1.7778;--stage-max-height:24rem;gap:8px;width:100%;min-width:0;display:grid}.game-stage{width:min(100%, calc(var(--stage-max-height) * var(--stage-ratio)));aspect-ratio:var(--stage-ratio);border-radius:4px;justify-self:center;min-width:0;position:relative;overflow:hidden;container-type:inline-size}.game-stage-open{border:1px solid rgba(var(--accent), .28);background:var(--media-bg);cursor:zoom-in;border-radius:4px;width:100%;height:100%;margin:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.game-stage-open img{object-fit:contain;width:100%;height:100%}.cancelled-ribbon{z-index:2;color:#fff;letter-spacing:.18em;text-align:center;text-transform:uppercase;white-space:nowrap;pointer-events:none;background:#c8102e;border-block:.08em solid #fff;width:150%;margin:0;padding:.12em 0 .16em .18em;font-family:Rajdhani,Arial,sans-serif;font-size:14cqi;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-18deg);box-shadow:0 12px 28px #00000080}.game-actions{z-index:3;gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.game-play{letter-spacing:.14em;text-transform:uppercase;min-height:44px;text-shadow:none;transition:transform .18s var(--ease), box-shadow .18s ease, filter .18s ease;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:0 18px 0 14px;font-family:Rajdhani,Arial,sans-serif;font-size:1.0625rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex;box-shadow:0 6px 18px #0006}.game-play-icon{fill:currentColor;flex:none;width:18px;height:18px}.game-play.is-play{color:#fff;background:linear-gradient(135deg,#7446e0,#4163d9);border-color:#ffffff59;box-shadow:0 6px 18px #0006,0 0 18px #7c54f08c,inset 0 1px #ffffff4d}.game-play.is-video{color:#10172a;background:#f5f8ff;border-color:#ffffffe6}.game-play.is-video .game-play-glyph{fill:#f5f8ff}@media (hover:hover){.game-play:not(.is-unavailable):hover{filter:brightness(1.08);transform:translateY(-2px)}.game-play.is-play:hover{box-shadow:0 8px 22px #00000073,0 0 26px #7c54f0bf,inset 0 1px #ffffff59}}.game-play.is-unavailable,.game-play.is-unavailable:disabled{color:#ff6b6b;opacity:1;cursor:not-allowed;background:#18080ce6;border-color:#ff5a5a8c;-webkit-text-decoration:line-through #ff4040;text-decoration:line-through #ff4040;text-decoration-thickness:2px;box-shadow:0 6px 18px #0006}.game-play.is-unavailable .game-play-icon{opacity:.6}.game-play.is-unavailable .game-play-glyph{fill:#18080ce6}.game-thumbs{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.game-thumbs button{aspect-ratio:16/9;border:1px solid rgba(var(--accent), .22);background:var(--media-bg);cursor:pointer;border-radius:4px;width:100%;margin:0;padding:0;display:block;overflow:hidden}.game-thumbs img{object-fit:contain;opacity:.82;width:100%;height:100%;display:block}.game-thumbs button:hover img,.game-thumbs button[aria-pressed=true] img{opacity:1}.game-thumbs button[aria-pressed=true]{border-color:var(--thumb-active);box-shadow:0 0 0 1px var(--thumb-active)}.game-stage-open:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-4px}.game-thumbs button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.game-play:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.shot-lightbox-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.shot-nav:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.shot-lightbox{background:0 0;border:0;justify-items:end;width:min(1100px,100vw - 32px);max-height:calc(100svh - 32px);margin:auto;padding:0;overflow:visible}.shot-lightbox[open]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.shot-lightbox form{justify-content:flex-end;margin:0;display:flex}.shot-lightbox-view{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;display:grid}.shot-lightbox-view.is-single{grid-template-columns:minmax(0,1fr)}.shot-lightbox-view.is-single img{grid-column:1}.shot-nav{-webkit-appearance:none;appearance:none;border:1px solid var(--control-border);background:var(--control-fill);width:44px;height:44px;color:var(--control-ink);cursor:pointer;border-radius:4px;place-items:center;margin:0;padding:0;font-size:1.5rem;line-height:1;display:grid}.shot-nav:hover{background:var(--control-fill-hover);color:var(--ink-strong)}.shot-nav-prev{grid-column:1}.shot-nav-next{grid-column:3}.shot-lightbox::backdrop{background:var(--lightbox-backdrop)}.shot-lightbox img{object-fit:contain;background:var(--media-bg);border:1px solid rgba(var(--violet), .35);border-radius:4px;grid-column:2;place-self:center;width:auto;max-width:100%;height:auto;max-height:calc(100svh - 72px)}.shot-lightbox-close{border:1px solid var(--control-border);background:var(--control-fill);min-height:36px;color:var(--control-ink);letter-spacing:.08em;cursor:pointer;border-radius:4px;margin:0;padding:0 12px;font-family:Rajdhani,Arial,sans-serif;font-size:.875rem}.shot-lightbox-close:hover{background:var(--control-fill-hover)}@media (max-width:599px){.shot-lightbox-view{grid-template-columns:1fr 1fr;row-gap:10px}.shot-lightbox img{grid-area:1/1/auto/-1;max-height:calc(100svh - 140px)}.shot-nav{grid-row:2}.shot-nav-prev{grid-column:1;justify-self:end}.shot-nav-next{grid-column:2;justify-self:start}}@media (min-width:900px){.universe.view-projects{--scene-height:max(100svh, 760px);--panel-top:calc(var(--scene-height) * .3);--panel-height:calc(var(--scene-height) * .45);--panel-bottom:calc(var(--scene-height) * .25);height:auto;min-height:var(--scene-height);padding:var(--panel-top) 0 var(--panel-bottom)}.universe.view-projects.is-inspecting{padding-bottom:max(48px,5svh)}.view-projects .site-header{top:calc(var(--scene-height) * .052)}.view-projects .section-heading{top:calc(var(--scene-height) * .14)}.view-projects .stage{perspective:1400px;position:relative;inset:auto}.view-projects .card-projects.is-active{width:44%}.view-projects .card-projects.is-active .panel-projects{min-height:calc(var(--panel-height) - 2px);justify-content:center}.view-projects .game-list:not(.is-open) .game-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.view-projects .card-projects.is-inspecting{width:min(68vw,1040px)}.view-projects .card-position.side-left,.view-projects .card-position.side-right{top:calc(var(--scene-height) * .43 - var(--panel-top));height:calc(var(--scene-height) * .27);bottom:auto}.view-projects.is-inspecting .side-left{opacity:.55;width:12%;left:8%}.view-projects.is-inspecting .side-right{opacity:.55;width:12%;left:92%}.view-projects.is-inspecting .card-link h2{font-size:clamp(22px,1.9vw,32px)}}@media (min-width:900px) and (max-height:800px){.universe.view-projects{--panel-top:calc(var(--scene-height) * .29);--panel-height:calc(var(--scene-height) * .48);--panel-bottom:calc(var(--scene-height) * .23)}.view-projects .section-heading{top:calc(var(--scene-height) * .12)}}@media (min-width:900px) and (max-width:1199px){.view-projects .card-projects.is-active{width:52%}.view-projects .card-projects.is-inspecting{width:70vw}.game-list.is-open{grid-template-columns:minmax(160px,1fr) minmax(0,2fr);gap:20px}.game-detail{padding-left:20px}.game-pick-caption{padding-inline:8px}.game-list.is-open .game-pick-indicator{display:none}}@media (max-width:899px){.card-projects.is-active.is-inspecting{max-width:650px}.game-list.is-open{grid-template-columns:minmax(0,1fr);gap:24px}.game-detail{border-left:0;padding-left:0}.game-list.is-open .game-catalog{border-top:1px solid rgba(var(--accent), .18);order:2;padding-top:16px}.game-list.is-open .game-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.game-list.is-open .game-pick-caption{padding:8px}.game-list.is-open .game-pick-indicator{display:none}.game-card-text{min-height:0}.game-media{--stage-max-height:60svh}}@media (max-width:599px){.card-projects.is-active .panel-projects{padding:16px}.game-picker{gap:10px;margin-top:12px}.game-pick-caption{padding:8px}.game-list.is-open .game-picker{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);margin-inline:-4px;padding:5px 4px 10px;display:flex;overflow-x:auto}.game-list.is-open .game-pick{scroll-snap-align:start;flex:0 0 120px}.game-card{gap:16px;margin-top:12px}.game-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.game-actions{gap:6px;bottom:8px;right:8px}.game-play{letter-spacing:.1em;gap:6px;min-height:40px;padding:0 13px 0 10px;font-size:.9375rem}.game-play-icon{width:16px;height:16px}}.universe.is-loading *,.universe.is-loading :before,.universe.is-loading :after{animation-play-state:paused!important}.loader{z-index:100;background-color:var(--background);background-image:var(--scene-bg);place-items:center;transition:opacity .55s .25s,visibility 0s linear .8s;animation:.4s 20s forwards loader-failsafe;display:grid;position:fixed;inset:0}.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{transition:transform .7s var(--ease) .25s, filter .7s ease .25s;justify-items:center;display:grid}.loader.is-done .loader-inner{filter:blur(3px);transform:scale(1.06)}.loader-cards{perspective:240px;align-items:flex-end;gap:12px;margin-bottom:26px;display:flex}.loader-cards span{--accent:var(--blue);border:1px solid rgba(var(--accent), .9);background:rgba(var(--accent), .06);width:26px;height:26px;box-shadow:inset 1px 0 3px rgba(var(--accent), .6), 0 0 6px rgba(var(--accent), .35);border-radius:5px;animation:1.8s ease-in-out infinite loader-pulse;transform:rotateY(18deg)rotate(3deg)}.loader-cards span:nth-child(2){--accent:var(--violet);width:32px;height:34px;animation-delay:.22s}.loader-cards span:nth-child(3){--accent:var(--cyan);animation-delay:.44s}.loader-mark{letter-spacing:.34em;color:var(--ink-heading);text-shadow:var(--wordmark-shadow);padding-left:.34em;font-family:Rajdhani,Arial,sans-serif;font-size:20px;font-weight:500}.loader-track{background:rgba(var(--blue), .16);border-radius:2px;width:200px;height:2px;margin-top:20px;position:relative;overflow:hidden}.loader-track span{border-radius:inherit;background:linear-gradient(90deg, rgb(var(--blue)), rgb(var(--violet)), rgb(var(--cyan)));box-shadow:0 0 10px rgba(var(--violet), .7);transform:scaleX(var(--progress,0));transform-origin:0;transition:transform .45s var(--ease);position:absolute;inset:0}.loader-track:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:40%;animation:1.4s ease-in-out infinite loader-glint;position:absolute;inset:0}.loader-count{font-variant-numeric:tabular-nums;letter-spacing:.26em;color:var(--ink-eyebrow);margin-top:12px;padding-left:.26em;font-family:Rajdhani,Arial,sans-serif;font-size:13px;font-weight:500}@keyframes loader-pulse{0%,to{opacity:.45;translate:0}40%{opacity:1;box-shadow:inset 1px 0 4px rgba(var(--accent), .9), 0 0 16px rgba(var(--accent), .6);translate:0 -5px}}@keyframes loader-glint{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes loader-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}@media (prefers-reduced-motion:reduce){.loader{animation:0s linear 20s forwards loader-failsafe!important}}
