@font-face{font-family:Clash Display;src:url(/fonts/clash-display-variable.woff2) format("woff2-variations"),url(/fonts/clash-display-variable.woff2) format("woff2");font-weight:200 700;font-display:swap}:root{color-scheme:light;--bg: #ffffff;--fg: #0a0a0a;--surface: #fafafa;--surface-2: #f2f2f2;--line: #e8e8e8;--line-strong: #d6d6d6;--muted: #595959;--faint: #626262;--glass-bg: rgba(255, 255, 255, .62);--glass-edge: rgba(0, 0, 0, .08);--glass-specular: rgba(255, 255, 255, .95);--glass-shadow: rgba(0, 0, 0, .07);--glass-blur: 24px;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 999px;--font-display: "Clash Display", "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--font-text: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--t-caption2: .6875rem;--t-caption1: .75rem;--t-footnote: .8125rem;--t-subhead: .9375rem;--t-callout: 1rem;--t-body: 1.0625rem;--t-title3: 1.25rem;--t-title2: 1.375rem;--t-title1: 1.75rem;--t-large: clamp(2.25rem, 1.6rem + 2.8vw, 3.5rem);--t-display: clamp(3rem, 1.5rem + 7vw, 6rem);--track-tight: -.008em;--track-tighter: -.014em;--track-display: -.02em;--track-wide: .06em;--maxw: 70rem;--gutter: clamp(1.25rem, .75rem + 2vw, 2rem);--ease: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur: .18s;--dur-slow: .32s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0a0a0a;--fg: #ededed;--surface: #131313;--surface-2: #1b1b1b;--line: #202020;--line-strong: #303030;--muted: #a0a0a0;--faint: #8f8f8f;--glass-bg: rgba(22, 22, 22, .58);--glass-edge: rgba(255, 255, 255, .1);--glass-specular: rgba(255, 255, 255, .16);--glass-shadow: rgba(0, 0, 0, .5)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0a0a0a;--fg: #ededed;--surface: #131313;--surface-2: #1b1b1b;--line: #202020;--line-strong: #303030;--muted: #a0a0a0;--faint: #8f8f8f;--glass-bg: rgba(22, 22, 22, .58);--glass-edge: rgba(255, 255, 255, .1);--glass-specular: rgba(255, 255, 255, .16);--glass-shadow: rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-text);font-size:var(--t-subhead);line-height:1.55;letter-spacing:-.008em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-synthesis-weight:none}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:var(--r-xs)}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.display{font-family:var(--font-display);font-size:var(--t-display);line-height:1.04;letter-spacing:var(--track-display);font-weight:700}.large-title{font-family:var(--font-display);font-size:var(--t-large);line-height:1.12;letter-spacing:var(--track-tighter);font-weight:700}.title-3{font-family:var(--font-display);font-size:var(--t-title3);letter-spacing:var(--track-tight);font-weight:590}.headline{font-size:var(--t-subhead);font-weight:590;letter-spacing:-.012em}.mono{font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:var(--track-wide);text-transform:uppercase;line-height:1.5;font-weight:500;font-variant-numeric:tabular-nums}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@supports not (backdrop-filter: blur(1px)){.glass{background:var(--bg)}}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;border:0}.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding-inline:clamp(1rem,1.8vw,1.5rem);min-height:3.5rem}.header-right{justify-self:end}.navpill{justify-self:center;display:flex;align-items:center;gap:.25rem}.navpill-btn{display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-family:var(--font-text);font-size:var(--t-footnote);font-weight:500;color:var(--fg);background:transparent;border:0;border-radius:var(--r-pill);padding:.3rem .5rem;min-height:1.5rem;cursor:pointer;transition:opacity var(--dur) var(--ease)}.navpill-btn:hover{opacity:.65}.navpill-btn--mark{padding:0;margin:-2px -6px -46px}.navpill-btn--mark:hover{opacity:1}.navpill-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:3px;width:14px}.navpill-burger i{display:block;height:1.5px;background:currentColor;border-radius:1px;transition:transform var(--dur-slow) var(--ease)}.navpill-btn:hover .navpill-burger i:first-child{transform:translateY(-1px)}.navpill-btn:hover .navpill-burger i:last-child{transform:translateY(1px)}.navpill-sep{width:1px;height:14px;background:var(--line-strong);flex:0 0 auto}.navpill-icon{display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;color:var(--fg);background:transparent;border:0;border-radius:50%;cursor:pointer;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.navpill-icon:hover{opacity:.65}.navpill-icon:active{transform:scale(.92)}.theme-chip{width:2.25rem;height:2.25rem}.navpill-icon[data-mode=dark] .icon-moon{fill:currentColor}.navpill-icon[data-mode=auto]{opacity:.55}.navpill-pct{font-family:var(--font-mono);font-size:var(--t-caption2);font-variant-numeric:tabular-nums;color:var(--fg);background:var(--surface-2);border-radius:var(--r-pill);padding:.25rem .55rem;min-width:2.75rem;text-align:center}@media(max-width:52rem){.navpill-btn{font-size:0;gap:0;padding-inline:.4rem}.navpill-pct{display:none}}main{padding-top:var(--header-h, 3.5rem);text-shadow:0 0 .15em var(--bg),0 0 .5em var(--bg);overflow-x:clip}.masthead{position:relative;isolation:isolate}.masthead:before{content:"";position:absolute;inset:-1.5rem -3rem;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--bg) 70%,transparent) 50%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);mask-image:radial-gradient(closest-side,#000 60%,transparent);-webkit-mask-image:radial-gradient(closest-side,#000 60%,transparent)}.header-progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none}.header-progress span{display:block;height:100%;background:var(--fg);transform:scaleX(0);transform-origin:left;opacity:.55}.brand-name{white-space:nowrap}.brand--mark{justify-self:start;padding:.25rem;margin-left:-.25rem;border-radius:var(--r-sm);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.brand--mark:active{transform:scale(.94)}.btn-sm{padding:.35rem .75rem;font-size:var(--t-caption1)}@media(max-width:46rem){.header-cta{display:none}}.brand{display:flex;align-items:center;gap:.5rem;min-height:1.75rem;font-family:var(--font-display);font-weight:600;font-size:var(--t-footnote);letter-spacing:var(--track-tight)}.brand-mark{width:1.375rem;height:1.375rem;display:grid;place-items:center;background:var(--fg);color:var(--bg);border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--t-caption2);font-weight:600;letter-spacing:0}.header-right{display:flex;align-items:center;gap:.875rem}@media(max-width:34rem){.header-inner{flex-wrap:wrap;padding-block:.5rem;row-gap:.5rem;gap:.75rem}.header-right{width:100%;justify-content:space-between;gap:.5rem}.site-nav{gap:.875rem}}@media(max-width:23rem){.header-right{flex-wrap:wrap;row-gap:.4rem}.site-nav{gap:.75rem}.segmented button{padding-inline:.4rem}}.site-nav{display:flex;align-items:center;gap:1rem}.site-nav a{font-size:var(--t-footnote);color:var(--muted);padding-block:.3rem;display:inline-flex;align-items:center;min-height:1.5rem;transition:color var(--dur) var(--ease)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--fg)}.segmented{display:flex;gap:2px;padding:2px;background:var(--surface-2);border-radius:var(--r-sm)}.segmented button{font:inherit;font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:.04em;text-transform:uppercase;padding:.25rem .55rem;min-height:1.5rem;background:transparent;color:var(--faint);border:0;border-radius:8px;cursor:pointer;line-height:1.6;transition:color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.segmented button:hover{color:var(--fg)}.segmented button:active{transform:scale(.94)}.segmented button[aria-pressed=true]{background:var(--bg);color:var(--fg);box-shadow:0 1px 2px var(--glass-shadow)}.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--fg);color:var(--bg);border:1px solid var(--fg);padding:.5rem 1rem;border-radius:var(--r-pill);font-family:var(--font-text);font-size:var(--t-footnote);font-weight:560;letter-spacing:-.01em;cursor:pointer;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.btn:hover{opacity:.86}.btn:active{transform:scale(.96)}.btn-ghost{background:transparent;color:var(--fg);border-color:var(--line-strong)}.btn-ghost:hover{opacity:1;background:var(--surface);border-color:var(--muted)}.masthead{padding-block:clamp(3rem,2rem + 4vw,5.5rem) 2rem;max-width:50rem}.masthead-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;color:var(--faint);margin-bottom:1.25rem}.masthead-meta>span{white-space:nowrap}.masthead-meta .sep:before{content:"·";margin-inline:.15rem}.masthead h1{font-family:var(--font-display);font-size:var(--t-display);line-height:.92;letter-spacing:var(--track-display);font-weight:500;margin:0;max-width:16ch;text-wrap:balance}.masthead h1 .light{font-weight:300;color:var(--muted)}.masthead-lede{font-family:var(--font-text);font-size:var(--t-callout);line-height:1.6;color:var(--muted);max-width:54ch;margin:1.125rem 0 0;text-wrap:pretty}.masthead--center{max-width:58rem;margin-inline:auto;text-align:center}.masthead--center .masthead-meta{justify-content:center}.masthead--center h1{max-width:none}.masthead--center .masthead-lede{margin-inline:auto}.masthead-title .word{display:inline-block;white-space:nowrap;margin-right:.2em}.masthead-title .char{display:inline-block;font-variation-settings:"wght" 520;transition:font-variation-settings .26s var(--ease),color .2s var(--ease),transform .32s var(--ease-spring)}@keyframes char-in{0%{opacity:0;transform:translateY(.4em);font-variation-settings:"wght" 300}to{opacity:1;transform:none;font-variation-settings:"wght" 520}}@media(prefers-reduced-motion:no-preference){.masthead-title .char{animation:char-in .62s var(--ease) backwards;animation-delay:calc(var(--ci, 0) * 28ms)}}.masthead-title .char:hover{font-variation-settings:"wght" 700;transform:scale(1.22)}.masthead-title .char:hover+.char,.masthead-title .char:has(+.char:hover){font-variation-settings:"wght" 640;transform:scale(1.1)}.masthead-title .char:hover+.char+.char,.masthead-title .char:has(+.char+.char:hover){font-variation-settings:"wght" 580}@media(prefers-reduced-motion:reduce){.masthead-title .char,.masthead-title .char:hover,.masthead-title .char:hover+.char{transform:none}}.search-block{padding-block:.25rem 1.25rem}.search-shell{display:flex;align-items:center;gap:.625rem;border-radius:var(--r-pill);padding:.6rem 1rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.search-shell:focus-within{border-color:var(--muted);box-shadow:inset 0 1px 0 var(--glass-specular),0 0 0 3px var(--surface-2),0 8px 32px var(--glass-shadow)}.search-icon{flex:0 0 auto;color:var(--faint);display:grid;place-items:center;position:relative;z-index:1}.search-input{flex:1;min-width:0;font:inherit;font-family:var(--font-text);font-size:var(--t-callout);letter-spacing:-.01em;color:var(--fg);background:transparent;border:0;position:relative;z-index:1}.search-input:focus{outline:none}.search-input::placeholder{color:var(--faint)}kbd{font-family:var(--font-mono);font-size:var(--t-caption2);border:1px solid var(--line);background:var(--surface-2);border-radius:var(--r-xs);padding:.1rem .35rem;color:var(--faint);position:relative;z-index:1}.ticker{display:flex;gap:.375rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem}.ticker::-webkit-scrollbar{display:none}.ticker a{flex:0 0 auto;padding:.3rem .75rem;border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--t-footnote);color:var(--muted);display:flex;align-items:baseline;gap:.35rem;white-space:nowrap;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.ticker a:hover{border-color:var(--muted);color:var(--fg)}.ticker a:active{transform:scale(.96)}.ticker a sup{font-family:var(--font-mono);font-size:var(--t-caption2);font-variant-numeric:tabular-nums;color:var(--faint);vertical-align:baseline}.section{padding-block:clamp(2.25rem,2rem + 1.5vw,3.25rem)}.section+.section{border-top:1px solid var(--line)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.section-head h2{font-family:var(--font-display);font-size:var(--t-title1);line-height:1;letter-spacing:var(--track-tighter);font-weight:500;margin:0;display:flex;align-items:baseline;gap:.5rem}.section-head h2 .count{font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--faint);font-weight:500;font-variant-numeric:tabular-nums}.section-link{font-size:var(--t-footnote);color:var(--muted);display:inline-flex;align-items:center;min-height:1.5rem;transition:color var(--dur) var(--ease)}.section-link:hover{color:var(--fg)}.tool-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.625rem}.tool{border-radius:var(--r-md);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.tool[hidden]{display:none}.tool{overflow:hidden}.tool>a{display:flex;flex-direction:column;height:100%;gap:0;position:relative;z-index:1}.tool-main{display:flex;flex-direction:column;flex:1 1 auto;padding:.875rem;gap:.625rem}.tool-thumb{display:block;position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--surface-2);border-bottom:1px solid var(--line)}.tool-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transform:scale(1.01);transition:opacity var(--dur-slow) var(--ease),filter var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.tool:hover .tool-thumb img{transform:scale(1.04)}.tool:hover{transform:scale(1.03);z-index:1;border-color:var(--line-strong);box-shadow:inset 0 1px 0 var(--glass-specular),0 2px 4px var(--glass-shadow),0 12px 40px var(--glass-shadow)}.tool:active{transform:scale(1.01)}.tool-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tool-mono{position:relative;width:1.875rem;height:1.875rem;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;background:var(--surface-2);color:var(--muted);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--t-caption1);font-weight:600;line-height:1;text-transform:uppercase;transition:color var(--dur) var(--ease)}.tool:hover .tool-mono{color:var(--fg)}.tool-initial{position:absolute}.tool-favicon{position:relative;width:1.0625rem;height:1.0625rem;object-fit:contain;border-radius:3px}.tool-index{font-family:var(--font-mono);font-size:var(--t-caption2);font-variant-numeric:tabular-nums;color:var(--faint)}.tool-body{display:flex;flex-direction:column;gap:.1rem}.tool-name{font-family:var(--font-text);font-size:var(--t-subhead);font-weight:560;letter-spacing:-.012em;display:flex;align-items:center;gap:.3rem}.tool-tagline{font-size:var(--t-footnote);color:var(--muted);line-height:1.45}.tool-foot{margin-top:auto;padding-top:.75rem;display:flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}.tool-foot .sep:before{content:"·";margin-inline:.1rem}.ext{font-size:.75em;color:var(--faint);opacity:0;transform:translate(-2px,2px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.tool:hover .ext{opacity:1;transform:none}.tool-name,.tool-tagline{transition:transform var(--dur-slow) var(--ease)}.tool:hover .tool-name{transform:translate(3px)}.tool:hover .tool-tagline{transform:translate(3px);transition-delay:30ms}.tool-mono{transition:color var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.tool:hover .tool-mono{transform:scale(1.08)}.tool-index{transition:opacity var(--dur) var(--ease)}.tool:hover .tool-index{opacity:.35}.tool:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--fg),transparent);opacity:0;transform:scaleX(.3);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.tool:hover:after{opacity:.45;transform:scaleX(1)}.bento{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:13.5rem;gap:.625rem;grid-auto-flow:row dense}.bento .tool--big{grid-column:span 2;grid-row:span 2}.bento .tool--wide{grid-column:span 2}.bento .tool--tall{grid-row:span 2}.bento .tool--full{grid-column:span 4}.bento .tool--big .tool-name{font-size:var(--t-title2);letter-spacing:var(--track-tight)}.bento .tool--big .tool-thumb,.bento .tool--tall .tool-thumb{aspect-ratio:auto;flex:1 1 auto;min-height:0}@media(max-width:64rem){.bento{grid-template-columns:repeat(2,1fr)}.bento .tool--full{grid-column:span 2}}@media(max-width:40rem){.bento{grid-template-columns:1fr;grid-auto-rows:auto}.bento .tool--big,.bento .tool--wide,.bento .tool--tall,.bento .tool--full{grid-column:span 1;grid-row:span 1}.bento .tool-thumb{aspect-ratio:16 / 10!important;flex:0 0 auto}}.tool--feature{grid-column:span 2}.tool--feature .tool-name{font-size:var(--t-title3);letter-spacing:var(--track-tight);font-weight:600}.tool--feature .tool-desc{font-size:var(--t-footnote);color:var(--muted);line-height:1.55;margin:.4rem 0 0;max-width:52ch}@media(max-width:36rem){.tool--feature{grid-column:span 1}.tool--feature .tool-desc{display:none}}.tool-grid[data-view=list]{grid-template-columns:1fr;gap:0}.tool-grid[data-view=list] .tool{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;transform:none}.tool-grid[data-view=list] .tool:before{display:none}.tool-grid[data-view=list] .tool:hover{transform:none;box-shadow:none;background:var(--surface)}.tool-grid[data-view=list] .tool--feature{grid-column:span 1}.tool-grid[data-view=list] .tool>a{padding:0}.tool-grid[data-view=list] .tool-thumb{display:none}.tool-grid[data-view=list] .tool-main{flex-direction:row;align-items:center;gap:.875rem;padding:.6rem .5rem}.tool-grid[data-view=list] .tool-head{flex:0 0 auto}.tool-grid[data-view=list] .tool-index,.tool-grid[data-view=list] .tool-desc{display:none}.tool-grid[data-view=list] .tool-name{font-size:var(--t-subhead)}.tool-grid[data-view=list] .tool-body{flex:1 1 auto;flex-direction:row;align-items:baseline;gap:.625rem;min-width:0}.tool-grid[data-view=list] .tool-tagline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-grid[data-view=list] .tool-foot{margin-top:0;padding-top:0;flex:0 0 auto}@media(max-width:40rem){.tool-grid[data-view=list] .tool-body{flex-direction:column;gap:0}.tool-grid[data-view=list] .tool-foot{display:none}}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding-block:.625rem}.chip-row{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.chip-label{font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--faint);margin-right:.2rem}.chip{font:inherit;font-family:var(--font-text);font-size:var(--t-footnote);padding:.3rem .75rem;border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--muted);cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease-spring)}.chip-count{font-family:var(--font-mono);font-size:.85em;color:var(--faint);margin-left:.15rem}.chip[aria-pressed=true] .chip-count{color:var(--bg);opacity:.7}.chip:hover{color:var(--fg);border-color:var(--muted)}.chip:active{transform:scale(.95)}.chip[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.result-count{font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:var(--track-wide);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--faint);margin:.75rem 0}.empty-state{padding:3.5rem 1.5rem;text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r-lg);margin-top:.5rem}.empty-state strong{display:block;font-family:var(--font-display);font-size:var(--t-title3);font-weight:600;letter-spacing:var(--track-tight);margin-bottom:.35rem}.empty-state p{color:var(--muted);font-size:var(--t-footnote);margin:0 0 1.25rem}.page-head{padding-block:clamp(2.5rem,2rem + 2vw,3.5rem) 1.5rem}.page-head h1{font-family:var(--font-display);font-size:var(--t-large);line-height:.95;letter-spacing:var(--track-tighter);font-weight:500;margin:.5rem 0 .625rem}.page-head p{color:var(--muted);font-size:var(--t-callout);max-width:56ch;margin:0;text-wrap:pretty}.row-list{list-style:none;margin:0;padding:0}.row{border-bottom:1px solid var(--line);transition:background var(--dur) var(--ease)}.row:first-child{border-top:1px solid var(--line)}.row>a{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.875rem .5rem;flex-wrap:wrap}.row:hover{background:var(--surface)}.row-main{flex:1 1 22rem;min-width:0}.row-title{font-family:var(--font-text);font-size:var(--t-subhead);font-weight:560;letter-spacing:-.012em;display:block}.row-sub{font-size:var(--t-footnote);color:var(--muted);display:block;margin-top:.05rem}.row-meta{font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--faint);white-space:nowrap}.prose{max-width:38rem;padding-block:2rem 4rem;font-size:var(--t-callout);line-height:1.7}.prose a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:var(--line-strong);transition:text-decoration-color var(--dur) var(--ease)}.prose a:hover{text-decoration-color:var(--fg)}.prose h2{font-family:var(--font-display);font-size:var(--t-title3);letter-spacing:var(--track-tight);font-weight:600;margin:2.25rem 0 .625rem}.prose h3{font-family:var(--font-display);font-size:var(--t-callout);font-weight:590;margin:1.75rem 0 .4rem}.prose code{font-family:var(--font-mono);font-size:.8125em;background:var(--surface-2);border-radius:var(--r-xs);padding:.1em .35em;overflow-wrap:anywhere}.prose pre{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:.875rem 1rem;overflow-x:auto;font-size:var(--t-footnote);line-height:1.6}.prose pre code{background:none;padding:0}.prose blockquote{margin-inline:0;padding-left:1rem;border-left:1px solid var(--line-strong);color:var(--muted)}.prose table{width:100%;border-collapse:collapse;font-size:var(--t-footnote);font-variant-numeric:tabular-nums}.prose th,.prose td{border-bottom:1px solid var(--line);padding:.5rem .7rem .5rem 0;text-align:left}.prose th{font-weight:590;color:var(--muted)}.prose ul,.prose ol{padding-left:1.125rem}.prose li{margin-block:.3rem}.prose li::marker{color:var(--faint)}.form-grid{display:grid;gap:1.125rem;max-width:32rem;padding-block:1.75rem 4rem}.field{display:grid;gap:.375rem}.field label{font-size:var(--t-footnote);font-weight:560;color:var(--fg)}.field input,.field select,.field textarea{font:inherit;font-family:var(--font-text);font-size:var(--t-subhead);padding:.55rem .75rem;color:var(--fg);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--fg);box-shadow:0 0 0 3px var(--surface-2)}.field textarea{min-height:6.5rem;resize:vertical}.hint{font-size:var(--t-footnote);color:var(--muted)}.hidden-field{position:absolute;left:-9999px}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.625rem}.option{border-radius:var(--r-lg);padding:1.25rem}.option>*{position:relative;z-index:1}.option h2{margin:.5rem 0 .35rem;font-family:var(--font-display);font-size:var(--t-title3);font-weight:600;letter-spacing:var(--track-tight)}.option p{margin:0 0 1.125rem;color:var(--muted);font-size:var(--t-footnote)}.site-footer{border-top:1px solid var(--line);padding-block:2rem;font-size:var(--t-footnote);margin-top:2rem}.footer-grid{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.site-footer a{color:var(--muted);transition:color var(--dur) var(--ease)}.site-footer a:hover{color:var(--fg)}.footer-links{display:flex;gap:1rem;flex-wrap:wrap}.footer-links a{display:inline-flex;align-items:center;min-height:1.5rem}.preview{position:fixed;z-index:80;width:400px;border-radius:var(--r-lg);overflow:hidden;pointer-events:none;opacity:0;transform:translateY(6px) scale(.98);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.preview.is-open{opacity:1;transform:none}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid var(--glass-edge);font-family:var(--font-mono);font-size:var(--t-caption2);position:relative;z-index:1}.preview-host{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-badge{flex:0 0 auto;letter-spacing:var(--track-wide);text-transform:uppercase;padding:.1rem .4rem;border-radius:var(--r-xs);background:var(--surface-2);color:var(--faint)}.preview-badge[data-mode=live]{background:var(--fg);color:var(--bg)}.preview-stage{position:relative;height:280px;background:var(--surface-2)}.preview-frame,.preview-shot{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.preview-shot{object-fit:cover;object-position:top center}.preview-frame{background:#fff}.preview-skeleton{position:absolute;inset:0;background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface) 50%,var(--surface-2) 70%);background-size:220% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}@media(max-width:60rem),(hover:none),(pointer:coarse){.preview{display:none!important}}.logo{position:relative;display:block;flex:none;width:var(--logo);height:var(--logo)}.logo img{position:absolute;inset:0;width:100%;height:100%;transition:opacity .22s var(--ease)}.logo-hair,a:hover .logo-cap,a:focus-visible .logo-cap{opacity:0}a:hover .logo-hair,a:focus-visible .logo-hair{opacity:1}.logo--animated .logo-cap{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 300' preserveAspectRatio='none'%3E%3Crect width='100' height='126' fill='%23fff'/%3E%3Cpath d='M-44.0 178 L-10.0 122 M-38.5 178 L-4.5 122 M-33.0 178 L1.0 122 M-27.5 178 L6.5 122 M-22.0 178 L12.0 122 M-16.5 178 L17.5 122 M-11.0 178 L23.0 122 M-5.5 178 L28.5 122 M0.0 178 L34.0 122 M5.5 178 L39.5 122 M11.0 178 L45.0 122 M16.5 178 L50.5 122 M22.0 178 L56.0 122 M27.5 178 L61.5 122 M33.0 178 L67.0 122 M38.5 178 L72.5 122 M44.0 178 L78.0 122 M49.5 178 L83.5 122 M55.0 178 L89.0 122 M60.5 178 L94.5 122 M66.0 178 L100.0 122 M71.5 178 L105.5 122 M77.0 178 L111.0 122 M82.5 178 L116.5 122 M88.0 178 L122.0 122 M93.5 178 L127.5 122 M99.0 178 L133.0 122 M104.5 178 L138.5 122 M110.0 178 L144.0 122 M115.5 178 L149.5 122 M121.0 178 L155.0 122 M126.5 178 L160.5 122 M132.0 178 L166.0 122 M137.5 178 L171.5 122' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") 0 100% / 100% 300% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 300' preserveAspectRatio='none'%3E%3Crect width='100' height='126' fill='%23fff'/%3E%3Cpath d='M-44.0 178 L-10.0 122 M-38.5 178 L-4.5 122 M-33.0 178 L1.0 122 M-27.5 178 L6.5 122 M-22.0 178 L12.0 122 M-16.5 178 L17.5 122 M-11.0 178 L23.0 122 M-5.5 178 L28.5 122 M0.0 178 L34.0 122 M5.5 178 L39.5 122 M11.0 178 L45.0 122 M16.5 178 L50.5 122 M22.0 178 L56.0 122 M27.5 178 L61.5 122 M33.0 178 L67.0 122 M38.5 178 L72.5 122 M44.0 178 L78.0 122 M49.5 178 L83.5 122 M55.0 178 L89.0 122 M60.5 178 L94.5 122 M66.0 178 L100.0 122 M71.5 178 L105.5 122 M77.0 178 L111.0 122 M82.5 178 L116.5 122 M88.0 178 L122.0 122 M93.5 178 L127.5 122 M99.0 178 L133.0 122 M104.5 178 L138.5 122 M110.0 178 L144.0 122 M115.5 178 L149.5 122 M121.0 178 L155.0 122 M126.5 178 L160.5 122 M132.0 178 L166.0 122 M137.5 178 L171.5 122' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") 0 100% / 100% 300% no-repeat;animation:face-sketch 1.15s cubic-bezier(.45,0,.25,1) .1s both,face-off 1.9s var(--ease) both}@keyframes face-sketch{0%{-webkit-mask-position:0 100%;mask-position:0 100%}to{-webkit-mask-position:0 0;mask-position:0 0}}.logo--animated .logo-hair{animation:face-on 1.9s var(--ease) both}.logo--animated{animation:face-bob 1.9s var(--ease-spring) both}@keyframes face-off{0%,68%{opacity:1}90%,to{opacity:0}}@keyframes face-on{0%,68%{opacity:0}90%,to{opacity:1}}@keyframes face-bob{0%,66%{transform:none}80%{transform:translateY(-4px) scale(1.04)}to{transform:none}}@media(prefers-reduced-motion:reduce){.logo img{transition:none}.logo--animated,.logo--animated .logo-cap,.logo--animated .logo-hair{animation:none;-webkit-mask:none;mask:none}}.grain{position:fixed;top:-60%;left:-60%;width:220%;height:220%;z-index:60;pointer-events:none;opacity:.035;will-change:transform;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 6s steps(6) infinite}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .grain{opacity:.055}}:root[data-theme=dark] .grain{opacity:.055}@keyframes grain{0%{transform:translate(0)}16%{transform:translate(-3%,-5%)}33%{transform:translate(-8%,2%)}50%{transform:translate(4%,-6%)}66%{transform:translate(-2%,6%)}83%{transform:translate(6%,3%)}to{transform:translate(0)}}.drift{position:fixed;inset:-30%;z-index:-1;pointer-events:none;will-change:transform;background:radial-gradient(38rem 38rem at 22% 18%,rgba(0,0,0,.055),transparent 60%),radial-gradient(32rem 32rem at 80% 72%,rgba(0,0,0,.04),transparent 62%);animation:drift 26s ease-in-out infinite alternate}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .drift{background:radial-gradient(38rem 38rem at 22% 18%,rgba(255,255,255,.07),transparent 60%),radial-gradient(32rem 32rem at 80% 72%,rgba(255,255,255,.05),transparent 62%)}}:root[data-theme=dark] .drift{background:radial-gradient(38rem 38rem at 22% 18%,rgba(255,255,255,.07),transparent 60%),radial-gradient(32rem 32rem at 80% 72%,rgba(255,255,255,.05),transparent 62%)}@keyframes drift{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.08)}}html.is-loading{overflow:hidden}.loader[hidden],.preview[hidden],.preview-frame[hidden],.preview-shot[hidden],.preview-skeleton[hidden]{display:none!important}.loader{position:fixed;inset:0;z-index:200;display:grid;place-content:center;justify-items:center;gap:1.5rem;background:var(--bg);transition:opacity .42s var(--ease),visibility .42s}.loader.is-done{opacity:0;visibility:hidden}.loader-mark{color:var(--fg);animation:mark-in .62s var(--ease) both}@keyframes mark-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.loader-rule{width:8rem;height:1px;background:var(--line);overflow:hidden}.loader-rule span{display:block;width:100%;height:100%;background:var(--fg);transform-origin:left;animation:rule-fill 1.6s var(--ease) infinite}@keyframes rule-fill{0%{transform:scaleX(0)}60%{transform:scaleX(1)}to{transform:scaleX(1);opacity:0}}html.cmdk-open{overflow:hidden}.cmdk[hidden]{display:none!important}.cmdk{position:fixed;inset:0;z-index:150;display:grid;align-items:start;justify-items:center;padding:clamp(3rem,10vh,8rem) 1rem 2rem}.cmdk-scrim{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:cmdk-fade .16s var(--ease) both}.cmdk-panel{position:relative;width:min(40rem,100%);max-height:min(30rem,70vh);display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;animation:cmdk-in .22s var(--ease) both}@keyframes cmdk-fade{0%{opacity:0}to{opacity:1}}@keyframes cmdk-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}.cmdk-input-row{display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;border-bottom:1px solid var(--glass-edge);position:relative;z-index:1}.cmdk-icon{color:var(--faint);display:grid;place-items:center;flex:0 0 auto}.cmdk-input{flex:1;min-width:0;font:inherit;font-family:var(--font-text);font-size:var(--t-callout);letter-spacing:-.012em;color:var(--fg);background:transparent;border:0}.cmdk-input:focus{outline:none}.cmdk-input::placeholder{color:var(--faint)}.cmdk-esc{font:inherit;font-family:var(--font-mono);font-size:var(--t-caption2);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-xs);padding:.15rem .4rem;cursor:pointer;flex:0 0 auto}.cmdk-esc:hover{color:var(--fg)}.cmdk-results{overflow-y:auto;overscroll-behavior:contain;padding:.375rem;position:relative;z-index:1;flex:1 1 auto}.cmdk-group{font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--faint);padding:.625rem .625rem .3rem}.cmdk-row{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:var(--r-sm);cursor:pointer}.cmdk-row.is-active{background:var(--surface-2)}.cmdk-fav-wrap{width:1.5rem;height:1.5rem;flex:0 0 auto;display:grid;place-items:center;background:var(--surface-2);border-radius:var(--r-xs);overflow:hidden}.cmdk-row.is-active .cmdk-fav-wrap{background:var(--bg)}.cmdk-fav{width:1rem;height:1rem;object-fit:contain}.cmdk-fav--mono{font-family:var(--font-mono);font-size:var(--t-caption1);color:var(--muted);width:auto;height:auto;filter:none}.cmdk-row-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.cmdk-row-title{font-size:var(--t-footnote);font-weight:560;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-row-sub{font-size:var(--t-caption1);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-row-kind{font-family:var(--font-mono);font-size:var(--t-caption2);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);flex:0 0 auto}.cmdk-empty{padding:2.5rem 1rem;text-align:center;color:var(--muted);font-size:var(--t-footnote)}.cmdk-foot{display:flex;align-items:center;gap:1rem;padding:.5rem .875rem;border-top:1px solid var(--glass-edge);font-family:var(--font-mono);font-size:var(--t-caption2);color:var(--faint);position:relative;z-index:1}.cmdk-foot kbd{margin-right:.15rem}.cmdk-count{margin-left:auto}@media(max-width:40rem){.cmdk-foot span:not(.cmdk-count){display:none}}html.js-reveal .rise{opacity:0;transform:translateY(16px) scale(.985);will-change:opacity,transform}html.js-reveal .rise.is-in{opacity:1;transform:none;transition:opacity .56s var(--ease) var(--d, 0ms),transform .62s var(--ease) var(--d, 0ms)}html.js-reveal .rise.is-done{will-change:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}html.is-drifting,html.is-drifting body,html:has(.drift-stage--hero),html:has(.drift-stage--hero) body{overflow:hidden;overscroll-behavior:none}html.is-drifting .navpill-pct,html.is-drifting .navpill-sep,html.is-drifting .header-progress,html:has(.drift-stage--hero) .navpill-pct,html:has(.drift-stage--hero) .navpill-sep,html:has(.drift-stage--hero) .header-progress,html:has(.drift-stage--hero) .site-footer{display:none}.drift-stage{position:fixed;inset:0;z-index:40;background:#000;animation:drift-in .6s var(--ease) both}.drift-stage[hidden]{display:none}.drift-stage--hero{position:relative;inset:auto;z-index:0;height:100svh;min-height:34rem;margin-top:calc(-1 * var(--header-h, 3.5rem));overflow:hidden}.drift-hero-head{position:absolute;left:0;right:0;top:calc(var(--header-h, 3.5rem) + clamp(.75rem,2.2vh,1.75rem));z-index:1;padding-inline:var(--gutter);text-align:center;color:#f2f2f2;pointer-events:none;transition:opacity .6s var(--ease)}.drift-hero-head h1{display:inline-block;margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(1.75rem,.9rem + 1.8vw,2.75rem);line-height:.95;letter-spacing:-.03em;text-shadow:none;text-wrap:balance;pointer-events:auto}.drift-hero-sub{max-width:34rem;margin:.6rem auto 0;font-family:var(--font-text);font-size:var(--t-subhead);line-height:1.45;opacity:.78;text-wrap:balance}.drift-hero-foot{display:grid;gap:.6rem;justify-items:center;width:min(64rem,100%);margin:1.1rem auto 0;pointer-events:auto}.drift-hero-foot .search-shell{width:min(42rem,100%)}.drift-pills{max-width:100%}@media(min-width:701px){.drift-pills{flex-wrap:wrap;justify-content:center;overflow:visible}}.drift-pills a{align-items:center}.cat-icon{flex:none;transition:color var(--dur) var(--ease)}.drift-pills .cat-icon{color:hsl(var(--h) 80% 62%)}.drift-pills a:hover,.drift-pills a:focus-visible{transform:scale(1.08)}.drift-stage[data-loading] .drift-hero-foot{opacity:0;pointer-events:none}.drift-stage--hero .drift-canvas{touch-action:none}.drift-loading{position:absolute;left:50%;top:50%;display:grid;gap:.55rem;justify-items:center;padding:.7rem 1.1rem .8rem;border-radius:var(--r-md);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#edededb8;font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:.06em;text-transform:uppercase;opacity:0;transform:translate(-50%,-50%) scale(.97);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}html.is-loading .drift-stage .drift-loading{opacity:0;transition-delay:0s}.drift-stage[data-loading] .drift-loading{opacity:1;transform:translate(-50%,-50%);transition-delay:.15s}.drift-loading b{display:block;width:7.5rem;height:1px;background:#ffffff24;overflow:hidden}.drift-loading i{display:block;height:100%;background:#ededed;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}.drift-stage[data-loading] .drift-bar{opacity:0}.drift-bar{transition:opacity .6s var(--ease)}@keyframes drift-in{0%{opacity:0}}.drift-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none;cursor:grab}.drift-canvas[data-hover=card]{cursor:pointer}.drift-canvas[data-dragging]{cursor:grabbing}.drift-index{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:5rem var(--gutter) 6rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;visibility:hidden;pointer-events:none}.drift-stage[data-view=index] .drift-index{visibility:visible;pointer-events:auto}.drift-index ul{list-style:none;margin:0;padding:0;max-width:min(80vw,1560px);text-align:center;font-family:var(--font-display);font-weight:500;font-size:clamp(28px,3vw,58px);letter-spacing:var(--track-display);line-height:1.12;color:transparent;text-shadow:none;user-select:none}.drift-index li{display:inline}.drift-index a{color:inherit;text-shadow:none;text-decoration:none;white-space:nowrap;outline-offset:4px}.drift-index a:focus-visible{outline:1px solid #ededed}.drift-index .sep{margin-left:.3em}.drift-bar{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem;padding:0 clamp(1rem,1.8vw,1.5rem) clamp(1rem,2.4vw,1.75rem);pointer-events:none}.drift-bar>*{pointer-events:auto}.drift-switch{justify-self:start;border-radius:var(--r-pill);padding:3px}.drift-switch button{border-radius:var(--r-pill)}.drift-caption{margin:0;display:flex;align-items:baseline;gap:.75rem;max-width:min(46rem,60vw);padding:.5rem .6rem .5rem 1.1rem;border-radius:var(--r-pill);color:var(--fg);transition:opacity var(--dur-slow) var(--ease)}.drift-cap-title{font-family:var(--font-display);font-weight:600;font-size:var(--t-title3);letter-spacing:var(--track-tight);white-space:nowrap}.drift-cap-line{font-size:var(--t-footnote);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.drift-cap-visit{font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding:.35rem .7rem;border-radius:var(--r-pill);background:var(--fg);color:var(--bg);text-decoration:none;transition:transform var(--dur) var(--ease-spring)}.drift-cap-visit:active{transform:scale(.94)}.drift-count{justify-self:end;margin:0;padding:.4rem .75rem;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--t-caption2);letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums}.drift-stage[data-view=index] .drift-caption,.drift-stage[data-view=index] .drift-count{opacity:0;pointer-events:none}@media(max-width:700px){.drift-bar{grid-template-columns:1fr;justify-items:center}.drift-switch{justify-self:center;order:2}.drift-caption{max-width:100%}.drift-cap-line,.drift-count{display:none}.drift-index ul{max-width:92vw;font-size:clamp(24px,7vw,34px)}}@media(prefers-reduced-motion:reduce){.drift-stage{animation:none}.drift-loading,.drift-loading i,.drift-bar{transition:none}}.drift-stage{--lg-fill: rgba(255, 255, 255, .16);--lg-sheen: rgba(255, 255, 255, .34);--lg-edge: rgba(255, 255, 255, .55);--lg-ink: #0e1631;--lg-ink-2: rgba(14, 22, 49, .8);--lg-on-ink: #ffffff;--lg-press: rgba(255, 255, 255, .62);--lg-drop: rgba(20, 30, 60, .28)}.drift-stage[data-sky=night]{--lg-fill: rgba(255, 255, 255, .06);--lg-sheen: rgba(255, 255, 255, .16);--lg-edge: rgba(255, 255, 255, .24);--lg-ink: #f3f6ff;--lg-ink-2: rgba(230, 236, 255, .74);--lg-on-ink: #0b1226;--lg-press: rgba(255, 255, 255, .2);--lg-drop: rgba(0, 0, 0, .5)}.drift-switch button,.drift-pills a,.drift-pills sup,.drift-cap-line,.drift-count,.drift-hero-foot .search-icon,.drift-hero-foot kbd{color:var(--lg-ink-2)}.drift-switch button[aria-pressed=true]{background:var(--lg-press);color:var(--lg-ink);box-shadow:inset 0 1px 1px #ffffffb3,0 1px 3px var(--lg-drop)}.drift-pills a:hover,.drift-pills a:focus-visible,.drift-cap-title{color:var(--lg-ink)}.drift-hero-foot .search-input{color:var(--lg-ink)}.drift-hero-foot .search-input::placeholder{color:var(--lg-ink-2)}.drift-hero-foot kbd{background:transparent;border-color:var(--lg-edge)}.drift-cap-visit{background:var(--lg-ink);color:var(--lg-on-ink)}.drift-hero-head h1,.drift-hero-sub,.drift-cap-title{text-shadow:none}.drift-caption{position:absolute;left:50%;bottom:clamp(1rem,2.4vw,1.75rem);z-index:2;translate:-50% 0;display:flex;align-items:center;gap:.9rem;width:max-content;max-width:min(44rem,calc(100vw - 31rem));padding:.45rem .5rem .45rem .45rem;border-radius:1.25rem}.drift-cap-img{flex:none;width:5rem;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:top center;border-radius:.8rem;box-shadow:0 0 0 1px var(--lg-edge)}.drift-cap-img[hidden]{display:none}.drift-cap-text{display:grid;gap:.1rem;min-width:0}.drift-caption .drift-cap-title{font-size:var(--t-title2);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drift-caption .drift-cap-line{font-size:var(--t-subhead)}.drift-caption .drift-cap-visit{margin-left:.4rem;padding:.65rem 1.1rem;border-radius:.95rem;font-size:var(--t-caption1)}.drift-caption .drift-cap-visit:hover{transform:scale(1.05)}@media(max-width:700px){.drift-caption{bottom:calc(clamp(1rem,2.4vw,1.75rem) + 3rem);max-width:calc(100vw - 2rem)}.drift-cap-img{width:3.75rem}}.drift-stage[data-loading] .drift-caption{opacity:0;pointer-events:none}.drift-count{grid-column:3}.view-dock{position:fixed;left:clamp(1rem,1.8vw,1.5rem);bottom:calc(clamp(1rem,2.4vw,1.75rem) + env(safe-area-inset-bottom));z-index:30;padding:3px;border-radius:var(--r-pill);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-edge);box-shadow:0 2px 14px var(--glass-shadow)}.view-dock button{border-radius:var(--r-pill)}.drift-switch button,.drift-pills a,.drift-count,.drift-cap-line,.drift-cap-visit,.drift-hero-foot .search-input{text-shadow:none}:root{--lg-fill: rgba(255, 255, 255, .5);--lg-sheen: rgba(255, 255, 255, .62);--lg-edge: rgba(255, 255, 255, .8);--lg-rim: rgba(16, 24, 48, .1);--lg-ink: var(--fg);--lg-ink-2: var(--muted);--lg-on-ink: var(--bg);--lg-press: rgba(255, 255, 255, .75);--lg-drop: rgba(16, 24, 48, .16);--lg-solid: #f3f6fb;--lg-glow: none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--lg-fill: rgba(26, 29, 40, .48);--lg-sheen: rgba(255, 255, 255, .12);--lg-edge: rgba(255, 255, 255, .16);--lg-rim: rgba(0, 0, 0, .45);--lg-press: rgba(255, 255, 255, .16);--lg-drop: rgba(0, 0, 0, .55);--lg-solid: #151a2b}}:root[data-theme=dark]{--lg-fill: rgba(26, 29, 40, .48);--lg-sheen: rgba(255, 255, 255, .12);--lg-edge: rgba(255, 255, 255, .16);--lg-rim: rgba(0, 0, 0, .45);--lg-press: rgba(255, 255, 255, .16);--lg-drop: rgba(0, 0, 0, .55);--lg-solid: #151a2b}.drift-stage{--lg-rim: rgba(16, 24, 48, .08);--lg-solid: #eef3fa}.drift-stage[data-sky=night]{--lg-rim: rgba(0, 0, 0, .35);--lg-solid: #101629}.glass,.drift-switch,.drift-caption,.drift-count,.drift-hint,.drift-pills a{--lg-blur: 12px;--lg-lift: 12px;--lg-spread: 30px;background:linear-gradient(180deg,var(--lg-sheen),transparent 52%),var(--lg-fill);-webkit-backdrop-filter:blur(var(--lg-blur)) saturate(190%) brightness(1.05);backdrop-filter:blur(var(--lg-blur)) saturate(190%) brightness(1.05) var(--lg-lens,);border:1px solid var(--lg-edge);box-shadow:0 0 0 .5px var(--lg-rim),inset 0 1px 1px #fffc,inset 0 -1px 1px #ffffff2e,inset 0 0 18px #ffffff14,0 var(--lg-lift) var(--lg-spread) calc(-1 * var(--lg-lift)) var(--lg-drop),0 1px 2px var(--lg-drop);color:var(--lg-ink)}.glass{position:relative}.drift-pills a,.drift-count,.drift-hint{--lg-blur: 8px;--lg-lift: 8px;--lg-spread: 20px}.cmdk-panel,.preview,.option.glass{--lg-blur: 22px;--lg-lift: 18px;--lg-spread: 48px}.drift-pills a,.drift-cap-line,.navpill-btn{font-weight:500;letter-spacing:.005em}.glass kbd,.drift-caption .drift-cap-img{-webkit-backdrop-filter:none;backdrop-filter:none}.drift-switch button:active,.drift-pills a:active,.drift-cap-visit:active,.navpill-btn:active,.navpill-icon:active{transform:scale(.96);transition-duration:90ms}@media(prefers-reduced-transparency:reduce){.glass,.drift-switch,.drift-caption,.drift-count,.drift-hint,.drift-pills a{background:var(--lg-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){.glass,.drift-switch,.drift-caption,.drift-count,.drift-hint,.drift-pills a{background:var(--lg-solid);-webkit-backdrop-filter:none;backdrop-filter:none;border:1.5px solid var(--lg-ink)}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass,.drift-switch,.drift-caption,.drift-count,.drift-hint,.drift-pills a{background:var(--lg-solid)}}.search-shell:focus-within{outline:2px solid var(--lg-ink, var(--fg));outline-offset:3px}.drift-canvas[data-hover=open]{cursor:pointer}@media(hover:none){.tool:hover,.drift-pills a:hover,.masthead-title .char:hover,.masthead-title .char:hover+.char,.masthead-title .char:has(+.char:hover){transform:none}}.btn,.segmented button,.tool,kbd{text-shadow:none}.drift-hint{position:absolute;left:50%;bottom:calc(clamp(1rem,2.4vw,1.75rem) + 5.25rem);z-index:2;display:flex;align-items:center;gap:.55rem;padding:.5rem .9rem .5rem .75rem;border-radius:var(--r-pill);font-size:var(--t-footnote);font-weight:500;white-space:nowrap;text-shadow:none;pointer-events:none;opacity:0;translate:-50% .4rem;transition:opacity .32s var(--ease),translate .32s var(--ease)}html:not(.is-loading) .drift-stage[data-hint]:not([data-loading]):not([data-view=index]) .drift-hint{opacity:1;translate:-50% 0;transition-delay:.7s}.drift-hint svg{width:1.1rem;height:1.1rem;flex:none;animation:drift-nudge 1.4s var(--ease) 1.2s 3}@keyframes drift-nudge{0%,to{transform:translate(0)}30%{transform:translate(-4px)}65%{transform:translate(4px)}}.drift-hint-touch{display:none}@media(pointer:coarse){.drift-hint-fine{display:none}.drift-hint-touch{display:inline}}@media(max-width:700px){.drift-hint{bottom:calc(clamp(1rem,2.4vw,1.75rem) + 7.5rem)}}@media(prefers-reduced-motion:reduce){.drift-hint{translate:-50% 0}.drift-hint svg{animation:none}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){clip-path:circle(0)}.drift-stage:not([data-view=drift]) .drift-caption,.drift-stage:not([data-view=drift]) .drift-hint{opacity:0;pointer-events:none}.drift-stage[data-view=index] .drift-index{padding-top:calc(var(--head-b, 10rem) + 1.25rem)}.drift-cards{position:absolute;inset:var(--head-b, 10rem) 0 0;padding:1.5rem var(--gutter) 7rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;visibility:hidden;pointer-events:none}.drift-cards::-webkit-scrollbar{display:none}.drift-stage[data-view=grid] .drift-cards[data-mode=grid],.drift-stage[data-view=list] .drift-cards[data-mode=list]{visibility:visible;pointer-events:auto}.drift-cards ul{list-style:none;margin:0 auto;padding:0;color:transparent;text-shadow:none}.drift-cards a{color:inherit;text-decoration:none;text-shadow:none;outline-offset:6px;border-radius:14px}.drift-cards a:focus-visible{outline:2px solid var(--lg-ink, #ededed)}.cv-name,.cv-line{display:block;min-width:0;white-space:nowrap;overflow:hidden}.cv-name{font-family:var(--font-display);font-weight:600;letter-spacing:var(--track-tight)}.cv-line{font-family:var(--font-text);font-size:var(--t-footnote);font-weight:500}.drift-cards[data-mode=grid] ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr));gap:2.25rem 1.5rem;max-width:88rem}.drift-cards[data-mode=grid] a{display:grid;gap:.35rem}.cv-shot{display:block;aspect-ratio:16 / 10;margin-bottom:.45rem;border-radius:14px;background:center top / cover no-repeat}.drift-cards[data-mode=grid] .cv-name{font-size:var(--t-title3);line-height:1.15}.drift-cards[data-mode=list] ul{max-width:76rem}.drift-cards[data-mode=list] a{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:baseline;gap:2rem;padding:.35rem .5rem}.drift-cards[data-mode=list] .cv-shot{display:none}.drift-cards[data-mode=list] .cv-name{font-weight:500;font-size:clamp(1.6rem,1rem + 2vw,2.9rem);line-height:1.12;letter-spacing:var(--track-display)}@media(max-width:700px){.drift-cards[data-mode=list] a{grid-template-columns:1fr;gap:.1rem;padding-block:.6rem}}.drift-empty{position:absolute;left:50%;top:calc(var(--head-b, 10rem) + (100% - var(--head-b, 10rem)) * .4);translate:-50% -50%;z-index:2;display:grid;justify-items:center;gap:.9rem;color:var(--lg-ink, #eef2ff);font-family:var(--font-display);font-size:var(--t-title3)}.drift-empty[hidden]{display:none}.drift-stage[data-plain] .drift-cards ul{color:#eef2ff}.drift-stage[data-plain] .cv-shot{background-color:#1b2338}.drift-stage[data-plain] [data-view-set=drift],.drift-stage[data-plain] [data-view-set=index],.drift-caption[hidden]{display:none}.drift-pills a[aria-current=true]{background:var(--lg-press);color:var(--lg-ink);box-shadow:inset 0 1px 1px #ffffffb3,0 1px 3px var(--lg-drop)}.drift-count:empty{display:none}.glass-mark.is-away{opacity:0}.navpill-btn--mark .glass-mark{transition:opacity .35s var(--ease)}.key-bloom{position:fixed;z-index:60;width:220px;height:220px;margin:-110px 0 0 -110px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.85),rgba(255,220,190,.35) 28%,rgba(160,185,255,.12) 50%,transparent 68%);mix-blend-mode:plus-lighter}.loader{-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}.loader-mark{position:relative}.loader-mark:before{content:"";position:absolute;inset:-40%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(170,190,255,.22),rgba(255,170,120,.08) 45%,transparent 70%);animation:loader-halo 2.4s ease-in-out infinite alternate}@keyframes loader-halo{0%{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1.05)}}.loader.is-landing{background-color:transparent;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:background-color .6s var(--ease),-webkit-backdrop-filter .8s var(--ease),backdrop-filter .8s var(--ease)}.loader.is-landing .loader-rule,.loader.is-landing .loader-mark:before{opacity:0;transition:opacity .3s var(--ease)}@media(prefers-reduced-motion:reduce){.loader-mark:before{animation:none}}.page-view{display:none}.drift-stage[data-view=page] .page-view{display:block}.drift-stage[data-view=page] :is(.drift-hero-head,.drift-caption,.drift-bar,.drift-hint,.drift-index,.drift-cards,.drift-empty){display:none}.drift-stage[data-moving] :is(.drift-hero-head,.drift-caption,.drift-bar,.page-view){clip-path:inset(0 0 100% 0);pointer-events:none}.page-view{position:absolute;inset:0;z-index:2;overflow-y:auto;overscroll-behavior:contain;padding:calc(var(--header-h, 3.5rem) + clamp(1rem,3vh,2.5rem)) var(--gutter) 0;text-align:center;outline:none;color:var(--lg-ink);--fg: var(--lg-ink);--muted: var(--lg-ink-2);--faint: var(--lg-ink-2);--bg: var(--lg-on-ink);--line: color-mix(in srgb, var(--lg-ink) 16%, transparent);--line-strong: color-mix(in srgb, var(--lg-ink) 30%, transparent);--surface: var(--lg-fill);--surface-2: color-mix(in srgb, var(--lg-ink) 12%, transparent)}.page-view .wrap{max-width:48rem;margin-inline:auto;padding-inline:0}.page-view .page-head{padding-block:clamp(1.5rem,1rem + 3vh,3rem) 1.25rem}.page-view .page-head h1{font-size:clamp(2.25rem,1.4rem + 3vw,3.75rem);letter-spacing:-.03em}.page-view .page-head p{margin-inline:auto}.page-view .row-list{max-width:40rem;margin-inline:auto;border-radius:1.5rem;overflow:hidden;background:linear-gradient(180deg,var(--lg-sheen),transparent 52%),var(--lg-fill);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--lg-edge);box-shadow:0 16px 44px -16px var(--lg-drop)}.page-view .row,.page-view .row:first-child{border-top:0;border-bottom:1px solid var(--line)}.page-view .row:last-child{border-bottom:0}.page-view .row>a{flex-direction:column;align-items:center;gap:.35rem;padding:1.1rem 1.25rem;transition:transform var(--dur) var(--ease)}.page-view .row:hover{background:color-mix(in srgb,var(--lg-ink) 6%,transparent)}.page-view .row:hover>a{transform:scale(1.015)}.page-view .row-main{flex:none}.page-view .row-title{font-family:var(--font-display);font-size:var(--t-title3);font-weight:560;letter-spacing:-.015em}.page-view .prose{max-width:40rem;margin:0 auto 3rem;padding:clamp(1.25rem,1rem + 2vw,2.25rem);text-align:left;border-radius:1.75rem;background:linear-gradient(180deg,var(--lg-sheen),transparent 40%),var(--lg-fill);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border:1px solid var(--lg-edge);box-shadow:0 18px 50px -18px var(--lg-drop)}.page-view .prose :is(h2,h3){text-align:center}.page-view .option-grid{max-width:44rem;margin-inline:auto}.page-view .option{display:grid;justify-items:center;text-align:center}.page-view .large-title{text-align:center;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}.page-view .form-grid{max-width:34rem;margin:1.25rem auto 1.5rem;padding:clamp(1.25rem,1rem + 2vw,2rem);text-align:left;border-radius:1.75rem;background:linear-gradient(180deg,var(--lg-sheen),transparent 40%),var(--lg-fill);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border:1px solid var(--lg-edge);box-shadow:0 18px 50px -18px var(--lg-drop)}.page-view .form-grid>div:last-child{text-align:center}.page-view .field :is(input,select,textarea){color:var(--lg-ink);background:color-mix(in srgb,var(--lg-on-ink) 22%,transparent);border-color:var(--line-strong)}.page-view .field :is(input,textarea)::placeholder{color:var(--lg-ink-2)}.page-view .field select option{color:#0a0a0a}.page-view p[style*="display:flex"],.page-view p[style*="display: flex"]{justify-content:center}.page-view .site-footer{display:block;margin-top:clamp(2rem,6vh,4rem);padding-block:1.5rem 2rem;border-top:1px solid var(--line);background:transparent;color:var(--lg-ink-2)}.page-view .footer-grid{display:grid;justify-items:center;gap:.75rem;text-align:center}.page-view .footer-links,.page-view .site-footer .brand{justify-content:center}.page-view .row br{display:none}.cmdk{--lg-fill: rgba(255, 255, 255, .2);--lg-sheen: rgba(255, 255, 255, .36);--lg-edge: rgba(255, 255, 255, .55);--lg-ink: #0e1631;--lg-ink-2: rgba(14, 22, 49, .74);--lg-drop: rgba(20, 30, 60, .3);--veil: rgba(226, 234, 248, .35);padding-top:calc(var(--header-h, 3.5rem) + clamp(1.5rem,6vh,4rem));color:var(--lg-ink)}html[data-sky=night] .cmdk{--lg-fill: rgba(255, 255, 255, .07);--lg-sheen: rgba(255, 255, 255, .16);--lg-edge: rgba(255, 255, 255, .26);--lg-ink: #f3f6ff;--lg-ink-2: rgba(230, 236, 255, .7);--lg-drop: rgba(0, 0, 0, .5);--veil: rgba(4, 7, 22, .45)}.cmdk-scrim{background:radial-gradient(70% 60% at 50% 35%,transparent,var(--veil));-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);animation:cmdk-fade .15s var(--ease) both}.cmdk-panel{width:min(44rem,100%);max-height:min(34rem,72vh);border-radius:1.75rem;color:var(--lg-ink);--lg-blur: 24px;--lg-lift: 22px;--lg-spread: 60px;animation:cmdk-rise .18s cubic-bezier(.23,1,.32,1) both}@keyframes cmdk-rise{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}.cmdk-input-row{padding:1.1rem 1.35rem;border-bottom:1px solid color-mix(in srgb,var(--lg-ink) 14%,transparent)}.cmdk-icon,.cmdk-input::placeholder,.cmdk-group,.cmdk-row-sub,.cmdk-row-kind,.cmdk-empty,.cmdk-foot,.cmdk-esc{color:var(--lg-ink-2)}.cmdk-input{font-family:var(--font-display);font-size:clamp(1.25rem,1rem + 1vw,1.65rem);font-weight:500;letter-spacing:-.02em;color:var(--lg-ink)}.cmdk-esc{background:color-mix(in srgb,var(--lg-ink) 8%,transparent);border-color:color-mix(in srgb,var(--lg-ink) 16%,transparent);border-radius:var(--r-pill);padding:.2rem .55rem}.cmdk-results{padding:.5rem .6rem .75rem}.cmdk-group{text-align:center;padding:.9rem .625rem .4rem}.cmdk-row{gap:.8rem;padding:.6rem .85rem;border-radius:1.1rem;transition:transform var(--dur-slow) var(--ease),background var(--dur) var(--ease)}.cmdk-row.is-active{background:color-mix(in srgb,var(--lg-ink) 8%,transparent);transform:scale(1.012)}.cmdk-fav-wrap,.cmdk-row.is-active .cmdk-fav-wrap{width:2rem;height:2rem;border-radius:.6rem;background:color-mix(in srgb,var(--lg-ink) 10%,transparent)}.cmdk-row-title{font-family:var(--font-display);font-size:var(--t-callout);font-weight:560;letter-spacing:-.015em}.cmdk-foot{justify-content:center;border-top:1px solid color-mix(in srgb,var(--lg-ink) 14%,transparent)}@media(prefers-reduced-motion:reduce){.cmdk-row,.cmdk-row.is-active{transition:none;transform:none}}.loader-mark,.loader-face{grid-area:1 / 1;justify-self:center;align-self:center}.loader-rule{grid-area:2 / 1;justify-self:center}.loader-face{display:none}.loader.is-face .loader-face{display:block}.logo.is-away{opacity:0}.brand--mark .logo{transition:opacity .3s var(--ease)}.drift-hero-head{top:calc(var(--header-h, 3.5rem) + clamp(1.75rem,4vh,2.75rem))}.page-view{padding-top:calc(var(--header-h, 3.5rem) + clamp(2rem,5vh,3.25rem))}@media(hover:hover)and (pointer:fine){.brand--mark:hover{transform:scale(1.05)}}.site-header .header-inner{align-items:start;padding-top:1rem}.site-header .brand--mark{padding:0;margin-left:0}.site-header .navpill-btn--mark{margin-top:0}.site-header .header-right{align-items:center;min-height:56px;align-self:start}.loader-mark{z-index:1}.loader.is-face .loader-face{animation:loader-face-in .3s cubic-bezier(.23,1,.32,1) backwards}@keyframes loader-face-in{0%{opacity:0;transform:scale(.92)}}.drift-egg{position:absolute;left:50%;bottom:calc(clamp(1rem,2.4vw,1.75rem) + 5.25rem);z-index:3;padding:.55rem 1rem;border-radius:var(--r-pill);font-family:var(--font-display);font-size:var(--t-subhead);font-weight:560;letter-spacing:-.01em;white-space:nowrap;pointer-events:none;opacity:0;translate:-50% .5rem;scale:.96;--lg-blur: 10px;transition:opacity .3s var(--ease),translate .45s var(--ease),scale .45s var(--ease)}.drift-stage[data-egg] .drift-egg{opacity:1;translate:-50% 0;scale:1}.drift-stage[data-view=page] .drift-egg{display:none}.icon{display:block;flex:none}.drift-cap-visit{display:inline-flex;align-items:center;gap:.3rem}.cmdk-mark{width:1.75rem;height:1.75rem;flex:none;display:grid;place-items:center}.cmdk-mark .cmdk-fav{width:22px;height:22px;object-fit:contain;border-radius:4px}.cmdk-glyph{color:var(--lg-ink)}.drift-cards[data-mode=list] a{grid-template-columns:auto minmax(0,1.3fr) minmax(0,1fr);align-items:center}.cv-fav{display:none}.drift-cards[data-mode=list] .cv-fav{display:block;width:clamp(1.4rem,.9rem + 1.3vw,2.2rem);height:clamp(1.4rem,.9rem + 1.3vw,2.2rem);object-fit:contain;border-radius:6px;transition:opacity .25s var(--ease)}.drift-stage:is([data-switching],[data-moving]) .cv-fav{opacity:0;transition-duration:0s}@media(max-width:700px){.drift-cards[data-mode=list] a{grid-template-columns:auto minmax(0,1fr)}.drift-cards[data-mode=list] .cv-line{grid-column:2}}.ascii-bg[data-astro-cid-giif3rfd]{position:fixed;inset:0;z-index:-2;pointer-events:none}.ascii-content[data-astro-cid-giif3rfd],.ascii-veil[data-astro-cid-giif3rfd],.ascii-out[data-astro-cid-giif3rfd]{position:absolute;inset:0;width:100%;height:100%}.ascii-content[data-astro-cid-giif3rfd]{background:var(--bg);overflow:hidden}.ascii-scene[data-astro-cid-giif3rfd]{display:block;width:100%;height:100%}.ascii-veil[data-astro-cid-giif3rfd]{background:var(--bg);opacity:.85}.ascii-out[data-astro-cid-giif3rfd]{opacity:.2;filter:blur(1.5px)}@media print{.ascii-bg[data-astro-cid-giif3rfd]{display:none}}html.js-type .treveal .tw{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(.35em)}html.js-type .treveal.is-in .tw{opacity:1;filter:none;transform:none;transition:opacity .7s var(--ease) calc(var(--td, 0ms) + var(--w) * 45ms),filter .7s var(--ease) calc(var(--td, 0ms) + var(--w) * 45ms),transform .8s var(--ease) calc(var(--td, 0ms) + var(--w) * 45ms)}html.js-type .tline{opacity:0;filter:blur(6px);transform:translateY(10px)}html.js-type .tline.is-in{opacity:1;filter:none;transform:none;transition:opacity .65s var(--ease) var(--td, 0ms),filter .65s var(--ease) var(--td, 0ms),transform .7s var(--ease) var(--td, 0ms)}
