:root{--paper:#ece7dc;--paper-raised:#f4f0e8;--paper-recessed:#e2dccf;--paper-edge:#d8d1c1;--ink:#1c1a17;--ink-secondary:#4f4a42;--ink-tertiary:#615b52;--ink-faint:#6d6657;--rule:#c3bcab;--rule-strong:#9a9280;--rule-faint:#d5cec0;--spot:#9c3016;--spot-ink:#f4f0e8;--spot-wash:#9c301614;--blueprint:#2f4858;--blueprint-wash:#2f485812;--world-accent:var(--spot);--world-accent-wash:var(--spot-wash);--world-grid:var(--blueprint-wash);--world-rule-weight:1px;--face-plex-condensed:"IBM Plex Sans Condensed", "Helvetica Neue Condensed", "Arial Narrow", system-ui, sans-serif;--face-plex-sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--face-plex-serif:"IBM Plex Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--face-plex-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--font-display:var(--face-plex-condensed);--font-text:var(--face-plex-serif);--font-mono:var(--face-plex-mono);--wordmark-family:"IBM Plex Sans Condensed";--wordmark-weight:700;--step--2:clamp(.68rem, .66rem + .1vw, .74rem);--step--1:clamp(.79rem, .76rem + .14vw, .88rem);--step-0:clamp(1rem, .96rem + .18vw, 1.09rem);--step-1:clamp(1.25rem, 1.18rem + .34vw, 1.45rem);--step-2:clamp(1.56rem, 1.44rem + .6vw, 1.94rem);--step-3:clamp(1.95rem, 1.75rem + 1vw, 2.58rem);--step-4:clamp(2.44rem, 2.11rem + 1.63vw, 3.44rem);--step-5:clamp(3.05rem, 2.53rem + 2.6vw, 4.58rem);--leading-tight:1.08;--leading-snug:1.3;--leading-text:1.62;--tracking-label:.16em;--tracking-tight:-.015em;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2.25rem;--space-xl:3.5rem;--space-2xl:5.5rem;--space-3xl:8rem;--measure:66ch;--sheet-max:82.5rem;--sheet-gutter:clamp(1.25rem, .9rem + 1.8vw, 3rem);--grid-columns:12;--grid-gap:clamp(1rem, .6rem + 1.4vw, 1.75rem);--baseline:.5rem;--ease-plot:cubic-bezier(.2, .9, .1, 1);--ease-drawer:cubic-bezier(.65, 0, .35, 1);--ease-step:steps(12, end);--dur-instant:90ms;--dur-fast:.18s;--dur-base:.32s;--dur-slow:.56s;--dur-plate:.9s;--motion-scale:1;--radius:0px;--focus-ring:2px solid var(--spot);--focus-offset:3px;--table:#17161a;--table-line:#262429;--sheet-edge-line:#cbc3b1;--enter-marks:90ms;--enter-rules:.17s;--enter-type:.24s;--enter-body:.32s;--enter-index:.4s}@media (prefers-reduced-motion:reduce){:root{--motion-scale:0;--dur-instant:1ms;--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms;--dur-plate:1ms;--enter-marks:0s;--enter-rules:0s;--enter-type:0s;--enter-body:0s;--enter-index:0s}}:root[data-type-set=sans]{--font-display:var(--face-plex-sans);--wordmark-family:"IBM Plex Sans"}:root[data-type-set=mono-display]{--font-display:var(--face-plex-mono);--wordmark-family:"IBM Plex Mono"}:root[data-type-set=serif-body]{--font-display:var(--face-plex-serif);--wordmark-family:"IBM Plex Serif"}@media (forced-colors:active){:root{--rule:CanvasText;--rule-strong:CanvasText;--rule-faint:CanvasText;--world-accent:LinkText}}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-cond-600.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plex-cond-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/plex-serif-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-serif-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-block-start:var(--space-xl)}@media (prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ol,ul{margin:0}ol[role=list],ul[role=list]{padding:0;list-style:none}img,picture,svg,video,canvas{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:inherit}:where(:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-offset)}body{background-color:var(--paper);color:var(--ink);font-family:var(--font-text);font-size:var(--step-0);line-height:var(--leading-text);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere;min-block-size:100vh}.t-display{font-family:var(--font-display);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-transform:uppercase;hyphens:auto;overflow-wrap:break-word}.t-heading{font-family:var(--font-display);font-weight:600;font-size:var(--step-2);line-height:var(--leading-snug);text-transform:uppercase;letter-spacing:.02em}.t-text{font-family:var(--font-text);max-inline-size:var(--measure)}.t-text+.t-text{margin-block-start:var(--space-s)}.t-label{font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-tertiary);font-variant-numeric:tabular-nums;font-weight:500}.t-meta{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-secondary);font-variant-numeric:tabular-nums}.sheet{inline-size:min(100% - (var(--sheet-gutter) * 2), var(--sheet-max));margin-inline:auto}.sheet-grid{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));gap:var(--grid-gap);display:grid}.rule{border:0;border-block-start:var(--world-rule-weight) solid var(--rule);margin:0}.rule--strong{border-block-start-color:var(--rule-strong)}.rule--faint{border-block-start-color:var(--rule-faint)}.tablewrap{scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent;overflow-x:auto}.tablewrap>table{min-inline-size:100%}.visually-hidden:not(:focus):not(:active){clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background-color:var(--ink);color:var(--paper);padding:var(--space-2xs) var(--space-s);font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:var(--tracking-label);position:absolute;inset-block-start:var(--space-2xs);inset-inline-start:var(--space-2xs);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}[data-enhanced=pending]{display:none}.ground{z-index:-1;pointer-events:none;background-color:var(--paper);position:fixed;inset:0}[data-surface=plate] body{background-color:var(--table)}[data-surface=plate] .ground{background-color:var(--table);background-image:linear-gradient(to right, var(--table-line) 0 1px, transparent 1px 100%), linear-gradient(to bottom, var(--table-line) 0 1px, transparent 1px 100%);background-position:50%;background-size:8rem 8rem}.plate{background-color:var(--paper);--regmark-inset:var(--space-s);min-block-size:100vh;inline-size:100%;margin-block:0;margin-inline:auto;position:relative}@media (width>=60rem){.plate{inline-size:min(100% - (var(--space-2xl) * 2), 108rem);margin-block:var(--space-l);border:1px solid var(--sheet-edge-line);--regmark-inset:var(--space-m);min-block-size:auto}}[data-surface=plate][data-world=home] .plate{background-image:linear-gradient(to right, var(--world-grid) 0 1px, transparent 1px 100%), linear-gradient(to bottom, var(--world-grid) 0 1px, transparent 1px 100%);background-position:top;background-size:4rem 4rem}[data-surface=plate][data-world=home] .ground{background-image:linear-gradient(to right, var(--table-line) 0 1px, transparent 1px 100%), linear-gradient(to bottom, var(--table-line) 0 1px, transparent 1px 100%);background-size:8rem 8rem}@media (forced-colors:active){.plate{background-image:none;border-color:canvastext}}@media print{.plate{background-image:none;border:0;inline-size:100%;margin:0}}[data-world=home] .ground{background-image:linear-gradient(to right, var(--world-grid) 0 1px, transparent 1px 100%), linear-gradient(to bottom, var(--world-grid) 0 1px, transparent 1px 100%);background-size:4rem 4rem}[data-world=about]{--paper:#f0ece1;--paper-raised:#f7f4ea;--paper-recessed:#e6e1d2;--paper-edge:#dcd5c3;--world-accent:#5c4630;--world-accent-wash:#5c463014;--world-grid:#5c46301a}[data-world=about] .ground{background-image:linear-gradient(to bottom, transparent 0 calc(2rem - 1px), var(--world-grid) calc(2rem - 1px) 2rem);background-size:100% 2rem}[data-world=projects]{--paper:#eaeae6;--paper-raised:#f2f2ee;--paper-recessed:#deded9;--paper-edge:#cfcfc9;--world-accent:var(--blueprint);--world-accent-wash:var(--blueprint-wash);--world-grid:#2f485814;--world-rule-weight:1.5px}[data-world=projects] .ground{background-image: linear-gradient(to right, var(--world-grid) 0 1px, transparent 1px 100%), linear-gradient(to bottom, var(--world-grid) 0 1px, transparent 1px 100%),  linear-gradient(to right, var(--blueprint-wash) 0 1px, transparent 1px 100%), linear-gradient(to bottom, var(--blueprint-wash) 0 1px, transparent 1px 100%);background-size:8rem 8rem,8rem 8rem,1rem 1rem,1rem 1rem}[data-world=ai-lab]{--paper:#f1f0ea;--paper-raised:#f8f7f2;--paper-recessed:#e7e6de;--paper-edge:#dbdad0;--world-accent:#4a5c3a;--world-accent-wash:#4a5c3a12;--world-grid:#4a5c3a29;--bench-pitch:1.5rem}[data-world=ai-lab] .ground{background-image: linear-gradient(to bottom, var(--rule-strong) 0 1px, transparent 1px 100%),  linear-gradient(to bottom, var(--world-grid) 0 1px, transparent 1px 100%),  radial-gradient(circle at center, var(--world-grid) 0 1px, transparent 1.5px);background-size:.75rem calc(var(--bench-pitch) * 5), .4rem var(--bench-pitch), var(--bench-pitch) var(--bench-pitch);background-position:0 0,0 0,50%;background-repeat:repeat-y,repeat-y,repeat}[data-world=cybersecurity]{--world-accent:#8a5a10;--world-accent-wash:#8a5a1017;--world-grid:transparent;--world-rule-weight:2px}[data-world=cybersecurity] .ground{background-color:var(--paper-recessed);background-image:linear-gradient(to bottom, var(--ink) 0 var(--space-3xs), transparent var(--space-3xs)), linear-gradient(to top, var(--ink) 0 var(--space-3xs), transparent var(--space-3xs));background-repeat:no-repeat;background-size:100% 100%}[data-world=learning]{--paper:#e9eee9;--paper-raised:#f1f5f0;--paper-recessed:#dfe4df;--paper-edge:#d2d9d2;--world-accent:#33406b;--world-accent-wash:#33406b12;--world-grid:#33406b21;--notebook-module:2.5rem}[data-world=learning] .ground{background-image: linear-gradient(to right, var(--world-grid) 0 1px, transparent 1px 100%), linear-gradient(to bottom, var(--world-grid) 0 1px, transparent 1px 100%),  linear-gradient(to right, var(--world-accent-wash) 0 1px, transparent 1px 100%), linear-gradient(to bottom, var(--world-accent-wash) 0 1px, transparent 1px 100%);background-size:var(--notebook-module) var(--notebook-module), var(--notebook-module) var(--notebook-module), calc(var(--notebook-module) / 5) calc(var(--notebook-module) / 5), calc(var(--notebook-module) / 5) calc(var(--notebook-module) / 5)}[data-world=github]{--paper:#ebedf1;--paper-raised:#f4f5f8;--paper-recessed:#e1e3e9;--paper-edge:#d4d7df;--world-accent:#40484f;--world-accent-wash:#40484f12;--world-grid:#40484f1f;--ledger-column:6rem}[data-world=github] .ground{background-image:linear-gradient(to right, var(--world-grid) 0 1px, transparent 1px 100%);background-size:var(--ledger-column) 100%}[data-world=contact]{--paper:#f4f1ec;--paper-raised:#faf8f4;--paper-recessed:#eae7e0;--paper-edge:#ded9d0;--world-accent:#63384c;--world-accent-wash:#63384c12;--world-grid:#63384c29}[data-world=contact] .ground{background-image:radial-gradient(circle at 1.25rem 50%, var(--world-grid) 0 3px, transparent 3.5px), radial-gradient(circle at calc(100% - 1.25rem) 50%, var(--world-grid) 0 3px, transparent 3.5px);background-size:100% 1.5rem}@media (forced-colors:active){.ground{background-image:none}}@media print{.ground{display:none}}.gate{z-index:90;align-content:center;justify-items:start;gap:var(--space-2xs);padding-inline:var(--sheet-gutter);background-color:var(--paper);opacity:0;visibility:hidden;pointer-events:none;display:grid;position:fixed;inset:0}.gate__rule{border:0;border-block-start:1px solid var(--world-accent);inline-size:min(100%,22rem);margin:0}.gate__title{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--world-accent);font-weight:500}.gate__enter{font-family:var(--font-display);font-size:var(--step-3);letter-spacing:.04em;text-transform:uppercase;font-weight:600;line-height:var(--leading-tight);color:var(--ink)}@media (prefers-reduced-motion:no-preference){.gate{animation:gate-lift var(--dur-slow) var(--ease-drawer) forwards}.gate__title,.gate__enter{animation:gate-line var(--dur-slow) var(--ease-plot) backwards}.gate__enter{animation-delay:60ms}.gate[data-state=leaving]{animation:gate-drop var(--dur-base) var(--ease-drawer) forwards}}@keyframes gate-lift{0%,15%{opacity:1;visibility:visible;clip-path:inset(0)}to{opacity:1;visibility:hidden;clip-path:inset(0 0 100%)}}@keyframes gate-drop{0%{opacity:1;visibility:visible;clip-path:inset(100% 0 0)}to{opacity:1;visibility:visible;clip-path:inset(0)}}@keyframes gate-line{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.gate[data-gate-kind=register]{animation:gate-register var(--dur-slow) var(--ease-drawer) forwards}.gate[data-gate-kind=register][data-state=leaving]{animation:gate-register-close var(--dur-base) var(--ease-drawer) forwards}}@keyframes gate-register{0%,38%{opacity:1;visibility:visible;clip-path:inset(0)}to{opacity:1;visibility:hidden;clip-path:inset(0 50%)}}@keyframes gate-register-close{0%{opacity:1;visibility:visible;clip-path:inset(0 50%)}to{opacity:1;visibility:visible;clip-path:inset(0)}}.gate[data-gate-kind=drawer]{align-content:end;padding-block-end:var(--space-2xl)}.gate[data-gate-kind=drawer]:after{content:"";background-color:var(--world-accent);block-size:3px;position:absolute;inset-block-end:0;inset-inline:0}@media (prefers-reduced-motion:no-preference){.gate[data-gate-kind=drawer]{animation:gate-drawer var(--dur-slow) var(--ease-drawer) forwards}.gate[data-gate-kind=drawer][data-state=leaving]{animation:gate-drawer-close var(--dur-base) var(--ease-drawer) forwards}}@keyframes gate-drawer{0%,30%{opacity:1;visibility:visible;clip-path:inset(0);translate:0}to{opacity:1;visibility:hidden;clip-path:inset(100% 0 0);translate:0 12vh}}@keyframes gate-drawer-close{0%{opacity:1;visibility:visible;clip-path:inset(100% 0 0);translate:0 12vh}to{opacity:1;visibility:visible;clip-path:inset(0);translate:0}}.gate[data-gate-kind=sheet]{background-color:#0000;align-content:end;padding-block-end:calc(50vh + var(--space-l))}.gate[data-gate-kind=sheet]:before,.gate[data-gate-kind=sheet]:after{content:"";z-index:-1;background-color:var(--paper);border-block-end:1px solid var(--world-accent);position:absolute;inset:0}.gate[data-gate-kind=sheet]:before{clip-path:inset(0 0 50%)}.gate[data-gate-kind=sheet]:after{clip-path:inset(50% 0 0);border-block-end:0;border-block-start:1px solid var(--world-accent)}@media (prefers-reduced-motion:no-preference){.gate[data-gate-kind=sheet]{animation:gate-sheet var(--dur-slow) var(--ease-drawer) forwards}.gate[data-gate-kind=sheet]:before{animation:gate-sheet-top var(--dur-slow) var(--ease-drawer) forwards}.gate[data-gate-kind=sheet]:after{animation:gate-sheet-bottom var(--dur-slow) var(--ease-drawer) forwards}.gate[data-gate-kind=sheet] .gate__rule,.gate[data-gate-kind=sheet] .gate__title,.gate[data-gate-kind=sheet] .gate__enter{animation:gate-sheet-top var(--dur-slow) var(--ease-drawer) forwards}.gate[data-gate-kind=sheet][data-state=leaving]{animation:gate-sheet-close var(--dur-base) var(--ease-drawer) forwards}.gate[data-gate-kind=sheet][data-state=leaving]:before,.gate[data-gate-kind=sheet][data-state=leaving]:after,.gate[data-gate-kind=sheet][data-state=leaving] .gate__rule,.gate[data-gate-kind=sheet][data-state=leaving] .gate__title,.gate[data-gate-kind=sheet][data-state=leaving] .gate__enter{animation:none;translate:0}}@keyframes gate-sheet{0%,99%{opacity:1;visibility:visible}to{opacity:1;visibility:hidden}}@keyframes gate-sheet-top{0%,30%{translate:0}to{translate:0 -50vh}}@keyframes gate-sheet-bottom{0%,30%{translate:0}to{translate:0 50vh}}@keyframes gate-sheet-close{0%{opacity:1;visibility:visible;clip-path:inset(50% 0)}to{opacity:1;visibility:visible;clip-path:inset(0)}}@media print{.gate{display:none}}.gate[data-gate-kind=traverse]{text-align:end;justify-items:end;padding-inline-end:calc(var(--sheet-gutter) + var(--space-l))}.gate[data-gate-kind=traverse] .gate__rule{margin-inline-start:auto}.gate[data-gate-kind=traverse]:after{content:"";inline-size:var(--space-s);border-inline-end:2px solid var(--world-accent);background-image:linear-gradient(to bottom, var(--world-accent) 0 1px, transparent 1px 100%);background-size:100% var(--bench-pitch,1.5rem);position:absolute;inset-block:0;inset-inline-end:0}@media (prefers-reduced-motion:no-preference){.gate[data-gate-kind=traverse]{animation:gate-traverse var(--dur-slow) var(--ease-drawer) forwards}.gate[data-gate-kind=traverse] .gate__rule,.gate[data-gate-kind=traverse] .gate__title,.gate[data-gate-kind=traverse] .gate__enter{animation:gate-traverse-label var(--dur-slow) var(--ease-drawer) backwards}.gate[data-gate-kind=traverse][data-state=leaving]{animation:gate-traverse-close var(--dur-base) var(--ease-drawer) forwards}.gate[data-gate-kind=traverse][data-state=leaving] .gate__rule,.gate[data-gate-kind=traverse][data-state=leaving] .gate__title,.gate[data-gate-kind=traverse][data-state=leaving] .gate__enter{animation:none;translate:0}}@keyframes gate-traverse{0%,22%{opacity:1;visibility:visible;clip-path:inset(0);translate:0}to{opacity:1;visibility:hidden;clip-path:inset(0 0 0 100%);translate:8vw}}@keyframes gate-traverse-label{0%{translate:-.75rem}22%,to{translate:0}}@keyframes gate-traverse-close{0%{opacity:1;visibility:visible;clip-path:inset(0 0 0 100%);translate:8vw}to{opacity:1;visibility:visible;clip-path:inset(0);translate:0}}.gate[data-gate-kind=ruling]{background-color:#0000}.gate[data-gate-kind=ruling]:before,.gate[data-gate-kind=ruling]:after{content:"";z-index:-1;background-color:var(--paper);background-image:linear-gradient(to right, var(--world-accent) 0 1px, transparent 1px 100%);background-size:var(--ledger-column,6rem) 100%;position:absolute;inset:0}.gate[data-gate-kind=ruling]:before{mask-image:repeating-linear-gradient(to right, #000 0 var(--ledger-column,6rem), transparent var(--ledger-column,6rem) calc(var(--ledger-column,6rem) * 2))}.gate[data-gate-kind=ruling]:after{mask-image:repeating-linear-gradient(to right, transparent 0 var(--ledger-column,6rem), #000 var(--ledger-column,6rem) calc(var(--ledger-column,6rem) * 2))}@media (prefers-reduced-motion:no-preference){.gate[data-gate-kind=ruling]{animation:gate-ruling var(--dur-slow) var(--ease-drawer) forwards;animation-delay:90ms}.gate[data-gate-kind=ruling]:before{animation:gate-ruling-column var(--dur-slow) var(--ease-drawer) forwards}.gate[data-gate-kind=ruling]:after{animation:gate-ruling-column var(--dur-slow) var(--ease-drawer) 90ms forwards}.gate[data-gate-kind=ruling][data-state=leaving]{animation:gate-ruling-close var(--dur-base) var(--ease-drawer) forwards;animation-delay:0s}.gate[data-gate-kind=ruling][data-state=leaving]:before,.gate[data-gate-kind=ruling][data-state=leaving]:after{clip-path:none;animation:none;translate:0}}@keyframes gate-ruling-column{0%,16%{clip-path:inset(0);translate:0}to{clip-path:inset(0 0 100%);translate:0 -2vh}}@keyframes gate-ruling{0%,30%{opacity:1;visibility:visible}to{opacity:1;visibility:hidden}}@keyframes gate-ruling-close{0%{opacity:1;visibility:visible;clip-path:inset(0 0 100%)}to{opacity:1;visibility:visible;clip-path:inset(0)}}.gate[data-gate-kind=leaf]{transform-origin:0;background-image:linear-gradient(to right, var(--world-grid) 0 1px, transparent 1px 100%), linear-gradient(to bottom, var(--world-grid) 0 1px, transparent 1px 100%);background-size:var(--notebook-module,2.5rem) var(--notebook-module,2.5rem);padding-inline-start:calc(var(--sheet-gutter) + var(--space-l))}.gate[data-gate-kind=leaf]:after{content:"";inline-size:var(--space-s);border-inline-start:2px solid var(--world-accent);background-image:radial-gradient(circle at center, var(--world-accent) 0 2px, transparent 2.5px);background-size:100% var(--notebook-module,2.5rem);position:absolute;inset-block:0;inset-inline-start:0}@media (prefers-reduced-motion:no-preference){.gate[data-gate-kind=leaf]{animation:gate-leaf var(--dur-slow) var(--ease-drawer) forwards}.gate[data-gate-kind=leaf] .gate__rule,.gate[data-gate-kind=leaf] .gate__title,.gate[data-gate-kind=leaf] .gate__enter{animation:gate-leaf-label var(--dur-slow) var(--ease-plot) backwards}.gate[data-gate-kind=leaf][data-state=leaving]{animation:gate-leaf-close var(--dur-base) var(--ease-drawer) forwards}.gate[data-gate-kind=leaf][data-state=leaving] .gate__rule,.gate[data-gate-kind=leaf][data-state=leaving] .gate__title,.gate[data-gate-kind=leaf][data-state=leaving] .gate__enter{animation:none;translate:0}}@keyframes gate-leaf{0%,20%{opacity:1;visibility:visible;transform:perspective(150vw)rotateY(0)}to{opacity:1;visibility:hidden;transform:perspective(150vw)rotateY(90deg)}}@keyframes gate-leaf-label{0%{translate:0 .4rem}20%,to{translate:0}}@keyframes gate-leaf-close{0%{opacity:1;visibility:visible;transform:perspective(150vw)rotateY(90deg)}to{opacity:1;visibility:visible;transform:perspective(150vw)rotateY(0)}}.gate[data-gate-kind=transmit]{align-content:end;padding-block-end:var(--space-2xl)}.gate[data-gate-kind=transmit]:after{content:"";inline-size:min(42vw,22rem);block-size:var(--space-2xl);background-image:repeating-linear-gradient(-68deg, var(--world-accent) 0 2px, transparent 2px .75rem);border-block-end:1px solid var(--world-accent);position:absolute;inset-block-start:0;inset-inline-end:0}@media (prefers-reduced-motion:no-preference){.gate[data-gate-kind=transmit]{animation:gate-transmit var(--dur-slow) var(--ease-step) forwards}.gate[data-gate-kind=transmit] .gate__rule,.gate[data-gate-kind=transmit] .gate__title,.gate[data-gate-kind=transmit] .gate__enter{animation:gate-transmit-label var(--dur-slow) var(--ease-step) backwards}.gate[data-gate-kind=transmit][data-state=leaving]{animation:gate-transmit-close var(--dur-base) var(--ease-step) forwards}.gate[data-gate-kind=transmit][data-state=leaving] .gate__rule,.gate[data-gate-kind=transmit][data-state=leaving] .gate__title,.gate[data-gate-kind=transmit][data-state=leaving] .gate__enter{animation:none;translate:0}}@keyframes gate-transmit{0%,18%{opacity:1;visibility:visible;clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}to{opacity:1;visibility:hidden;clip-path:polygon(0% 0%,-40% 0%,0% 100%,0% 100%)}}@keyframes gate-transmit-label{0%{translate:-.6rem}18%,to{translate:0}}@keyframes gate-transmit-close{0%{opacity:1;visibility:visible;clip-path:polygon(0% 0%,-40% 0%,0% 100%,0% 100%)}to{opacity:1;visibility:visible;clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%)}}
