/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.block{display:block}.grid{display:grid}.inline{display:inline}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:root{--bg0:#04060b;--bg1:#070c15;--panel:#0a1120;--panel2:#0d1626;--line:#6ec8ff1a;--line2:#6ec8ff3d;--txt:#dbe7f3;--dim:#7e8ea3;--faint:#4d5b70;--cy:#3ce8ff;--cy-dim:#3ce8ff8c;--cy-soft:#3ce8ff1f;--am:#ffb454;--vio:#8b7dff;--disp:var(--font-display),var(--font-tc),"Microsoft JhengHei",sans-serif;--body:var(--font-body),var(--font-tc),"Microsoft JhengHei",sans-serif;--mono:var(--font-mono),"Cascadia Code",Consolas,monospace;--rail-w:34px;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg0);color:var(--txt);font-family:var(--body);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.65;overflow-x:hidden}::selection{background:var(--cy);color:#03131a}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:1px dashed var(--cy);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg0)}::-webkit-scrollbar-thumb{border:2px solid var(--bg0);background:#16283d;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#1f3753}main{display:block}.bg-grid{z-index:-2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(90% 80% at 50% 20%,#000 0,#0000 75%);mask-image:radial-gradient(90% 80% at 50% 20%,#000 0,#0000 75%)}.bg-grid,.bg-noise{pointer-events:none;position:fixed;inset:0}.bg-noise{z-index:-1;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}.rail{width:var(--rail-w);z-index:90;border-color:var(--line);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0}.rail-l{border-right:1px solid var(--line);left:0}.rail-r{border-left:1px solid var(--line);flex-direction:column;gap:14px;right:0}.rail-txt{writing-mode:vertical-rl;font-family:var(--mono);letter-spacing:.42em;color:var(--faint);white-space:nowrap;font-size:.58rem}.rail-meter{background:#101e30;width:3px;height:130px;position:relative;overflow:hidden}.rail-bar{background:var(--cy);height:0;position:absolute;top:0;left:0;right:0}.rail-pct{writing-mode:vertical-rl;font-family:var(--mono);letter-spacing:.3em;color:var(--dim);font-size:.58rem}.corner{z-index:95;pointer-events:none;border-color:var(--line2);border-style:solid;border-width:0;width:14px;height:14px;position:fixed}.c-tl{border-top-width:1px;border-left-width:1px;top:8px;left:8px}.c-tr{border-top-width:1px;border-right-width:1px;top:8px;right:8px}.c-bl{border-bottom-width:1px;border-left-width:1px;bottom:8px;left:8px}.c-br{border-bottom-width:1px;border-right-width:1px;bottom:8px;right:8px}html.has-cursor [data-hover],html.has-cursor a,html.has-cursor body,html.has-cursor button{cursor:none}.cur-dot,.cur-ring{z-index:9999;pointer-events:none;display:none;position:fixed;top:0;left:0}html.has-cursor .cur-dot,html.has-cursor .cur-ring{display:block}.cur-dot{width:0;height:0}.cur-dot:after,.cur-dot:before{content:"";background:var(--cy);position:absolute}.cur-dot:before{width:11px;height:1px;top:-.5px;left:-5.5px}.cur-dot:after{width:1px;height:11px;top:-5.5px;left:-.5px}.cur-ring{border:1px solid var(--cy-dim);width:34px;height:34px;transition:scale .25s var(--ease),border-color .25s ease,rotate .4s var(--ease);margin:-17px 0 0 -17px;rotate:0deg}.cur-ring.hot{border-color:var(--am);rotate:45deg;scale:1.5}.paint{--paint-from:#41506a;--paint-to:#a9ecff;color:#0000;-webkit-text-fill-color:transparent;background-image:linear-gradient(180deg,var(--paint-to) var(--fp,0),var(--paint-from) var(--fp,0));-webkit-background-clip:text;background-clip:text}[data-reveal]{opacity:0;transition:opacity .8s var(--ease) var(--d,0s),transform .8s var(--ease) var(--d,0s);transform:translateY(26px)}[data-reveal].in{opacity:1;transform:none}header{z-index:100;background:var(--bg0);position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){header{background:color-mix(in srgb,var(--bg0) 78%,transparent)}}header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:transform .45s var(--ease)}header.collapsed{transform:translateY(-100%)}.bar{justify-content:space-between;align-items:center;max-width:1340px;margin:0 auto;padding:18px 48px;transition:padding .4s;display:flex}header.shrink .bar{padding:10px 48px}.brand{font-family:var(--mono);letter-spacing:.08em;color:var(--txt);white-space:nowrap;font-size:.92rem;font-weight:700}.brand-sig{color:var(--cy);margin-right:2px}.brand-dim{color:var(--dim);font-weight:400}.brand-cursor{color:var(--cy);margin-left:2px;animation:blink 1.1s step-end infinite}@keyframes blink{50%{opacity:0}}nav{align-items:center;gap:30px;display:flex}nav a{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);white-space:nowrap;padding:4px 0;font-size:.72rem;transition:color .25s;position:relative}nav a i{color:var(--cy);vertical-align:super;opacity:.8;margin-right:5px;font-size:.56rem;font-style:normal}nav a:after{content:"";background:var(--cy);width:0;height:1px;transition:width .3s var(--ease);position:absolute;bottom:-3px;left:0}nav a:hover{color:var(--txt)}nav a:hover:after{width:100%}.lang{font-family:var(--mono);letter-spacing:.1em;border:1px solid var(--line2);color:var(--cy);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:5px 12px;font-size:.72rem;transition:all .25s}.lang:hover{background:var(--cy);color:#03131a;border-color:var(--cy)}.head-progress{background:linear-gradient(90deg,var(--cy),var(--vio));width:0;height:1px;display:block;position:absolute;bottom:-1px;left:0}.hero-pin{height:320vh;position:relative}.hero-stage{height:100dvh;position:sticky;top:0;overflow:hidden}.hero-canvas{position:absolute;inset:0}.hero-canvas canvas{width:100%;height:100%;display:block}.hero-copy{transform:translateY(calc(-50% - var(--hp,0) * 90px));z-index:3;pointer-events:none;max-width:640px;opacity:calc(1 - var(--hp,0) * 2.2);position:absolute;top:50%;left:clamp(56px,7vw,130px)}.hero-boot{font-family:var(--mono);color:var(--dim);letter-spacing:.12em;margin-bottom:26px;font-size:.78rem}.hero-boot .prompt,.hi .prompt{color:var(--cy)}.hero-boot .caret{color:var(--cy);animation:blink 1.1s step-end infinite}.hero-name{font-family:var(--disp);letter-spacing:-.015em;text-transform:uppercase;font-size:clamp(3rem,8vw,7.2rem);font-weight:800;line-height:.96}.hero-name .accent{color:var(--cy);text-shadow:0 0 28px #3ce8ff73}.hero-alt{font-family:var(--mono);color:var(--dim);letter-spacing:.2em;margin-top:18px;font-size:.8rem}.hero-role{color:var(--txt);max-width:520px;margin-top:24px;font-size:1.08rem;font-weight:300}.hero-meta{flex-wrap:wrap;gap:44px;margin-top:40px;display:flex}.hero-meta .k{font-family:var(--mono);letter-spacing:.26em;color:var(--cy-dim);margin-bottom:6px;font-size:.6rem;display:block}.hero-meta .v{color:var(--txt);font-size:.92rem}.hero-final{z-index:3;pointer-events:none;text-align:center;opacity:calc((var(--hp,0) - .74) / .26);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.hf-line{font-family:var(--disp);text-transform:uppercase;letter-spacing:.06em;color:#0000;-webkit-text-stroke:1px var(--cy);text-shadow:0 0 44px #3ce8ff40;font-size:clamp(2rem,5.5vw,4.6rem);font-weight:800}.hf-sub{letter-spacing:.34em;font-size:.74rem}.hero-hud,.hf-sub{font-family:var(--mono);color:var(--dim)}.hero-hud{z-index:4;letter-spacing:.22em;align-items:center;gap:18px;font-size:.66rem;display:flex;position:absolute;bottom:34px;left:clamp(56px,7vw,130px);right:clamp(56px,7vw,130px)}.hud-phase{min-width:200px;transition:color .3s}.hud-phase[data-idx="1"]{color:var(--am)}.hud-phase[data-idx="2"]{color:var(--cy)}.hud-bar{background:#101e30;flex:1;height:2px;position:relative;overflow:hidden}.hud-fill{background:linear-gradient(90deg,var(--cy),var(--vio));width:0;display:block;position:absolute;inset:0 auto 0 0}.hud-pct{color:var(--cy)}.hero-scroll{z-index:4;font-family:var(--mono);letter-spacing:.34em;color:var(--faint);writing-mode:vertical-rl;opacity:calc(1 - var(--hp,0) * 3);flex-direction:column;align-items:center;gap:16px;font-size:.6rem;display:flex;position:absolute;top:50%;right:clamp(56px,7vw,130px);transform:translateY(-50%)}.hero-scroll-line{background:linear-gradient(var(--cy),transparent);width:1px;height:70px;animation:drip 2s var(--ease) infinite}@keyframes drip{0%{transform-origin:top;transform:scaleY(0)}55%{transform-origin:top;transform:scaleY(1)}56%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.mq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg1);z-index:2;padding:14px 0;position:relative;overflow:hidden}.mq-track{width:max-content;animation:mq 30s linear infinite;display:flex}.mq:hover .mq-track{animation-play-state:paused}@keyframes mq{to{transform:translate(-50%)}}.mq-item{font-family:var(--mono);letter-spacing:.3em;color:var(--dim);white-space:nowrap;align-items:center;font-size:.76rem;display:flex}.mq-sep{color:var(--cy);margin:0 28px;font-size:.6rem}.sec{border-top:1px dashed var(--line);max-width:1340px;margin:0 auto;padding:130px 48px 110px;position:relative}.sec:before{content:"";background:var(--cy);width:56px;height:1px;position:absolute;top:-1px;left:48px}.layout{grid-template-columns:300px 1fr;align-items:start;gap:72px;display:grid}.sec-label{position:sticky;top:110px}.cr-head .idx,.page-eyebrow,.sec-label .idx{font-family:var(--mono);letter-spacing:.3em;color:var(--cy);margin-bottom:16px;font-size:.68rem}.cr-head h2,.sec-label h2{font-family:var(--disp);text-transform:uppercase;letter-spacing:.01em;font-size:2.2rem;font-weight:700;line-height:1.1}.sec-label .tag{color:var(--dim);max-width:240px;margin-top:14px;font-size:.85rem}.about-tagline{font-family:var(--disp);max-width:640px;font-size:1.6rem;font-weight:600;line-height:1.35}.about-tagline b{color:var(--cy);font-weight:600}.hi{font-family:var(--mono);color:var(--am);letter-spacing:.08em;margin-top:34px;font-size:.85rem}.bio{gap:16px;max-width:640px;margin-top:18px;font-weight:300;display:grid}.about-links{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.about-links a{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--line2);color:var(--txt);background:var(--panel);align-items:center;gap:8px;padding:9px 16px;font-size:.74rem;transition:all .25s;display:inline-flex}.about-links a:hover{border-color:var(--cy);color:var(--cy);transform:translateY(-2px);box-shadow:0 0 22px #3ce8ff2e}.about-links svg{width:14px;height:14px;fill:var(--cy)}.about-tags{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.about-tags span{font-family:var(--mono);letter-spacing:.18em;color:var(--cy);border:1px dashed var(--cy-dim);background:var(--cy-soft);padding:5px 12px;font-size:.64rem}.cr-section{border-top:1px dashed var(--line);background:var(--bg1)}.cr-pin{height:360vh}.cr-sticky{flex-direction:column;justify-content:center;height:100dvh;padding:90px 0 36px;position:sticky;top:0;overflow:hidden}.cr-head,.cr-sticky{gap:40px;display:flex}.cr-head{justify-content:space-between;align-items:flex-end;padding:0 max(48px,50vw - 622px)}.cr-head .sub{max-width:360px;color:var(--dim);text-align:right;font-size:.85rem}.cr-track{will-change:transform;gap:26px;padding:0 max(48px,50vw - 622px);display:flex}.cr-card{background:var(--panel);border:1px solid var(--line);width:380px;transition:border-color .3s ease,transform .3s var(--ease),box-shadow .3s ease;flex:none;padding:14px;position:relative}.cr-card:hover{border-color:var(--cy);transform:translateY(-6px);box-shadow:0 18px 50px #0000008c,0 0 26px #3ce8ff1a}.cr-no{font-family:var(--mono);letter-spacing:.2em;color:var(--faint);font-size:.62rem;position:absolute;top:-1.65em;right:2px}.cr-card .ph{aspect-ratio:4/4.6;background:var(--panel2);position:relative;overflow:hidden}.cr-card .ph:after{content:"";background:linear-gradient(#0000 45%,#04060beb);position:absolute;inset:0}.cr-card .ph img{filter:saturate(.85)contrast(1.05);transition:transform .5s var(--ease)}.cr-card:hover .ph img{transform:scale(1.04)}.cr-card .badge{z-index:2;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#03131a;background:var(--cy);padding:4px 10px;font-size:.58rem;position:absolute;top:10px;left:10px}.cr-card .role{z-index:2;position:absolute;bottom:12px;left:14px;right:14px}.cr-card .role h3{font-family:var(--disp);font-size:1.12rem;font-weight:700;line-height:1.2}.cr-card .role .org{font-family:var(--mono);color:var(--cy);letter-spacing:.1em;margin-top:5px;font-size:.64rem}.cr-card .desc{color:var(--dim);padding:14px 4px 4px;font-size:.8rem}.cr-hud{font-family:var(--mono);letter-spacing:.26em;color:var(--faint);align-items:center;gap:18px;padding:0 max(48px,50vw - 622px);font-size:.62rem;display:flex}.cr-meter{background:#101e30;flex:1;height:2px;position:relative;overflow:hidden}.cr-fill{background:var(--cy);width:0;display:block;position:absolute;inset:0 auto 0 0}.cr-pct{color:var(--cy)}.xp{border-left:1px solid var(--line2);gap:0;display:grid}.xp-item{grid-template-columns:230px 1fr;gap:28px;padding:30px 0 30px 34px;display:grid;position:relative}.xp-item+.xp-item{border-top:1px dashed var(--line)}.xp-node{background:var(--bg0);border:1px solid var(--cy);width:9px;height:9px;display:block;position:absolute;top:40px;left:-5px;rotate:45deg}.xp-item:hover .xp-node{background:var(--cy);box-shadow:0 0 14px var(--cy)}.xp-date{font-family:var(--mono);letter-spacing:.14em;color:var(--dim);padding-top:4px;font-size:.72rem}.xp-live{color:var(--am);letter-spacing:.22em;margin-top:8px;font-size:.62rem;animation:pulse 2s infinite;display:block}@keyframes pulse{50%{opacity:.5}}.xp-body h3{font-family:var(--disp);font-size:1.25rem;font-weight:700}.xp-body .org{font-family:var(--mono);color:var(--cy);letter-spacing:.12em;margin:6px 0 10px;font-size:.7rem}.xp-body p{color:var(--dim);max-width:560px;font-size:.88rem;font-weight:300}.skills-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.skill-cat{background:var(--panel);border:1px solid var(--line);transition:border-color .3s ease,transform .3s var(--ease);padding:26px;position:relative}.skill-cat:before{content:"";border-top:1px solid var(--cy);border-left:1px solid var(--cy);width:10px;height:10px;transition:width .35s var(--ease),height .35s var(--ease);position:absolute;top:-1px;left:-1px}.skill-cat:hover{border-color:var(--line2);transform:translateY(-4px)}.skill-cat:hover:before{width:30px;height:30px}.skill-cat h4{font-family:var(--disp);align-items:baseline;gap:12px;font-size:1.05rem;font-weight:700;display:flex}.skill-cat .mod{font-family:var(--mono);color:var(--cy);letter-spacing:.2em;font-size:.6rem}.chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.chip{font-family:var(--mono);letter-spacing:.06em;color:var(--dim);border:1px solid var(--line);padding:5px 10px;font-size:.66rem;transition:all .2s}.chip:hover{color:var(--cy);border-color:var(--cy-dim);background:var(--cy-soft)}.proj,.proj-item{display:grid}.proj-item{border-bottom:1px dashed var(--line);transition:background .3s ease,padding-left .3s var(--ease);grid-template-columns:60px 1fr 50px;align-items:center;gap:24px;padding:30px 18px;position:relative}.proj-item:first-child{border-top:1px dashed var(--line)}.proj-item:hover{background:linear-gradient(90deg,var(--cy-soft),transparent 70%);padding-left:30px}.proj-idx{font-family:var(--mono);color:var(--faint);font-size:.8rem}.proj-item:hover .proj-idx{color:var(--cy)}.proj-main h3{font-family:var(--disp);font-size:1.35rem;font-weight:700}.proj-main .stack{font-family:var(--mono);letter-spacing:.1em;color:var(--cy);margin:7px 0 9px;font-size:.64rem}.proj-main p{color:var(--dim);max-width:580px;font-size:.86rem;font-weight:300}.proj-arrow{color:var(--faint);transition:transform .3s var(--ease),color .3s ease;justify-self:end;font-size:1.3rem}.proj-item:hover .proj-arrow{color:var(--cy);transform:translate(4px,-4px)}.proj-more{padding:30px 18px 0}.proj-more a{font-family:var(--mono);letter-spacing:.24em;color:var(--cy);align-items:center;gap:10px;font-size:.74rem;display:inline-flex}.proj-more .ar{transition:transform .3s var(--ease)}.proj-more a:hover .ar{transform:translate(8px)}.pub-body{border:1px solid var(--line2);background:var(--panel);padding:38px;position:relative}.pub-body:after,.pub-body:before{content:"";border-color:var(--cy);border-style:solid;width:16px;height:16px;position:absolute}.pub-body:before{border-width:1px 0 0 1px;top:-1px;left:-1px}.pub-body:after{border-width:0 1px 1px 0;bottom:-1px;right:-1px}.pub-badge{font-family:var(--mono);letter-spacing:.26em;color:var(--am);border:1px dashed #ffb45473;margin-bottom:20px;padding:5px 12px;font-size:.6rem;display:inline-block}.pub-body h3{font-family:var(--disp);max-width:720px;font-size:1.35rem;font-weight:700;line-height:1.4}.pub-body .meta{font-family:var(--mono);letter-spacing:.1em;color:var(--dim);margin-top:16px;font-size:.7rem}footer{border-top:1px solid var(--line2);text-align:center;background:radial-gradient(ellipse 60% 50% at 50% 110%,#3ce8ff14,transparent),var(--bg1);margin-top:60px;padding:110px 48px 40px;position:relative;overflow:hidden}.foot-eyebrow{font-family:var(--mono);letter-spacing:.34em;color:var(--cy);margin-bottom:26px;font-size:.66rem}.foot-title{font-family:var(--disp);text-transform:uppercase;letter-spacing:.01em;color:#0000;-webkit-text-stroke:1px #dbe7f3bf;font-size:clamp(2.6rem,7vw,5.6rem);font-weight:800;line-height:1.02;transition:color .5s}.foot-title:hover{color:var(--txt);-webkit-text-stroke-color:transparent}.contact{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:50px;display:flex}.contact a{font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--line2);background:var(--panel);color:var(--txt);align-items:center;gap:9px;padding:11px 20px;font-size:.74rem;transition:all .25s;display:inline-flex}.contact a:hover{border-color:var(--cy);color:var(--cy);transform:translateY(-3px);box-shadow:0 0 24px #3ce8ff29}.contact svg{width:14px;height:14px;fill:var(--cy)}.foot-projects{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:34px;display:flex}.foot-projects-label{font-family:var(--mono);letter-spacing:.3em;color:var(--cy);font-size:.62rem}.foot-projects a{font-family:var(--mono);letter-spacing:.06em;border:1px dashed var(--line2);color:var(--txt);align-items:center;gap:8px;padding:8px 14px;font-size:.68rem;transition:all .25s;display:inline-flex}.foot-projects a:hover{border-color:var(--cy);color:var(--cy);border-style:solid}.foot-proj-tag{letter-spacing:.18em;color:var(--faint);font-size:.56rem}.foot-meta{border-top:1px dashed var(--line);font-family:var(--mono);letter-spacing:.22em;color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:80px;padding-top:22px;font-size:.58rem;display:flex}.page{max-width:1340px;margin:0 auto;padding:150px 48px 90px}.page-head{margin-bottom:60px}.page-head h1{font-family:var(--disp);text-transform:uppercase;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:800;line-height:1}.page-sub{color:var(--dim);max-width:480px;margin-top:16px;font-size:.95rem}.pj-grid{perspective:1200px;grid-template-columns:repeat(2,1fr);gap:30px;display:grid}.pj-card{background:var(--panel);border:1px solid var(--line);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .18s ease-out,border-color .3s,box-shadow .3s;position:relative}.pj-card:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(400px circle at var(--gx,50%) var(--gy,50%),#3ce8ff14,transparent 60%);transition:opacity .3s;position:absolute;inset:0}.pj-card:hover{border-color:var(--line2);box-shadow:0 24px 60px #00000080}.pj-card:hover:after{opacity:1}.bk{border-color:var(--cy);opacity:0;z-index:3;border-style:solid;border-width:0;width:12px;height:12px;transition:opacity .3s;position:absolute}.pj-card:hover .bk{opacity:1}.bk-tl{border-top-width:1px;border-left-width:1px;top:-1px;left:-1px}.bk-tr{border-top-width:1px;border-right-width:1px;top:-1px;right:-1px}.bk-bl{border-bottom-width:1px;border-left-width:1px;bottom:-1px;left:-1px}.bk-br{border-bottom-width:1px;border-right-width:1px;bottom:-1px;right:-1px}.pj-cover{aspect-ratio:16/9;background:var(--panel2);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.pj-cover img{filter:saturate(.85);transition:transform .6s var(--ease),filter .4s ease}.pj-card:hover .pj-cover img{filter:saturate();transform:scale(1.045)}.pj-scan{pointer-events:none;opacity:0;background:repeating-linear-gradient(#3ce8ff0f 0 1px,#0000 1px 4px);transition:opacity .3s;position:absolute;inset:0}.pj-card:hover .pj-scan{opacity:1;animation:scan 5s linear infinite}@keyframes scan{to{background-position:0 40px}}.pj-figno{font-family:var(--disp);color:#14253a;place-items:center;font-size:4rem;font-weight:800;display:grid;position:absolute;inset:0}.pj-fig{letter-spacing:.2em;color:var(--cy-dim);background:#04060bb3;padding:3px 8px;bottom:8px;right:10px}.pj-fe,.pj-fig{font-family:var(--mono);font-size:.58rem;position:absolute}.pj-fe{letter-spacing:.18em;color:#03131a;background:var(--am);padding:4px 10px;top:10px;left:10px}.pj-body{padding:22px 24px 26px}.pj-row{font-family:var(--mono);letter-spacing:.16em;justify-content:space-between;align-items:baseline;font-size:.66rem;display:flex}.pj-no{color:var(--cy)}.pj-yr{color:var(--faint)}.pj-body h3{font-family:var(--disp);margin-top:10px;font-size:1.3rem;font-weight:700;line-height:1.25}.pj-sum{color:var(--dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:10px;font-size:.84rem;font-weight:300;display:-webkit-box;overflow:hidden}.pj-chips{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.pj-chips span{font-family:var(--mono);letter-spacing:.06em;color:var(--dim);border:1px solid var(--line);padding:4px 9px;font-size:.6rem}.bl-feed{border-top:1px dashed var(--line);display:grid}.bl-post{border-bottom:1px dashed var(--line);transition:background .3s ease,padding-left .3s var(--ease);grid-template-columns:150px 1fr 46px;align-items:start;gap:30px;padding:34px 16px;display:grid;position:relative}.bl-post:before{content:"";background:var(--cy);width:2px;transition:transform .35s var(--ease);transform-origin:top;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.bl-post:hover{background:linear-gradient(90deg,var(--cy-soft),transparent 60%);padding-left:26px}.bl-post:hover:before{transform:scaleY(1)}.bl-rail{font-family:var(--mono)}.bl-d{color:var(--txt);letter-spacing:.06em;font-size:.86rem}.bl-y{color:var(--faint);letter-spacing:.2em;margin-top:3px;font-size:.66rem}.bl-rt{color:var(--cy-dim);letter-spacing:.14em;margin-top:12px;font-size:.6rem}.bl-title{font-family:var(--disp);font-size:1.45rem;font-weight:700;line-height:1.25;transition:color .25s}.bl-post:hover .bl-title{color:var(--cy)}.bl-ex{color:var(--dim);max-width:660px;margin-top:10px;font-size:.86rem;font-weight:300}.bl-tags{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.bl-tags span{font-family:var(--mono);letter-spacing:.1em;color:var(--cy-dim);font-size:.62rem}.bl-arrow{color:var(--faint);transition:transform .3s var(--ease),color .3s ease;place-self:center end;font-size:1.2rem}.bl-post:hover .bl-arrow{color:var(--cy);transform:translate(5px)}.pager{font-family:var(--mono);justify-content:center;align-items:center;gap:6px;margin-top:60px;font-size:.74rem;display:flex}.pager a,.pager span{min-width:38px;height:38px;color:var(--dim);letter-spacing:.06em;border:1px solid #0000;place-items:center;padding:0 6px;transition:all .2s;display:inline-grid}.pager a:hover{color:var(--cy);border-color:var(--line2)}.pager .active{color:#03131a;background:var(--cy)}.pager .disabled{opacity:.3}.pd-wrap{max-width:920px}.pd-back{font-family:var(--mono);letter-spacing:.2em;color:var(--dim);font-size:.7rem;transition:color .2s}.pd-back:hover,.pd-eyebrow{color:var(--cy)}.pd-eyebrow{font-family:var(--mono);letter-spacing:.24em;margin-top:40px;font-size:.66rem}.pd-wrap h1{font-family:var(--disp);margin-top:16px;font-size:clamp(1.9rem,4.4vw,3.1rem);font-weight:800;line-height:1.12}.pd-summary{color:var(--dim);max-width:720px;margin-top:18px;font-size:1.02rem;font-weight:300}.pd-meta{font-family:var(--mono);letter-spacing:.12em;color:var(--am);margin-top:14px;font-size:.7rem}.pd-links{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.pd-links a{font-family:var(--mono);letter-spacing:.1em;border:1px solid var(--line2);color:var(--txt);background:var(--panel);padding:8px 15px;font-size:.7rem;transition:all .25s}.pd-links a:hover{border-color:var(--cy);color:var(--cy)}.pd-ghstats{font-family:var(--mono);color:var(--dim);gap:14px;font-size:.72rem;display:inline-flex}.ghstat{align-items:center;gap:5px;display:inline-flex}.ghstat svg{fill:currentColor;width:13px;height:13px}.pd-chips{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.pd-chips span{font-family:var(--mono);letter-spacing:.08em;color:var(--cy-dim);border:1px dashed var(--line2);padding:4px 10px;font-size:.62rem}.pd-cover{position:relative;overflow:hidden}.pd-cover,.pd-video{aspect-ratio:16/9;border:1px solid var(--line);margin-top:38px}.pd-video iframe{border:0;width:100%;height:100%;display:block}.pd-body{border-top:1px dashed var(--line2);margin-top:48px;padding-top:38px;font-weight:300}.pd-body h1,.pd-body h2,.pd-body h3{font-family:var(--disp);margin:2.2em 0 .7em;font-weight:700;line-height:1.25}.pd-body h2{border-left:2px solid var(--cy);padding-left:16px;font-size:1.5rem}.pd-body h3{font-size:1.15rem}.pd-body p{color:#b9c6d6;margin:1em 0}.pd-body a{color:var(--cy);border-bottom:1px dashed var(--cy-dim)}.pd-body strong{color:var(--txt);font-weight:600}.pd-body ol,.pd-body ul{color:#b9c6d6;margin:1em 0;padding-left:1.4em}.pd-body li{margin:.4em 0}.pd-body li::marker{color:var(--cy)}.pd-body code{font-family:var(--mono);color:var(--am);background:var(--panel2);padding:1px 6px;font-size:.84em}.pd-body code,.pd-body pre{border:1px solid var(--line)}.pd-body pre{background:var(--panel);margin:1.4em 0;padding:20px;position:relative;overflow-x:auto}.pd-body pre:before{content:"// CODE";font-family:var(--mono);letter-spacing:.2em;color:var(--faint);font-size:.56rem;position:absolute;top:6px;right:10px}.pd-body pre code{color:#cfe3f0;background:0 0;border:0;padding:0;font-size:.82rem;line-height:1.7}.pd-body blockquote{border-left:2px solid var(--am);background:var(--panel);color:var(--dim);margin:1.4em 0;padding:14px 20px}.pd-body hr{border:0;border-top:1px dashed var(--line2);margin:2.4em 0}.pd-body table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:.86rem}.pd-body td,.pd-body th{border:1px solid var(--line);text-align:left;padding:9px 13px}.pd-body th{font-family:var(--mono);letter-spacing:.12em;color:var(--cy);background:var(--panel);font-size:.66rem}.pd-body img{max-width:100%;display:block}.pd-fig{margin:1.6em 0;display:block}.pd-fig img{border:1px solid var(--line);width:100%}.pd-fig .cap{color:var(--faint);text-align:center;margin-top:8px;font-size:.62rem;display:block}.chat-fab,.pd-fig .cap{font-family:var(--mono);letter-spacing:.14em}.chat-fab{z-index:200;background:var(--cy);color:#03131a;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s ease;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);border:0;padding:13px 20px;font-size:.74rem;position:fixed;bottom:26px;right:26px;box-shadow:0 8px 30px #3ce8ff4d}.chat-fab:hover{transform:translateY(-3px);box-shadow:0 12px 40px #3ce8ff73}.chat-panel{z-index:200;border:1px solid var(--line2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(380px,100vw - 40px);height:min(560px,100vh - 130px);animation:chat-in .3s var(--ease);background:#070c15f5;flex-direction:column;display:flex;position:fixed;bottom:84px;right:26px;box-shadow:0 30px 80px #0009,0 0 40px #3ce8ff14}@keyframes chat-in{0%{opacity:0;transform:translateY(16px)}}.chat-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--panel2),transparent);justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.chat-head strong{font-family:var(--mono);letter-spacing:.1em;color:var(--cy);font-size:.78rem;display:block}.chat-head span{font-family:var(--mono);letter-spacing:.14em;color:var(--faint);font-size:.58rem}.chat-x{color:var(--dim);cursor:pointer;background:0 0;border:0;font-size:.95rem}.chat-x:hover{color:var(--cy)}.chat-msgs{flex:1;align-content:start;gap:12px;padding:18px;display:grid;overflow-y:auto}.chat-intro{color:var(--dim);border:1px dashed var(--line2);background:var(--panel);padding:14px;font-size:.82rem}.chat-msg{max-width:88%;font-size:.84rem;line-height:1.55}.chat-msg.user{background:var(--cy-soft);border:1px solid var(--cy-dim);color:var(--txt);justify-self:end;padding:9px 13px}.chat-msg.assistant{justify-self:start}.chat-md{background:var(--panel);border:1px solid var(--line);padding:11px 14px}.chat-md p{margin:.4em 0}.chat-md p:first-child{margin-top:0}.chat-md p:last-child{margin-bottom:0}.chat-md a{color:var(--cy);border-bottom:1px dashed var(--cy-dim)}.chat-md code{font-family:var(--mono);color:var(--am);background:var(--panel2);padding:1px 5px;font-size:.78em}.chat-typing{color:var(--cy);letter-spacing:.3em;animation:pulse 1.2s infinite}.chat-sources{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:8px;display:flex}.chat-sources>span{font-family:var(--mono);letter-spacing:.18em;color:var(--faint);font-size:.56rem}.chat-sources a{font-family:var(--mono);color:var(--cy);border:1px solid var(--line);padding:2px 8px;font-size:.64rem}.chat-sources a:hover{border-color:var(--cy-dim)}.chat-input{border-top:1px solid var(--line);display:flex}.chat-input input{color:var(--txt);font-family:var(--body);background:0 0;border:0;flex:1;padding:14px 16px;font-size:.85rem}.chat-input input::placeholder{color:var(--faint);font-family:var(--mono);font-size:.74rem}.chat-input input:focus{background:#3ce8ff0a;outline:none}.chat-input button{background:var(--panel2);color:var(--cy);border:0;border-left:1px solid var(--line);font-family:var(--mono);letter-spacing:.12em;cursor:pointer;padding:0 20px;font-size:.7rem;transition:all .2s}.chat-input button:not(:disabled):hover{background:var(--cy);color:#03131a}.chat-input button:disabled{opacity:.4;cursor:default}@media (max-width:1100px){.corner,.rail{display:none}.layout{grid-template-columns:240px 1fr;gap:44px}}@media (max-width:880px){.bar{padding:14px 20px}header.shrink .bar{padding:10px 20px}.brand-dim{display:none}.brand{font-size:.82rem}nav{gap:13px}nav a i{display:none}nav a{letter-spacing:.06em}.lang,nav a{font-size:.64rem}.lang{letter-spacing:.04em;padding:4px 8px}.hero-pin{height:280vh}.hero-copy{max-width:none}.hero-copy,.hero-hud{left:24px;right:24px}.hud-phase{min-width:0}.hero-scroll{display:none}.hero-final{padding:0 16px}.hf-line{letter-spacing:.04em;font-size:clamp(1.5rem,8.5vw,2.4rem);line-height:1.15}.hf-sub{letter-spacing:.2em}.sec{padding:80px 20px 70px}.sec:before{left:20px}.layout{grid-template-columns:1fr;gap:34px}.sec-label{position:static}.cr-pin,.cr-sticky{height:auto}.cr-sticky{padding:70px 0 50px;position:static}.cr-head{flex-direction:column;align-items:flex-start;gap:14px;padding:0 20px}.cr-head .sub{text-align:left}.cr-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0;padding:24px 20px;overflow-x:auto;transform:none!important}.cr-card{scroll-snap-align:start;width:300px}.cr-hud{padding:0 20px}.cr-meter{display:none}.xp-item{gap:8px;padding-left:24px}.skills-grid,.xp-item{grid-template-columns:1fr}.proj-item{grid-template-columns:36px 1fr 30px;gap:14px;padding:24px 8px}.page{padding:120px 20px 70px}.bl-post,.pj-grid{grid-template-columns:1fr}.bl-post{gap:12px;padding:26px 8px}.bl-arrow{display:none}.bl-rail{align-items:baseline;gap:14px;display:flex}.bl-rt{margin-top:0}footer{padding:80px 20px 30px}.foot-meta{justify-content:center}.chat-fab{bottom:16px;right:16px}.chat-panel{bottom:72px;right:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transition:none;transform:none}.brand-cursor,.chat-typing,.hero-scroll-line,.mq-track,.xp-live{animation:none}.hero-pin{height:auto;min-height:100vh}.hero-copy{opacity:1}.hero-final{display:none}*{transition-duration:.01ms!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@font-face{font-family:Syne;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Syne;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Syne Fallback;src:local("Arial");ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.00%;size-adjust:98.47%}.__className_2c1f05{font-family:Syne,Syne Fallback;font-style:normal}.__variable_2c1f05{--font-display:"Syne","Syne Fallback"}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_ee2693{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_ee2693{--font-body:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_898c26{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_898c26{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}