*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.z-\[1\]{z-index:1}.col-span-2{grid-column:span 2/span 2}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.ml-px{margin-left:1px}.mt-10{margin-top:2.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-px{height:1px}.min-h-\[54px\]{min-height:54px}.min-h-\[58px\]{min-height:58px}.min-h-\[72px\]{min-height:72px}.min-h-\[86px\]{min-height:86px}.min-h-screen{min-height:100vh}.w-\[0\.45em\]{width:.45em}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-16{padding-bottom:4rem}.pt-14{padding-top:3.5rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.font-display{font-family:var(--font-cormorant),ui-serif,Georgia,serif}.font-screen{font-family:var(--font-vt323),ui-monospace,monospace}.font-ui{font-family:var(--font-ibm-plex-mono),ui-monospace,monospace}.text-5xl{font-size:3rem;line-height:1}.text-\[clamp\(1\.35rem\2c 4vw\2c 1\.95rem\)\]{font-size:clamp(1.35rem,4vw,1.95rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-7{line-height:1.75rem}.leading-\[0\.95\]{line-height:.95}.leading-none{line-height:1}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-normal{letter-spacing:0}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--transition-speed:520ms;--bezel-radius:16px;--calc-perspective:1400px;--calc-tilt-x:2deg;--calc-tilt-y:-1deg}body,html{margin:0;min-height:100vh;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease}html{-webkit-tap-highlight-color:transparent}body{overflow-x:hidden}::-moz-selection{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--text-primary)}::selection{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--text-primary)}.theme-transition{transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease,border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease,text-shadow var(--transition-speed) ease,filter var(--transition-speed) ease,fill var(--transition-speed) ease,stroke var(--transition-speed) ease}:root[data-mode=dark]{--bg-primary:#090b0d;--bg-elevated:rgba(18,22,25,.78);--bg-elevated-strong:rgba(24,29,31,.92);--bg-radial:radial-gradient(circle at 18% 18%,#20281f 0%,transparent 28%),radial-gradient(circle at 82% 12%,#1d2030 0%,transparent 26%),linear-gradient(135deg,#090b0d,#111513 48%,#08090b);--grid-line:hsla(84,25%,92%,.045);--border-soft:hsla(93,29%,94%,.12);--border-strong:hsla(93,29%,94%,.22);--calc-body:#0b334f;--calc-body-mid:#0f3d5c;--calc-edge:#061f30;--calc-top-highlight:linear-gradient(180deg,hsla(0,0%,100%,.18),hsla(0,0%,100%,.04) 42%,hsla(0,0%,100%,0));--calc-shadow-deep:0 22px 0 -3px #041821,0 34px 70px rgba(4,24,33,.62),0 0 0 1px hsla(0,0%,100%,.08);--screen-bg:#07100c;--screen-inset:rgba(0,0,0,.78);--screen-glow:#8ee66c;--screen-glow-outer:rgba(116,217,111,.45);--screen-glass:linear-gradient(145deg,rgba(225,255,224,.15),hsla(0,0%,100%,.02) 45%,transparent);--screen-text:#98f071;--screen-scan:rgba(0,0,0,.22);--btn-well:#041821;--btn-num-bg:#27302e;--btn-num-face:linear-gradient(180deg,#39423f,#222b28);--btn-op-bg:#222d33;--btn-op-face:linear-gradient(180deg,#334047,#1f292e);--btn-blog:#0d3a34;--btn-blog-text:#f2fffb;--btn-portfolio:#3a2e12;--btn-portfolio-text:#fff6d8;--btn-about:#3d2117;--btn-about-text:#fff1e6;--btn-lab:#21143b;--btn-lab-text:#f3eaff;--text-primary:#edf3ec;--text-secondary:#acb9b0;--text-muted:#6d7a72;--accent:#8ee66c;--accent-2:#76f2d4;--accent-3:#ffd66f;--name-gradient:linear-gradient(135deg,#fff,#a7ef80 48%,#76f2d4)}:root[data-mode=light]{--bg-primary:#efeee8;--bg-elevated:rgba(255,255,251,.78);--bg-elevated-strong:rgba(255,255,251,.94);--bg-radial:radial-gradient(circle at 18% 14%,#fff 0%,transparent 30%),radial-gradient(circle at 86% 8%,#dfeadf 0%,transparent 28%),linear-gradient(135deg,#efeee8,#e4e8df 52%,#d9ddd6);--grid-line:rgba(28,44,34,.065);--border-soft:rgba(30,45,36,.13);--border-strong:rgba(30,45,36,.22);--calc-body:#0b334f;--calc-body-mid:#103f5c;--calc-edge:#082739;--calc-top-highlight:linear-gradient(180deg,hsla(0,0%,100%,.32),hsla(0,0%,100%,.08) 45%,hsla(0,0%,100%,0));--calc-shadow-deep:0 20px 0 -3px #061f30,0 30px 56px rgba(6,31,48,.38),0 0 0 1px hsla(0,0%,100%,.14);--screen-bg:#172a21;--screen-inset:rgba(0,0,0,.54);--screen-glow:#5fd07b;--screen-glow-outer:rgba(65,125,78,.28);--screen-glass:linear-gradient(145deg,rgba(220,255,228,.16),hsla(0,0%,100%,.03) 52%,transparent);--screen-text:#78df8c;--screen-scan:rgba(0,0,0,.13);--btn-well:#061f30;--btn-num-bg:#94a39b;--btn-num-face:linear-gradient(180deg,#b0beb6,#819089);--btn-op-bg:#6b7a78;--btn-op-face:linear-gradient(180deg,#879694,#5c6967);--btn-blog:#0f5449;--btn-blog-text:#f4fffb;--btn-portfolio:#493710;--btn-portfolio-text:#fff8e4;--btn-about:#4b2f1d;--btn-about-text:#fff4ea;--btn-lab:#34214f;--btn-lab-text:#f6eeff;--text-primary:#161d19;--text-secondary:#425047;--text-muted:#6b746f;--accent:#1c6a3c;--accent-2:#0f766e;--accent-3:#9c6b16;--name-gradient:linear-gradient(135deg,#101713,#1f6d3c 52%,#0f766e)}.ascii-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--bg-primary)}.ascii-bg canvas{display:block;width:100%;height:100%}.home-foreground{position:relative;z-index:1}.home-curtain{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background-color:#090506;overflow:hidden;will-change:transform;box-shadow:0 -24px 64px rgba(0,0,0,.85),0 -1px 0 hsla(0,0%,100%,.06)}.home-curtain[data-sliding=true]{pointer-events:none}html[data-curtain-done="1"] .home-curtain{display:none!important}.home-curtain__video-shell{position:relative;z-index:1;width:min(84vw,680px);max-height:46dvh;line-height:0;pointer-events:none;overflow:hidden}.home-curtain__video-shell:after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;pointer-events:none;backdrop-filter:blur(48px) saturate(1.15);-webkit-backdrop-filter:blur(48px) saturate(1.15);background:linear-gradient(180deg,transparent 0,rgba(9,5,6,.35) 35%,#090506 92%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 55%);mask-image:linear-gradient(180deg,transparent 0,#000 55%)}.home-curtain__video{display:block;width:100%;height:auto;max-height:46dvh;-o-object-fit:contain;object-fit:contain;background-color:transparent;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 68px),rgba(0,0,0,.72) calc(100% - 42px),rgba(0,0,0,.28) calc(100% - 20px),transparent);mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 68px),rgba(0,0,0,.72) calc(100% - 42px),rgba(0,0,0,.28) calc(100% - 20px),transparent)}.env-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--bg-radial);transition:background var(--transition-speed) ease}.env-bg:before{background-image:linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),linear-gradient(180deg,var(--grid-line) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:radial-gradient(ellipse 76% 70% at 50% 42%,#000 0,transparent 72%);mask-image:radial-gradient(ellipse 76% 70% at 50% 42%,#000 0,transparent 72%);opacity:.85}.env-bg:after,.env-bg:before{content:"";position:absolute;inset:0}.env-bg:after{opacity:.34;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.page-enter{animation:pageEnter .36s ease-out forwards}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.shell-line{background:linear-gradient(90deg,transparent,var(--border-strong),transparent)}.nav-chip{border:1px solid var(--border-soft);background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);color:var(--text-secondary);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08);transition:border-color .16s ease,color .16s ease,transform .16s ease,background-color var(--transition-speed) ease}.nav-chip:hover{border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}.glass-stat{border:1px solid var(--border-soft);border-radius:18px;padding:12px 14px;background:linear-gradient(180deg,hsla(0,0%,100%,.14),hsla(0,0%,100%,.05)),color-mix(in srgb,var(--bg-elevated) 78%,transparent);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.16),0 10px 28px rgba(0,0,0,.08);backdrop-filter:blur(14px);min-width:0}.content-panel{background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);box-shadow:0 24px 80px rgba(0,0,0,.22),inset 0 1px 0 hsla(0,0%,100%,.08);backdrop-filter:blur(18px)}.content-panel,.page-card{border:1px solid var(--border-soft)}.page-card{background:color-mix(in srgb,var(--bg-elevated-strong) 86%,transparent);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.07)}.meta-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.14em}.scene-3d-sharp{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;backface-visibility:hidden}.calc-stage-3d{position:relative;width:100%;height:100%;opacity:0;transition:opacity .48s cubic-bezier(.16,1,.3,1);will-change:opacity}.calc-stage-3d--ready{opacity:1}.calc-stage-3d .calc-canvas{display:block;width:100%!important;height:100%!important;background:transparent;outline:none}:root[data-mode=dark]{--haze:9,11,13;--ink:255,255,255;--chip-bg:rgba(18,22,25,.62);--chip-border:hsla(93,29%,94%,.12);--status-bg:rgba(142,230,108,.1);--status-text:#a7ef80;--brand-mark:#a7ef80;--veil-bg:rgba(9,11,13,.55)}:root[data-mode=light]{--haze:239,238,232;--ink:22,29,25;--chip-bg:rgba(255,255,251,.72);--chip-border:rgba(30,45,36,.14);--status-bg:rgba(28,106,60,.1);--status-text:#1c6a3c;--brand-mark:#1c6a3c;--veil-bg:hsla(51,18%,92%,.5)}:root{--tone-blog:var(--btn-blog-text);--tone-portfolio:var(--btn-portfolio-text);--tone-about:var(--btn-about-text);--tone-lab:var(--btn-lab-text)}:root[data-mode=light]{--tone-blog:#0f766e;--tone-portfolio:#9c6b16;--tone-about:#b4532a;--tone-lab:#6b46c1}.home-haze{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(var(--haze),.9) 0,rgba(var(--haze),.86) 300px,rgba(var(--haze),.45) 440px,rgba(var(--haze),.6) 100%);transition:background var(--transition-speed) ease}@media (orientation:landscape){.home-haze{background:radial-gradient(ellipse 58% 68% at 20% 52%,rgba(var(--haze),.82) 0,rgba(var(--haze),0) 72%),linear-gradient(180deg,rgba(var(--haze),.7) 0,rgba(var(--haze),0) 18%,rgba(var(--haze),0) 80%,rgba(var(--haze),.75) 100%)}}.home-shell{height:100dvh;min-height:100dvh;width:100%;max-width:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;padding:calc(10px + env(safe-area-inset-top)) 14px calc(8px + env(safe-area-inset-bottom));overflow:hidden}.home-main{flex-direction:column}.calc-slot,.home-main{display:flex;min-height:0;min-width:0}.calc-slot{flex:1 1 auto;flex-direction:column;align-items:center;padding-top:4px}.calc-slot__inner{flex:0 1 auto;display:flex;flex-direction:column;width:100%;max-width:520px;min-height:0;aspect-ratio:10/9.8}.calc-stage-3d{flex:1 1 auto;min-height:0;height:auto}.calc-stage-3d .calc-canvas{position:absolute;inset:0}@keyframes calcDevpostPop{0%{opacity:0;transform:translate(-50%,6px) scale(.94)}to{opacity:1;transform:translate(-50%,12px) scale(1)}}.calc-stage-3d--link-menu .calc-canvas{pointer-events:none}.calc-devpost-menu{position:absolute;left:50%;top:40%;z-index:12;pointer-events:auto;display:flex;flex-direction:column;gap:6px;min-width:188px;padding:8px;border-radius:13px;border:1px solid rgba(142,230,108,.34);background:linear-gradient(180deg,rgba(11,28,39,.96),rgba(5,14,20,.98));box-shadow:0 18px 40px rgba(0,0,0,.65),0 0 24px rgba(142,230,108,.14),inset 0 1px 0 hsla(0,0%,100%,.1);transform:translate(-50%,12px);transform-origin:50% 0;backdrop-filter:blur(12px);animation:calcDevpostPop .18s cubic-bezier(.16,1,.3,1) forwards}.calc-devpost-menu__list{display:flex;flex-direction:column;gap:5px}.calc-devpost-menu__item{display:block;padding:8px 10px;border-radius:8px;border:1px solid rgba(142,230,108,.14);font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:#edf3ec;text-decoration:none;background:rgba(14,38,52,.65);transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.calc-devpost-menu__item:hover{background:rgba(142,230,108,.16);border-color:rgba(142,230,108,.48);color:#c8ffb0;transform:translateY(-1px)}.calc-devpost-menu__caret{position:absolute;left:50%;top:-6px;width:11px;height:11px;background:rgba(5,14,20,.98);border-left:1px solid rgba(142,230,108,.34);border-top:1px solid rgba(142,230,108,.34);transform:translateX(-50%) rotate(45deg)}@media (orientation:portrait){.home-main{width:100%;max-width:560px;margin:0 auto;padding:0 6px 4dvh;justify-content:center}.calc-slot{flex:0 1 auto;padding-top:clamp(14px,3dvh,32px)}}.desk-footer{display:none}@media (orientation:landscape){.home-shell{height:auto;min-height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;max-width:1480px;margin:0 auto;padding:18px clamp(18px,3vw,48px) 14px;overflow:visible}.home-main{display:grid;grid-template-columns:minmax(0,480px) minmax(0,520px);justify-content:center;align-items:center;gap:clamp(32px,6vw,112px)}.calc-slot{flex:none;padding-top:0;align-items:center}.calc-slot__inner{flex:none;width:min(100%,520px)}.desk-footer{display:grid}}@media (orientation:landscape) and (min-width:1700px) and (min-height:900px){.home-main{grid-template-columns:minmax(0,540px) minmax(0,620px);gap:128px}.calc-slot__inner{max-width:620px}}.topbar{display:flex;justify-content:space-between;min-width:0}.brand,.topbar{align-items:center;gap:10px}.brand{display:inline-flex;text-decoration:none;color:var(--text-muted);justify-self:start}.brand__text{display:none}@media (orientation:landscape){.topbar{gap:16px}.brand__text{display:inline}}.brand__mark{width:30px;height:22px;display:inline-block;background:var(--brand-mark);-webkit-mask-image:url(/ascii-mask.png);mask-image:url(/ascii-mask.png);-webkit-mask-size:300%;mask-size:300%;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-source-type:luminance;mask-mode:luminance;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--brand-mark) 45%,transparent));transition:background-color var(--transition-speed) ease,transform .32s cubic-bezier(.34,1.4,.64,1)}.brand:hover .brand__mark{transform:rotate(-8deg) scale(1.08)}.brand__text{font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.topbar__center{display:none;align-items:center;gap:12px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}@media (orientation:landscape) and (min-width:768px){.topbar__center{display:inline-flex}}.topbar__clock{display:inline-flex;align-items:baseline;gap:6px;color:var(--text-secondary)}.topbar__digits{font-variant-numeric:tabular-nums;font-weight:600;min-width:6.4ch}.topbar__period{font-size:.6rem;opacity:.8}.topbar__sep{width:22px;height:1px;background:var(--border-strong)}.topbar__right{display:flex;align-items:center;gap:10px;justify-self:end}.status-pill{display:none;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--chip-border);background:var(--status-bg);color:var(--status-text);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease,border-color var(--transition-speed) ease}@media (orientation:landscape) and (min-width:640px){.status-pill{display:inline-flex}}.status-pill__dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:pulseRing 2.4s ease-out infinite}@keyframes pulseRing{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 55%,transparent)}70%{box-shadow:0 0 0 9px color-mix(in srgb,currentColor 0,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 0,transparent)}}.hero{min-width:0;max-width:100%;padding-top:8px}.hero-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;min-height:1.2em}.hero-kicker__pulse{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulseRing 2.4s ease-out infinite}.hero-name{margin-top:10px;display:flex;flex-wrap:wrap;align-items:baseline;-moz-column-gap:.22em;column-gap:.22em;font-family:var(--font-orbitron),sans-serif;font-size:clamp(2.1rem,8.6vw,3.6rem);line-height:1.08;font-weight:700;letter-spacing:.02em;color:var(--text-primary)}.hero-name--stacked .hero-word:not(.hero-word--accent){font-size:1.18em}.hero-name--stacked .hero-word--accent{font-size:.68em;font-weight:600;letter-spacing:.06em}.hero-name--stacked .hero-space{display:none;width:0}.hero-word{display:inline-flex;white-space:nowrap}.hero-space{display:inline-block;width:.22em}.hero-letter-clip{display:inline-block;overflow:hidden;padding-top:.08em;margin-top:-.08em;padding-bottom:.28em;margin-bottom:-.28em;padding-right:.12em;margin-right:-.12em}.hero-letter{display:inline-block;transform-origin:50% 100%;will-change:transform,opacity}.hero-word--accent{font-style:normal;font-weight:800;padding-right:.12em}.hero-word--accent .hero-letter{-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding:0 .08em .08em .02em;margin:0 -.08em -.08em -.02em}.hero-lede{margin-top:14px;max-width:36rem;font-size:.86rem;line-height:1.6;color:var(--text-secondary);overflow-wrap:anywhere}.hero-meta{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.hero-meta>span{display:inline-flex;align-items:center}.hero-meta__dot{width:3px;height:3px;border-radius:50%;background:var(--accent);margin:0 10px;opacity:.8}.hero-stats{display:none;margin-top:28px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:30rem}@media (orientation:portrait){.hero-kicker,.hero-meta,.hero-stats{display:none}.hero{padding-top:clamp(12px,3.5dvh,40px)}.hero-name{margin-top:0;font-size:clamp(2.2rem,11vw,3.8rem)}.hero-lede{margin-top:clamp(14px,2.6dvh,24px);max-width:100%;font-size:clamp(.8rem,3.6vw,1rem);line-height:1.6;color:var(--text-secondary)}}@media (orientation:landscape){.hero{padding-top:0;max-width:560px}.hero-kicker{font-size:.68rem}.hero-name{margin-top:0;font-size:clamp(2rem,3.4vw,3.8rem)}.hero-lede{margin-top:24px;font-size:clamp(.84rem,1.1vw,1rem);line-height:1.7;max-width:30rem}.hero-meta{display:none}.hero-stats{display:grid}}@media (orientation:landscape) and (max-height:619px){.hero-stats{display:none}.hero-meta{display:flex}}@media (orientation:landscape) and (min-width:1700px) and (min-height:900px){.hero{max-width:640px}.hero-name{font-size:4.2rem}.hero-lede{font-size:1.1rem;max-width:32rem}}.glass-stat__label{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.glass-stat__value{margin-top:8px;font-size:.78rem;line-height:1.35;color:var(--text-primary)}.desk-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:40px;padding-top:6px}@media (orientation:landscape) and (min-width:768px) and (hover:hover){.ticker{grid-column:2}}.ticker{position:relative;overflow:hidden;border-top:1px solid var(--border-soft);padding-top:10px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ticker__track{display:flex;width:-moz-max-content;width:max-content;animation:tickerScroll 46s linear infinite}.ticker:hover .ticker__track{animation-play-state:paused}.ticker__track--still{animation:none}.ticker__item{display:inline-flex;align-items:center;gap:18px;padding-right:18px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.ticker__dot{width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.8}@keyframes tickerScroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.mode-switch{--ms-housing:linear-gradient(180deg,#050607,#17191b);--ms-housing-shadow:inset 0 1px 2px rgba(0,0,0,.85),0 1px 0 hsla(0,0%,100%,.07),0 10px 24px rgba(0,0,0,.35);--ms-cap:linear-gradient(180deg,#3a3d41,#2a2c30 55%,#222427);--ms-cap-lit:linear-gradient(180deg,#26282b,#1f2124);--ms-cap-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),inset 0 -2px 3px rgba(0,0,0,.35),0 2px 2px rgba(0,0,0,.6),0 3px 6px rgba(0,0,0,.35);--ms-cap-shadow-lit:inset 0 2px 4px rgba(0,0,0,.55),inset 0 -1px 0 hsla(0,0%,100%,.05),0 1px 0 rgba(0,0,0,.5);--ms-ink:#6f757b;--ms-ink-hover:#a9aeb3;--ms-lamp-light:#ff8a1f;--ms-lamp-dark:#22d3ff;position:relative;display:inline-flex;flex-shrink:0;gap:3px;padding:3px;border-radius:999px;background:var(--ms-housing);box-shadow:var(--ms-housing-shadow);font-family:var(--font-ibm-plex-mono),ui-monospace,monospace}:root[data-mode=light] .mode-switch{--ms-housing:linear-gradient(180deg,#b9bcb6,#d6d8d2);--ms-housing-shadow:inset 0 1px 2px rgba(40,46,42,.45),0 1px 0 hsla(0,0%,100%,.8),0 10px 22px rgba(60,66,60,.18);--ms-cap:linear-gradient(180deg,#fff,#f1f1ec 55%,#e4e5df);--ms-cap-lit:linear-gradient(180deg,#e2e3dd,#ecede7);--ms-cap-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px rgba(80,86,80,.12),0 2px 2px rgba(50,56,50,.22),0 3px 6px rgba(50,56,50,.12);--ms-cap-shadow-lit:inset 0 2px 4px rgba(50,56,50,.28),inset 0 -1px 0 hsla(0,0%,100%,.7),0 1px 0 hsla(0,0%,100%,.6);--ms-ink:#8a908b;--ms-ink-hover:#4b524d;--ms-lamp-light:#f97316;--ms-lamp-dark:#0ea5e9}.mode-switch__key{--lamp:var(--ms-lamp-light);position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:34px;padding:0;border:0;cursor:pointer;color:var(--ms-ink);background:var(--ms-cap);box-shadow:var(--ms-cap-shadow);-webkit-tap-highlight-color:transparent;transition:transform .14s ease,box-shadow .14s ease,color .22s ease,background .22s ease}.mode-switch__key--light{border-radius:999px 8px 8px 999px;padding-left:3px}.mode-switch__key--dark{--lamp:var(--ms-lamp-dark);border-radius:8px 999px 999px 8px;padding-right:3px}.mode-switch__icon{display:inline-flex;width:16px;height:16px}.mode-switch__icon svg{width:100%;height:100%;overflow:visible}.mode-switch__key:hover{color:var(--ms-ink-hover)}.mode-switch__key:active{transform:translateY(1.5px);box-shadow:var(--ms-cap-shadow-lit)}.mode-switch__key:focus-visible{outline:2px solid color-mix(in srgb,var(--lamp) 80%,transparent);outline-offset:2px}:root[data-mode=dark] .mode-switch__key--dark,:root[data-mode=light] .mode-switch__key--light{cursor:default;color:var(--lamp);background:var(--ms-cap-lit);box-shadow:inset 0 0 0 1.5px var(--lamp),var(--ms-cap-shadow-lit);transform:translateY(1px)}:root[data-mode=dark] .mode-switch__key--dark .mode-switch__icon,:root[data-mode=light] .mode-switch__key--light .mode-switch__icon{animation:lampOn .42s ease-out}@keyframes lampOn{0%{opacity:.25}30%{opacity:1}45%{opacity:.55}to{opacity:1}}@media (max-width:400px){.mode-switch__key{width:42px;height:32px}}@media (prefers-reduced-motion:reduce){.mode-switch__icon{animation:none!important}}.route-ascii-curtain{position:fixed;inset:0;z-index:200;pointer-events:all;background:var(--bg-primary)}.route-ascii-curtain canvas{display:block;width:100%;height:100%}.route-curtain{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:var(--bg-primary);overflow:hidden;--curtain-tone:var(--bg-elevated-strong);--curtain-text:var(--text-primary)}.route-curtain[data-tone=blog]{--curtain-tone:var(--btn-blog);--curtain-text:var(--btn-blog-text)}.route-curtain[data-tone=portfolio]{--curtain-tone:var(--btn-portfolio);--curtain-text:var(--btn-portfolio-text)}.route-curtain[data-tone=about]{--curtain-tone:var(--btn-about);--curtain-text:var(--btn-about-text)}.route-curtain[data-tone=lab]{--curtain-tone:var(--btn-lab);--curtain-text:var(--btn-lab-text)}.route-curtain__tone{position:absolute;inset:-2% 0;background:radial-gradient(ellipse 70% 60% at 50% 40%,color-mix(in srgb,var(--curtain-text) 24%,var(--curtain-tone)),var(--curtain-tone) 70%)}.route-curtain__label{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--curtain-text);text-align:center}.route-curtain__kicker{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;opacity:.75}.route-curtain__title{font-size:clamp(3.2rem,11vw,8rem);font-style:italic;font-weight:300;line-height:1;letter-spacing:-.01em}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}html.vt-theme,html.vt-theme *,html.vt-theme :after,html.vt-theme :before{transition-duration:0s!important}@media (prefers-reduced-motion:reduce){.hero-kicker__pulse,.hero-word--accent,.status-pill__dot,.ticker__track{animation:none!important}.calc-stage-3d{opacity:1;transition:none}}.calc-stage{width:100%;max-width:min(100%,500px);margin-left:auto;margin-right:auto;perspective:var(--calc-perspective);perspective-origin:50% 42%}.calc-outer{width:100%;transform:rotateX(var(--calc-tilt-x)) rotateY(var(--calc-tilt-y))}.calc-body,.calc-outer{transform-style:preserve-3d}.calc-body{position:relative;border-radius:26px;padding:clamp(18px,3vw,28px);background:linear-gradient(180deg,color-mix(in srgb,var(--calc-body) 100%,#fff 8%) 0,var(--calc-body-mid) 56%,var(--calc-edge) 100%);box-shadow:var(--calc-shadow-deep);background-clip:padding-box;border:1px solid hsla(0,0%,100%,.08);overflow:hidden;transition:background var(--transition-speed) ease,box-shadow var(--transition-speed) ease}.calc-body:before{inset:0;border-radius:26px;background:var(--calc-top-highlight);opacity:.86}.calc-body:after,.calc-body:before{content:"";position:absolute;pointer-events:none}.calc-body:after{inset:1px;border-radius:25px;background:radial-gradient(circle at 18% 8%,hsla(0,0%,100%,.08),transparent 35%),linear-gradient(90deg,hsla(0,0%,100%,.05),transparent 18% 82%,rgba(0,0,0,.2));mix-blend-mode:soft-light;opacity:.55}.calc-body>*{position:relative;transform:translateZ(2px);backface-visibility:hidden}.screen-bezel{position:relative;border-radius:var(--bezel-radius);padding:clamp(14px,2.4vw,20px);min-height:clamp(118px,17vw,150px);background:var(--screen-bg);background-image:var(--screen-glass);box-shadow:inset 0 10px 24px var(--screen-inset),inset 0 1px 0 hsla(0,0%,100%,.05),0 0 10px var(--screen-glow-outer);transition:background var(--transition-speed) ease,box-shadow var(--transition-speed) ease}.screen-bezel:after{content:"";position:absolute;inset:0;border-radius:var(--bezel-radius);pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,var(--screen-scan) 2px 3px);opacity:.18;mix-blend-mode:multiply}.screen-content{color:var(--screen-text);text-shadow:0 0 3px var(--screen-glow),0 1px 0 rgba(0,0,0,.35);transform:translateZ(4px);backface-visibility:hidden;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;letter-spacing:.06em;font-variant-numeric:tabular-nums}.screen-glass-line{position:absolute;top:5px;left:9%;right:9%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.18),transparent);border-radius:1px;pointer-events:none}.btn-well{position:relative;border-radius:12px;background:var(--btn-well);box-shadow:inset 0 5px 12px rgba(0,0,0,.52),inset 0 1px 0 hsla(0,0%,100%,.05);padding:3px 3px 4px;transition:background var(--transition-speed) ease,box-shadow var(--transition-speed) ease}.btn-face{display:flex;height:100%;width:100%;cursor:pointer;align-items:center;justify-content:center;border-radius:.5rem;border-width:0;position:relative;min-height:clamp(56px,9vw,74px);-moz-user-select:none;user-select:none;-webkit-user-select:none;color:var(--text-primary);background-image:var(--btn-num-face);background-color:var(--btn-num-bg);box-shadow:0 9px 0 0 rgba(0,0,0,.4),0 14px 22px rgba(0,0,0,.2),inset 0 2px 0 hsla(0,0%,100%,.2);transform:translateY(0) translateZ(0);transition:box-shadow 80ms ease-in,transform 80ms ease-in,background-color var(--transition-speed) ease,color var(--transition-speed) ease,filter 80ms ease-in;font-size:clamp(.95rem,2.6vw,1.14rem);font-weight:600;letter-spacing:0}.btn-face--pressed{transform:translateY(8px) translateZ(0)!important;box-shadow:0 2px 0 0 rgba(0,0,0,.24),0 3px 6px rgba(0,0,0,.16),inset 0 1px 0 rgba(0,0,0,.14)!important;transition:box-shadow .18s cubic-bezier(.32,1.6,.4,1),transform .18s cubic-bezier(.32,1.6,.4,1),background-color var(--transition-speed) ease,color var(--transition-speed) ease}.btn-label{font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;line-height:1;max-width:100%;overflow-wrap:anywhere;text-align:center;transform:translateZ(3px);backface-visibility:hidden;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.btn-face--eq,.btn-face--op{background-image:var(--btn-op-face);background-color:var(--btn-op-bg)}.btn-face--eq{font-weight:700}.btn-face--blog{background:linear-gradient(180deg,#1f4b43 0,var(--btn-blog) 100%);color:var(--btn-blog-text)!important}.btn-face--portfolio{background:linear-gradient(180deg,#51401b 0,var(--btn-portfolio) 100%);color:var(--btn-portfolio-text)!important}.btn-face--about{background:linear-gradient(180deg,#512c1f 0,var(--btn-about) 100%);color:var(--btn-about-text)!important}.btn-face--lab{background:linear-gradient(180deg,#322153 0,var(--btn-lab) 100%);color:var(--btn-lab-text)!important}.btn-face--about,.btn-face--blog,.btn-face--lab,.btn-face--portfolio{box-shadow:0 9px 0 0 rgba(0,0,0,.42),0 14px 22px rgba(0,0,0,.24),inset 0 2px 0 hsla(0,0%,100%,.16);font-size:clamp(.95rem,2.2vw,1.1rem);font-weight:700}.btn-face--nav{white-space:nowrap;letter-spacing:.06em}.portfolio-cork-page{--mx:0;--my:0;min-height:100vh;overflow-x:hidden;color:#2b2118;background-color:#9a5e2d;background-image:radial-gradient(circle at 20% 20%,rgba(255,219,151,.34) 0 1px,transparent 1.8px),radial-gradient(circle at 80% 40%,rgba(75,38,16,.28) 0 1.2px,transparent 2px),radial-gradient(circle at 40% 85%,rgba(255,190,101,.2) 0 1px,transparent 2px),repeating-radial-gradient(circle at 32% 28%,#b57235 0 2px,#985724 2px 5px,#c07d3b 5px 7px);background-size:19px 23px,29px 31px,41px 37px,180px 180px;position:relative}.portfolio-cork-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at top,rgba(255,242,205,.38),transparent 48%),linear-gradient(115deg,rgba(35,18,8,.3),transparent 34% 68%,rgba(39,18,5,.36));mix-blend-mode:soft-light}.portfolio-cork-page:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)' opacity='0.7'/%3E%3C/svg%3E");mix-blend-mode:multiply}.portfolio-topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(1180px,calc(100% - 28px));margin:0 auto;padding:18px 0 8px}.portfolio-brand{color:#fff3cb;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 2px 10px rgba(40,18,5,.32)}.portfolio-nav-wrap{display:flex;align-items:center;gap:14px}.portfolio-sticky-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.portfolio-nav-note{position:relative;min-width:76px;padding:15px 13px 10px;color:#332315;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;font-size:.72rem;font-weight:800;text-align:center;text-transform:uppercase;transform:rotate(var(--tilt)) translateY(0) translateZ(2px);transform-origin:50% 8px;backface-visibility:hidden;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;background:linear-gradient(145deg,#fff6a7,#f1ce58);box-shadow:0 9px 18px rgba(47,21,5,.22),inset 0 1px 0 hsla(0,0%,100%,.7);transition:transform .16s ease,box-shadow .16s ease}.portfolio-nav-note:nth-child(2){background:linear-gradient(145deg,#bbf6dc,#7edeb4)}.portfolio-nav-note:nth-child(3){background:linear-gradient(145deg,#c9ddff,#8fb3ed)}.portfolio-nav-note:nth-child(4){background:linear-gradient(145deg,#ffc6a9,#f1906d)}.portfolio-nav-note:hover{transform:rotate(var(--tilt)) translateY(-4px) scale(1.03) translateZ(2px);box-shadow:0 14px 22px rgba(47,21,5,.27),inset 0 1px 0 hsla(0,0%,100%,.7)}.mini-pin{position:absolute;top:4px;left:50%;width:10px;height:10px;border-radius:999px;background:radial-gradient(circle at 35% 30%,#fff,#ff6c62 34%,#9d1e1d 72%);box-shadow:0 2px 3px rgba(56,21,10,.34);transform:translateX(-50%)}.portfolio-board-wrap{position:relative;z-index:1;width:min(1240px,calc(100% - 24px));margin:0 auto;padding:16px 0 56px;perspective:1600px}.cork-board{position:relative;min-height:760px;padding:clamp(28px,4vw,52px);overflow:hidden;border:16px solid #6b3719;border-radius:7px;transform:rotateX(calc(var(--my) * -2deg)) rotateY(calc(var(--mx) * 2.5deg)) translateZ(0);transform-style:preserve-3d;backface-visibility:hidden;background-color:#a9652f;background-image:radial-gradient(circle at 18% 24%,rgba(255,235,172,.32) 0 1px,transparent 2px),radial-gradient(circle at 74% 28%,rgba(75,36,13,.25) 0 1px,transparent 2.4px),radial-gradient(circle at 48% 78%,rgba(255,185,95,.22) 0 1px,transparent 2px),repeating-radial-gradient(circle at 60% 40%,#bd7938 0 2px,#9d5b27 2px 5px,#ca8642 5px 7px);background-size:18px 24px,31px 27px,43px 39px,170px 170px;box-shadow:0 34px 70px rgba(42,17,4,.42),inset 0 0 0 5px rgba(255,199,116,.24),0 0 0 1px rgba(34,13,4,.5)}.cork-board:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(74,31,11,.18),transparent 10% 90%,rgba(74,31,11,.22)),linear-gradient(180deg,rgba(255,232,175,.18),transparent 22% 78%,rgba(39,16,5,.18));mix-blend-mode:multiply}.board-hardware{position:absolute;left:0;right:0;height:18px;background:linear-gradient(90deg,rgba(255,230,176,.22),transparent 16% 84%,rgba(50,18,5,.24)),repeating-linear-gradient(90deg,#8a4a22 0 18px,#743815 18px 35px);box-shadow:0 2px 8px rgba(42,17,4,.28)}.board-hardware--top{top:0}.board-hardware--bottom{bottom:0}.portfolio-title-note{position:relative;z-index:2;width:min(420px,92%);margin:0 auto 42px;padding:26px 28px 24px;text-align:center;transform:rotate(-2.2deg) translateZ(38px);backface-visibility:hidden;background:linear-gradient(160deg,hsla(0,0%,100%,.44),transparent 34%),linear-gradient(145deg,#fff7a8,#f2ca4d 68%,#deb23a);box-shadow:0 20px 28px rgba(56,24,7,.24),inset 0 1px 0 hsla(0,0%,100%,.72)}.portfolio-title-note:after{content:"";position:absolute;right:0;bottom:0;border-color:transparent transparent rgba(157,111,31,.35);border-style:solid;border-width:0 0 34px 34px}.portfolio-kicker{font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#6a4115}.portfolio-kicker,.portfolio-title-note h1{transform:translateZ(6px);backface-visibility:hidden;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.portfolio-title-note h1{margin-top:6px;font-family:var(--font-cormorant),ui-serif,Georgia,serif;font-size:clamp(4rem,10vw,7.5rem);font-weight:500;line-height:.86;letter-spacing:0;color:#2f2011}.string-line{position:absolute;z-index:1;height:2px;width:48%;background:linear-gradient(90deg,transparent,rgba(78,42,22,.62),transparent);transform-origin:left;pointer-events:none}.string-line--one{top:208px;left:5%;transform:rotate(8deg)}.string-line--two{right:5%;top:250px;transform:rotate(-7deg)}.project-note-grid{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,42px);transform-style:preserve-3d}.project-note{position:relative;min-height:390px;padding:28px 22px 22px;color:#2d2319;transform:rotate(var(--rotate)) translateZ(20px);transform-origin:50% 12px;backface-visibility:hidden;animation:noteDrop .52s cubic-bezier(.2,.85,.2,1) both;animation-delay:var(--delay);background:linear-gradient(160deg,hsla(0,0%,100%,.48),transparent 32%),linear-gradient(180deg,#fff2a6,#f2db75);box-shadow:0 24px 28px rgba(55,22,5,.22),inset 0 3px 1px hsla(0,0%,100%,.54),inset 0 -14px 30px rgba(142,90,20,.1);transition:transform .19s ease,box-shadow .19s ease}.project-note:nth-child(2){background:linear-gradient(160deg,hsla(0,0%,100%,.44),transparent 32%),linear-gradient(180deg,#d8ffe9,#9ee7c7)}.project-note:nth-child(3){background:linear-gradient(160deg,hsla(0,0%,100%,.44),transparent 32%),linear-gradient(180deg,#dce9ff,#a9c8ff)}.project-note:nth-child(4){background:linear-gradient(160deg,hsla(0,0%,100%,.44),transparent 32%),linear-gradient(180deg,#ffd8c5,#ffab86)}.project-note:nth-child(5){background:linear-gradient(160deg,hsla(0,0%,100%,.44),transparent 32%),linear-gradient(180deg,#edffc4,#cef176)}.project-note:nth-child(6){background:linear-gradient(160deg,hsla(0,0%,100%,.44),transparent 32%),linear-gradient(180deg,#ffd8ee,#f3a6cc)}.project-note:hover{transform:rotate(var(--rotate)) translateY(-10px) translateZ(68px);box-shadow:0 34px 46px rgba(55,22,5,.28),inset 0 3px 1px hsla(0,0%,100%,.58),inset 0 -14px 30px rgba(142,90,20,.1)}.project-note:before{inset:0 0 auto 0;height:18px;background:linear-gradient(180deg,hsla(0,0%,100%,.3),transparent)}.project-note:after,.project-note:before{content:"";position:absolute;pointer-events:none}.project-note:after{right:0;bottom:0;width:42px;height:42px;background:linear-gradient(135deg,transparent 50%,rgba(115,68,16,.22) 51%)}.pushpin{z-index:4;top:10px;width:22px;height:22px;border-radius:999px;transform:translateX(-50%);background:radial-gradient(circle at 34% 28%,#fff7dc 0 8%,transparent 9%),radial-gradient(circle at 38% 32%,#ff8278 0 24%,#d93d35 25% 56%,#7d1718 57% 100%);box-shadow:0 5px 7px rgba(61,23,8,.42),0 0 0 1px rgba(73,22,13,.34)}.pushpin,.pushpin:after{position:absolute;left:50%}.pushpin:after{content:"";top:17px;width:2px;height:20px;background:rgba(80,48,35,.58);transform:translateX(-50%) rotate(9deg);transform-origin:top;box-shadow:5px 8px 6px rgba(46,20,6,.34)}.pushpin--title{top:-8px}.paper-clip{position:absolute;top:18px;right:18px;width:23px;height:48px;border:3px solid rgba(85,79,71,.44);border-left-color:transparent;border-radius:999px;transform:rotate(14deg)}.paper-clip:after{content:"";position:absolute;inset:7px 5px 7px 3px;border:2px solid rgba(85,79,71,.36);border-left-color:transparent;border-radius:999px}.project-photo{position:relative;height:150px;margin-bottom:18px;overflow:hidden;border:8px solid #fbfaf2;background:#182020;box-shadow:0 9px 18px rgba(48,20,6,.18),0 0 0 1px rgba(50,32,12,.1)}.project-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,hsla(0,0%,100%,.22),transparent 40% 100%);pointer-events:none}.photo-grid,.photo-mark{position:absolute;display:block}.photo-grid{inset:0;opacity:.42;background-image:linear-gradient(hsla(0,0%,100%,.18) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.18) 1px,transparent 0);background-size:18px 18px}.project-photo--calculator{background:linear-gradient(135deg,#151f1c,#3a4d43)}.project-photo--calculator .photo-mark-a{left:18px;top:18px;width:72px;height:36px;border-radius:5px;background:#91e56d;box-shadow:0 0 22px rgba(145,229,109,.55)}.project-photo--calculator .photo-mark-b,.project-photo--calculator .photo-mark-c{left:20px;bottom:18px;width:132px;height:54px;background-image:radial-gradient(circle,#ffd76a 0 7px,transparent 8px);background-size:26px 26px}.project-photo--lighting{background:radial-gradient(circle at 34% 38%,#fff7b0,transparent 18%),radial-gradient(circle at 67% 56%,#82f0cb,transparent 20%),linear-gradient(135deg,#101317,#3c2c20)}.project-photo--lighting .photo-mark-a{left:24px;top:28px;width:54px;height:54px;border-radius:50%;border:2px solid #fff6a6;box-shadow:0 0 36px #fff1a1}.project-photo--lighting .photo-mark-b{right:26px;bottom:30px;width:80px;height:26px;border-radius:999px;background:#8cefd0}.project-photo--notebook{background:linear-gradient(90deg,#f9f4de 0 50%,#efe3c8 50% 100%)}.project-photo--notebook .photo-grid{background-image:repeating-linear-gradient(0deg,transparent 0 17px,rgba(50,77,120,.18) 17px 18px)}.project-photo--notebook .photo-mark-a{left:26px;top:28px;width:120px;height:70px;border-left:3px solid #213d76;border-bottom:3px solid #213d76}.project-photo--notebook .photo-mark-b{left:62px;top:38px;width:78px;height:40px;border:2px solid #b85858;border-top:0;border-radius:50%}.project-photo--lab{background:linear-gradient(135deg,#201629,#42304f 60%,#ff9f7a)}.project-photo--lab .photo-mark-a{left:28px;top:28px;width:70px;height:70px;border:2px solid #ffcf77;transform:rotate(16deg)}.project-photo--lab .photo-mark-b{right:24px;top:35px;width:56px;height:56px;border-radius:50%;background:#84e6ff;box-shadow:0 0 26px rgba(132,230,255,.58)}.project-photo--writing{background:linear-gradient(135deg,#27342e,#0f1714)}.project-photo--writing .photo-mark-a,.project-photo--writing .photo-mark-b,.project-photo--writing .photo-mark-c{left:22px;height:8px;border-radius:999px;background:#edffc4}.project-photo--writing .photo-mark-a{top:38px;width:136px}.project-photo--writing .photo-mark-b{top:62px;width:96px}.project-photo--writing .photo-mark-c{top:86px;width:124px}.project-photo--board{background:radial-gradient(circle at 30% 35%,#ff6c62 0 7px,transparent 8px),radial-gradient(circle at 67% 48%,#ff6c62 0 7px,transparent 8px),linear-gradient(135deg,#a9652f,#6f3c1d)}.project-photo--board .photo-mark-a,.project-photo--board .photo-mark-b,.project-photo--board .photo-mark-c{width:54px;height:58px;background:#fff2a6;box-shadow:0 8px 10px rgba(38,16,5,.2)}.project-photo--board .photo-mark-a{left:25px;top:34px;transform:rotate(-8deg)}.project-photo--board .photo-mark-b{left:84px;top:54px;background:#a9c8ff;transform:rotate(5deg)}.project-photo--board .photo-mark-c{right:28px;top:26px;background:#ffb7dc;transform:rotate(8deg)}.project-tag{margin-top:2px;color:#6c4b1f;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transform:translateZ(4px)}.project-note h2{margin-top:8px;font-family:var(--font-cormorant),ui-serif,Georgia,serif;font-size:clamp(2.1rem,4vw,3.2rem);font-weight:600;line-height:.94;letter-spacing:0;color:#24180e}.project-note h2,.project-note p:not(.project-tag){transform:translateZ(4px);backface-visibility:hidden;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.project-note p:not(.project-tag){margin-top:12px;color:#463426;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;font-size:.82rem;line-height:1.65}.note-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.note-meta span{border:1px solid color-mix(in srgb,var(--accent) 52%,#4b2d15);padding:5px 8px;color:#2c2118;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;font-size:.64rem;font-weight:800;background:color-mix(in srgb,var(--accent) 24%,hsla(0,0%,100%,.34))}@keyframes noteDrop{0%{opacity:0;transform:rotate(calc(var(--rotate) - 8deg)) translateY(-24px) translateZ(0)}to{opacity:1;transform:rotate(var(--rotate)) translateZ(20px)}}@media (max-width:960px){.portfolio-topbar{align-items:flex-start}.portfolio-nav-wrap{align-items:flex-end;flex-direction:column-reverse}.portfolio-sticky-nav{max-width:360px}.cork-board{min-height:auto;transform:none}.project-note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.portfolio-topbar{width:min(100% - 20px,1180px);flex-direction:column;padding-top:12px}.portfolio-nav-wrap,.portfolio-topbar{align-items:stretch}.portfolio-sticky-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.portfolio-nav-note{min-width:0}.portfolio-board-wrap{width:min(100% - 12px,1240px);padding-top:8px}.cork-board{border-width:9px;border-radius:5px;padding:24px 14px 30px}.portfolio-title-note{margin-bottom:28px;padding:22px 18px 20px}.string-line{display:none}.project-note-grid{grid-template-columns:1fr;gap:24px}.project-note{min-height:auto;transform:rotate(var(--rotate))}.project-note:hover{transform:rotate(var(--rotate)) translateY(-6px)}}.portfolio-cork-page--r3f{background-color:#7a4a24;background-image:radial-gradient(ellipse at 50% 0,rgba(255,220,160,.22),transparent 55%)}.portfolio-cork-page--loading{display:grid;place-items:center;min-height:100vh}.portfolio-loading-label{color:#fff3cb;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.portfolio-cork-page--r3f:after,.portfolio-cork-page--r3f:before{opacity:.12}.portfolio-board-wrap--r3f{padding-bottom:48px}.cork-board-scene--layered{position:relative;width:100%;min-height:clamp(680px,82vh,860px);border-radius:7px;overflow:hidden;box-shadow:0 34px 70px rgba(42,17,4,.42),inset 0 0 0 5px rgba(255,199,116,.24),0 0 0 1px rgba(34,13,4,.5)}.cork-board-canvas-wrap{position:absolute;inset:0;z-index:0;pointer-events:none}.cork-board--dom{position:relative;z-index:1;min-height:clamp(680px,82vh,860px);background:transparent!important;background-image:none!important;box-shadow:none;border-color:transparent}.cork-board-canvas{display:block;width:100%;height:100%;touch-action:none}.open-notebook-shell{position:relative}.r3f-note{width:220px;padding:0;color:#2d2319;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;transform:none!important;filter:none!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.r3f-note--title{width:min(360px,72vw);padding:8px 10px 4px;text-align:center}.r3f-note--title .portfolio-kicker{margin:0}.r3f-note--title h1{margin:4px 0 0;font-family:var(--font-cormorant),ui-serif,Georgia,serif;font-size:clamp(2.8rem,8vw,4.6rem);font-weight:500;line-height:.86;color:#2f2011}.r3f-note--project{padding:4px 2px 0}.r3f-note--project .project-photo{height:118px;margin-bottom:12px}.r3f-note--project .project-tag{margin:0}.r3f-note--project h2{margin:6px 0 0;font-family:var(--font-cormorant),ui-serif,Georgia,serif;font-size:1.85rem;font-weight:600;line-height:.94;color:#24180e}.r3f-note-body{margin:10px 0 0;color:#463426;font-family:var(--font-ibm-plex-mono),ui-monospace,monospace;font-size:.74rem;line-height:1.55}.r3f-note--project .note-meta{margin-top:12px}@media (max-width:960px){.cork-board--dom,.cork-board-scene--layered{min-height:620px}.r3f-note{width:200px}.r3f-note--project .project-photo{height:100px}.r3f-note--project h2{font-size:1.55rem}}@media (max-width:760px){.cork-board--dom,.cork-board-scene--layered{min-height:520px;border-radius:5px}}@media (min-width:640px){.sm\:min-h-\[76px\]{min-height:76px}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:pt-20{padding-top:5rem}.sm\:text-7xl{font-size:4.5rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:768px){.md\:flex{display:flex}}@media (min-width:1024px){.lg\:px-12{padding-left:3rem;padding-right:3rem}}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1240px,calc(100% - 32px));margin:0 auto;padding:18px 0 10px}.site-header__brand{display:inline-flex;align-items:center;gap:10px;color:var(--hdr-fg,var(--text-primary));font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;opacity:.92;transition:opacity .16s ease}.site-header__brand:hover{opacity:1}.site-header__mark{width:22px;height:22px;background:var(--hdr-accent,var(--accent));-webkit-mask:url(/ascii-mask.png) center/contain no-repeat;mask:url(/ascii-mask.png) center/contain no-repeat}.site-header__nav{display:flex;align-items:center;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--hdr-border,var(--border-soft));background:var(--hdr-bg,color-mix(in srgb,var(--bg-elevated) 82%,transparent));backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 10px 30px rgba(0,0,0,.16)}.site-header__link{padding:8px 14px;border-radius:999px;color:var(--hdr-fg-muted,var(--text-secondary));font-size:.72rem;font-weight:600;letter-spacing:.06em;text-decoration:none;transition:color .16s ease,background-color .16s ease}.site-header__link:hover{color:var(--hdr-fg,var(--text-primary))}.site-header__link[aria-current=page]{color:var(--hdr-fg-active,var(--bg-primary));background:var(--hdr-accent,var(--accent))}@media (max-width:720px){.site-header{flex-wrap:wrap}.site-header__nav{order:3;width:100%;justify-content:space-between;overflow-x:auto}.site-header__link{padding:8px 10px;font-size:.66rem}}.about-page{--term-bg:rgba(12,16,22,.86);--term-bg-solid:#0c1016;--term-chrome:rgba(22,27,36,.92);--term-border:hsla(0,0%,100%,.1);--term-fg:#dfe8ea;--term-muted:#8a97a6;--term-accent:#8ee66c;--term-accent-2:#7fd6ff;--term-title:#ffd27a;--term-error:#ff7b7b;--term-cursor:#8ee66c;--term-selection:rgba(142,230,108,.25);--hdr-bg:rgba(12,16,22,.55);--hdr-border:hsla(0,0%,100%,.1);--hdr-fg:#eef3f5;--hdr-fg-muted:#a8b3bf;--hdr-accent:var(--term-accent);--hdr-fg-active:#0b1310;--px:0;--py:0;position:relative;min-height:100vh;min-height:100svh;overflow:hidden;color:var(--term-fg)}:root[data-mode=light] .about-page{--term-bg:hsla(60,23%,97%,.9);--term-bg-solid:#fafaf7;--term-chrome:hsla(84,13%,92%,.96);--term-border:rgba(20,30,25,.12);--term-fg:#1c2420;--term-muted:#6b7772;--term-accent:#1c6a3c;--term-accent-2:#0f5f8e;--term-title:#8a5a08;--term-error:#b8322e;--term-cursor:#1c6a3c;--term-selection:rgba(28,106,60,.2);--hdr-bg:hsla(0,0%,100%,.55);--hdr-border:rgba(20,30,25,.12);--hdr-fg:#14201a;--hdr-fg-muted:#4b5a52;--hdr-fg-active:#fff;color:var(--term-fg)}.about-main{position:relative;z-index:5;width:min(1120px,calc(100% - 24px));margin:clamp(10px,3vh,34px) auto 40px}.term{position:relative;display:flex;flex-direction:column;height:min(82vh,820px);min-height:480px;border-radius:12px;border:1px solid var(--term-border);background:var(--term-bg);color:var(--term-fg);font-family:var(--font-ibm-plex-mono),ui-monospace,"SF Mono",Menlo,monospace;font-size:.88rem;line-height:1.55;backdrop-filter:blur(28px) saturate(1.35);box-shadow:0 50px 120px rgba(0,0,0,.55),inset 0 0 0 1px hsla(0,0%,100%,.06),inset 0 1px 0 hsla(0,0%,100%,.12);overflow:hidden;animation:termRise .72s cubic-bezier(.16,1,.3,1) both;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.about-wallpaper{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.about-sky{position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 65% 20%,rgba(120,90,200,.28),transparent 70%),radial-gradient(ellipse 60% 40% at 20% 10%,rgba(70,150,190,.25),transparent 70%),linear-gradient(180deg,#050810,#0b1730 38%,#182a48 62%,#2b3e5c);transition:background .7s ease}:root[data-mode=light] .about-sky{background:radial-gradient(ellipse 70% 50% at 70% 15%,hsla(0,0%,100%,.7),transparent 70%),linear-gradient(180deg,#a9d3f5,#cfe6f7 45%,#f4f1e6)}.about-stars{position:absolute;inset:0;display:block}.about-photo{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scale(1.06) translate(calc(var(--px) * -18px),calc(var(--py) * -12px));transition:transform .22s linear;filter:saturate(1.05) contrast(1.04)}.about-photo-veil{position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 42%,transparent 35%,rgba(2,6,12,.38) 100%),linear-gradient(180deg,rgba(4,8,14,.12),rgba(4,8,14,.32));pointer-events:none}:root[data-mode=light] .about-photo-veil{background:radial-gradient(ellipse 70% 60% at 50% 42%,transparent 30%,hsla(0,0%,100%,.28) 100%),linear-gradient(180deg,hsla(0,0%,100%,.12),rgba(240,244,248,.4))}.term__light:hover{filter:brightness(1.12)}.term__body{display:grid;grid-template-columns:168px minmax(0,1fr);flex:1;min-height:0}.term-side{display:flex;flex-direction:column;gap:2px;padding:14px 10px 12px;border-right:1px solid var(--term-border);background:color-mix(in srgb,var(--term-chrome) 80%,transparent);overflow-y:auto}.term-side__head{margin:0 8px 8px;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--term-muted)}.term-side__file{text-align:left;border:0;background:transparent;color:var(--term-fg);font:inherit;font-size:.78rem;padding:7px 10px;border-radius:8px;cursor:pointer}.term-side__file:hover{background:hsla(0,0%,100%,.06);color:var(--term-accent)}.term-side__hint{margin-top:auto;padding:10px 8px 4px;font-size:.68rem;line-height:1.45;color:var(--term-muted)}.term-side__hint code{color:var(--term-accent);font:inherit}.term--max{height:calc(100svh - 96px)!important;min-height:calc(100svh - 96px)}.term--min .term__body,.term--min .term__suggest{display:none}.term--min{height:auto!important;min-height:0}@media (max-width:720px){.term__body{grid-template-columns:1fr}.term-side{display:none}}:root[data-mode=light] .about-moon{background:radial-gradient(circle at 40% 40%,#fffbe6,#ffe89a 55%,#ffd15a 100%);box-shadow:0 0 80px 30px rgba(255,230,150,.45)}.about-ridges{position:absolute;inset:0;width:100%;height:100%}.about-ridge{transform-box:view-box;transform:translate(calc(var(--px) * var(--depth) * -1px),calc(var(--py) * var(--depth) * -.4px));transition:fill .7s ease}.about-ridge--far{fill:#1a2740}.about-ridge--mid{fill:#0f1a2c}.about-ridge--near{fill:#070c15}:root[data-mode=light] .about-ridge--far{fill:#9fb8c9}:root[data-mode=light] .about-ridge--mid{fill:#6f8ea3}:root[data-mode=light] .about-ridge--near{fill:#3f5a6b}.about-mist{position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.06));mix-blend-mode:screen}.term ::-moz-selection{background:var(--term-selection)}.term ::selection{background:var(--term-selection)}@keyframes termRise{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}.term__chrome{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:0 14px;height:44px;background:var(--term-chrome);border-bottom:1px solid var(--term-border)}.term__lights{display:flex;gap:8px}.term__light{width:12px;height:12px;border:0;padding:0;border-radius:50%;cursor:pointer;box-shadow:inset 0 -1px 1px rgba(0,0,0,.25),0 0 0 .5px rgba(0,0,0,.25)}.term__light--r{background:#ff5f57}.term__light--y{background:#febc2e}.term__light--g{background:#28c840}.term__tabs{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.term__tabs::-webkit-scrollbar{display:none}.term__tab{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px solid transparent;color:var(--term-muted);font:inherit;font-size:.72rem;white-space:nowrap;background:transparent;cursor:pointer;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.term__tab:hover{color:var(--term-fg);background:hsla(0,0%,100%,.06);border-color:var(--term-border)}.term__tab kbd{font:inherit;font-size:.62rem;opacity:.55}.term__tab-dot{width:7px;height:7px;border-radius:50%;background:var(--term-accent-2);box-shadow:0 0 8px var(--term-accent-2)}.term__title{color:var(--term-muted);font-size:.7rem;letter-spacing:.04em;white-space:nowrap}.term__screen{position:relative;flex:1;min-height:0;min-width:0;padding:18px 22px 12px;overflow-y:auto;overscroll-behavior:contain;cursor:text;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.14) transparent;background:repeating-linear-gradient(180deg,hsla(0,0%,100%,.012) 0 1px,transparent 1px 3px)}:root[data-mode=light] .term__screen{background:none}.term-entry+.term-entry{margin-top:8px}.term-line{white-space:pre-wrap;word-break:break-word}.term-line--title{color:var(--term-title);font-weight:700}.term-line--accent{color:var(--term-accent)}.term-line--muted{color:var(--term-muted)}.term-line--error{color:var(--term-error)}.term-line--cmd .term-cmd{color:var(--term-fg);margin-left:.6ch}.term-line--kv{display:grid;grid-template-columns:max-content 1fr;gap:0 1.5ch}.term-kv__key{white-space:pre}.term-kv__key,.term-link{color:var(--term-accent-2)}.term-link{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.term-link:hover{color:var(--term-fg);text-decoration-style:solid}.term-ls{display:flex;flex-wrap:wrap;gap:4px 2.4ch}.term-ls__dir{color:var(--term-accent-2);font-weight:700}.term-ls__file{color:var(--term-fg)}.term-line--fetch{display:grid;grid-template-columns:24ch 1fr;gap:0 2ch}.term-fetch__art{color:var(--term-accent);white-space:pre;text-shadow:0 0 12px color-mix(in srgb,var(--term-accent) 60%,transparent)}.term-banner{display:flex;flex-direction:column;gap:4px;padding:10px 0 6px}.term-banner__name{font-family:var(--font-cormorant),ui-serif,Georgia,serif;font-size:clamp(2.6rem,6vw,4.4rem);line-height:.95;color:var(--term-fg)}.term-banner__sub{color:var(--term-muted)}.term-prompt{white-space:nowrap}.term-prompt__user{color:var(--term-accent);font-weight:700}.term-prompt__at,.term-prompt__sep{color:var(--term-muted)}.term-prompt__host{color:var(--term-accent-2)}.term-prompt__cwd{color:var(--term-title)}.term-prompt__sigil{color:var(--term-fg);margin-left:.4ch}.term-line--input{position:relative;display:flex;align-items:baseline;margin-top:8px;cursor:text}.term-input{margin-left:.6ch;white-space:pre-wrap;word-break:break-all}.term-cursor{display:inline-block;min-width:1ch;color:var(--term-bg-solid);background:var(--term-muted);border-radius:1px}.term-cursor--on{background:var(--term-cursor);animation:termBlink 1.06s step-end infinite}@keyframes termBlink{50%{background:transparent;color:var(--term-fg)}}.term-input__real{position:absolute;inset:0;width:100%;opacity:0;border:0;padding:0;font:inherit;color:transparent;background:transparent;caret-color:transparent;outline:none}.term__suggest{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--term-border);background:color-mix(in srgb,var(--term-chrome) 70%,transparent);overflow-x:auto;scrollbar-width:none}.term__suggest::-webkit-scrollbar{display:none}.term__suggest-label{color:var(--term-muted);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-right:4px}.term-chip{flex:none;padding:5px 11px;border-radius:999px;border:1px solid var(--term-border);color:var(--term-fg);font:inherit;font-size:.72rem;background:hsla(0,0%,100%,.04);cursor:pointer;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.term-chip:hover{border-color:var(--term-accent);background:color-mix(in srgb,var(--term-accent) 14%,transparent);transform:translateY(-1px)}.term__status{display:flex;align-items:stretch;height:28px;font-size:.66rem;letter-spacing:.04em;background:var(--term-chrome);border-top:1px solid var(--term-border);color:var(--term-muted)}.term__status-mode{display:inline-flex;align-items:center;padding:0 14px;font-weight:700;color:#0b1310;background:#b7b7c4;transition:background-color .2s ease}.term__status-mode.is-insert{background:var(--term-accent)}.term__status-seg{display:inline-flex;align-items:center;padding:0 12px;border-right:1px solid var(--term-border);white-space:nowrap}.term__status-seg--grow{flex:1;color:var(--term-fg);overflow:hidden;text-overflow:ellipsis}.term__status-pos{display:inline-flex;align-items:center;padding:0 14px;color:#0b1310;background:var(--term-accent-2);font-weight:700}.term-dock,.term-keys,.term__mtitle{display:none}.term-dock{gap:6px;padding:8px 10px;border-bottom:1px solid var(--term-border);background:color-mix(in srgb,var(--term-chrome) 80%,transparent);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.term-dock::-webkit-scrollbar,.term-keys::-webkit-scrollbar{display:none}.term-dock__file{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px 0 6px;border:1px solid var(--term-border);border-radius:9px;background:hsla(0,0%,100%,.04);color:var(--term-fg);font:inherit;font-size:.74rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.term-dock__file:active{background:color-mix(in srgb,var(--term-accent) 18%,transparent);border-color:var(--term-accent)}.term-dock__icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;font-size:.58rem;font-weight:700;text-transform:uppercase;color:#0b1310;background:var(--term-accent-2)}.term-dock__file.is-dir .term-dock__icon{background:var(--term-title);font-size:.7rem}.term-keys{gap:4px;padding:6px 6px calc(6px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--term-border);background:var(--term-chrome);overflow-x:auto;scrollbar-width:none}.term-key{flex:1 0 auto;min-width:40px;height:40px;padding:0 8px;border:0;border-radius:7px;background:hsla(0,0%,100%,.07);box-shadow:inset 0 -2px 0 rgba(0,0,0,.35),inset 0 1px 0 hsla(0,0%,100%,.06);color:var(--term-fg);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.term-key:active{transform:translateY(1px);box-shadow:inset 0 -1px 0 rgba(0,0,0,.35);background:color-mix(in srgb,var(--term-accent) 22%,transparent)}.term-key--enter{color:#0b1310;background:var(--term-accent)}:root[data-mode=light] .term-key{background:rgba(20,30,25,.06);box-shadow:inset 0 -2px 0 rgba(20,30,25,.16)}@media (max-width:720px){.about-main{width:calc(100% - 16px);margin:6px auto 8px}.term{height:calc(100svh - 136px);min-height:380px;font-size:.8rem;border-radius:14px}.term__status,.term__suggest-label,.term__tabs,.term__title{display:none}.term__chrome{grid-template-columns:auto 1fr;min-height:40px}.term__mtitle{display:block;justify-self:center;margin-right:52px;font-size:.72rem;color:var(--term-muted);white-space:nowrap}.term__mtitle span{color:var(--term-fg);font-weight:600}.term-dock,.term-keys{display:flex}.term__suggest{padding:7px 10px}.term-chip{padding:7px 12px}.term-input__real{font-size:16px}.term--kbd{position:fixed;top:var(--kbd-top,0);left:0;right:0;z-index:80;height:var(--kbd-h,100%)!important;min-height:0;border-radius:0;border-width:0;animation:none}.about-main:has(.term--kbd){z-index:200}.term--kbd .term-dock,.term--kbd .term__suggest{display:none}.term__screen{padding:14px 14px 10px}.term-line--fetch{grid-template-columns:1fr}.term-fetch__art,.term__status-seg:not(.term__status-seg--grow){display:none}.about-moon{width:64px;height:64px;right:10%;top:9%}}