@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-400-normal-Byf51wtH.woff2)format("woff2"),url(/assets/anton-latin-400-normal-AUNGEG_V.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{color:#f5f6f4;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--blue:#a9bbf9;--mono:"IBM Plex Mono", monospace;--frame-inset:clamp(24px, 2vw, 36px);--gutter:5px;--gutter-double:10px;background:#080a0c;font-family:Space Grotesk Variable,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:300px;cursor:var(--cursor-arrow,auto);background:#080a0c;margin:0}a,button,[role=button]{cursor:var(--cursor-link,pointer)}p,li,h1,h2,h3,input,textarea,[contenteditable=true]{cursor:var(--cursor-text,text)}a *,button *,[role=button] *{cursor:inherit}@media (hover:hover) and (pointer:fine) and (forced-colors:none){:root{--cursor-arrow:url(/cursors/arrow.cur) 5 10, default;--cursor-link:url(/cursors/link.cur) 11 7, pointer;--cursor-text:url(/cursors/text.cur) 16 15, text}}a{color:inherit;text-decoration:none}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:-4px;outline:2px solid #d4e0ff}::selection{color:#080a0c;background:#c7d4ff}.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}.skip-link{z-index:100;color:#111;background:#fff;padding:12px 16px;position:fixed;top:10px;left:10px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.scroll-track{position:relative}.scene-anchor{pointer-events:none;width:1px;height:1px;position:absolute;left:0}.stage{isolation:isolate;background:#090b0e;width:100%;height:100svh;position:sticky;top:0;overflow:hidden}.stage-texture{z-index:-3;background:radial-gradient(at 51% 45%,#171c23 0%,#0c0f13 43%,#080a0c 85%);position:absolute;inset:0}.ambient-light{z-index:-2;pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(at 50% 45%,#000 22%,#0000 78%);mask-image:radial-gradient(at 50% 45%,#000 22%,#0000 78%)}.ambient-caustic{filter:blur(20px);will-change:transform;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;animation-play-state:var(--ambient-play-state,running);display:block;position:absolute;inset:-25%}.ambient-caustic--silver{background:radial-gradient(at 43% 51%,#0000 28%,#d0e3f530 33%,#e3f1ff61 35%,#0000 41%),radial-gradient(at 61% 45%,#0000 22%,#b1d1f02e 28%,#0000 36%);animation-name:caustic-silver;animation-duration:24s}.ambient-caustic--blue{background:radial-gradient(at 55% 48%,#0000 21%,#7ba4e13d 28%,#0000 36%),radial-gradient(at 37% 58%,#87a9de26,#0000 38%);animation-name:caustic-blue;animation-duration:29s;animation-delay:-9s}@keyframes caustic-silver{0%{transform:translate(-6%,2%)rotate(-16deg)scale(1.02,.82)}to{transform:translate(7%,-4%)rotate(13deg)scale(.92,1.1)}}@keyframes caustic-blue{0%{transform:translate(6%,-5%)rotate(19deg)scale(.9,1.08)}to{transform:translate(-6%,4%)rotate(-12deg)scale(1.12,.88)}}@media (forced-colors:active){.ambient-light{display:none}}.flower-wrap{z-index:-1;pointer-events:none;transform-origin:50% 55%;width:min(53vw,690px);height:108%;margin-left:max(-26.5vw,-345px);position:absolute;top:-3%;left:50%}.flower-wrap img{object-fit:contain;width:100%;height:100%;position:absolute}.flower-glow{opacity:.66;filter:blur(20px)brightness(1.65)saturate(.45)}.flower-image{filter:saturate(.94)contrast(1.06)drop-shadow(0 0 13px #dbe9ff8c)}.accessible-nav{z-index:20;background:#11171c;border:1px solid #77828c;border-radius:10px;flex-wrap:wrap;gap:6px;padding:7px;display:flex;position:absolute;top:12px;left:12px}.accessible-nav:not(:focus-within){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden}.accessible-nav a{color:#f4f6f6;border-radius:6px;padding:9px 12px;font-size:14px}.accessible-nav a[aria-current]{background:#313b50}.bento-viewport{inset:var(--frame-inset);z-index:1;position:absolute;overflow:clip}.bento-grid{will-change:transform;width:100%;position:relative}.bento-cell{border:1px solid rgba(219, 229, 237, var(--glass-border-alpha,.16));background:linear-gradient(145deg, rgba(29, 35, 41, var(--glass-top-alpha,.86)), rgba(15, 20, 24, var(--glass-bottom-alpha,.83)));min-width:0;min-height:0;-webkit-backdrop-filter:blur(var(--glass-blur,7px));backdrop-filter:blur(var(--glass-blur,7px));opacity:var(--clearance,1);border-radius:18px;transition:opacity .22s,border-color .45s;position:absolute;overflow:hidden;box-shadow:inset 0 1px #ffffff09,0 12px 28px #00000014}:is(.bento-cell:has(a:hover),.bento-cell:has(button:hover)){border-color:#cbdbff61}.panel-view{width:100%;height:100%;position:absolute;inset:0}.hero-title{z-index:3;text-align:center;pointer-events:none;will-change:transform, opacity;width:min(96%,1600px);position:absolute;top:49%;left:50%}.hero-title h1{color:#fbfbf8;letter-spacing:-.035em;text-shadow:0 3px 35px #0003;margin:0;font-family:Anton,Impact,sans-serif;font-size:clamp(96px,20.5vw,300px);font-weight:400;line-height:.92;display:inline-block}.hero-title p{color:#f4f6f5;width:fit-content;font:11px var(--mono);letter-spacing:.12em;white-space:nowrap;justify-content:center;align-items:center;gap:13px;margin:18px auto 0;display:flex}.hero-title p span[aria-hidden]{color:#a6b5cc}.glass-object{z-index:4;pointer-events:none;will-change:transform, opacity;width:clamp(150px,18vw,270px);height:clamp(260px,28vw,410px);position:absolute;top:calc(49% - clamp(240px,28vw,400px));left:70%}.bottle-renderer,.bottle-canvas,.bottle-fallback{width:100%;height:100%;display:block}.bottle-canvas{background:0 0}.info-card{flex-direction:column;justify-content:space-between;gap:18px;width:100%;height:100%;padding:clamp(22px,3vw,48px);display:flex}.info-card h2{letter-spacing:-.06em;margin:0;font-size:clamp(29px,3.8vw,58px);font-weight:500;line-height:1}.info-card p,.info-card li{color:#d0d6d8;margin:0;font-size:clamp(15px,1.4vw,20px);line-height:1.42}.info-card p+p{margin-top:.75em}.info-card a{color:#c1d0ff;margin-top:16px;font-size:clamp(13px,1.1vw,16px);display:inline-block}.info-card a:hover{color:#fff}.about-card{background:radial-gradient(at 100% 100%,#718ed91a,#0000 58%)}.achievements-card ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.achievements-card li strong{color:#eef2ff;font-weight:600}.languages-card p,.community-card p{max-width:300px}.project-card{background:#11161b;width:100%;height:100%;position:relative;overflow:hidden}.project-main{text-align:left;width:100%;height:100%;cursor:var(--cursor-link,pointer);background:#11161b;border:0;padding:0;position:absolute;inset:0;overflow:hidden}.project-main img{object-fit:cover;width:100%;height:100%;transition:transform .75s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.project-card:hover .project-main img,.project-card:focus-within .project-main img{transform:scale(1.035)}.project-shade{background:linear-gradient(#05080c08 0%,#05080c1a 44%,#05080cbd 78%,#05080cf7 100%);position:absolute;inset:0}.project-copy{flex-direction:column;gap:8px;display:flex;position:absolute;bottom:clamp(54px,6vw,74px);left:clamp(18px,2.7vw,40px);right:clamp(18px,2.7vw,40px)}.project-title{color:#fff;letter-spacing:-.055em;font-size:clamp(24px,3.4vw,50px);font-weight:600;line-height:1}.project-summary{color:#e4e8eb;font-size:clamp(13px,1.2vw,17px);line-height:1.3;transition:opacity .25s}.project-actions{z-index:2;flex-wrap:wrap;align-items:center;gap:clamp(14px,2vw,26px);transition:opacity .25s;display:flex;position:absolute;bottom:clamp(18px,2.4vw,30px);left:clamp(18px,2.7vw,40px);right:clamp(18px,2.7vw,40px)}.project-actions a,.project-actions button{color:#e2e9ff;cursor:var(--cursor-link,pointer);background:0 0;border:0;padding:0;font-size:13px}.project-actions a:hover,.project-actions button:hover{color:#fff}.project-card[data-shrunk=true] .project-summary,.project-card[data-shrunk=true] .project-actions{opacity:0;visibility:hidden;pointer-events:none}.project-card[data-shrunk=true] .project-copy{bottom:clamp(20px,2.7vw,38px)}.project-video{z-index:5;background:#000;position:absolute;inset:0}.project-video video{z-index:0;object-fit:contain;background:#000;width:100%;height:100%;display:block;position:absolute;inset:0}.video-error{z-index:1;color:#fff;margin:0;font-size:14px;position:absolute;bottom:58px;left:20px}.video-error a{color:#c4d2ff;text-decoration:underline}.video-close{z-index:10;width:38px;height:38px;cursor:var(--cursor-link,pointer);background:#000c;border:1px solid #ffffff73;border-radius:50%;position:absolute;top:10px;right:10px}.archive-card{justify-content:space-between;align-items:center;gap:20px;width:100%;height:100%;padding:clamp(22px,3vw,48px);display:flex}.archive-card h3{letter-spacing:-.05em;margin:0 0 10px;font-size:clamp(26px,3vw,44px);font-weight:500;line-height:1}.archive-card p{color:#c4cdcf;max-width:620px;margin:0;font-size:clamp(14px,1.25vw,18px);line-height:1.35}.archive-card div>span{color:#aebbd3;margin-top:12px;font-size:12px;display:inline-block}.link-arrow{color:#c9d7ff;flex:none;font-size:clamp(25px,3vw,42px);line-height:1;transition:transform .3s}.archive-card:hover .link-arrow,.contact-card:hover .link-arrow{transform:translate(4px,-4px)}.contact-intro a{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(20px,2.2vw,32px)}.contact-card{text-align:left;width:100%;height:100%;cursor:var(--cursor-link,pointer);background:0 0;border:0;flex-direction:column;justify-content:space-between;gap:14px;padding:clamp(22px,3vw,48px);display:flex;position:relative}.contact-card>span:first-child{color:#b9c4c8;font-size:clamp(14px,1.2vw,17px)}.contact-card strong{color:#f4f6f6;letter-spacing:-.055em;overflow-wrap:anywhere;font-size:clamp(22px,2.7vw,40px);font-weight:500;line-height:1}.contact-card .link-arrow{position:absolute;top:clamp(22px,3vw,48px);right:clamp(22px,3vw,48px)}.discord-card strong{-webkit-user-select:text;user-select:text}.copy-label{color:#bdcdff;font-size:13px}.project-dialog{color:#eef2f2;background:#12171b;border:1px solid #cddef43d;border-radius:18px;width:min(680px,100% - 32px);max-height:min(88svh,850px);padding:0;overflow:auto;box-shadow:0 30px 100px #000000a6}.project-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020508c7}.dialog-inner{padding:clamp(24px,4vw,42px)}.dialog-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.dialog-header h2{letter-spacing:-.065em;margin:0;font-size:clamp(38px,5vw,64px);font-weight:500;line-height:1}.dialog-header button{height:38px;cursor:var(--cursor-link,pointer);background:0 0;border:1px solid #d3e1ed38;border-radius:50%;flex:0 0 38px}.dialog-lede{color:#d6dfe1;margin:24px 0;font-size:17px;line-height:1.5}.dialog-section{border-top:1px solid #cbdce51f;padding:18px 0}.dialog-section h3{color:#aebbc1;margin:0 0 8px;font-size:13px;font-weight:500}.dialog-section p{color:#d1d9dc;margin:0;font-size:15px;line-height:1.5}.dialog-paper{background:#6882c614;border:1px solid #97b3ff33;border-radius:10px;margin-top:6px;padding:16px}.dialog-paper p{color:#d3dae0;margin:0 0 10px;font-size:14px;line-height:1.4}.dialog-paper a,.dialog-actions a,.attribution a{color:#c4d2ff}.dialog-actions{flex-wrap:wrap;gap:24px;margin-top:24px;font-size:14px;display:flex}.dialog-actions a:hover,.dialog-paper a:hover{color:#fff}.attribution{color:#aab6bb;margin:22px 0 0;font-size:12px;line-height:1.4}@media (width<=700px){:root{--frame-inset:clamp(12px, 3vw, 16px);--gutter:3px;--gutter-double:6px}.bento-cell{border-radius:13px}.flower-wrap{width:112vw;height:94%;margin-left:-56vw;top:3%;left:50%}.flower-glow{filter:blur(16px)brightness(1.5)}.hero-title{width:98%;top:46%}.hero-title h1{font-size:clamp(72px,20.5vw,128px)}.hero-title p{letter-spacing:.07em;gap:8px;margin-top:11px;font-size:8px}.glass-object{width:110px;height:190px;top:calc(46% - 155px)}.info-card,.contact-card{gap:10px;padding:16px}.info-card h2{font-size:clamp(23px,6.8vw,34px)}.info-card p,.info-card li{font-size:13px;line-height:1.3}.info-card p+p{margin-top:.5em}.info-card a{margin-top:8px;font-size:12px}.achievements-card ul{gap:7px}.project-shade{background:linear-gradient(#05080c08 0%,#05080c57 33%,#05080ce0 62%,#05080cfa 100%)}.project-copy{text-shadow:0 1px 6px #000000d9;gap:6px;bottom:54px;left:14px;right:14px}.project-title{font-size:clamp(19px,5.2vw,29px)}.project-summary{font-size:12px}.project-actions{white-space:nowrap;flex-wrap:nowrap;gap:8px;bottom:15px;left:14px;right:14px}.project-actions a,.project-actions button{font-size:11px}.project-card:not([data-selected=true]) .project-actions a{display:none}.project-card[data-shrunk=true] .project-copy{bottom:16px}.project-card[data-shrunk=true] .project-title{font-size:clamp(15px,4.2vw,22px)}.archive-card{padding:16px}.archive-card h3{margin-bottom:7px;font-size:24px}.archive-card p{font-size:12px}.archive-card div>span{margin-top:8px;font-size:11px}.contact-intro a{font-size:20px}.contact-card>span:first-child{font-size:13px}.contact-card strong{font-size:clamp(18px,5.5vw,26px)}.contact-card .link-arrow{font-size:25px;top:16px;right:16px}.copy-label{font-size:11px}}@media (height<=680px){.info-card,.contact-card,.archive-card{padding:12px}.info-card h2{font-size:22px}.info-card p,.info-card li{font-size:12px;line-height:1.25}.info-card a{margin-top:7px;font-size:11px}.achievements-card ul{gap:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.flower-wrap,.hero-title,.glass-object,.bento-grid{will-change:auto}.ambient-caustic{will-change:auto;animation:none!important}.ambient-caustic--silver{transform:rotate(-8deg)scaleY(.9)}.ambient-caustic--blue{transform:rotate(8deg)}}
