:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--total-scale-factor));min-width:calc(180px*var(--total-scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--total-scale-factor));box-shadow:0 calc(2px*var(--total-scale-factor)) calc(5px*var(--total-scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--total-scale-factor));max-width:calc(180px*var(--total-scale-factor));padding:calc(6px*var(--total-scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--total-scale-factor));padding-top:calc(2px*var(--total-scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--total-scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root,:root[data-theme=dark]{--bg:#0d0f14;--bg2:#10131a;--surface:#151821;--surface2:#1b1f2a;--line:#242936;--line2:#333a4a;--fg:#e9eaf0;--muted:#9ba1b2;--faint:#6c7284;--accent:#b39cff;--accent-strong:#c9b8ff;--accent-ink:#150f29;--accent-soft:#b39cff1f;--signal:#3ddbc3;--alert:#ff7f7f;--shadow:0 1px 0 #ffffff08 inset,0 20px 40px -24px #000000b3;color-scheme:dark}:root[data-theme=light]{--bg:#f6f5f2;--bg2:#efede8;--surface:#fff;--surface2:#f3f1ec;--line:#e3e0d8;--line2:#d2cec4;--fg:#16181d;--muted:#545a67;--faint:#858a96;--accent:#5a3cc2;--accent-strong:#4a2fa8;--accent-ink:#fff;--accent-soft:#5a3cc214;--signal:#0d8a77;--alert:#d2382f;--shadow:0 1px 2px #16181d0a,0 18px 36px -26px #16181d40;color-scheme:light}:root{--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--display:"Inter Tight","Inter",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--r:14px;--r-sm:9px;--wrap:1160px;--nav-h:64px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:80px;scroll-padding-top:calc(var(--nav-h) + 16px)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0d0f14;background:var(--bg);color:#e9eaf0;color:var(--fg);font:400 16px/1.6 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font:400 16px/1.6 var(--font);margin:0;transition:background-color .25s ease,color .25s ease}img{display:block;max-width:100%}a{text-decoration:none}a,button{color:inherit}button{font:inherit}h1,h2,h3,h4{text-wrap:balance;font-family:Inter Tight,Inter,system-ui,sans-serif;font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:0}ol,p,ul{margin:0}ol,ul{list-style:none;padding:0}::selection{background:#b39cff;background:var(--accent);color:#150f29;color:var(--accent-ink)}:focus-visible{border-radius:6px;outline:2px solid #b39cff;outline:2px solid var(--accent);outline-offset:3px}.app{display:flex;flex-direction:column;min-height:100vh}.app>main{flex:1 1}.wrap{margin-inline:auto;max-width:1160px;max-width:var(--wrap);padding-inline:24px;width:100%}@media (max-width:600px){.wrap{padding-inline:18px}}.muted{color:#9ba1b2;color:var(--muted)}.skip{background:#b39cff;background:var(--accent);border-radius:8px;color:#150f29;color:var(--accent-ink);left:12px;padding:8px 12px;position:absolute;top:-48px;z-index:100}.skip:focus{top:10px}.kicker{align-items:center;color:#9ba1b2;color:var(--muted);display:inline-flex;font:500 .75rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:500 .75rem/1 var(--mono);gap:10px;letter-spacing:.08em;text-transform:uppercase}.kicker-n{color:#b39cff;color:var(--accent)}.display{font-size:clamp(2.6rem,6.4vw,4.6rem);font-weight:700;letter-spacing:-.035em;line-height:1.02}.h1{font-size:clamp(1.9rem,3.8vw,2.9rem);letter-spacing:-.03em;max-width:22ch}.h2{font-size:clamp(1.45rem,2.4vw,1.9rem)}.lead{color:#9ba1b2;color:var(--muted);font-size:1.12rem;max-width:56ch}.dot{background:#3ddbc3;background:var(--signal);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,#3ddbc3 18%,#0000);box-shadow:0 0 0 4px color-mix(in srgb,var(--signal) 18%,#0000);flex:none;height:7px;width:7px}.btn{align-items:center;background:#151821;background:var(--surface);border:1px solid #333a4a;border:1px solid var(--line2);border-radius:999px;display:inline-flex;font-size:.95rem;font-weight:500;gap:8px;height:44px;padding:0 18px;transition:transform .15s ease,border-color .15s ease,background-color .15s ease;white-space:nowrap}.btn:hover{border-color:#e9eaf0;border-color:var(--fg)}.btn:active{transform:translateY(1px)}.btn-primary{background:#b39cff;background:var(--accent);border-color:#b39cff;border-color:var(--accent);color:#150f29;color:var(--accent-ink)}.btn-primary:hover{background:#c9b8ff;background:var(--accent-strong);border-color:#c9b8ff;border-color:var(--accent-strong)}.btn svg{font-size:1.05em}.icon-btn{background:#0000;border:1px solid #242936;border:1px solid var(--line);border-radius:10px;color:#9ba1b2;color:var(--muted);cursor:pointer;display:grid;font-size:1.05rem;height:38px;place-items:center;transition:color .15s,border-color .15s,background-color .15s;width:38px}.icon-btn:hover{background:#1b1f2a;background:var(--surface2);border-color:#333a4a;border-color:var(--line2);color:#e9eaf0;color:var(--fg)}.seg{background:#10131a;background:var(--bg2);border:1px solid #242936;border:1px solid var(--line);border-radius:10px;display:inline-flex;padding:3px}.seg button{background:#0000;border:0;border-radius:7px;color:#9ba1b2;color:var(--muted);cursor:pointer;font:500 .74rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:500 .74rem/1 var(--mono);letter-spacing:.04em;padding:5px 9px}.seg button.on,.seg button:hover{color:#e9eaf0;color:var(--fg)}.seg button.on{background:#151821;background:var(--surface);box-shadow:0 1px 2px #00000026,0 0 0 1px #333a4a;box-shadow:0 1px 2px #00000026,0 0 0 1px var(--line2)}.seg-lg button{font:500 .9rem/1 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font:500 .9rem/1 var(--font);letter-spacing:0;padding:9px 16px}.link-arrow{align-items:center;color:#9ba1b2;color:var(--muted);display:inline-flex;font-size:.95rem;font-weight:500;gap:6px;white-space:nowrap}.link-arrow:hover{color:#e9eaf0;color:var(--fg)}.link-arrow svg{transition:transform .15s}.link-arrow:hover svg{transform:translateX(3px)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips li{background:#1b1f2a;background:var(--surface2);border:1px solid #242936;border:1px solid var(--line);border-radius:6px;color:#9ba1b2;color:var(--muted);font:400 .74rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .74rem/1 var(--mono);padding:6px 8px}.pill{align-items:center;border-radius:999px;display:inline-flex;font:500 .7rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:500 .7rem/1 var(--mono);gap:5px;letter-spacing:.04em;padding:6px 9px}.nav{backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);background:color-mix(in srgb,#0d0f14 78%,#0000);background:color-mix(in srgb,var(--bg) 78%,#0000);border-bottom:1px solid #0000;padding-top:env(safe-area-inset-top,0);position:sticky;top:0;transition:border-color .2s;z-index:50}.nav-open,.nav-scrolled{border-bottom-color:#242936;border-bottom-color:var(--line)}.nav-inner{display:flex;gap:24px;height:64px;height:var(--nav-h)}.brand,.nav-inner{align-items:center}.brand{display:inline-flex;font-family:Inter Tight,Inter,system-ui,sans-serif;font-family:var(--display);font-weight:600;gap:10px;letter-spacing:-.01em}.moji-mark{background:#16131f;box-shadow:0 0 0 1px #333a4a;box-shadow:0 0 0 1px var(--line2);object-fit:cover}.mono-mark{background:#e9eaf0;background:var(--fg);border-radius:9px;color:#0d0f14;color:var(--bg);display:inline-grid;font:700 .8rem/1 Inter Tight,Inter,system-ui,sans-serif;font:700 .8rem/1 var(--display);height:32px;letter-spacing:-.02em;place-items:center;width:32px}.mono-mark.sm{border-radius:7px;font-size:.68rem;height:26px;width:26px}.nav-links{align-items:center;display:flex;gap:2px;margin-left:auto}.nav-links a{align-items:center;border-radius:8px;color:#9ba1b2;color:var(--muted);display:inline-flex;font-size:.92rem;gap:4px;padding:8px 12px;transition:color .15s,background-color .15s}.nav-links a:hover{background:#1b1f2a;background:var(--surface2)}.nav-links a.active,.nav-links a:hover{color:#e9eaf0;color:var(--fg)}.nav-links a.active:after{background:#b39cff;background:var(--accent);border-radius:50%;content:"";display:block;height:4px;margin-left:6px;width:4px}.nav-tools{align-items:center;display:flex;gap:8px}.nav-burger{display:none}.sheet{background:#0d0f14;background:var(--bg);border-top:1px solid #242936;border-top:1px solid var(--line);height:calc(100dvh - 64px - env(safe-area-inset-top, 0px));height:calc(100dvh - var(--nav-h) - env(safe-area-inset-top, 0px));overflow-y:auto}.sheet-links{display:flex;flex-direction:column;padding-block:16px 32px}.sheet-links a{align-items:baseline;border-bottom:1px solid #242936;border-bottom:1px solid var(--line);color:#9ba1b2;color:var(--muted);display:flex;font:600 1.6rem/1.1 Inter Tight,Inter,system-ui,sans-serif;font:600 1.6rem/1.1 var(--display);gap:14px;letter-spacing:-.02em;padding:16px 0}.sheet-links a.active{color:#e9eaf0;color:var(--fg)}.sheet-n{color:#b39cff;color:var(--accent);font:400 .75rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .75rem/1 var(--mono)}@media (max-width:900px){.nav-links{display:none}.nav-tools{margin-left:auto}.nav-burger{display:grid}}@media (max-width:380px){.brand-name{display:none}}.hero{overflow:hidden;padding-block:clamp(40px,8vw,96px) 40px;position:relative}.hero:before{background-image:linear-gradient(#242936 1px,#0000 0),linear-gradient(90deg,#242936 1px,#0000 0);background-image:linear-gradient(var(--line) 1px,#0000 1px),linear-gradient(90deg,var(--line) 1px,#0000 1px);background-size:48px 48px;content:"";inset:0;mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000 10%,#0000 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000 10%,#0000 75%);opacity:.55;pointer-events:none;position:absolute;z-index:-1}.hero-grid{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.hero-copy{display:flex;flex-direction:column;gap:18px}.hero-role{color:#b39cff;color:var(--accent);font:500 clamp(1.15rem,2vw,1.4rem)/1.3 Inter Tight,Inter,system-ui,sans-serif;font:500 clamp(1.15rem,2vw,1.4rem)/1.3 var(--display);letter-spacing:-.01em}.cta-row{gap:10px;margin-top:8px}.cta-row,.hero-meta{display:flex;flex-wrap:wrap}.hero-meta{align-items:center;color:#9ba1b2;color:var(--muted);font-size:.92rem;gap:12px 20px;margin-top:6px}.hero-meta>span:first-child{align-items:center;display:inline-flex;gap:6px}.hero-social{display:inline-flex;gap:4px}.hero-social a{border-radius:9px;display:grid;font-size:1.05rem;height:36px;place-items:center;transition:color .15s,background-color .15s;width:36px}.hero-social a:hover{background:#1b1f2a;background:var(--surface2);color:#e9eaf0;color:var(--fg)}.hero-art{display:grid;min-height:460px;place-items:center;position:relative}.halo{aspect-ratio:1;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,#b39cff 22%,#0000),#0000 68%);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent) 22%,#0000),#0000 68%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#b39cff 22%,#0000);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,#0000);left:50%;top:46%;transform:translate(-50%,-50%);width:min(400px,88%)}.halo,.halo:after{border-radius:50%;position:absolute}.halo:after{animation:spin 60s linear infinite;border:1px dashed #333a4a;border:1px dashed var(--line2);content:"";inset:-18px}@keyframes spin{to{transform:rotate(1turn)}}.moji{-webkit-user-drag:none;display:block;filter:drop-shadow(0 18px 30px rgba(0,0,0,.28));height:auto;position:relative;-webkit-user-select:none;user-select:none}.moji-hero{animation:bob 6s ease-in-out infinite;margin-top:-40px;width:min(360px,80%)}@keyframes bob{50%{transform:translateY(-8px)}}.hero-figure--float{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);bottom:0;position:absolute;right:0;width:64%;z-index:2}.hero-figure--float .signal{max-height:150px}.page-head.page-head--art{align-items:center;flex-direction:row;gap:24px;justify-content:space-between}.page-head--art>div:first-child{display:flex;flex-direction:column;gap:14px;max-width:720px}.about-moji{background:radial-gradient(circle at 50% 35%,color-mix(in srgb,#b39cff 26%,#0000),#151821 72%);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--accent) 26%,#0000),var(--surface) 72%);border-radius:50%;box-shadow:inset 0 0 0 1px #333a4a,inset 0 1px 0 #ffffff08,0 20px 40px -24px #000000b3;box-shadow:inset 0 0 0 1px var(--line2),var(--shadow);flex:none;height:200px;overflow:hidden;position:relative;width:200px}.about-moji .moji{bottom:-6px;filter:none;left:2px;position:absolute;width:205px}.moji-contact{background:radial-gradient(circle at 50% 30%,color-mix(in srgb,#b39cff 30%,#0000),#1b1f2a 75%);background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--accent) 30%,#0000),var(--surface2) 75%);border-radius:50%;box-shadow:inset 0 0 0 1px #333a4a;box-shadow:inset 0 0 0 1px var(--line2);flex:none;height:104px;overflow:hidden;position:relative;width:104px}.moji-contact img{height:auto;left:0;position:absolute;top:8%;width:100%}.contact-copy{flex:1 1;min-width:220px}@media (max-width:900px){.hero-art{min-height:380px}.moji-hero{width:min(300px,74%)}.hero-figure--float{width:78%}}@media (max-width:640px){.about-moji{height:120px;width:120px}.about-moji .moji{width:124px}.page-head.page-head--art{align-items:flex-start}.hero-figure--float{width:72%}.hero-figure--float .signal{max-height:110px}.moji-contact{height:80px;width:80px}}@media (prefers-reduced-motion:reduce){.halo:after,.moji-hero{animation:none}}.hero-figure{background:#151821;background:var(--surface);border:1px solid #242936;border:1px solid var(--line);border-radius:14px;border-radius:var(--r);box-shadow:inset 0 1px 0 #ffffff08,0 20px 40px -24px #000000b3;box-shadow:var(--shadow);margin:0;overflow:hidden}.fig-head{align-items:center;border-bottom:1px solid #242936;border-bottom:1px solid var(--line);color:#9ba1b2;color:var(--muted);display:flex;font:400 .74rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .74rem/1 var(--mono);justify-content:space-between;padding:12px 16px}.fig-live{align-items:center;color:#3ddbc3;color:var(--signal);display:inline-flex;gap:8px}.fig-live .dot{animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.signal{display:block;height:auto;width:100%}.sg-grid{stroke:#242936;stroke:var(--line);stroke-width:1}.sg-band{fill:#b39cff1f;fill:var(--accent-soft);stroke:color-mix(in srgb,#b39cff 40%,#0000);stroke:color-mix(in srgb,var(--accent) 40%,#0000);stroke-dasharray:4 5}.sg-label,.sg-tag{fill:#6c7284;fill:var(--faint);font:500 11px JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:500 11px var(--mono)}.sg-tag{fill:#ff7f7f;fill:var(--alert)}.sg-line{fill:none;stroke:#b39cff;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.8s ease-out .15s forwards}.sg-dot{fill:#ff7f7f;fill:var(--alert)}.sg-ring{fill:none;stroke:#ff7f7f;stroke:var(--alert);stroke-width:1.5;animation:ring 2.4s ease-out 1.6s infinite;opacity:.5;transform-box:fill-box;transform-origin:center}@keyframes draw{to{stroke-dashoffset:0}}@keyframes ring{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.stats{border-top:1px solid #242936;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(40px,6vw,72px) 0 0}.stat{display:flex;flex-direction:column;gap:6px;padding:20px 20px 4px 0}.stat dd{order:-1}.stat+.stat{border-left:1px solid #242936;border-left:1px solid var(--line);padding-left:20px}.stat dd{font-feature-settings:"tnum";font:600 clamp(1.8rem,3.4vw,2.5rem)/1 Inter Tight,Inter,system-ui,sans-serif;font:600 clamp(1.8rem,3.4vw,2.5rem)/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin:0}.stat dt{color:#9ba1b2;color:var(--muted);font-size:.86rem;line-height:1.4}@media (max-width:900px){.hero-grid{gap:36px;grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid #242936;border-top:1px solid var(--line);margin-top:16px}}.section{padding-block:clamp(48px,7vw,88px) 0}.page{padding-block:clamp(32px,6vw,72px) 24px}.page-head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(28px,4vw,44px)}.sec-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px}.sec-head .kicker{margin-bottom:10px}.sec-sub{color:#9ba1b2;color:var(--muted);margin-top:8px;max-width:60ch}.now-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.now-card{background:#151821;background:var(--surface);border:1px solid #242936;border:1px solid var(--line);border-radius:14px;border-radius:var(--r);display:flex;flex-direction:column;gap:10px;padding:24px}.now-tag{color:#b39cff;color:var(--accent);font:400 .72rem/1.3 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .72rem/1.3 var(--mono);letter-spacing:.02em}.now-card h3{font-size:1.2rem}.now-card p:last-child{color:#9ba1b2;color:var(--muted);font-size:.95rem}@media (max-width:900px){.now-grid{grid-template-columns:1fr}}.xp{border-top:1px solid #242936;border-top:1px solid var(--line)}.xp li{grid-gap:24px;border-bottom:1px solid #242936;border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:200px minmax(0,1fr);padding:18px 0}.xp-when{font-feature-settings:"tnum";color:#9ba1b2;color:var(--muted);font:400 .82rem/1.6 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .82rem/1.6 var(--mono);font-variant-numeric:tabular-nums}.xp-role{font-size:1.08rem}.xp-org{color:#9ba1b2;color:var(--muted);font-size:.94rem;margin-top:2px}@media (max-width:640px){.xp li{gap:4px;grid-template-columns:1fr}}.pgrid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1000px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.pgrid{grid-template-columns:1fr}}.pcard{background:#151821;background:var(--surface);border:1px solid #242936;border:1px solid var(--line);border-radius:14px;border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.pcard:hover{border-color:#333a4a;border-color:var(--line2);box-shadow:inset 0 1px 0 #ffffff08,0 20px 40px -24px #000000b3;box-shadow:var(--shadow);transform:translateY(-2px)}.pcard-img{aspect-ratio:16/9;background:#1b1f2a;background:var(--surface2);border-bottom:1px solid #242936;border-bottom:1px solid var(--line);overflow:hidden;position:relative}.pcard-img img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.pcard:hover .pcard-img img{transform:scale(1.03)}.pill-lock{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:color-mix(in srgb,#0d0f14 82%,#0000);background:color-mix(in srgb,var(--bg) 82%,#0000);border:1px solid #333a4a;border:1px solid var(--line2);color:#e9eaf0;color:var(--fg);position:absolute;right:10px;top:10px}.pcard-body{display:flex;flex:1 1;flex-direction:column;gap:10px;padding:18px 20px 20px}.pcard-badge{align-items:center;color:#9ba1b2;color:var(--muted);display:inline-flex;font:400 .74rem/1.3 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .74rem/1.3 var(--mono);gap:6px}.pcard-badge.award{color:#c48a00}:root[data-theme=dark] .pcard-badge.award{color:#f2c14e}.pcard-title{font-size:1.12rem}.pcard-text{color:#9ba1b2;color:var(--muted);font-size:.93rem;line-height:1.6}.pcard .chips{margin-top:auto;padding-top:6px}.pcard-links{border-top:1px solid #242936;border-top:1px solid var(--line);display:flex;gap:16px;margin-top:4px;padding-top:12px}.pcard-links a{align-items:center;color:#e9eaf0;color:var(--fg);display:inline-flex;font-size:.9rem;font-weight:500;gap:6px}.pcard-links a:hover{color:#b39cff;color:var(--accent)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.filters button{align-items:center;background:#0000;border:1px solid #242936;border:1px solid var(--line);border-radius:999px;color:#9ba1b2;color:var(--muted);cursor:pointer;display:inline-flex;font-size:.92rem;gap:8px;height:38px;padding:0 14px}.filters button:hover{border-color:#333a4a;border-color:var(--line2);color:#e9eaf0;color:var(--fg)}.filters button.on{background:#e9eaf0;background:var(--fg);border-color:#e9eaf0;border-color:var(--fg);color:#0d0f14;color:var(--bg)}.filters-n{font:400 .72rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .72rem/1 var(--mono);opacity:.7}.contact{background:linear-gradient(135deg,#b39cff1f,#0000 60%),#151821;background:linear-gradient(135deg,var(--accent-soft),#0000 60%),var(--surface);border:1px solid #242936;border:1px solid var(--line);border-radius:18px;border-radius:calc(var(--r) + 4px);gap:24px;justify-content:space-between;padding:clamp(24px,4vw,40px)}.contact,.contact-actions{align-items:center;display:flex;flex-wrap:wrap}.contact-actions{gap:10px}.copy{align-items:center;background:#151821;background:var(--surface);border:1px solid #333a4a;border:1px solid var(--line2);border-radius:999px;display:inline-flex;font:400 .88rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .88rem/1 var(--mono);gap:2px;height:44px;max-width:100%;padding:0 6px 0 16px}.copy a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy a:hover{color:#b39cff;color:var(--accent)}.copy button{background:#0000;border:0;border-radius:50%;color:#9ba1b2;color:var(--muted);cursor:pointer;display:grid;height:34px;place-items:center;width:34px}.copy button:hover{background:#1b1f2a;background:var(--surface2);color:#e9eaf0;color:var(--fg)}.about-grid{grid-gap:48px;align-items:start;display:grid;gap:48px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.prose{display:flex;flex-direction:column;font-size:1.04rem;gap:16px;max-width:68ch}.prose p:first-child{color:#e9eaf0;color:var(--fg);font-size:1.18rem}.prose p{color:#9ba1b2;color:var(--muted)}.facts{background:#151821;background:var(--surface);border:1px solid #242936;border:1px solid var(--line);border-radius:14px;border-radius:var(--r);padding:6px 20px}.facts dl{margin:0}.facts dl>div{border-bottom:1px solid #242936;border-bottom:1px solid var(--line);padding:14px 0}.facts dl>div:last-child{border-bottom:0}.facts dt{color:#6c7284;color:var(--faint);font:400 .72rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .72rem/1 var(--mono);letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.facts dd{font-size:.95rem;margin:0}@media (max-width:900px){.about-grid{gap:28px;grid-template-columns:1fr}}.comp-grid{grid-gap:1px;background:#242936;background:var(--line);border:1px solid #242936;border:1px solid var(--line);border-radius:14px;border-radius:var(--r);display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));overflow:hidden}.comp{background:#151821;background:var(--surface);display:flex;flex-direction:column;gap:8px;padding:22px}.comp h3{font-size:1.04rem}.comp p{color:#9ba1b2;color:var(--muted);font-size:.93rem}.awards{grid-gap:0 32px;border-top:1px solid #242936;border-top:1px solid var(--line);display:grid;gap:0 32px;grid-template-columns:repeat(2,minmax(0,1fr))}.awards li{border-bottom:1px solid #242936;border-bottom:1px solid var(--line);padding:14px 0 14px 22px;position:relative}.awards li:before{background:#b39cff;background:var(--accent);border-radius:2px;content:"";height:8px;left:2px;position:absolute;top:23px;width:8px}@media (max-width:640px){.awards{grid-template-columns:1fr}}.skill-table{border-top:1px solid #242936;border-top:1px solid var(--line)}.skill-row{grid-gap:20px;align-items:baseline;border-bottom:1px solid #242936;border-bottom:1px solid var(--line);display:grid;gap:20px;grid-template-columns:220px minmax(0,1fr);padding:16px 0}.skill-row h3{font-size:.98rem}@media (max-width:640px){.skill-row{gap:10px;grid-template-columns:1fr}}.gh-cal{background:#151821;background:var(--surface);border:1px solid #242936;border:1px solid var(--line);border-radius:14px;border-radius:var(--r);color:#9ba1b2;color:var(--muted);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-family:var(--mono);overflow-x:auto;padding:20px}.cv-head{grid-gap:18px 24px;border-bottom:1px solid #242936;border-bottom:1px solid var(--line);display:grid;gap:18px 24px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:32px;padding-bottom:28px}.cv-head .kicker{margin-bottom:14px}.cv-name{max-width:none}.cv-title{color:#b39cff;color:var(--accent);font:500 1.15rem/1.3 Inter Tight,Inter,system-ui,sans-serif;font:500 1.15rem/1.3 var(--display);margin-top:8px}.cv-loc{align-items:center;color:#9ba1b2;color:var(--muted);display:inline-flex;font-size:.93rem;gap:6px;margin-top:8px}.cv-actions{align-items:flex-start;gap:10px;justify-content:flex-end}.cv-actions,.cv-contacts{display:flex;flex-wrap:wrap}.cv-contacts{gap:8px 20px;grid-column:1/-1}.cv-contacts a{align-items:center;color:#9ba1b2;color:var(--muted);display:inline-flex;font-size:.9rem;gap:7px}.cv-contacts a:hover{color:#e9eaf0;color:var(--fg)}@media (max-width:700px){.cv-head{grid-template-columns:1fr}.cv-actions{justify-content:flex-start}}.cv-grid{grid-gap:48px;display:grid;gap:48px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}@media (max-width:900px){.cv-grid{gap:8px;grid-template-columns:1fr}}.cv-block{margin-bottom:36px}.cv-h{border-bottom:1px solid #242936;border-bottom:1px solid var(--line);color:#b39cff;color:var(--accent);font:500 .75rem/1 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:500 .75rem/1 var(--mono);letter-spacing:.1em;margin-bottom:16px;padding-bottom:10px;text-transform:uppercase}.cv-summary{color:#9ba1b2;color:var(--muted);font-size:1.04rem}.cv-timeline>li{border-left:1px solid #242936;border-left:1px solid var(--line);padding:0 0 24px 22px;position:relative}.cv-timeline>li:last-child{padding-bottom:0}.cv-timeline>li:before{background:#0d0f14;background:var(--bg);border:2px solid #b39cff;border:2px solid var(--accent);border-radius:50%;content:"";height:9px;left:-5px;position:absolute;top:7px;width:9px}.cv-row{display:flex;gap:16px;justify-content:space-between}.cv-role{font-size:1.04rem}.cv-org{font-size:.93rem;margin-top:2px}.cv-org,.cv-period{color:#9ba1b2;color:var(--muted)}.cv-period{font-feature-settings:"tnum";font:400 .8rem/1.6 JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font:400 .8rem/1.6 var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width:560px){.cv-row{flex-direction:column;gap:2px}.cv-period{order:-1}}.cv-bullets{display:flex;flex-direction:column;gap:6px;margin-top:10px}.cv-bullets li{color:#9ba1b2;color:var(--muted);font-size:.94rem;padding-left:16px;position:relative}.cv-bullets li:before{background:#6c7284;background:var(--faint);content:"";height:1px;left:0;position:absolute;top:.72em;width:6px}.cv-projects{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:560px){.cv-projects{grid-template-columns:1fr}}.cv-project{background:#151821;background:var(--surface);border:1px solid #242936;border:1px solid var(--line);border-radius:9px;border-radius:var(--r-sm);padding:16px}.cv-project h3{font-size:.98rem;margin-bottom:6px}.cv-project a:hover{color:#b39cff;color:var(--accent)}.cv-project p{color:#9ba1b2;color:var(--muted);font-size:.88rem}.cv-edu{margin-bottom:16px}.cv-edu h3{font-size:.98rem}.cv-edu p{font-size:.92rem;margin-top:2px}.cv-skill{margin-bottom:14px}.cv-skill h4{font:500 .88rem/1.3 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font:500 .88rem/1.3 var(--font);letter-spacing:0;margin-bottom:8px}.cv-list{display:flex;flex-direction:column;gap:8px}.cv-list li{color:#9ba1b2;color:var(--muted);font-size:.92rem;padding-left:16px;position:relative}.cv-list li:before{background:#b39cff;background:var(--accent);border-radius:2px;content:"";height:6px;left:0;position:absolute;top:.62em;width:6px}.cv-lang{border-bottom:1px solid #242936;border-bottom:1px solid var(--line);display:flex;font-size:.93rem;gap:12px;justify-content:space-between;padding:8px 0}.cv-lang span{color:#9ba1b2;color:var(--muted);text-align:right}.cv-pdf{display:flex;justify-content:center}.cv-pdf-page{border-radius:8px;box-shadow:inset 0 1px 0 #ffffff08,0 20px 40px -24px #000000b3;box-shadow:var(--shadow);margin:0 auto 16px;overflow:hidden}.cv-pdf-page,.paper{border:1px solid #242936;border:1px solid var(--line)}.paper{grid-gap:28px;align-items:start;background:#151821;background:var(--surface);border-radius:14px;border-radius:var(--r);display:grid;gap:28px;grid-template-columns:320px minmax(0,1fr);padding:20px}.paper img{aspect-ratio:4/3;border:1px solid #242936;border:1px solid var(--line);border-radius:9px;border-radius:var(--r-sm);object-fit:cover;width:100%}.paper>div{display:flex;flex-direction:column;gap:12px}.paper-title{font-size:1.35rem}@media (max-width:760px){.paper{grid-template-columns:1fr}}.footer{border-top:1px solid #242936;border-top:1px solid var(--line);margin-top:clamp(64px,9vw,112px);padding-block:28px calc(28px + env(safe-area-inset-bottom, 0px))}.footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.footer-name{align-items:center;display:inline-flex;font:600 1rem/1 Inter Tight,Inter,system-ui,sans-serif;font:600 1rem/1 var(--display);gap:10px;margin-bottom:8px}.footer .muted{font-size:.86rem}.footer-social{display:flex;gap:4px}.footer-social a{border-radius:10px;color:#9ba1b2;color:var(--muted);display:grid;font-size:1.05rem;height:38px;place-items:center;width:38px}.footer-social a:hover{background:#1b1f2a;background:var(--surface2);color:#e9eaf0;color:var(--fg)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.sg-line{stroke-dashoffset:0}}
/*# sourceMappingURL=main.30fee3e7.css.map*/