@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Fraunces.woff2) format("woff2-variations")}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/Fraunces-Italic.woff2) format("woff2-variations")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/SourceSerif4.woff2) format("woff2-variations")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/SourceSerif4-Italic.woff2) format("woff2-variations")}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Caveat.woff2) format("woff2-variations")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/JetBrainsMono.woff2) format("woff2-variations")}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:100 800;font-display:swap;src:url(/fonts/JetBrainsMono-Italic.woff2) format("woff2-variations")}:root{--color-black: #000;--color-white: #fff;--color-print-ink: #111;--color-print-rule: #999;--color-print-link: #555;--color-porcelain: #eef3f5;--color-porcelain-tint: #e2ebef;--color-porcelain-edge: #d0dde4;--color-porcelain-rule: #a7bac5;--color-midnight: #081018;--color-midnight-tile: #09131c;--color-midnight-tint: #111a24;--color-midnight-edge: #182635;--color-midnight-rule: #2e4558;--color-ink: #101820;--color-ink-soft: #43515d;--color-ink-faint: #718390;--color-ink-dark: #e8f1f5;--color-ink-soft-dark: #b3c4ce;--color-ink-faint-dark: #77909f;--color-cyan-signal: #007f8f;--color-cyan-bright: #20c7d4;--color-cyan-glow: #72e7ef;--color-cyan-bulb: #94f6ff;--color-teal-signal: #00856f;--color-ultraviolet: #5f3dc4;--color-ultraviolet-soft: #9a86ff;--color-blue-violet: #4457c8;--color-blue-signal: #2f6fd6;--color-magenta-signal: #b040b8;--color-success: #3d6a5a;--color-success-text: #2d5444;--color-success-dark-text: #8fc6ad;--color-danger: #b04a37;--color-danger-text: #8a3a2c;--color-danger-dark-text: #e89588;--color-warning: #c89a3a;--color-highlight: #f0d36a;--color-ribbon-anchor: #b03a2e;--color-neutral-input: #888888;--color-brand-warm-legacy: #d8b989;--color-letter-paper: #fbf3df;--wash-paper-light: rgba(12, 33, 46, .055);--wash-paper-dark: rgba(120, 218, 232, .05);--wash-ink-shadow-light: rgba(7, 20, 31, .14);--wash-ink-shadow-dark: rgba(0, 4, 10, .58);--wash-accent-light: rgba(0, 127, 143, .13);--wash-accent-dark: rgba(32, 199, 212, .17);--wash-body-violet-light: rgba(95, 61, 196, .09);--wash-body-cyan-light: rgba(0, 127, 143, .16);--wash-body-violet-corner-light: rgba(95, 61, 196, .11);--wash-body-violet-dark: rgba(154, 134, 255, .13);--wash-body-cyan-dark: rgba(32, 199, 212, .15);--wash-body-violet-corner-dark: rgba(154, 134, 255, .1);--wash-brand-glow: rgba(32, 199, 212, .2);--wash-white-plate: rgba(255,255,255,.35);--wash-black-soft: rgba(0, 0, 0, .05);--wash-black-panel: rgba(0, 0, 0, .18);--wash-black-scrim: rgba(0, 0, 0, .55);--wash-black-button: rgba(0,0,0,.08);--wash-black-stroke: rgba(0,0,0,.25);--wash-shadow-04: rgba(7, 20, 31, .04);--wash-shadow-05-tight: rgba(7,20,31,.05);--wash-shadow-06: rgba(7, 20, 31, .06);--wash-shadow-08: rgba(7, 20, 31, .08);--wash-shadow-22: rgba(7, 20, 31, .22);--wash-shadow-26-tight: rgba(7,20,31,.26);--wash-shadow-28-tight: rgba(7,20,31,.28);--wash-scrim-cool: rgba(7, 20, 31, .36);--wash-scrim-cool-tight: rgba(7,20,31,.36);--wash-search-scrim: rgba(7, 20, 31, .38);--wash-lamp-halo-off: rgba(255, 200, 100, 0);--wash-lamp-halo-on: rgba(32, 199, 212, .44);--wash-lamp-pool-cyan: rgba(32, 199, 212, .2);--wash-lamp-pool-violet: rgba(154, 134, 255, .11);--wash-og-cyan: rgba(0,127,143,.18);--wash-og-cyan-clear: rgba(0,127,143,0);--wash-lost-letter-shadow: rgba(80, 50, 20, .18);--wash-doodle-shadow: rgba(80, 50, 20, .2);--wash-coffee-0: rgba(110, 70, 30, .18);--wash-coffee-60: rgba(110, 70, 30, .32);--wash-coffee-78: rgba(110, 70, 30, .55);--wash-coffee-clear: rgba(110, 70, 30, 0);--wash-coffee-ring: rgba(80, 50, 20, .4);--wash-coffee-fill: rgba(120, 80, 35, .18);--wash-seal-fill: rgba(170, 60, 50, .85);--wash-seal-stroke: rgba(120, 30, 25, .9);--wash-seal-tick: rgba(255,250,240,.9);--wash-ribbon-shadow: rgba(60, 20, 12, .18);--wash-ribbon-shadow-strong: rgba(60, 20, 12, .22);--wash-lost-letter-filter: rgba(60, 30, 10, .15);--legacy-warm-shadow-example: rgba(58, 38, 18, .1);--pattern-cross-hatch-cyan: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><path d='M-1 4 L4 -1 M-1 11 L11 -1 M3 14 L14 3 M9 14 L14 9' stroke='%23007f8f' stroke-width='0.55' stroke-linecap='round' fill='none' opacity='0.36'/></svg>");--pattern-cross-hatch-cool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><path d='M-1 4 L4 -1 M-1 11 L11 -1 M3 14 L14 3 M9 14 L14 9' stroke='%234457c8' stroke-width='0.5' stroke-linecap='round' fill='none' opacity='0.40'/></svg>");--pattern-fiber-trace: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='70' height='70' viewBox='0 0 70 70'><g stroke='%235f3dc4' stroke-width='0.6' stroke-linecap='round' fill='none' opacity='0.44'><path d='M8 14 L16 12'/><path d='M48 9 L55 13'/><path d='M22 38 L29 36'/><path d='M58 44 L64 48'/><path d='M12 56 L19 59'/><path d='M38 62 L45 60'/></g></svg>");--pattern-tick-cool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M6 4 L6 9 M18 14 L18 19' stroke='%234457c8' stroke-width='0.7' stroke-linecap='round' fill='none' opacity='0.50'/></svg>");--pattern-wave-rule: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='16' viewBox='0 0 80 16'><path d='M0 8 Q20 2 40 8 T80 8' stroke='%23007f8f' stroke-width='0.6' fill='none' opacity='0.48'/></svg>");--pattern-diagonal-rule: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'><path d='M-1 9 L9 -1 M5 19 L19 5' stroke='%235f3dc4' stroke-width='0.55' fill='none' opacity='0.44'/></svg>");--pattern-speckle: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='s'><feTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' seed='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.00  0 0 0 0 0.38  0 0 0 0 0.46  0 0 0 0.16 -0.05'/></filter><rect width='100%' height='100%' filter='url(%23s)'/></svg>");--theme-color-light: var(--color-porcelain);--theme-color-dark: var(--color-midnight);--brand-mark-ink: var(--color-cyan-glow);--brand-mark-bg: var(--color-midnight-tile);--brand-mark-border: var(--color-midnight-rule);--lamp-bulb-on: var(--color-cyan-bulb);--lamp-glow-primary: var(--color-cyan-glow);--lamp-glow-secondary: var(--color-cyan-bright);--input-color-fallback: var(--color-neutral-input);--paper: var(--color-porcelain);--paper-tint: var(--color-porcelain-tint);--paper-edge: var(--color-porcelain-edge);--paper-rule: var(--color-porcelain-rule);--paper-shade: var(--wash-paper-light);--ink: var(--color-ink);--ink-soft: var(--color-ink-soft);--ink-faint: var(--color-ink-faint);--ink-shadow: var(--wash-ink-shadow-light);--accent: var(--color-cyan-signal);--accent-soft: var(--wash-accent-light);--gold: var(--color-ultraviolet);--display: "Fraunces", "Source Serif 4", "Source Serif Pro", Iowan Old Style, Apple Garamond, Baskerville, Georgia, serif;--serif: "Source Serif 4", "Source Serif Pro", Iowan Old Style, Apple Garamond, Baskerville, Georgia, "Times New Roman", serif;--hand: "Caveat", "Bradley Hand", "Comic Sans MS", cursive;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, sans-serif;--mono: "JetBrains Mono", "iA Writer Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--measure: 50rem;--margin-w: 14rem;--gutter: 2rem;--leading: 1.6;--leading-tight: 1.32;--lift-shadow: 0 1px 0 var(--wash-shadow-04), 0 1px 2px var(--wash-shadow-08), 0 0 0 1px var(--paper-rule);--lift-shadow-hover: 0 1px 0 var(--wash-shadow-06), 0 8px 18px -8px var(--wash-shadow-22), 0 18px 40px -16px var(--wash-shadow-22), 0 0 0 1px color-mix(in oklab, var(--accent) 35%, var(--paper-rule))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: var(--color-midnight);--paper-tint: var(--color-midnight-tint);--paper-edge: var(--color-midnight-edge);--paper-rule: var(--color-midnight-rule);--paper-shade: var(--wash-paper-dark);--ink: var(--color-ink-dark);--ink-soft: var(--color-ink-soft-dark);--ink-faint: var(--color-ink-faint-dark);--ink-shadow: var(--wash-ink-shadow-dark);--accent: var(--color-cyan-bright);--accent-soft: var(--wash-accent-dark);--gold: var(--color-ultraviolet-soft)}}:root[data-theme=dark]{--paper: var(--color-midnight);--paper-tint: var(--color-midnight-tint);--paper-edge: var(--color-midnight-edge);--paper-rule: var(--color-midnight-rule);--paper-shade: var(--wash-paper-dark);--ink: var(--color-ink-dark);--ink-soft: var(--color-ink-soft-dark);--ink-faint: var(--color-ink-faint-dark);--ink-shadow: var(--wash-ink-shadow-dark);--accent: var(--color-cyan-bright);--accent-soft: var(--wash-accent-dark);--gold: var(--color-ultraviolet-soft)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--paper);color:var(--ink);font-family:var(--serif);font-size:19px;font-weight:450;font-variation-settings:"opsz" 16;line-height:var(--leading);font-feature-settings:"kern","liga","onum","pnum";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(var(--paper-shade) 1px,transparent 1.4px),linear-gradient(115deg,var(--wash-body-violet-light),transparent 34%),radial-gradient(ellipse at 84% 8%,var(--wash-body-cyan-light),transparent 44%),radial-gradient(ellipse at 10% 88%,var(--wash-body-violet-corner-light),transparent 48%);background-size:24px 24px,100% 100%,100% 100%,100% 100%;background-attachment:fixed,fixed,fixed}body>main{flex:1 0 auto}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) body{background-image:radial-gradient(var(--paper-shade) 1px,transparent 1.4px),linear-gradient(115deg,var(--wash-body-violet-dark),transparent 34%),radial-gradient(ellipse at 84% 8%,var(--wash-body-cyan-dark),transparent 46%),radial-gradient(ellipse at 10% 88%,var(--wash-body-violet-corner-dark),transparent 50%)}}:root[data-theme=dark] body{background-image:radial-gradient(var(--paper-shade) 1px,transparent 1.4px),linear-gradient(115deg,var(--wash-body-violet-dark),transparent 34%),radial-gradient(ellipse at 84% 8%,var(--wash-body-cyan-dark),transparent 46%),radial-gradient(ellipse at 10% 88%,var(--wash-body-violet-corner-dark),transparent 50%)}a{color:inherit;text-decoration:none;border-bottom:1px solid var(--ink-faint);transition:border-color .12s ease,color .12s ease}a:hover{border-bottom-color:var(--accent);color:var(--accent)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}button:focus-visible{outline-offset:2px}a:focus-visible{outline-offset:4px;border-radius:3px}::selection{background:var(--accent);color:var(--paper)}@font-face{font-family:SS4 fallback;src:local("Charter"),local("Iowan Old Style"),local("Times New Roman");size-adjust:102%;ascent-override:92%;descent-override:22%;line-gap-override:0%}:root{--serif: "Source Serif 4", "SS4 fallback", "Source Serif Pro", Iowan Old Style, Apple Garamond, Baskerville, Georgia, "Times New Roman", serif}@media(forced-colors:active){.page:before,.page:after,body{background:Canvas!important}a.wikilink{background:none!important}.doc-head .kind{border-color:CanvasText!important}}.skip-link{position:absolute;left:.5rem;top:-40px;z-index:200;background:var(--paper);color:var(--ink);padding:.4rem .8rem;border:1px solid var(--accent);border-radius:4px;font-family:var(--sans);font-size:13px;text-decoration:none}.skip-link:focus{top:.5rem}@media(prefers-reduced-motion:no-preference){body,.page,.site-head,.site-foot,.doc-head .kind,.area-chip,blockquote,code,pre,.home-section,.project-list>li,.area-list>li,.home-hero,.reading{transition:background-color .42s ease,color .36s ease,border-color .36s ease,box-shadow .36s ease}}@media(prefers-reduced-motion:no-preference){button{transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}button:active{transform:translateY(1px) scale(.98);filter:brightness(.97)}}@media(prefers-reduced-motion:no-preference){@keyframes page-turn-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}main>.page,main>section.page,main>article.page{animation:page-turn-in .42s cubic-bezier(.2,.7,.3,1) both}}.page{position:relative;isolation:isolate}.page:after{content:"";position:absolute;inset:-2rem 0 auto;height:22rem;z-index:-2;pointer-events:none;background:radial-gradient(ellipse 60% 80% at 50% 0,color-mix(in oklab,var(--accent) 18%,transparent) 0,color-mix(in oklab,var(--accent) 4%,transparent) 40%,transparent 70%);opacity:.85}.page:before{content:"";position:absolute;inset:-2rem 0 0;z-index:-1;pointer-events:none;background-repeat:repeat;background-size:var(--page-pattern-size, 40px 40px);background-image:var(--page-pattern, none);opacity:var(--page-pattern-opacity, .55);mask-image:linear-gradient(to bottom,black 0,black calc(100% - 14rem),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0,black calc(100% - 14rem),transparent 100%)}.page{--page-pattern-color: var(--color-cyan-signal)}.page[data-area=local-first]{--page-pattern-color: var(--color-teal-signal)}.page[data-area=agent-compatible-systems]{--page-pattern-color: var(--color-blue-signal)}.page[data-area=concept-design]{--page-pattern-color: var(--color-cyan-signal)}.page[data-area=malleable-software]{--page-pattern-color: var(--color-magenta-signal)}.page[data-area=personal-computing]{--page-pattern-color: var(--color-ultraviolet)}.page[data-area=social-and-institutional-computing]{--page-pattern-color: var(--color-blue-violet)}.page ::selection{background:var(--page-pattern-color);color:var(--color-white)}.page a[href]::selection{background:var(--link-target-ink, var(--page-pattern-color));color:var(--color-white)}.page[data-texture=cross-hatch-cyan]{--page-pattern-size: 14px 14px;--page-pattern-opacity: .72;--page-pattern: var(--pattern-cross-hatch-cyan)}.page[data-texture=cross-hatch-cool]{--page-pattern-size: 14px 14px;--page-pattern-opacity: .65;--page-pattern: var(--pattern-cross-hatch-cool)}.page[data-texture=ledger-rule]{--page-pattern-size: 100% 28px;--page-pattern-opacity: .58;--page-pattern: linear-gradient(to bottom, transparent 0, transparent 27px, color-mix(in oklab, var(--page-pattern-color) 18%, transparent) 27px, color-mix(in oklab, var(--page-pattern-color) 18%, transparent) 28px)}.page[data-texture=fiber-trace]{--page-pattern-size: 70px 70px;--page-pattern-opacity: .7;--page-pattern: var(--pattern-fiber-trace)}.page[data-texture=blueprint-grid]{--page-pattern-size: 80px 80px;--page-pattern-opacity: .8;--page-pattern: linear-gradient(to right, color-mix(in oklab, var(--color-blue-violet) 18%, transparent) 0, color-mix(in oklab, var(--color-blue-violet) 18%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--color-blue-violet) 18%, transparent) 0, color-mix(in oklab, var(--color-blue-violet) 18%, transparent) 1px, transparent 1px), linear-gradient(to right, color-mix(in oklab, var(--color-blue-violet) 7%, transparent) 0, color-mix(in oklab, var(--color-blue-violet) 7%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--color-blue-violet) 7%, transparent) 0, color-mix(in oklab, var(--color-blue-violet) 7%, transparent) 1px, transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}.page[data-texture=engineer-grid]{--page-pattern-size: 22px 22px;--page-pattern-opacity: .61;--page-pattern: linear-gradient(to right, color-mix(in oklab, var(--page-pattern-color) 10%, transparent) 0, color-mix(in oklab, var(--page-pattern-color) 10%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--page-pattern-color) 10%, transparent) 0, color-mix(in oklab, var(--page-pattern-color) 10%, transparent) 1px, transparent 1px)}.page[data-texture=stipple-cyan]{--page-pattern-size: 60px 60px;--page-pattern-opacity: .58;--page-pattern: radial-gradient(circle at 30% 40%, color-mix(in oklab, var(--color-cyan-signal) 12%, transparent) 1px, transparent 1.2px), radial-gradient(circle at 75% 70%, color-mix(in oklab, var(--color-ultraviolet) 10%, transparent) 1px, transparent 1.2px)}.page[data-texture=tick-cool]{--page-pattern-size: 24px 24px;--page-pattern-opacity: .6;--page-pattern: var(--pattern-tick-cool)}.page[data-texture=wave-rule]{--page-pattern-size: 80px 16px;--page-pattern-opacity: .61;--page-pattern: var(--pattern-wave-rule)}.page[data-texture=diagonal-rule]{--page-pattern-size: 18px 18px;--page-pattern-opacity: .61;--page-pattern: var(--pattern-diagonal-rule)}.page[data-texture=graph-grid]{--page-pattern-size: 36px 36px;--page-pattern-opacity: .61;--page-pattern: linear-gradient(to right, color-mix(in oklab, var(--page-pattern-color) 16%, transparent) 0, color-mix(in oklab, var(--page-pattern-color) 16%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--page-pattern-color) 16%, transparent) 0, color-mix(in oklab, var(--page-pattern-color) 16%, transparent) 1px, transparent 1px), linear-gradient(to right, color-mix(in oklab, var(--page-pattern-color) 7%, transparent) 0, color-mix(in oklab, var(--page-pattern-color) 7%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--page-pattern-color) 7%, transparent) 0, color-mix(in oklab, var(--page-pattern-color) 7%, transparent) 1px, transparent 1px);background-size:36px 36px,36px 36px,9px 9px,9px 9px}.page[data-texture=speckle]{--page-pattern-size: 200px 200px;--page-pattern-opacity: .65;--page-pattern: var(--pattern-speckle)}.page:not([data-texture]){--page-pattern-size: 60px 60px;--page-pattern-opacity: .58;--page-pattern: radial-gradient(circle at 30% 40%, color-mix(in oklab, var(--color-cyan-signal) 10%, transparent) 1px, transparent 1.2px), radial-gradient(circle at 75% 70%, color-mix(in oklab, var(--color-ultraviolet) 8%, transparent) 1px, transparent 1.2px);background-size:60px 60px,60px 60px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .page:before{opacity:calc(var(--page-pattern-opacity) * .55)}}:root[data-theme=dark] .page:before{opacity:calc(var(--page-pattern-opacity) * .55)}.page{--accent-tint: color-mix(in oklab, var(--accent) 8%, var(--paper));--accent-soft-bg: color-mix(in oklab, var(--accent) 14%, var(--paper))}.site-head{font-family:var(--sans);font-size:13px;letter-spacing:.01em;padding:1.4rem 2rem 0;display:flex;align-items:center;gap:1.2rem;color:var(--ink-soft);position:relative;z-index:50}.site-head .brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--sans);font-size:13px;color:var(--ink);border-bottom:none;letter-spacing:.14em;font-weight:800}.site-head .brand:hover{color:var(--accent)}.site-head .brand-mark{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;color:var(--color-cyan-glow);border-radius:7px;background:var(--color-midnight-tile);border:1px solid var(--color-midnight-rule);box-shadow:0 0 18px var(--wash-lamp-pool-cyan);overflow:hidden}.site-head .brand-word{font-weight:500}.site-head .primary-nav{display:flex;gap:1.1rem;align-items:center}.site-head .primary-nav a{border-bottom:none;padding:4px 0;position:relative}.site-head .primary-nav a:hover{color:var(--accent)}.site-head .primary-nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:1px dotted var(--accent)}.site-head .spacer{flex:1}.site-head .head-tools{display:inline-flex;align-items:center;gap:.45rem}.site-head .theme-toggle,.site-head .search-cue,.site-head .nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-family:var(--mono);font-size:11px;color:var(--ink-soft);background:var(--paper-edge);border:1px solid var(--paper-rule);border-radius:4px;padding:5px 8px;cursor:pointer;line-height:1;transition:color .12s ease,border-color .12s ease,background .12s ease}.site-head .theme-toggle:hover,.site-head .search-cue:hover,.site-head .nav-toggle:hover,.site-head .theme-toggle:focus-visible,.site-head .search-cue:focus-visible,.site-head .nav-toggle:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}.site-head .search-cue .kbd{font-size:10.5px;color:var(--ink-faint);border-left:1px solid var(--paper-rule);padding-left:6px}.site-head .theme-toggle .t-i{display:none;color:currentColor}.site-head .theme-toggle[data-theme=light] .t-i-light{display:block;color:var(--color-cyan-signal)}.site-head .theme-toggle[data-theme=dark] .t-i-dark{display:block;color:var(--color-ultraviolet-soft)}.site-head .nav-toggle{display:none;flex-direction:column;gap:4px;padding:7px 8px}.site-head .nav-toggle-bar{display:block;width:18px;height:2px;background:currentColor;border-radius:1px;transition:transform .18s ease,opacity .18s ease}.site-head[data-mobile-open=true] .nav-toggle-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.site-head[data-mobile-open=true] .nav-toggle-bar:nth-child(2){opacity:0}.site-head[data-mobile-open=true] .nav-toggle-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.site-foot{font-family:var(--sans);font-size:12px;color:var(--ink-faint);margin:6rem 2rem 3rem;padding-top:1.2rem;border-top:1px solid var(--paper-rule);display:flex;gap:1rem;flex-wrap:wrap}.site-foot a{border-bottom:none}.site-foot .colophon-line{font-style:italic;color:var(--ink-soft);font-family:var(--serif)}.site-foot{font-family:var(--sans);font-style:normal;color:var(--ink-faint);position:relative;padding-top:2.4rem}.site-foot:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(to right,transparent 0,var(--paper-rule) 20%,var(--paper-rule) 80%,transparent 100%)}.page{max-width:calc(var(--measure) + var(--gutter) + var(--margin-w));margin:3rem auto 0;padding:0 2rem}.reading{margin:0 auto;max-width:calc(var(--measure) + var(--gutter) + var(--margin-w));padding-right:calc(var(--margin-w) + var(--gutter))}.reading.is-index{max-width:var(--measure);padding-right:0}.reading>.body{max-width:var(--measure);min-width:0}@media(max-width:900px){:root{--margin-w: 0px;--gutter: 0px}.reading{padding-right:0}.doc-head h1{font-size:2em!important}}@media(max-width:720px){.site-head{padding:1rem 1.1rem 0;margin-bottom:1.25rem;gap:.6rem;flex-wrap:nowrap}.site-head .nav-toggle{display:inline-flex}.site-head .primary-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:color-mix(in oklab,var(--paper) 94%,var(--paper-tint));border-top:1px solid var(--paper-rule);border-bottom:1px solid var(--paper-rule);box-shadow:0 8px 24px var(--ink-shadow);padding:.5rem 0;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:60}.site-head[data-mobile-open=true] .primary-nav{opacity:1;visibility:visible;transform:translateY(0)}.site-head .primary-nav a{padding:.7rem 1.2rem;border-bottom:1px solid var(--paper-edge);font-size:15px}.site-head .primary-nav a:last-child{border-bottom:none}.site-head .primary-nav a:hover:after{display:none}.site-head .primary-nav a:hover{background:var(--paper-edge);color:var(--accent)}.site-head .spacer,.site-head .brand-word{display:none}.site-head .brand-mark{width:30px;height:30px}.site-head .head-tools{margin-left:auto;gap:.3rem}.site-head .search-cue .kbd{display:none}.site-foot{margin:4rem 1.1rem 2rem}.page{padding:0 1.1rem;margin-top:2rem}.doc-head h1{font-size:1.7em!important;line-height:1.15}.doc-head .summary{font-size:1em}.doc-head .meta{font-size:11px;gap:.6rem}}@media(max-width:480px){.site-head{padding:.9rem .9rem 0}.page{padding:0 .9rem}.site-foot{margin:3rem .9rem 2rem}body{font-size:17px}.doc-head h1{font-size:1.55em!important}.home-title{font-size:2em}.home-paragraph .home-dropcap{font-size:3em}.home-hero:before{display:none}}@media(max-width:720px){.home-paragraph{font-size:1.1em;line-height:1.55}.home-section .label,.area-bucket .label{gap:.4rem}.area-list li{grid-template-columns:1fr;gap:.25rem;padding:.7rem .8rem;border-bottom:1px dotted var(--paper-rule);border-radius:4px}.area-list li:last-child{border-bottom:none}.area-list .name{justify-self:start;text-align:left}.project-river{margin-top:1.4rem}.project-river:before{left:.4rem}.project-river>li{grid-template-columns:1fr;gap:.2rem;padding:.7rem 0 .7rem 1.6rem}.project-river .when{text-align:left;color:var(--ink-faint);font-size:10.5px;margin-bottom:.15em}.project-river .what{padding-left:0}.project-river .what:before{left:-1.25rem;top:1.65em}.project-river .what.kind-timeline-entry:before{left:-1.15rem;top:1.75em}.project-list>li{padding:1.2rem .6rem 1.2rem 1.6rem}.project-list>li:before{left:.4rem;top:1.2rem;bottom:1.2rem}.project-list h3{font-size:1.18em}.backlinks{margin-top:2.4rem}.backlinks .sentence{font-size:.95em}#wiki-popover{max-width:calc(100vw - 24px)!important;min-width:0!important}#search-overlay{padding-top:6vh}#search-overlay .panel{width:94vw}}@media(max-width:480px){.doc-head{margin-bottom:1.6rem}.doc-head .meta{gap:.5rem .9rem;flex-wrap:wrap}.meeting{margin:1em -.4em;padding:.5em .8em}.body pre{padding:.7em .9em;font-size:13px}}.body p,.body ul,.body ol,.body blockquote,.body pre,.body figure{margin:0 0 1em}.body p+p{text-indent:1.4em;margin-top:-.4em}.body h1+p,.body h2+p,.body h3+p,.body blockquote+p,.body figure+p,.body ul+p,.body ol+p,.body pre+p{text-indent:0;margin-top:0}.body h1,.body h2,.body h3,.body h4{font-family:var(--display);font-weight:680;font-variation-settings:"opsz" 48,"SOFT" 0;letter-spacing:-.012em;line-height:1.16;margin:2.2em 0 .5em;color:var(--ink)}.body h1{font-size:2.3em;margin-top:0;font-variation-settings:"opsz" 96,"SOFT" 0}.body h2{font-size:1.55em;font-variation-settings:"opsz" 36,"SOFT" 0}.body h3{font-size:1.18em;font-style:normal;font-weight:640}.body h4{font-size:.78em;letter-spacing:.16em;font-family:var(--sans);font-weight:800;color:var(--accent);font-style:normal;text-transform:uppercase}.body :is(h1,h2,h3,h4){position:relative}.body :is(h2,h3,h4)>a.anchor{position:absolute;left:-1.3em;top:.05em;font-family:var(--serif);font-style:italic;font-weight:400;font-size:.85em;color:var(--ink-faint);opacity:0;border-bottom:none;transition:opacity .12s ease}.body :is(h2,h3,h4):hover>a.anchor{opacity:1}.body blockquote{margin-left:0;padding-left:1.2em;border-left:2px solid var(--paper-rule);color:var(--ink-soft);font-style:italic}.body code{font-family:var(--mono);font-size:.86em;background:var(--paper-edge);padding:1px 5px;border-radius:3px}.body pre{font-family:var(--mono);font-size:.8em;background:var(--paper-edge);padding:1em 1.2em;border-radius:4px;overflow-x:auto;line-height:1.5}.body pre code{background:none;padding:0}.body hr{border:none;text-align:center;margin:3em 0;color:var(--ink-faint)}.body hr:after{content:"✻ ✻ ✻";letter-spacing:.6em;font-size:.8em}.body img,.body video{max-width:100%;height:auto}.body ul,.body ol{padding-left:1.4em}.body li{margin-bottom:.25em}a.scribble{font-family:var(--hand);font-size:1.18em;font-weight:600;color:var(--accent);border-bottom:none;padding:0 .1em;background-image:linear-gradient(to bottom,transparent 80%,var(--accent-soft) 80%)}a.scribble:hover{color:var(--accent);background-position:0 0}a.scribble:before{content:"↳ ";opacity:.7}a.wikilink{--wikilink-ink: var(--link-target-ink, var(--accent));--wikilink-soft: color-mix(in oklab, var(--wikilink-ink) 14%, transparent);border-bottom:1px dotted var(--wikilink-ink);color:var(--ink);background-image:linear-gradient(to bottom,transparent 60%,var(--wikilink-soft) 60%,var(--wikilink-soft) 100%),linear-gradient(to right,var(--wikilink-ink),var(--wikilink-ink));background-size:100% 100%,0% 1.5px;background-position:0 0,0 calc(100% + 1px);background-repeat:no-repeat,no-repeat;padding:0 1px 1px;transition:background-size .26s cubic-bezier(.2,.7,.2,1),color .14s ease,border-color .14s ease}a.wikilink:hover{color:var(--wikilink-ink);border-bottom-color:transparent;background-size:100% 100%,100% 1.5px}a.wikilink-broken{color:var(--ink-faint);border-bottom:1px dashed var(--ink-faint);background:none;cursor:help}@media(hover:hover)and (prefers-reduced-motion:no-preference){a.wikilink{position:relative;isolation:isolate}a.wikilink:before{content:"";position:absolute;inset:-2px -6px;background:radial-gradient(ellipse at center,color-mix(in oklab,var(--wikilink-ink) 25%,transparent) 0,transparent 70%);opacity:0;transform:scale(.6);transition:opacity .35s ease,transform .55s ease;z-index:-1;pointer-events:none;border-radius:6px}a.wikilink:hover:before{opacity:1;transform:scale(1)}}a.citation{--reference-ink: var(--accent);--link-target-ink: var(--reference-ink);border-bottom:1px dotted var(--reference-ink);color:var(--reference-ink);font-size:.86em;padding:0 1px}a.citation:hover{color:var(--reference-ink);border-bottom-color:var(--reference-ink)}a.citation-broken{color:var(--ink-faint);border-bottom-style:dashed;cursor:help}.body .bibliography{color:var(--ink-soft);font-size:.9em;line-height:1.55;padding-left:1.2em}.body .bibliography .reference-item{--reference-ink: var(--accent);margin-bottom:.7em}.body .bibliography .reference-item::marker{color:var(--reference-ink)}.body .bibliography .reference-backref{border-bottom:none;color:var(--reference-ink);font-family:var(--hand);font-size:1.05em;font-weight:650;letter-spacing:0;text-transform:lowercase}.body .bibliography .reference-backref:hover{color:var(--reference-ink)}.sidenote{font-family:var(--hand);font-size:20px;line-height:1.4;color:var(--ink-soft);font-weight:600;float:right;clear:right;width:var(--margin-w);margin-right:calc((var(--margin-w) + var(--gutter)) * -1);margin-top:.2em;margin-bottom:.4em;padding-left:.7em;border-left:1px solid var(--accent);position:relative}.sidenote-marker{font-family:var(--sans);font-size:.7em;vertical-align:super;color:var(--accent);margin-left:1px;cursor:help;user-select:none}.sidenote-toggle{display:none}@media(max-width:900px){.sidenote{float:none;width:auto;margin:0;padding:0;border-left:none;display:none}.sidenote-toggle:checked~.sidenote{display:block;margin:.4em 0 1em;padding:.4em .8em;background:var(--paper-edge);border-left:2px solid var(--paper-rule)}}.stretch{cursor:pointer;border-bottom:1px dashed var(--accent)}.stretch[open]{cursor:text}.stretch summary{list-style:none;display:inline}.stretch summary::-webkit-details-marker{display:none}.stretch[open]>summary{color:var(--accent)}.stretch .stretch-body{display:block;margin:.4em 0;padding:.5em .9em;border-left:2px solid var(--accent);background:var(--paper-edge);font-size:.95em;color:var(--ink-soft)}.open-q{display:block;font-style:italic;margin:1em 0;padding-left:1.2em;position:relative;color:var(--ink-soft)}.open-q:before{content:"?";position:absolute;left:0;top:.05em;width:.95em;height:.95em;border:1px solid var(--accent);border-radius:50%;font-family:var(--sans);font-style:normal;font-size:.7em;line-height:.95em;text-align:center;color:var(--accent)}.doc-head{margin-bottom:2.5rem;position:relative}.doc-head h1{font-family:var(--display);font-weight:720;font-variation-settings:"opsz" 96,"SOFT" 0;font-size:2.6em;line-height:1.04;letter-spacing:-.018em;margin:0 0 .6rem;color:var(--ink);font-feature-settings:"kern" 1,"liga" 1,"onum" 1,"dlig" 1}.doc-head .summary{font-family:var(--serif);font-style:italic;font-size:1.16em;color:var(--ink-soft);line-height:1.55;font-weight:450;max-width:var(--measure);margin:0}.doc-head .meta{margin-top:.9rem;font-family:var(--sans);font-size:12px;color:var(--ink-faint);display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}.doc-head .meta a{border-bottom:none}.doc-head .meta a:hover{color:var(--accent)}.area-chip{font-family:var(--sans);font-size:10.5px;letter-spacing:.02em;padding:2px 8px;border-radius:11px;border:1px solid var(--accent);color:var(--accent);text-transform:lowercase;font-weight:600;background:transparent;transition:background .14s ease,color .14s ease}.area-chip:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)!important}.area-chip,.area-chip:hover{border-bottom:1px solid var(--accent)!important}@media(hover:hover){.doc-head .kind{transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.doc-head .kind:hover{transform:translateY(-1px);box-shadow:0 8px 16px -10px var(--wash-shadow-26-tight)}}.doc-head .meta .reading-time{display:inline-flex;align-items:center;gap:.3em;color:var(--ink-faint)}.doc-head .meta .reading-time svg{opacity:.8;flex-shrink:0}.doc-abstract{--abstract-ink: var(--accent);margin:-.8rem 0 2.2rem;padding:1rem 1.1rem 1.05rem;border-left:3px solid var(--abstract-ink);background:linear-gradient(90deg,color-mix(in oklab,var(--abstract-ink) 10%,transparent),transparent 72%);color:var(--ink-soft);font-size:.98em;line-height:1.52}.doc-abstract-label{margin-bottom:.45rem;color:var(--abstract-ink);font-family:var(--sans);font-size:.7em;font-weight:780;letter-spacing:.12em;text-transform:uppercase}.body .doc-abstract p{margin:0 0 .62rem;text-indent:0}.body .doc-abstract p:last-child{margin-bottom:0}.backlinks{margin-top:4rem;padding-top:1.4rem;border-top:1px solid var(--paper-rule);font-family:var(--serif);font-size:.95em;color:var(--ink-soft)}.backlinks h4{font-family:var(--sans);font-size:.78em;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .5rem;font-weight:800;font-variation-settings:normal}.backlinks .sentence{margin:.4em 0}.backlinks .sentence em{font-style:italic;color:var(--ink)}#wiki-popover{--popover-accent: var(--accent);position:fixed;z-index:80;max-width:22rem;min-width:16rem;background:var(--paper);border:1px solid color-mix(in oklab,var(--popover-accent) 32%,var(--paper-rule));box-shadow:0 8px 30px var(--ink-shadow),0 1px 3px var(--ink-shadow);border-radius:4px;padding:.9rem 1rem;font-family:var(--serif);font-size:14.5px;line-height:1.45;color:var(--ink);opacity:0;pointer-events:none;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease}#wiki-popover.show{opacity:1;transform:translateY(0)}#wiki-popover .popover-kind{font-family:var(--sans);font-size:11.5px;letter-spacing:.005em;font-weight:700;color:var(--popover-accent);margin-bottom:.3rem}#wiki-popover .popover-title{font-weight:600;font-size:16px;margin-bottom:.3rem;letter-spacing:-.005em}#wiki-popover .popover-summary{color:var(--ink-soft);font-style:italic}#wiki-popover .popover-snippet{margin-top:.5rem;color:var(--ink-soft);font-size:13.5px;line-height:1.5}#wiki-popover .popover-header-jump{margin-top:.5rem;padding-top:.4rem;border-top:1px solid var(--paper-rule);font-family:var(--sans);font-size:11px;color:var(--ink-faint);letter-spacing:.04em}#wiki-popover .popover-header-jump em{color:var(--popover-accent);font-style:normal}#search-overlay{position:fixed;inset:0;background:var(--wash-search-scrim);backdrop-filter:blur(2px);display:none;align-items:flex-start;justify-content:center;z-index:100;padding-top:12vh}#search-overlay.open{display:flex}#search-overlay .panel{background:var(--paper);border:1px solid var(--paper-rule);width:min(560px,92vw);border-radius:4px;box-shadow:0 10px 40px var(--ink-shadow);overflow:hidden}#search-overlay input{display:block;width:100%;border:none;outline:none;background:transparent;color:var(--ink);font-family:var(--serif);font-size:1.2em;padding:.9rem 1rem;border-bottom:1px solid var(--paper-rule)}#search-overlay .results{max-height:60vh;overflow:auto}#search-overlay .row{display:block;padding:.55rem 1rem;font-family:var(--serif);border-bottom:none;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--paper-edge)}#search-overlay .row:last-child{border-bottom:none}#search-overlay .row:hover,#search-overlay .row.active{background:var(--paper-edge);color:var(--accent)}#search-overlay .row .meta{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0;color:var(--ink-faint);margin-left:.6em;font-style:italic}#search-overlay .empty{padding:1.2rem 1rem;font-family:var(--serif);font-style:italic;color:var(--ink-faint)}@keyframes overlay-card-in{0%{transform:translateY(8px) rotate(-.6deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}#search-overlay.show .panel{animation:overlay-card-in .28s cubic-bezier(.2,.7,.2,1);box-shadow:0 1px 0 var(--wash-shadow-05-tight),0 24px 60px -20px var(--wash-scrim-cool-tight),0 60px 120px -40px var(--wash-shadow-26-tight)}@media(prefers-reduced-motion:no-preference){#search-overlay .panel{transform:translateY(-12px) scale(.985);opacity:0;transition:transform .28s cubic-bezier(.2,.8,.25,1),opacity .22s ease}#search-overlay.open .panel{transform:translateY(0) scale(1);opacity:1}}#search-overlay .panel{position:relative}#search-overlay .panel:before{content:"";position:absolute;inset:-1px -1px auto;height:6px;background:linear-gradient(to bottom,color-mix(in oklab,var(--accent) 24%,var(--paper)) 0,transparent 100%);border-radius:4px 4px 0 0;pointer-events:none}.home-hero{max-width:var(--measure);margin:1rem auto 3rem;position:relative}.home-hero:before{content:none}.home-greeting{font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem;font-weight:800}.home-title{font-family:var(--display);font-weight:720;font-style:normal;font-variation-settings:"opsz" 144,"SOFT" 0;font-size:3.2em;line-height:1;color:var(--ink);margin:0 0 1.4rem;letter-spacing:-.035em}.home-title .home-title-i{color:var(--accent);font-variation-settings:"opsz" 144,"SOFT" 0}.home-title .home-title-name{font-style:normal;font-weight:800;font-variation-settings:"opsz" 144,"SOFT" 0;color:var(--ink);background-image:linear-gradient(to bottom,transparent 64%,color-mix(in oklab,var(--gold) 32%,transparent) 64%,color-mix(in oklab,var(--accent) 20%,transparent) 92%,transparent 92%);padding:0 .05em}.home-paragraph{font-family:var(--serif);font-size:1.16em;font-weight:470;line-height:1.62;color:var(--ink);margin:0}.home-paragraph .home-dropcap{float:left;font-family:var(--display);font-variation-settings:"opsz" 144,"SOFT" 0;font-size:4em;line-height:.82;font-weight:760;color:var(--accent);padding:.04em .14em 0 0;margin-top:.04em;font-feature-settings:"kern" 1,"liga" 0;text-shadow:0 1px 0 var(--wash-shadow-08)}.home-paragraph a.home-thread em{font-style:italic;color:var(--ink);background-image:linear-gradient(to bottom,transparent 65%,var(--accent-soft) 65%);background-size:100% 100%;background-repeat:no-repeat;padding:0 2px}.home-paragraph a.home-thread{border-bottom:none}.home-paragraph a.home-thread:hover em{color:var(--accent)}.home-section,.area-bucket{max-width:var(--measure);margin:0 auto 3rem}.home-section .label,.area-bucket .label{font-family:var(--sans);font-size:11.5px;font-style:normal;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1rem;display:flex;align-items:baseline;justify-content:space-between;font-variation-settings:normal}.home-section .label .hand,.area-bucket .label .hand{flex:1;height:.8em;margin:0 1rem;opacity:.5}.area-list{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none}.area-list li{display:flex;flex-direction:column;gap:.25rem;padding:.7rem .9rem;border:1px solid transparent;border-radius:8px;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.area-list li:hover{background:color-mix(in oklab,var(--paper-tint) 72%,transparent);border-color:color-mix(in oklab,var(--accent) 28%,var(--paper-rule));transform:translateY(-1px);box-shadow:0 12px 24px -16px var(--wash-shadow-26-tight)}.area-list .name{font-family:var(--serif);font-style:italic;font-size:1.05em;color:var(--ink);padding-bottom:1px;justify-self:start;text-align:left;width:max-content}.area-list .name a{border-bottom:1px solid currentColor}.area-list .name a:hover{color:inherit;opacity:.75}.area-list .name .swatch{display:inline-block;width:.6em;height:.6em;border-radius:50%;background:currentColor;margin-right:.45em;vertical-align:middle;box-shadow:0 0 0 3px var(--paper),0 0 0 4px currentColor;opacity:.95}.area-list .summary{color:var(--ink-soft);font-size:.97em;font-family:var(--serif)}.project-list{list-style:none;padding:0;margin:0}.project-list>li{position:relative;padding:1.5rem 1.2rem 1.5rem 2rem;border-top:1px solid var(--paper-rule);background:transparent;transition:background .18s ease,transform .18s ease,box-shadow .18s ease;border-radius:10px}.project-list>li:before{content:"";position:absolute;left:.5rem;top:1.5rem;bottom:1.5rem;width:3px;background:var(--accent);opacity:.7;border-radius:2px;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease}.project-list>li:hover{background:color-mix(in oklab,var(--paper-tint) 76%,transparent);transform:translateY(-1px);box-shadow:0 14px 28px -18px var(--wash-shadow-28-tight)}.project-list>li:hover:before{opacity:1;transform:scaleY(1.06);box-shadow:0 0 12px -2px var(--accent)}.project-list>li:last-child{border-bottom:1px solid var(--paper-rule)}.project-list h3{font-family:var(--display);font-weight:680;font-variation-settings:"opsz" 36,"SOFT" 0;font-size:1.32em;line-height:1.18;margin:0 0 .3rem;letter-spacing:-.012em;word-break:keep-all;hyphens:none;overflow-wrap:anywhere}.project-list h3 a{border-bottom:none}.project-list h3 a:hover{color:var(--accent)}.project-list .project-meta{font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.45rem;font-weight:600;font-style:normal}.project-list .project-meta time{font-style:normal;font-feature-settings:"tnum" 1}.project-list .project-summary{font-size:.98em;color:var(--ink-soft);font-family:var(--serif);font-weight:450;line-height:1.5}.project-list .project-summary em{font-style:italic}.illuminated-cap:first-letter{font-family:var(--display);font-variation-settings:"opsz" 144,"SOFT" 0,"wght" 760;font-style:normal;font-size:3.4em;line-height:.78;float:left;padding:.05em .12em 0 0;color:var(--accent);text-shadow:1px 1px 0 var(--paper-tint),2px 2px 0 var(--paper-edge),0 0 24px color-mix(in oklab,var(--accent) 26%,transparent)}.home-hero{position:relative}@media(prefers-reduced-motion:no-preference){.home-dropcap{background:linear-gradient(120deg,var(--accent) 0%,var(--accent) 50%,color-mix(in oklab,var(--accent) 10%,var(--paper)) 50%,color-mix(in oklab,var(--accent) 10%,var(--paper)) 100%);background-size:240% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent!important;transition:background-position 1.8s cubic-bezier(.2,.7,.3,1)}.home-dropcap.drawn{background-position:0 0}}.page-404 .lost-letter{display:block;width:min(420px,100%);margin:2.4rem auto 1.6rem;color:var(--accent);opacity:.92;filter:drop-shadow(0 4px 12px var(--wash-lost-letter-filter))}.river-section{margin-top:2.4rem}.river-heading{font-family:var(--sans);font-size:.82em;font-style:normal;font-weight:800;font-variation-settings:normal;text-transform:uppercase;color:var(--ink);margin:0 0 1rem;letter-spacing:.16em}.river-heading:after{content:"";display:block;width:2.4em;height:1px;margin-top:.45em;background:linear-gradient(to right,var(--accent),transparent)}.project-river{list-style:none;padding:0;margin:0;position:relative}.project-river:before{content:"";position:absolute;left:7rem;top:.9em;bottom:.9em;width:1px;background:linear-gradient(to bottom,transparent 0,var(--paper-rule) 6%,var(--paper-rule) 94%,transparent 100%)}.project-river>li{display:grid;grid-template-columns:6rem 1fr;gap:1.5rem;align-items:start;padding:.55rem 0;position:relative}.project-river .when{font-family:var(--sans);font-size:11.5px;font-weight:600;font-feature-settings:"tnum" 1,"cv11" 1;color:var(--ink-faint);text-align:right;align-self:start;padding-top:.55em;padding-right:1.1rem;white-space:nowrap}.project-river .when time{color:inherit}.project-river .what{position:relative;padding-left:1.4rem}.project-river .what:before{content:"";position:absolute;left:-.32rem;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--paper);border:1.2px solid var(--accent)}.project-river .what.kind-meeting:before{border-radius:0;transform:rotate(45deg)}.project-river .what.kind-question:before{background:var(--accent)}.project-river .what.kind-task-list:before{border-radius:1px;width:8px;height:8px}.project-river .what.kind-timeline-entry:before{width:4px;height:4px;left:-.2rem;top:.7em}.project-river .what .title{font-family:var(--serif);font-size:1.04em}.project-river .what .title a{border-bottom:none;font-weight:550;color:var(--ink)}.project-river .what .title a:hover{color:var(--accent)}.project-river .what .kind-tag{font-family:var(--sans);font-size:10.5px;font-weight:600;font-variant:small-caps;letter-spacing:.02em;color:var(--ink-faint);margin-left:.55em}.project-river .what .body-snippet{display:block;font-size:.93em;color:var(--ink-soft);margin-top:.25em;font-family:var(--serif);line-height:1.45}@media(max-width:540px){.project-river>li{grid-template-columns:5rem 1fr;gap:.9rem}.project-river:before{left:5.5rem}.project-river .when{font-size:11px}.project-river .what{padding-left:1.1rem}}.project-river .what:before{box-shadow:0 0 0 3px var(--paper),0 0 0 4px color-mix(in oklab,var(--accent) 40%,var(--paper-rule));transition:transform .18s ease,box-shadow .18s ease}.project-river .what:hover:before{transform:scale(1.3);box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--accent),0 0 14px var(--accent)}.project-river .what{border-radius:3px;padding:.2em .45em;margin-left:-.45em;transition:background .18s ease}.project-river .what:hover{background:var(--accent-soft)}.task-list{list-style:none;padding:0;margin:1.2em 0;font-family:var(--serif)}.task-list li{display:grid;grid-template-columns:1.4em 1fr;gap:.4em;padding:.15em 0}.task-list .box{font-family:var(--mono);color:var(--accent);user-select:none}.task-list li.done .label{color:var(--ink-faint);text-decoration:line-through;text-decoration-color:var(--ink-faint)}.task-list li.doing .label{color:var(--ink);font-style:italic}.meeting{border-left:2px solid var(--accent);padding:.4em 1em;margin:1em 0;background:var(--paper-edge)}.meeting .meeting-head{font-family:var(--sans);font-size:12px;letter-spacing:.05em;color:var(--ink-soft)}.meeting .meeting-head .glyph{color:var(--accent);margin-right:.4em}.area-page-rule{border:none;border-top:2px solid var(--accent);margin:1.4em 0 2em;width:4em}.page[data-kind=area]:after{height:28rem;background:radial-gradient(ellipse 70% 90% at 50% 0,color-mix(in oklab,var(--accent) 36%,transparent) 0,color-mix(in oklab,var(--accent) 14%,transparent) 35%,color-mix(in oklab,var(--accent) 4%,transparent) 60%,transparent 78%);opacity:1}.hand-divider{display:block;margin:2.4rem auto;color:var(--paper-rule)}.site-foot{display:flex;align-items:flex-end;flex-wrap:wrap;gap:1rem 1.4rem;position:relative;padding-bottom:.6rem}.site-foot .foot-meta{display:flex;flex-direction:column;gap:.2rem;min-width:0}.site-foot .foot-greeting{font-style:italic;font-family:var(--hand);font-size:14px;color:var(--ink-soft);opacity:.7}.site-foot .foot-spacer{flex:1 1 auto}.site-foot .foot-links{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-style:normal;font-size:12px}.site-foot .foot-links .dot{color:var(--ink-faint)}.desk-lamp{appearance:none;border:none;background:transparent;padding:0;margin:0 0 -.6rem auto;cursor:pointer;position:relative;width:110px;height:130px;color:var(--ink-soft);display:inline-flex;align-items:flex-end;justify-content:center;outline:none}.desk-lamp:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.desk-lamp .lamp-svg{width:100%;height:100%;overflow:visible}.desk-lamp .lamp-label{position:absolute;left:50%;transform:translate(-50%);bottom:-1rem;font-family:var(--hand);font-size:12px;color:var(--ink-faint);opacity:0;transition:opacity .25s ease;pointer-events:none;white-space:nowrap}.desk-lamp:hover .lamp-label,.desk-lamp:focus-visible .lamp-label{opacity:.85}.desk-lamp .lamp-svg .desk-line,.desk-lamp .lamp-svg .lamp-post,.desk-lamp .lamp-svg .lamp-arm,.desk-lamp .lamp-svg .chain-line{stroke:currentColor;fill:none;stroke-linecap:round}.desk-lamp .lamp-svg .desk-line{stroke-width:2}.desk-lamp .lamp-svg .desk-shadow{stroke:currentColor;opacity:.18;stroke-width:2}.desk-lamp .lamp-svg .lamp-post,.desk-lamp .lamp-svg .lamp-arm{stroke-width:3.4}.desk-lamp .lamp-svg .chain-line{stroke-width:.7;opacity:.7}.desk-lamp .lamp-svg .lamp-base,.desk-lamp .lamp-svg .lamp-joint,.desk-lamp .lamp-svg .lamp-shade,.desk-lamp .lamp-svg .bead{fill:currentColor}.desk-lamp .lamp-svg .lamp-shade-lip{stroke:var(--wash-black-stroke);fill:none;stroke-width:1;stroke-linecap:round}.desk-lamp .lamp-svg .bead-pull{fill:var(--accent);cursor:grab}.desk-lamp .lamp-svg .lamp-bulb{fill:color-mix(in oklab,currentColor 35%,transparent);transition:fill .5s ease,filter .5s ease}.desk-lamp .lamp-svg .lamp-halo{fill:var(--wash-lamp-halo-off);transition:fill .55s ease;filter:blur(8px)}.desk-lamp[data-theme=light] .lamp-svg .lamp-bulb{fill:var(--color-cyan-bulb);filter:drop-shadow(0 0 4px var(--color-cyan-glow)) drop-shadow(0 0 14px var(--color-cyan-bright))}.desk-lamp[data-theme=light] .lamp-svg .lamp-halo{fill:var(--wash-lamp-halo-on)}.desk-lamp[data-theme=dark] .lamp-svg .lamp-bulb{fill:color-mix(in oklab,currentColor 25%,transparent)}@keyframes lamp-pull{0%{transform:translateY(0) rotate(0)}35%{transform:translateY(10px) rotate(-1deg)}60%{transform:translateY(0) rotate(.4deg)}80%{transform:translateY(2px) rotate(0)}to{transform:translateY(0) rotate(0)}}@keyframes lamp-flicker{0%,to{opacity:1}20%{opacity:.4}35%{opacity:1}55%{opacity:.7}70%{opacity:1}}@media(prefers-reduced-motion:no-preference){.desk-lamp.pulling .lamp-chain{transform-origin:50% 0;animation:lamp-pull .6s cubic-bezier(.5,1.4,.4,1)}.desk-lamp.pulling .lamp-bulb,.desk-lamp.pulling .lamp-halo{animation:lamp-flicker .48s ease both}}.site-foot{isolation:isolate}.site-foot:before{background:linear-gradient(to right,transparent 0,var(--paper-rule) 20%,var(--paper-rule) 80%,transparent 100%)}.desk-lamp:before{content:"";position:fixed;pointer-events:none;right:clamp(8px,6vw,80px);bottom:-180px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--wash-lamp-pool-cyan) 0%,var(--wash-lamp-pool-violet) 38%,transparent 70%);opacity:0;transition:opacity .65s ease;z-index:0;filter:blur(8px);mix-blend-mode:lighten}.desk-lamp[data-theme=light]:before{opacity:1}:root[data-theme=dark] .desk-lamp:before{mix-blend-mode:screen}@media(max-width:720px){.desk-lamp:before{right:0;width:360px;height:360px;bottom:-200px}}@media(max-width:540px){.site-foot{padding-bottom:0;gap:.6rem 1rem}.site-foot .foot-meta{flex:1 1 100%}.site-foot .foot-spacer{display:none}.site-foot .foot-links{flex:0 0 auto;align-self:flex-end;padding-bottom:.4rem}.desk-lamp{width:90px;height:110px;margin:0 0 -.4rem auto}}.page-ribbon{position:fixed;top:56px;right:clamp(8px,4vw,36px);width:14px;height:110px;z-index:90;pointer-events:none;--ribbon: color-mix(in oklab, var(--accent) 75%, var(--color-ribbon-anchor));--ribbon-tag-height: 26px}.page-ribbon .ribbon-tail{display:block;width:100%;height:100%;background:linear-gradient(180deg,var(--ribbon) 0%,color-mix(in oklab,var(--ribbon) 80%,var(--color-black)) 60%,var(--ribbon) 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),50% 100%,0 calc(100% - 8px));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--ribbon) 60%,var(--color-black)),0 4px 8px var(--wash-ribbon-shadow)}.page-ribbon .ribbon-tag{position:absolute;top:calc(var(--p, 0) * (100% - var(--ribbon-tag-height)));left:50%;transform:translate(-50%);width:22px;height:var(--ribbon-tag-height);display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--accent);border:1px solid color-mix(in oklab,var(--accent) 50%,var(--paper-rule));border-radius:3px;cursor:pointer;pointer-events:auto;padding:0;box-shadow:0 2px 4px var(--wash-ribbon-shadow);transition:transform .18s ease,box-shadow .18s ease}.page-ribbon .ribbon-heading-label{position:absolute;top:calc(var(--p, 0) * (100% - var(--ribbon-tag-height)));right:calc(50% + 18px);box-sizing:border-box;width:max-content;height:var(--ribbon-tag-height);max-width:min(36vw,13rem);display:block;padding:0 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--mono);font-size:11px;line-height:calc(var(--ribbon-tag-height) - 2px);color:var(--ink-soft);background:color-mix(in oklab,var(--paper) 88%,transparent);border:1px solid color-mix(in oklab,var(--paper-rule) 82%,transparent);border-radius:3px;box-shadow:0 2px 8px var(--wash-ribbon-shadow);pointer-events:none;backdrop-filter:blur(4px);transition:color .18s ease,border-color .18s ease,opacity .18s ease}.page-ribbon .ribbon-heading-label[hidden]{display:none}.page-ribbon .ribbon-tag:hover,.page-ribbon .ribbon-tag:focus-visible{transform:translate(-50%) scale(1.08);box-shadow:0 4px 10px var(--wash-ribbon-shadow-strong);outline:2px solid var(--accent);outline-offset:2px}.page-ribbon .ribbon-tag:hover+.ribbon-heading-label,.page-ribbon .ribbon-tag:focus-visible+.ribbon-heading-label,.page-ribbon.flash .ribbon-heading-label{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 46%,var(--paper-rule))}.page-ribbon.flash .ribbon-tag{animation:ribbon-flash .7s ease;background:var(--accent);color:var(--paper)}@keyframes ribbon-flash{0%{transform:translate(-50%) scale(1)}40%{transform:translate(-50%) scale(1.4) rotate(-6deg)}to{transform:translate(-50%) scale(1)}}@media(max-width:540px){.page-ribbon{top:50px;right:6px;width:10px;height:92px;--ribbon-tag-height: 22px}.page-ribbon .ribbon-tag{width:18px}.page-ribbon .ribbon-heading-label{right:calc(50% + 15px);max-width:34vw;padding:0 6px;font-size:10px}}@media print{.page-ribbon{display:none}}.site-head .bookmark-cue{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-family:var(--mono);font-size:11px;color:var(--ink-soft);background:var(--paper-edge);border:1px solid var(--paper-rule);border-radius:4px;padding:5px 8px;cursor:pointer;line-height:1;transition:color .12s ease,border-color .12s ease,background .12s ease,transform .12s ease}.site-head .bookmark-cue:hover,.site-head .bookmark-cue:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}.site-head .bookmark-cue .bookmark-icon{color:currentColor}.site-head .bookmark-cue .bookmark-count{font-size:10.5px;color:var(--ink-faint);border-left:1px solid var(--paper-rule);padding-left:6px;font-feature-settings:"tnum" 1}.site-head .bookmark-cue .bookmark-pop{position:absolute;inset:-3px;border-radius:6px;pointer-events:none;border:1.5px solid var(--accent);opacity:0}.site-head .bookmark-cue.pop .bookmark-pop{animation:bookmark-pop .76s cubic-bezier(.2,.7,.2,1)}.site-head .bookmark-cue.pop .bookmark-icon{animation:bookmark-icon-pop .76s cubic-bezier(.2,.7,.2,1)}@keyframes bookmark-pop{0%{transform:scale(.92);opacity:0}30%{transform:scale(1.08);opacity:1}to{transform:scale(1.4);opacity:0}}@keyframes bookmark-icon-pop{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-2px) rotate(-8deg) scale(1.18);color:var(--accent)}60%{transform:translateY(0) rotate(2deg) scale(1)}to{transform:translateY(0) rotate(0)}}@media(prefers-reduced-motion:reduce){.site-head .bookmark-cue.pop .bookmark-pop,.site-head .bookmark-cue.pop .bookmark-icon{animation:none!important}}.bookmark-selection{--selection-action-ink: var(--accent);position:absolute;z-index:95;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-family:var(--sans);font-size:12px;font-weight:600;color:var(--color-white);background:linear-gradient(135deg,color-mix(in oklab,var(--selection-action-ink) 82%,var(--color-white)) 0,var(--selection-action-ink) 58%,color-mix(in oklab,var(--selection-action-ink) 82%,var(--color-black)) 100%);border:1px solid color-mix(in oklab,var(--selection-action-ink) 66%,var(--wash-white-plate));border-radius:999px;box-shadow:0 4px 16px color-mix(in oklab,var(--selection-action-ink) 32%,var(--ink-shadow)),0 1px 0 var(--wash-black-button);cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease;animation:selection-fade .18s ease both}.bookmark-selection[hidden]{display:none!important}.bookmark-selection:hover{transform:translateY(-1px);box-shadow:0 6px 18px color-mix(in oklab,var(--selection-action-ink) 42%,var(--ink-shadow)),0 1px 0 var(--wash-black-button)}@keyframes selection-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media print{.bookmark-selection{display:none!important}}.bookmark-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:clamp(1rem,6vh,4rem) 1rem;opacity:0;transition:opacity .18s ease}.bookmark-overlay[hidden]{display:none!important}.bookmark-overlay.show{opacity:1}.bookmark-overlay-scrim{position:absolute;inset:0;background:var(--wash-scrim-cool);backdrop-filter:blur(2px)}:root[data-theme=dark] .bookmark-overlay-scrim{background:var(--wash-black-scrim)}.bookmark-overlay-panel{position:relative;width:min(560px,100%);max-height:80vh;background:var(--paper);border:1px solid var(--paper-rule);border-radius:6px;box-shadow:0 1px 0 var(--wash-shadow-05-tight),0 24px 60px -20px var(--wash-scrim-cool-tight),0 60px 120px -40px var(--wash-shadow-26-tight);display:flex;flex-direction:column;overflow:hidden;transform:translateY(8px);transition:transform .22s cubic-bezier(.2,.7,.2,1)}.bookmark-overlay.show .bookmark-overlay-panel{transform:translateY(0)}.bookmark-overlay-head{padding:1.2rem 1.3rem .8rem;border-bottom:1px solid var(--paper-edge);position:relative}.bookmark-overlay-head h2{margin:0 0 .2rem;font-family:var(--display);font-size:1.6em;font-weight:600;font-variation-settings:"opsz" 36,"SOFT" 0;color:var(--ink);letter-spacing:-.012em}.bookmark-overlay-sub{margin:0 0 .85rem;font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:.92em}.bookmark-overlay-tools{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.bookmark-tool{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:12px;font-weight:600;color:var(--ink-soft);background:var(--paper-edge);border:1px solid var(--paper-rule);border-radius:4px;padding:5px 10px;cursor:pointer;line-height:1;transition:color .12s ease,border-color .12s ease,background .12s ease}.bookmark-tool:hover,.bookmark-tool:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}.bookmark-tool.bookmark-close{position:absolute;top:.9rem;right:.9rem;padding:5px}.bookmark-list{list-style:none;margin:0;padding:.4rem 0;overflow-y:auto;flex:1}.bookmark-row{display:grid;grid-template-columns:1fr auto;align-items:start;gap:.4rem;padding:.55rem 1.2rem;border-bottom:1px solid var(--paper-edge);transition:background .14s ease}.bookmark-row:last-child{border-bottom:none}.bookmark-row:hover{background:var(--paper-edge)}.bookmark-link{display:block;border-bottom:none!important;color:var(--ink);min-width:0}.bookmark-link:hover{color:var(--accent)}.bookmark-meta time{font-feature-settings:"tnum" 1}.bookmark-meta{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:11.5px;font-weight:600;color:var(--ink-faint);margin-bottom:.18rem}.bookmark-meta svg{color:var(--accent)}.bookmark-meta .dot{opacity:.5}.bookmark-title{font-family:var(--serif);font-size:1.02em;font-weight:550;line-height:1.3;word-break:break-word}.bookmark-snippet{font-family:var(--serif);font-style:italic;font-size:.92em;color:var(--ink-soft);margin:.3rem 0 0;padding:0 0 0 .7em;border-left:2px solid color-mix(in oklab,var(--accent) 50%,var(--paper-rule));line-height:1.45}.bookmark-del{appearance:none;background:transparent;border:none;padding:4px;margin-top:1px;color:var(--ink-faint);cursor:pointer;border-radius:3px;opacity:.55;transition:opacity .14s ease,color .14s ease,background .14s ease}.bookmark-row:hover .bookmark-del{opacity:1}.bookmark-del:hover{color:var(--accent);background:var(--accent-soft)}.bookmark-empty{margin:0;padding:1.4rem 1.4rem 1.6rem;font-family:var(--serif);font-size:.95em;color:var(--ink-soft);line-height:1.5}@media(max-width:720px){.site-head .bookmark-cue .bookmark-count{display:none}.bookmark-overlay{padding:.5rem}.bookmark-overlay-panel{max-height:92vh}}@media print{.bookmark-overlay{display:none!important}}mark.margin-note{background:color-mix(in oklab,var(--color-highlight) 65%,transparent);color:inherit;padding:0 .05em;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer;transition:background .14s ease}:root[data-theme=dark] mark.margin-note{background:color-mix(in oklab,var(--color-highlight) 30%,transparent);color:inherit}mark.margin-note:hover{background:color-mix(in oklab,var(--accent) 28%,var(--paper))}.margin-note-sidenote{color:var(--ink);border-left-color:color-mix(in oklab,var(--color-warning) 80%,var(--accent))}.note-composer{position:absolute;z-index:1000;width:min(360px,92vw);background:var(--paper);border:1px solid var(--paper-rule);border-radius:6px;padding:.6rem .7rem .5rem;box-shadow:0 8px 30px var(--wash-black-panel),0 1px 0 var(--wash-black-soft);font-family:var(--sans);font-size:13px}.note-composer[hidden]{display:none!important}.note-composer-quote{margin:0 0 .4rem;padding:.25rem .55rem;font-family:var(--serif);font-style:italic;color:var(--ink-soft);font-size:12.5px;border-left:2px solid color-mix(in oklab,var(--accent) 60%,var(--paper-rule));max-height:4.5em;overflow:auto;background:var(--paper-edge);border-radius:0 3px 3px 0}.note-composer textarea{width:100%;min-height:68px;resize:vertical;font-family:var(--hand);font-size:17px;line-height:1.35;color:var(--ink);background:transparent;border:1px solid var(--paper-rule);border-radius:4px;padding:.5rem .55rem;box-sizing:border-box}.note-composer textarea:focus{outline:none;border-color:var(--accent)}.note-composer-tools{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.45rem}.note-composer-save{color:var(--accent)!important;border-color:color-mix(in oklab,var(--accent) 50%,var(--paper-rule))!important}.margin-notes-row{position:relative;grid-template-columns:1fr;padding-right:5.75rem}.margin-notes-row .bookmark-link,.margin-notes-body,.margin-notes-edit-body,.margin-notes-edit-tools{grid-column:1 / -1}.margin-notes-body{padding:.35rem 0 .1rem;margin-left:0;font-family:var(--hand);font-size:17px;line-height:1.35;color:var(--ink)}.margin-notes-body-empty{color:var(--ink-faint)}.margin-notes-edit-body{width:100%;font-family:var(--hand);font-size:16px;padding:.4rem .5rem;border:1px solid var(--paper-rule);border-radius:4px;resize:vertical;min-height:60px;box-sizing:border-box;background:var(--paper);color:var(--ink);margin-top:.3rem}.margin-notes-edit-tools{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.4rem}.margin-notes-row-tools{position:absolute;top:.6rem;right:.6rem;display:flex;align-items:center;gap:.35rem}.margin-notes-edit{font-family:var(--mono);font-size:10.5px;color:var(--ink-faint);background:transparent;border:1px solid var(--paper-rule);border-radius:3px;padding:2px 6px;cursor:pointer;line-height:1}.margin-notes-edit:hover{color:var(--accent);border-color:var(--accent)}@media print{.note-selection,.note-composer,.margin-notes-overlay{display:none!important}mark.margin-note{background:transparent}}.idle-doodle{position:fixed;right:clamp(8px,4vw,80px);bottom:clamp(180px,30vh,320px);width:64px;height:64px;color:var(--accent);opacity:0;transform:translateY(8px) rotate(-6deg);transition:opacity 1.2s ease,transform 1.2s ease;pointer-events:none;z-index:80;filter:drop-shadow(0 1px 2px var(--wash-doodle-shadow))}.idle-doodle.visible{opacity:.6;transform:translateY(0) rotate(-2deg)}@media(max-width:720px){.idle-doodle{display:none}}@media print{.idle-doodle{display:none}}.coffee-stain{position:fixed;left:var(--x, 30%);top:var(--y, 40%);width:220px;height:220px;transform:translate(-50%,-50%) scale(.4) rotate(0);opacity:0;pointer-events:none;z-index:95;filter:blur(.4px)}.coffee-stain.spill{animation:coffee-spill .6s cubic-bezier(.2,.7,.4,1) forwards,coffee-fade 12s ease forwards}@keyframes coffee-spill{0%{transform:translate(-50%,-50%) scale(.2) rotate(-15deg);opacity:0}60%{transform:translate(-50%,-50%) scale(1.1) rotate(4deg);opacity:1}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:.85}}@keyframes coffee-fade{0%,70%{opacity:.85}to{opacity:0}}@media print{.coffee-stain{display:none!important}}@media print{:root,body{background:var(--color-white)!important;color:var(--color-print-ink)!important}body{font-family:"Source Serif 4",Times New Roman,serif;font-size:11pt}.site-head,.site-foot,#wiki-popover,#search-overlay,.page:before,.page:after{display:none!important}.page{padding:0!important;margin:0!important}.doc-head .kind,.area-chip{background:none!important;border:1px solid var(--color-print-rule)!important}.project-list>li:before,.project-list>li:hover{background:none!important;box-shadow:none!important;transform:none!important}a.wikilink{background:none!important;border-bottom:1px solid var(--color-print-link)!important;color:var(--color-print-ink)!important}a{color:var(--color-print-ink)!important;text-decoration:underline}h1,h2,h3,h4{page-break-after:avoid;color:var(--color-print-ink)!important}pre,blockquote,figure{page-break-inside:avoid}.bookmark-cue,.bookmark-selection,.bookmark-overlay{display:none!important}}@media print{.desk-lamp,.desk-lamp:before,.page-ribbon,.idle-doodle,.coffee-stain{display:none!important}}
