/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#f4f1ea;--color-ink:#16120d;--color-ink-soft:#4b453c;--color-ink-mute:#938b7d;--color-line:#ddd6c8}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-28{margin-top:calc(var(--spacing) * 28)}.block{display:block}.block\!{display:block!important}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.table\!{display:table!important}.h-3{height:calc(var(--spacing) * 3)}.h-6{height:calc(var(--spacing) * 6)}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.px-5{padding-inline:calc(var(--spacing) * 5)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);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,)}.invert{--tw-invert:invert(100%);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,)}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[rdoc-ref\:lib\/racc\/rdoc\/grammar\.en\.rdoc\]{rdoc-ref:lib/racc/rdoc/grammar.en.rdoc}}:root{--mask-size:70vh;--flip-speed:.9s;--vignette:1;--glow:.11;--backdrop-dark:.32;--term-offset:-8.5rem;--term-width:43ch;--eye-x-l:22%;--eye-x-r:71.5%;--eye-y:35.5%;--eye-reach-x:.07;--eye-reach-y:.018}html{-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background-color:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);font-feature-settings:"kern", "liga", "calt";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100svh;display:flex}body>main{flex:1 0 auto}::selection{background:var(--color-ink);color:var(--color-paper)}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.wrap{width:min(100% - 2.5rem,78rem);margin-inline:auto}.bleed{width:100%}body.home{--color-stage:#0a0c10;--color-stage-card:#14171d;--color-ink:#f4f1ea;--color-ink-soft:#f4f1eabd;--color-ink-mute:#f4f1ea75;--color-line:#ffffff1a;background-color:var(--color-stage)}body.home ::selection{background:var(--color-ink);color:var(--color-stage)}.site-header{z-index:20;background:0 0;border-bottom:1px solid #0000;transition:background-color .35s,border-color .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;position:sticky;top:0}.site-header.scrolled{background:#f4f1ead1}@supports (color:color-mix(in lab, red, red)){.site-header.scrolled{background:color-mix(in oklab, var(--color-paper) 82%, transparent)}}.site-header.scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom-color:var(--color-line)}body.home .site-header.scrolled,body.area .site-header.scrolled{background:var(--color-stage)}@supports (color:color-mix(in lab, red, red)){body.home .site-header.scrolled,body.area .site-header.scrolled{background:color-mix(in oklab, var(--color-stage) 80%, transparent)}}.site-header__inner{justify-content:space-between;align-items:center;height:4.25rem;display:flex}.wordmark{font-family:var(--font-mono);letter-spacing:.01em;color:var(--color-paper);font-size:.95rem;text-decoration:none}.wordmark .sigil{color:#f4f1ea8c}@supports (color:color-mix(in lab, red, red)){.wordmark .sigil{color:color-mix(in oklab, var(--color-paper) 55%, transparent)}}.site-header.scrolled .wordmark{color:var(--color-ink)}.site-header.scrolled .wordmark .sigil{color:var(--color-ink-mute)}.nav{align-items:center;gap:1.6rem;display:flex}.nav a{font-family:var(--font-mono);letter-spacing:.03em;color:#f4f1eac7;font-size:.78rem;text-decoration:none}@supports (color:color-mix(in lab, red, red)){.nav a{color:color-mix(in oklab, var(--color-paper) 78%, transparent)}}.nav a{padding-block:.4rem;position:relative}.nav a:after{content:"";background:currentColor;width:0;height:1px;transition:width .28s;position:absolute;bottom:0;left:0}.nav a:hover{color:var(--color-paper)}.nav a:hover:after{width:100%}.site-header.scrolled .nav a{color:var(--color-ink-soft)}.site-header.scrolled .nav a:hover{color:var(--color-ink)}@media (max-width:640px){.nav{display:none}}.mask-hero{background:linear-gradient(rgba(0, 0, 0, var(--backdrop-dark)), rgba(0, 0, 0, var(--backdrop-dark))), radial-gradient(52% 46% at 50% 40%, rgba(78, 96, 128, var(--glow)), transparent 62%), radial-gradient(130% 125% at 50% 46%, #0e1014 0%, #070809 54%, #020203 100%);width:100%;min-height:100svh;box-shadow:inset 0 0 300px 100px rgba(0, 0, 0, var(--vignette));color:var(--color-paper);justify-content:center;align-items:center;margin-top:0;display:flex;position:relative;overflow:hidden}.mask-stack{flex-direction:column;align-items:center;gap:clamp(.75rem,2.2vh,1.6rem);padding:3.25rem 1.5rem;display:flex}.mask-flip{aspect-ratio:669/926;height:clamp(320px, var(--mask-size), 760px);perspective:1600px;cursor:pointer;width:auto;max-width:90vw}.mask-flip__inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--flip-speed) cubic-bezier(.2, .8, .2, 1);position:relative}.mask-flip.is-flipped .mask-flip__inner{transform:rotateY(180deg)}.mask-flip__face{backface-visibility:hidden;background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;inset:0}.mask-flip__front{background-image:url("/mask.webp")}.mask-flip__back{background-image:url("/mask_back.webp");transform:rotateY(180deg)}.mask-eye{--eye-h:clamp(4px, .85vh, 7px);--lock:0;width:var(--eye-h);height:var(--eye-h);pointer-events:none;opacity:calc(.16 + .13 * var(--lock));transition:opacity .6s;position:absolute;transform:translate(-50%,-50%)}.mask-eye--l{left:var(--eye-x-l);top:var(--eye-y)}.mask-eye--r{left:var(--eye-x-r);top:var(--eye-y)}.mask-eye__lid,.mask-eye__glow{position:absolute;inset:0}.mask-eye__lid{transform-origin:50%;animation:7.3s ease-in-out infinite eye-blink}.mask-eye__glow{background:radial-gradient(circle,#fff 0%,#ffffffe6 32%,#d8e6ff4d 56%,#0000 72%);border-radius:50%;animation:6.5s ease-in-out infinite eye-shimmer}@keyframes eye-shimmer{0%,to{opacity:.85}50%{opacity:1}}@keyframes eye-blink{0%,91%,to{transform:scaleY(1)}94%{transform:scaleY(.06)}97%{transform:scaleY(1)}}.mask-flip.is-flipped .mask-eye{opacity:0}.mask-q{letter-spacing:-.03em;text-shadow:0 2px 30px #00000080;margin:0;font-size:clamp(2.6rem,8vw,5.5rem);font-weight:600;line-height:.95}.scroll-cue{z-index:3;font-family:var(--font-mono);letter-spacing:.12em;color:#f4f1ea8c;font-size:.72rem;position:absolute;bottom:1.6rem;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.scroll-cue{color:color-mix(in oklab, var(--color-paper) 55%, transparent)}}.scroll-cue{animation:2.4s ease-in-out infinite cue-bob}@keyframes cue-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,5px)}}.mask-zone{display:inline-flex;position:relative}.terminal{pointer-events:none;font-family:var(--font-mono);color:var(--color-paper);text-shadow:0 2px 14px #000000d9;opacity:0;justify-content:center;align-items:center;padding:0 1rem;font-size:clamp(.78rem,1.5vw,.95rem);line-height:1.7;transition:opacity .4s;display:flex;position:absolute;inset:0}.mask-flip.is-flipped~.terminal{opacity:1}.term-body{width:min(86vw, var(--term-width));text-align:left;transform:translateY(var(--term-offset))}.term-input{white-space:nowrap;margin:0}.term-prompt{color:#f4f1ea8c}@supports (color:color-mix(in lab, red, red)){.term-prompt{color:color-mix(in oklab, var(--color-paper) 55%, transparent)}}.term-cmd{color:var(--color-paper)}.term-caret{background:var(--color-paper);width:.55ch;height:1.05em;margin-left:.1ch;animation:1.1s step-end infinite caret-blink;display:inline-block;transform:translateY(.15em)}.term-out{flex-direction:column;gap:.2rem;min-height:8.5em;margin-top:.5rem;display:flex}.term-line{white-space:nowrap;margin:0}.term-out .term-line{color:#f4f1eacc}@supports (color:color-mix(in lab, red, red)){.term-out .term-line{color:color-mix(in oklab, var(--color-paper) 80%, transparent)}}@keyframes caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.mask-flip__inner{transition:none}.scroll-cue,.term-caret,.mask-eye__glow,.mask-eye__lid{animation:none}}.journey{background:linear-gradient(to bottom, #050608 0, var(--color-stage) 26vh);padding:clamp(3rem,9vh,7rem) 1.5rem clamp(4rem,11vh,8rem);position:relative}.journey-track{width:min(100%,64rem);margin-inline:auto;position:relative}.journey-road{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.journey-road path{stroke:#16120d8c}@supports (color:color-mix(in lab, red, red)){.journey-road path{stroke:color-mix(in oklab, var(--color-ink) 55%, transparent)}}.journey-road path{stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.stations{z-index:1;flex-direction:column;gap:clamp(2.5rem,10vh,6.5rem);margin:0;padding:0;list-style:none;display:flex;position:relative}.station-row{display:flex}.station-row--left{justify-content:flex-start}.station-row--right{justify-content:flex-end}.station-row:first-child{margin-top:clamp(5rem,11vh,8rem)}.station{isolation:isolate;width:min(31rem,84%);color:var(--color-ink);box-shadow:0 0 55px -34px var(--accent);padding:1.6rem 1.7rem;text-decoration:none;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.station{box-shadow:0 0 55px -34px color-mix(in oklab, var(--accent) 60%, transparent)}}.station{transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .45s,background .35s}.station:hover,.station:focus-visible{box-shadow:0 22px 72px -30px var(--accent);transform:translateY(-5px)}@supports (color:color-mix(in lab, red, red)){.station:hover,.station:focus-visible{box-shadow:0 22px 72px -30px color-mix(in oklab, var(--accent) 75%, transparent)}}.station__body{z-index:1;flex-direction:column;gap:.5rem;display:flex;position:relative}.station__title{letter-spacing:-.02em;padding-right:3.4rem;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:560;line-height:1.1}.station__blurb{color:var(--color-ink-soft);max-width:34ch;font-size:.92rem;line-height:1.55}.station__tag{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-ink-mute);font-size:.72rem}.station__go{font-family:var(--font-mono);color:var(--color-ink-mute);margin-top:.4rem;font-size:.74rem;transition:color .3s,transform .35s cubic-bezier(.2,.7,.2,1)}.station:hover .station__go,.station:focus-visible .station__go{color:var(--accent);transform:translate(.35rem)}.station__motif{perspective:360px;width:3.3rem;height:3.3rem;color:var(--color-ink-mute);z-index:1;transition:color .35s;position:absolute;top:1.5rem;right:1.6rem}.station:hover .station__motif,.station:focus-visible .station__motif{color:var(--accent)}.station__motif .m{width:100%;height:100%;display:block;overflow:visible}.station--academic{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.station--academic{border:1px solid color-mix(in oklab, var(--accent) 24%, var(--color-line))}}.station--academic{border-top:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.station--academic{border-top:3px solid color-mix(in oklab, var(--accent) 48%, var(--color-line))}}.station--academic{background:var(--color-stage-card);border-radius:2px 2px 9px 9px}@supports (color:color-mix(in lab, red, red)){.station--academic{background:color-mix(in oklab, var(--color-stage-card) 90%, transparent)}}.station--academic{padding:1.2rem 1.7rem 1.6rem;overflow:visible}.lab-counter{pointer-events:none;color:#16120d85;position:absolute;top:0;left:1.1rem;right:1.1rem;transform:translateY(calc(-100% - .3rem))}@supports (color:color-mix(in lab, red, red)){.lab-counter{color:color-mix(in oklab, var(--color-ink) 52%, transparent)}}.lab-counter{transition:color .35s}.station:hover .lab-counter,.station:focus-visible .lab-counter{color:var(--accent)}.lab-counter .m{width:100%;height:auto;display:block;overflow:visible}.station--academic:before{content:"";z-index:0;border-radius:inherit;pointer-events:none;background-image:radial-gradient(var(--accent) 1px, transparent 1.6px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.station--academic:before{background-image:radial-gradient(color-mix(in oklab, var(--accent) 15%, transparent) 1px, transparent 1.6px)}}.station--academic:before{background-size:18px 18px}.station--academic .station__body{z-index:1;position:relative}.station--blog{border:1px solid var(--color-line);border-left:2px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.station--blog{border-left:2px solid color-mix(in oklab, var(--accent) 55%, transparent)}}.station--blog{background:linear-gradient(90deg, var(--accent), transparent 32%), var(--color-stage-card);border-radius:2px 10px 10px 2px}@supports (color:color-mix(in lab, red, red)){.station--blog{background:linear-gradient(90deg, color-mix(in oklab, var(--accent) 6%, transparent), transparent 32%), color-mix(in oklab, var(--color-stage-card) 92%, transparent)}}.station--blog .station__title{letter-spacing:0;font-family:Georgia,Times New Roman,serif;font-weight:600}.station--blog .station__blurb{text-align:justify;font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.6}.station--blog .station__blurb:first-letter{float:left;color:var(--accent);padding:.04em .12em 0 0;font-size:2.7em;font-weight:600;line-height:.78}.station--work{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.station--work{border:1px solid color-mix(in oklab, var(--accent) 30%, var(--color-line))}}.station--work{background:repeating-linear-gradient(0deg, transparent 0 27px, var(--accent) 27px 28px), var(--color-stage-card);border-radius:5px}@supports (color:color-mix(in lab, red, red)){.station--work{background:repeating-linear-gradient(0deg, transparent 0 27px, color-mix(in oklab, var(--accent) 9%, transparent) 27px 28px), color-mix(in oklab, var(--color-stage-card) 92%, var(--accent))}}.station--work .station__title{font-family:var(--font-mono);white-space:nowrap;font-size:clamp(1.2rem,2.2vw,1.65rem);font-weight:600}.station--work .station__blurb{font-family:var(--font-mono);font-size:.82rem;line-height:1.6}.station--work .station__body{max-width:56%}.desk-scene{pointer-events:none;color:#16120d85;width:11.5rem;position:absolute;top:50%;right:1.1rem;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.desk-scene{color:color-mix(in oklab, var(--color-ink) 52%, transparent)}}.desk-scene{transition:color .35s}.station:hover .desk-scene,.station:focus-visible .desk-scene{color:var(--accent)}.desk-scene .m{width:100%;height:auto;display:block;overflow:visible}.m-desk__screen{transition:fill-opacity .35s}.station:hover .m-desk__screen,.station:focus-visible .m-desk__screen{fill-opacity:.4}.station--apps{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.station--apps{border:1px solid color-mix(in oklab, var(--accent) 32%, var(--color-line))}}.station--apps{background:#0c0f13;border-radius:8px;padding-top:3rem}.station--apps .station__motif{display:none}.term-bar{border-bottom:1px solid var(--color-line);z-index:2;background:#15191f;border-radius:8px 8px 0 0;align-items:center;gap:.55rem;height:2.1rem;padding:0 .85rem;display:flex;position:absolute;top:0;left:0;right:0}.term-bar__dots{gap:.4rem;display:flex}.term-bar__dots i{border-radius:50%;width:.6rem;height:.6rem;display:block}.term-bar__dots i:first-child{background:#e0625b}.term-bar__dots i:nth-child(2){background:#e3b341}.term-bar__dots i:nth-child(3){background:#4caf72}.term-bar__name{font-family:var(--font-mono);color:var(--color-ink-mute);letter-spacing:.02em;font-size:.7rem}.station--apps .station__title{font-family:var(--font-mono);padding-right:0;font-size:clamp(1.2rem,2.2vw,1.65rem);font-weight:600}.station--apps .station__title:before{content:"$ ";color:var(--accent)}.station--apps .station__title:after{content:"_";color:var(--accent);margin-left:.1ch;animation:1.05s step-end infinite m-caret}.station--apps .station__blurb{font-family:var(--font-mono);font-size:.82rem;line-height:1.6}.station--apps .station__blurb:before{content:"// ";color:var(--color-ink-mute)}.m-lab__bubbles circle{transform-box:view-box;transform-origin:50%;opacity:.55}.station:hover .m-lab__bubbles circle,.station:focus-visible .m-lab__bubbles circle{animation:1.5s ease-in infinite m-bubble}.m-lab__bubbles circle:nth-child(2){animation-delay:.45s}.m-lab__bubbles circle:nth-child(3){animation-delay:.9s}@keyframes m-bubble{0%{opacity:0;transform:translateY(1px)}25%{opacity:.9}to{opacity:0;transform:translateY(-7px)}}.m-desk__scribble{stroke-dasharray:42;stroke-dashoffset:42px;transition:stroke-dashoffset .7s}.station:hover .m-desk__scribble,.station:focus-visible .m-desk__scribble{stroke-dashoffset:0}@keyframes m-caret{50%{opacity:0}}.m-atom__orbit{transform-box:view-box;transform-origin:32px 32px}.station:hover .m-atom__orbit,.station:focus-visible .m-atom__orbit{animation:1.5s linear infinite m-orbit}.m-atom__rings{opacity:.85;transition:opacity .4s}@keyframes m-orbit{to{transform:rotate(360deg)}}.m-book__cover{transform-box:view-box;transform-origin:32px 32px;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.station:hover .m-book__cover,.station:focus-visible .m-book__cover{transform:rotateY(-58deg)}.m-plan__link{stroke-dasharray:40;stroke-dashoffset:40px;transition:stroke-dashoffset .55s}.station:hover .m-plan__link,.station:focus-visible .m-plan__link{stroke-dashoffset:0}.m-plan__link:nth-child(2){transition-delay:.12s}.m-plan__link:nth-child(3){transition-delay:.24s}.m-plan__node{opacity:.5;transition:opacity .4s}.station:hover .m-plan__node,.station:focus-visible .m-plan__node{opacity:1}.m-term__caret{animation:1.05s step-end infinite m-caret}.m-term__cmd{clip-path:inset(0 100% 0 0)}.station:hover .m-term__cmd,.station:focus-visible .m-term__cmd{animation:.6s steps(5,end) forwards m-type}@keyframes m-type{to{clip-path:inset(0)}}@media (max-width:680px){.journey-road{display:none}.journey-track{padding-left:1.4rem}.journey-track:before{content:"";background:#16120d38;width:1px;position:absolute;top:0;bottom:0;left:0}@supports (color:color-mix(in lab, red, red)){.journey-track:before{background:color-mix(in oklab, var(--color-ink) 22%, transparent)}}.station-row--left,.station-row--right{justify-content:stretch}.station{width:100%}}@media (prefers-reduced-motion:reduce){.station,.m-book__cover,.m-desk__scribble,.station__motif,.station__go{transition:none}.station:hover .m-lab__bubbles circle,.station:focus-visible .m-lab__bubbles circle{animation:none}.station:hover .m-book__cover,.station:focus-visible .m-book__cover{transform:none}.m-desk__scribble{stroke-dashoffset:0}.station--apps .station__title:after{animation:none}}.site-footer{border-top:1px solid var(--color-line);background:var(--color-stage-card,#14171d);margin-top:4rem;padding-block:1.5rem}.site-footer__inner{font-family:var(--font-mono);color:var(--color-ink-mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;font-size:.78rem;display:flex}.site-footer a{color:var(--color-ink-soft);text-decoration:none}.site-footer a:hover{color:var(--color-ink)}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}body.area{--color-stage:#0a0c10;--color-stage-card:#14171d;--color-ink:#f4f1ea;--color-ink-soft:#f4f1eabd;--color-ink-mute:#f4f1ea75;--color-line:#ffffff1a;background-color:var(--color-stage)}body.area ::selection{background:var(--color-ink);color:var(--color-stage)}.area-page{width:min(100% - 2.5rem,62rem);margin-inline:auto;padding-block:6.5rem clamp(4rem,10vh,7rem)}.area-head{margin-bottom:1.4rem}.area-head__title{letter-spacing:-.02em;color:var(--accent);margin:0;font-size:clamp(1.5rem,2.8vw,1.9rem);font-weight:600;line-height:1.15}.area-head--blog .area-head__title,.area-head--blog .area-head__blurb{letter-spacing:0;font-family:Georgia,Times New Roman,serif}.area-head--work .area-head__title{font-family:var(--font-mono);font-weight:600}.area-head--apps .area-head__title{font-family:var(--font-mono)}.area-head--apps .area-head__title:before{content:"$ ";color:var(--accent)}.area-tabs{flex-wrap:wrap;gap:.6rem;margin-bottom:clamp(2.5rem,6vh,3.5rem);display:flex}.area-tab{border:1px solid var(--color-line);font-family:var(--font-mono);letter-spacing:.01em;color:var(--color-ink-mute);border-radius:999px;align-items:baseline;padding:.55rem 1.15rem;font-size:.82rem;text-decoration:none;transition:color .25s,border-color .25s,background .25s;display:inline-flex}.area-tab:hover{color:var(--color-ink-soft);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.area-tab:hover{border-color:color-mix(in oklab, var(--accent) 45%, var(--color-line))}}.area-tab.is-active{color:var(--color-ink);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.area-tab.is-active{border-color:color-mix(in oklab, var(--accent) 60%, transparent)}}.area-tab.is-active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.area-tab.is-active{background:color-mix(in oklab, var(--accent) 13%, transparent)}}@media (max-width:720px){.area-tabs{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.area-tabs::-webkit-scrollbar{display:none}.area-tab{flex-shrink:0}}.area-panels{position:relative}.area-panel[hidden]{display:none}.area-panel--enter{animation:.4s cubic-bezier(.2,.7,.2,1) panel-in}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.area-bg{z-index:-1;pointer-events:none;color:var(--accent);opacity:.06;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000040 0,#000 20rem);mask-image:linear-gradient(#00000040 0,#000 20rem)}.area-bg svg{width:100%;height:100%;display:block}.area-bg rect{animation:160s linear infinite bg-drift}@keyframes bg-drift{0%{transform:translate(0)}to{transform:translate(480px,480px)}}body.area-work .area-bg{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){body.area-work .area-bg{color:color-mix(in oklab, var(--accent) 45%, white)}}body.area-work .area-bg{opacity:.1}.proj-card{border:1px solid var(--accent);grid-template-columns:minmax(13rem,.85fr) 1.35fr;align-items:center;gap:clamp(1.5rem,4vw,2.75rem);padding:clamp(1.5rem,4vw,2.25rem);display:grid}@supports (color:color-mix(in lab, red, red)){.proj-card{border:1px solid color-mix(in oklab, var(--accent) 32%, var(--color-line))}}.proj-card{background:var(--color-stage-card);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.proj-card{background:color-mix(in oklab, var(--color-stage-card) 92%, var(--accent))}}.proj-card{box-shadow:0 0 60px -38px var(--accent)}@supports (color:color-mix(in lab, red, red)){.proj-card{box-shadow:0 0 60px -38px color-mix(in oklab, var(--accent) 70%, transparent)}}.proj-card{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .35s}.proj-card:hover{box-shadow:0 22px 72px -34px var(--accent);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.proj-card:hover{box-shadow:0 22px 72px -34px color-mix(in oklab, var(--accent) 78%, transparent)}}.proj-card:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.proj-card:hover{border-color:color-mix(in oklab, var(--accent) 50%, var(--color-line))}}.proj-card:not(:has(.proj-card__artifact)){grid-template-columns:1fr}@media (max-width:720px){.proj-card{grid-template-columns:1fr}}.proj-card__body{min-width:0}.proj-card__meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);margin:0 0 .55rem;font-size:.74rem}.proj-card__title{letter-spacing:-.02em;margin:0 0 .6rem;font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:600}.proj-card__desc{max-width:44ch;color:var(--color-ink-soft);margin:0 0 1.1rem;line-height:1.6}.proj-card__tags{flex-wrap:wrap;gap:.45rem;margin:0 0 1.4rem;padding:0;list-style:none;display:flex}.proj-card__tags li{background:var(--accent);border-radius:4px;padding:.3rem .55rem}@supports (color:color-mix(in lab, red, red)){.proj-card__tags li{background:color-mix(in oklab, var(--accent) 10%, transparent)}}.proj-card__tags li{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-ink-soft);font-size:.7rem}.sci-plot{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.sci-plot{border:1px solid color-mix(in oklab, var(--accent) 26%, var(--color-line))}}.sci-plot{color:var(--accent);background:repeating-linear-gradient(0deg, transparent 0 19px, var(--accent) 19px 20px), repeating-linear-gradient(90deg, transparent 0 19px, var(--accent) 19px 20px), var(--color-stage);border-radius:8px;padding:.9rem}@supports (color:color-mix(in lab, red, red)){.sci-plot{background:repeating-linear-gradient(0deg, transparent 0 19px, color-mix(in oklab, var(--accent) 10%, transparent) 19px 20px), repeating-linear-gradient(90deg, transparent 0 19px, color-mix(in oklab, var(--accent) 10%, transparent) 19px 20px), color-mix(in oklab, var(--color-stage) 80%, #000)}}.sci-plot svg{width:100%;height:auto;display:block}.sci-plot__curve{stroke-dasharray:620;stroke-dashoffset:0}.area-panel--enter .sci-plot__curve{animation:sci-draw var(--draw-dur,1.3s) ease backwards;animation-delay:var(--draw-delay,0s)}@keyframes sci-draw{0%{stroke-dashoffset:620px}to{stroke-dashoffset:0}}.proj-card:hover .sci-plot__dots circle,.study-figure:hover .sci-plot__dots circle{animation:1.5s ease-in-out infinite dot-pulse}.sci-plot__dots circle:nth-child(2){animation-delay:.2s}.sci-plot__dots circle:nth-child(3){animation-delay:.4s}.sci-plot__dots circle:nth-child(4){animation-delay:.6s}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.25}}.manuscript{border:1px solid var(--accent);padding:1.1rem 1.2rem 1.1rem 1.6rem;position:relative}@supports (color:color-mix(in lab, red, red)){.manuscript{border:1px solid color-mix(in oklab, var(--accent) 26%, var(--color-line))}}.manuscript{background:repeating-linear-gradient(0deg, transparent 0 25px, var(--accent) 25px 26px), var(--color-stage);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.manuscript{background:repeating-linear-gradient(0deg, transparent 0 25px, color-mix(in oklab, var(--accent) 8%, transparent) 25px 26px), color-mix(in oklab, var(--color-stage) 82%, #000)}}.manuscript:before{content:"";background:var(--accent);width:1px;position:absolute;top:.6rem;bottom:.6rem;left:1rem}@supports (color:color-mix(in lab, red, red)){.manuscript:before{background:color-mix(in oklab, var(--accent) 45%, transparent)}}.manuscript__body{text-align:justify;color:var(--color-ink-soft);margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:.92rem;line-height:1.7}.manuscript__body:first-letter{float:left;color:var(--accent);padding:.04em .12em 0 0;font-size:3em;font-weight:600;line-height:.78;transition:color .3s}.manuscript__quote{border-left:2px solid var(--accent);color:var(--color-ink);margin:0;padding-left:.9rem;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-style:italic;line-height:1.5;transition:border-left-width .3s}.proj-card:hover .manuscript__body:first-letter{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.proj-card:hover .manuscript__body:first-letter{color:color-mix(in oklab, var(--accent) 80%, white)}}.proj-card:hover .manuscript__quote{border-left-width:3px}.area-panel--enter .manuscript__body{animation:.9s both ink-in}.area-panel--enter .manuscript__quote{animation:.9s .45s both ink-in}@keyframes ink-in{0%{clip-path:inset(0 100% 0 0);opacity:.4}to{clip-path:inset(0);opacity:1}}.writing-card{align-items:stretch}.writing-card .proj-card__artifact{display:flex}.writing-card .manuscript{width:100%}.writing-card .proj-card__title{letter-spacing:0;font-family:Georgia,Times New Roman,serif;font-weight:600}.writing-lang{border:1px solid var(--accent);margin-left:.6rem;padding:.06rem .4rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.writing-lang{border:1px solid color-mix(in oklab, var(--accent) 42%, var(--color-line))}}.writing-lang{letter-spacing:.08em;color:var(--accent);vertical-align:.1em;border-radius:4px;font-size:.62rem}.writing-links{flex-wrap:wrap;gap:.7rem;display:flex}.writing-card--pair{grid-template-columns:1fr;align-items:stretch}.writing-pair{grid-template-columns:1fr 1fr;display:grid}.writing-pair>article{flex-direction:column;align-items:flex-start;padding:0 clamp(1rem,3vw,2.2rem);display:flex}.writing-pair>article:first-child{padding-left:0}.writing-pair>article:last-child{border-left:1px solid var(--color-line);padding-right:0}.writing-mini__meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);margin:0 0 .5rem;font-size:.72rem}.writing-mini__title{color:var(--color-ink);margin:0 0 .55rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,2.2vw,1.45rem);font-weight:600}.writing-mini__q{color:var(--color-ink-soft);margin:0 0 .8rem;line-height:1.55}.writing-mini__finding{border-left:2px solid var(--accent);color:var(--color-ink);margin:0 0 .8rem;padding-left:.9rem;font-family:Georgia,Times New Roman,serif;font-style:italic;line-height:1.5}.writing-mini__note{font-family:var(--font-mono);color:var(--color-ink-mute);margin:0 0 1.1rem;font-size:.72rem;line-height:1.55}.writing-mini .area-link{margin-top:auto}@media (max-width:720px){.writing-pair{grid-template-columns:1fr}.writing-pair>article{padding:0}.writing-pair>article:last-child{border-left:none;border-top:1px solid var(--color-line);margin-top:1.6rem;padding-top:1.6rem}}.term-art{border:1px solid var(--accent);padding:2.5rem 1rem 1.2rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.term-art{border:1px solid color-mix(in oklab, var(--accent) 30%, var(--color-line))}}.term-art{font-family:var(--font-mono);background:#0c0f13;border-radius:8px;font-size:.78rem;line-height:1.75}.term-art .term-bar{border-radius:8px 8px 0 0}.term-art__cmd{white-space:nowrap;color:var(--color-ink);margin:0 0 .35rem}.term-art__prompt{color:var(--accent);margin-right:.5ch}.term-art__caret{background:var(--accent);width:.55ch;height:1.05em;margin-left:.15ch;animation:1.05s step-end infinite m-caret;display:inline-block;transform:translateY(.18em)}.term-art__out{color:var(--color-ink-soft)}.term-art__out .line{white-space:nowrap;margin:0}.term-art__out .line--hi{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.term-art__out .line--hi{color:color-mix(in oklab, var(--accent) 85%, white)}}.area-panel--enter .term-art__cmd{animation:.5s both ink-in}.area-panel--enter .term-art__out .line{animation:.4s both ink-in}.area-panel--enter .term-art__out .line:first-child{animation-delay:.55s}.area-panel--enter .term-art__out .line:nth-child(2){animation-delay:.8s}.area-panel--enter .term-art__out .line:nth-child(3){animation-delay:1.05s}.blueprint{border:1px solid var(--accent);padding:.9rem}@supports (color:color-mix(in lab, red, red)){.blueprint{border:1px solid color-mix(in oklab, var(--accent) 26%, var(--color-line))}}.blueprint{color:var(--accent);background:repeating-linear-gradient(0deg, transparent 0 11px, var(--accent) 11px 12px), repeating-linear-gradient(90deg, transparent 0 11px, var(--accent) 11px 12px), var(--color-stage);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.blueprint{background:repeating-linear-gradient(0deg, transparent 0 11px, color-mix(in oklab, var(--accent) 9%, transparent) 11px 12px), repeating-linear-gradient(90deg, transparent 0 11px, color-mix(in oklab, var(--accent) 9%, transparent) 11px 12px), color-mix(in oklab, var(--color-stage) 80%, #000)}}.blueprint svg{width:100%;height:auto;display:block}.bp-label{font-family:var(--font-mono);fill:var(--color-ink);font-size:11px}.bp-note{font-family:var(--font-mono);fill:var(--accent);opacity:.75;font-size:9px}.bp-line{stroke-dasharray:100;stroke-dashoffset:0}.area-panel--enter .bp-line{animation:1.1s .35s both bp-connect}@keyframes bp-connect{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}.area-empty{font-family:var(--font-mono);color:var(--color-ink-mute)}.app-card{border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.app-card{border:1px solid color-mix(in oklab, var(--accent) 34%, var(--color-line))}}.app-card{background:var(--color-stage-card);border-radius:12px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.app-card{background:color-mix(in oklab, var(--color-stage-card) 94%, var(--accent))}}.app-card{box-shadow:0 0 60px -38px var(--accent)}@supports (color:color-mix(in lab, red, red)){.app-card{box-shadow:0 0 60px -38px color-mix(in oklab, var(--accent) 70%, transparent)}}.app-card{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .35s}.app-card:hover{box-shadow:0 22px 72px -34px var(--accent);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.app-card:hover{box-shadow:0 22px 72px -34px color-mix(in oklab, var(--accent) 78%, transparent)}}.app-card:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.app-card:hover{border-color:color-mix(in oklab, var(--accent) 52%, var(--color-line))}}.app-card__bar{border-bottom:1px solid var(--color-line);background:var(--color-stage);align-items:center;gap:.8rem;padding:.7rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.app-card__bar{background:color-mix(in oklab, var(--color-stage) 70%, #000)}}.app-card__bar{font-family:var(--font-mono);font-size:.82rem}.app-card__dots{gap:.4rem;display:inline-flex}.app-card__dots i{background:var(--accent);border-radius:50%;width:.6rem;height:.6rem}@supports (color:color-mix(in lab, red, red)){.app-card__dots i{background:color-mix(in oklab, var(--accent) 55%, var(--color-line))}}.app-card__dots i:first-child{background:var(--accent)}.app-card__name{color:var(--color-ink);font-weight:600}.app-card__state{background:var(--accent);border-radius:999px;padding:.1rem .5rem}@supports (color:color-mix(in lab, red, red)){.app-card__state{background:color-mix(in oklab, var(--accent) 16%, transparent)}}.app-card__state{letter-spacing:.04em;color:var(--accent);font-size:.66rem}.app-card__open{color:var(--color-ink-soft);margin-left:auto;text-decoration:none;transition:color .25s}.app-card__open:hover{color:var(--accent)}.app-card__body{grid-template-columns:minmax(13rem,.8fr) 1.25fr;gap:clamp(1.5rem,4vw,2.75rem);padding:clamp(1.5rem,4vw,2.25rem);display:grid}@media (max-width:720px){.app-card__body{grid-template-columns:1fr}}.app-card__access{flex-direction:column;gap:1rem;display:flex}.app-login{border:1px solid var(--accent);padding:.9rem 1rem}@supports (color:color-mix(in lab, red, red)){.app-login{border:1px solid color-mix(in oklab, var(--accent) 26%, var(--color-line))}}.app-login{background:var(--color-stage);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.app-login{background:color-mix(in oklab, var(--color-stage) 80%, #000)}}.app-login__label{font-family:var(--font-mono);letter-spacing:.06em;color:var(--accent);margin:0 0 .6rem;font-size:.68rem}.app-login__rows{gap:.4rem;margin:0;display:grid}.app-login__rows>div{grid-template-columns:3.2rem 1fr;align-items:baseline;gap:.6rem;display:grid}.app-login__rows dt{font-family:var(--font-mono);color:var(--color-ink-mute);font-size:.72rem}.app-login__rows dd{font-family:var(--font-mono);color:var(--color-ink);word-break:break-all;margin:0;font-size:.8rem}.app-private{border:1px dashed var(--accent);margin:0;padding:.9rem 1rem}@supports (color:color-mix(in lab, red, red)){.app-private{border:1px dashed color-mix(in oklab, var(--accent) 30%, var(--color-line))}}.app-private{color:var(--color-ink-mute);border-radius:8px;font-size:.86rem;line-height:1.55}.app-card__spec{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-ink-mute);margin:0;font-size:.72rem}.app-card__invite{color:var(--color-ink-soft);margin:0;font-size:.84rem;line-height:1.55}.app-card__invite:before{content:"→ ";color:var(--accent);font-weight:600}.app-card__main{min-width:0}.app-card__desc{color:var(--color-ink-soft);margin:0 0 1.1rem;line-height:1.65}.app-card__highlights{gap:.6rem;margin:0 0 1.2rem;padding:0;list-style:none;display:grid}.app-card__highlights li{color:var(--color-ink-soft);padding-left:1.1rem;font-size:.9rem;line-height:1.55;position:relative}.app-card__highlights li:before{content:"";background:var(--accent);border-radius:1px;width:.4rem;height:.4rem;position:absolute;top:.55em;left:0}.app-card__highlights b{color:var(--color-ink);font-weight:600}.app-card__stack{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.app-card__stack li{background:var(--accent);border-radius:4px;padding:.3rem .55rem}@supports (color:color-mix(in lab, red, red)){.app-card__stack li{background:color-mix(in oklab, var(--accent) 10%, transparent)}}.app-card__stack li{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-ink-soft);font-size:.7rem}.tool-panel{max-width:60ch;padding-block:clamp(.5rem,2vh,1rem)}.tool-panel__prompt{font-family:var(--font-mono);letter-spacing:.02em;color:var(--accent);margin:0 0 .7rem;font-size:.8rem}.tool-panel__title{letter-spacing:-.02em;margin:0 0 .9rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.15}.tool-panel__desc{color:var(--color-ink-soft);margin:0 0 1.3rem;font-size:1.02rem;line-height:1.7}.tool-panel__tech{border-top:1px solid var(--color-line);font-family:var(--font-mono);letter-spacing:.03em;color:var(--color-ink-mute);margin:0;padding-top:1.1rem;font-size:.74rem}.proj-wip{border:1px dashed var(--accent);justify-items:center;gap:.85rem;padding:clamp(3rem,9vh,5.5rem) 1.5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.proj-wip{border:1px dashed color-mix(in oklab, var(--accent) 35%, var(--color-line))}}.proj-wip{text-align:center;border-radius:12px}.proj-wip__status{font-family:var(--font-mono);letter-spacing:.06em;color:var(--accent);align-items:center;gap:.5rem;margin:0;font-size:.74rem;display:inline-flex}.proj-wip__dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:2.2s ease-in-out infinite wip-pulse}@keyframes wip-pulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.proj-wip__dot{animation:none}}.proj-wip__title{letter-spacing:-.01em;max-width:30ch;color:var(--color-ink-soft);margin:0;font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:600}.proj-wip__meta{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-ink-mute);margin:0;font-size:.74rem}.proj-wip__line{max-width:44ch;color:var(--color-ink-mute);margin:0;line-height:1.6}.proj-study__head{border-bottom:1px solid var(--color-line);padding-bottom:clamp(1.4rem,3vh,1.9rem)}.proj-study__title{letter-spacing:-.02em;max-width:34ch;margin:0 0 .85rem;font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:600;line-height:1.12}.proj-study__tags{margin:0 0 1.2rem}.proj-study__hook{max-width:62ch;color:var(--color-ink-soft);margin:0 0 1rem;font-size:1.08rem;line-height:1.65}.proj-study__intro{max-width:62ch;color:var(--color-ink-mute);margin:0 0 1.6rem;line-height:1.65}.proj-study__actions{flex-wrap:wrap;gap:.7rem;display:flex}.study-section{border-bottom:1px solid var(--color-line);grid-template-columns:9.5rem 1fr;gap:1rem clamp(1.5rem,4vw,3rem);padding-block:clamp(1.8rem,4vh,2.6rem);display:grid}.study-section__kicker{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);font-size:.74rem}.study-cols{grid-template-columns:minmax(13rem,.9fr) 1.1fr;align-items:start;gap:clamp(1.3rem,3vw,2.2rem);display:grid}.study-cols--flip{grid-template-columns:1.1fr minmax(13rem,.9fr)}.study-prose{max-width:58ch;color:var(--color-ink-soft);margin:0;line-height:1.7}.study-prose+.study-prose{margin-top:.9em}.study-prose a,.study-findings a,.proj-study__intro a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.study-prose a,.study-findings a,.proj-study__intro a{-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 45%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 45%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 45%, transparent)}}.study-prose a,.study-findings a,.proj-study__intro a{text-underline-offset:3px}.study-figure{margin:0}.study-figure figcaption{font-family:var(--font-mono);color:var(--color-ink-mute);margin-top:.65rem;font-size:.7rem;line-height:1.55}.study-list{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.study-list li{max-width:64ch;color:var(--color-ink-soft);padding-left:1.4rem;line-height:1.65;position:relative}.study-list li:before{content:"—";color:var(--accent);position:absolute;left:0}.study-findings{gap:1.35rem;margin:0;padding:0;list-style:none;display:grid}.study-findings li{max-width:58ch;color:var(--color-ink-soft);line-height:1.65}.study-findings strong{color:var(--color-ink);margin-bottom:.3rem;font-weight:600;display:block}.study-result__body strong{color:var(--color-ink);margin-bottom:.35rem;font-size:1.05rem;font-weight:600;display:block}.study-spec{gap:.8rem;margin:0;display:grid}.study-spec>div{grid-template-columns:8rem 1fr;gap:1.4rem;display:grid}.study-spec dt{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-ink-mute);padding-top:.15em;font-size:.74rem}.study-spec dd{max-width:62ch;color:var(--color-ink-soft);margin:0;line-height:1.6}.study-spec a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.study-spec a{-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 45%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 45%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 45%, transparent)}}.study-spec a{text-underline-offset:3px}@media (max-width:720px){.study-spec>div{grid-template-columns:1fr;gap:.15rem}}.proj-study__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem 1.5rem;padding-top:clamp(1.4rem,3vh,1.9rem);display:flex}.proj-study__foot .proj-card__tags{margin:0}.proj-study__provenance{font-family:var(--font-mono);letter-spacing:.03em;color:var(--color-ink-mute);font-size:.72rem}@media (max-width:720px){.study-section{grid-template-columns:1fr;gap:.8rem}.study-cols,.study-cols--flip{grid-template-columns:1fr}}.area-link{border:1px solid var(--accent);align-items:center;padding:.65rem 1.3rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.area-link{border:1px solid color-mix(in oklab, var(--accent) 50%, var(--color-line))}}.area-link{background:var(--accent);border-radius:8px}@supports (color:color-mix(in lab, red, red)){.area-link{background:color-mix(in oklab, var(--accent) 10%, transparent)}}.area-link{font-family:var(--font-mono);letter-spacing:.01em;color:var(--color-ink);font-size:.82rem;text-decoration:none;transition:background .25s,border-color .25s,box-shadow .3s,transform .25s}.area-link span{transition:transform .25s}.area-link:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.area-link:hover{background:color-mix(in oklab, var(--accent) 22%, transparent)}}.area-link:hover{border-color:var(--accent);transform:translateY(-1px)}.area-link:hover span{transform:translate(2px,-2px)}.area-link--solid{border-color:var(--accent);background:var(--accent);color:var(--color-stage);font-weight:600}.area-link--solid:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.area-link--solid:hover{background:color-mix(in oklab, var(--accent) 88%, white)}}.area-link--solid:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.area-link--solid:hover{border-color:color-mix(in oklab, var(--accent) 88%, white)}}.area-link--solid:hover{box-shadow:0 6px 24px -10px var(--accent)}@supports (color:color-mix(in lab, red, red)){.area-link--solid:hover{box-shadow:0 6px 24px -10px color-mix(in oklab, var(--accent) 80%, transparent)}}@media (prefers-reduced-motion:reduce){.area-panel--enter{animation:none}.area-link:hover,.area-link:hover span{transform:none}.area-bg rect{animation:none}.sci-plot__curve{stroke-dashoffset:0;animation:none}.proj-card:hover{transform:none}.proj-card:hover .sci-plot__dots circle,.study-figure:hover .sci-plot__dots circle,.area-panel--enter .manuscript__body,.area-panel--enter .manuscript__quote,.area-panel--enter .term-art__cmd,.area-panel--enter .term-art__out .line,.area-panel--enter .bp-line{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}