.reading-companion{position:fixed;z-index:65;right:max(24px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}.companion-launcher{display:flex;align-items:center;flex-direction:column;width:68px;min-height:76px;padding:0;border:0;background:transparent;color:var(--muted)}.companion-robot{width:68px;height:68px;flex:none;overflow:visible}.companion-name{margin-top:-5px;font-size:11px;line-height:18px;letter-spacing:.12em}.companion-robot__body{transform-origin:40px 50px;transition:transform .22s var(--ease-out)}.companion-launcher:hover .companion-robot__body,.companion-launcher:focus-visible .companion-robot__body{transform:translateY(-3px) rotate(-4deg)}.companion-robot__eyes{transform-origin:40px 40px;animation:companion-blink 7s ease-in-out infinite}.companion-robot__dots circle{animation:companion-gather .8s var(--ease-out) var(--dot-delay) both}.companion-robot[data-thinking] .companion-robot__antenna{animation:companion-glow 1s ease-in-out infinite alternate}.companion-robot[data-thinking] .companion-robot__dots{animation:companion-glow 1.2s ease-in-out infinite alternate}.companion-panel{position:absolute;right:0;bottom:88px;width:352px;max-width:calc(100vw - 32px);height:min(510px,calc(100dvh - 130px));display:flex;flex-direction:column;padding:0;animation:companion-open .2s var(--ease-out);transform-origin:bottom right}.companion-panel__header{display:flex;align-items:center;gap:6px;padding:12px 12px 10px;border-bottom:1px solid var(--border)}.companion-panel__header .companion-robot{width:44px;height:44px}.companion-panel__header h2{display:flex;align-items:center;gap:8px;margin:0;font:500 16px/1.6 var(--font-serif)}.companion-panel__header h2 span{color:var(--muted);font:10px/1.5 var(--font-sans);padding:1px 5px;border:1px solid var(--border);border-radius:3px}.companion-panel__header p{font-size:11px;color:var(--muted);margin-top:2px}.companion-close{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-left:auto;color:var(--muted)}.companion-close:hover{color:var(--foreground)}.companion-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:22px 22px 18px}.companion-eyebrow{color:#82958f;font:11px/1.6 var(--font-sans);letter-spacing:.08em}.companion-welcome h3{font:500 23px/1.5 var(--font-serif);margin:8px 0 10px}.companion-welcome p{color:var(--subtle);font-size:13px;line-height:1.9}.companion-prompts{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 4px}.companion-prompts button{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 10px;font-size:12px;color:var(--subtle);border:1px solid var(--border);background:#f7f6f1;border-radius:4px;transition:background .16s}.companion-prompts button:hover{background:#eef1ec}.companion-prompts button:disabled{opacity:.5;cursor:default}.companion-message{margin-top:20px;font-size:13px;line-height:1.85;overflow-wrap:anywhere}.companion-message__author{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;letter-spacing:.03em}.companion-message--user{margin-left:32px;padding:10px 12px;background:#eef1ed;border-radius:8px 8px 2px}.companion-message--assistant{padding-right:10px}.companion-message a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin-top:10px;padding:8px 10px;background:#f7f6f1;border-left:2px solid #a6b6b1;font-size:12px}.companion-message a:hover{color:var(--accent)}.companion-panel__footer{flex:none;border-top:1px solid var(--border);padding:12px 16px 10px}.companion-compose{display:flex;align-items:center;gap:8px;padding-left:10px;border:1px solid var(--border);background:#fffefa;border-radius:5px}.companion-compose:focus-within{border-color:#97aaa7}.companion-compose input{flex:1;min-width:0;width:100%;height:44px;outline:none;background:transparent;color:var(--foreground);font:13px var(--font-sans)}.companion-compose input::placeholder{color:var(--muted)}.companion-compose button{display:grid;place-items:center;flex:none;width:44px;height:44px;color:#627d78}.companion-compose button:disabled{opacity:.35;cursor:default}.companion-panel__footer>p{margin-top:8px;text-align:center;font-size:10px;line-height:1.6;color:var(--muted)}.companion-thinking{display:flex;align-items:center;gap:5px;padding:16px 0 2px}.companion-thinking>span:not(.sr-only){width:4px;height:4px;border-radius:50%;background:#97aaa7;animation:companion-glow .65s ease-in-out infinite alternate}.companion-thinking>span:nth-child(2){animation-delay:.15s}.companion-thinking>span:nth-child(3){animation-delay:.3s}@keyframes companion-gather{0%{transform:translate(var(--dot-x),var(--dot-y));opacity:0}}@keyframes companion-blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.12)}}@keyframes companion-glow{0%{opacity:.35}to{opacity:1}}@keyframes companion-open{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:599px){.reading-companion{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.companion-panel{width:min(352px,calc(100vw - 24px));max-width:none;bottom:84px;height:min(500px,calc(100dvh - 120px))}.companion-log{padding:18px}.companion-compose input{font-size:16px}}@media(prefers-reduced-motion:reduce){.companion-robot *,.companion-panel,.companion-thinking>span{animation:none!important;transition:none!important}.companion-launcher:hover .companion-robot__body,.companion-launcher:focus-visible .companion-robot__body{transform:none}}@media print{.reading-companion{display:none}}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-serif:"Noto Serif SC", "Songti SC", "STSong", serif;--font-mono:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing) * 0)}.top-4{top:calc(var(--spacing) * 4)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-\[200\]{z-index:200}.block{display:block}.contents{display:contents}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-screen{min-height:100vh}.-translate-y-24{--tw-translate-y:calc(var(--spacing) * -24);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.overflow-x-clip{overflow-x:clip}.bg-\[var\(--background\)\]{background-color:var(--background)}.bg-\[var\(--foreground\)\]{background-color:var(--foreground)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[var\(--background\)\]{color:var(--background)}.text-\[var\(--foreground\)\]{color:var(--foreground)}.text-\[var\(--subtle\)\]{color:var(--subtle)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.outline-none{--tw-outline-style:none;outline-style:none}.focus\:translate-y-0:focus{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}@media(min-width:40rem){.sm\:block{display:block}}}.site-header-slot{height:calc(72px + env(safe-area-inset-top))}.site-header{z-index:60;padding-top:env(safe-area-inset-top);background:var(--background);position:fixed;inset:0 0 auto}.site-header__inner{width:min(calc(100% - 2 * var(--site-gutter)),var(--site-content-width));border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;min-height:72px;margin-inline:auto;display:flex;position:relative}.brand-symbol{color:var(--accent);flex:none}.site-brand{flex:none;align-items:center;gap:10px;min-height:44px;display:inline-flex}.site-brand__name{font-family:var(--font-serif);letter-spacing:.07em;font-size:20px;font-weight:500;line-height:1.4}.site-brand__name>span{display:none}.site-nav{--nav-marker:#8b9ca2;color:var(--subtle);align-items:center;gap:16px;font-size:14px;display:flex;position:relative}.site-nav>a{white-space:nowrap;min-width:44px;min-height:44px;transition:color var(--motion-fast);justify-content:center;align-items:center;display:inline-flex;position:relative}.site-nav a:hover,.site-nav [aria-current]{color:var(--foreground)}.site-nav>.site-nav__rss{border-left:1px solid var(--border);color:var(--muted);font:12px var(--font-mono);gap:5px;margin-left:4px;padding-left:16px}@media(max-width:759px){.site-header-slot{height:calc(64px + env(safe-area-inset-top))}.site-header__inner{gap:12px;min-height:64px}.site-brand{justify-content:flex-start;min-width:44px}.brand-symbol{width:28px;height:28px}.site-brand__name{display:none}.site-nav{gap:8px;font-size:13px}.site-nav>.site-nav__rss{display:none}}@media print{.site-header-slot{display:none}}.site-nav [aria-current]{font-weight:500}.site-nav__selection{pointer-events:none;transition:left .42s var(--ease-out),top .42s var(--ease-out),width .42s var(--ease-out),height .42s var(--ease-out);position:absolute}.nav-particles{color:var(--nav-marker);width:calc(100% + 6px);height:8px;position:absolute;top:calc(100% + 3px);left:-3px;overflow:visible}.nav-particles circle{transform-box:fill-box;transform-origin:50%;animation:nav-particle-gather .52s var(--ease-out) var(--particle-delay) both}@keyframes nav-particle-gather{0%{opacity:0;transform:translate(var(--particle-x),var(--particle-y)) scale(.35)}45%{opacity:.8}to{opacity:1;transform:translate(0)scale(1)}}.site-nav:not(:has(.site-nav__selection)) [aria-current] .site-nav__label:after{content:"";background:var(--nav-marker);height:2px;position:absolute;bottom:-7px;left:0;right:0}@media(max-width:599px){.site-header-slot{height:calc(88px + env(safe-area-inset-top))}.site-header__inner{flex-wrap:wrap;gap:0;min-height:88px}.site-nav{justify-content:space-between;gap:0;width:100%}}@media(prefers-reduced-motion:reduce){.nav-particles circle{opacity:1;animation:none;transform:none}.site-nav__selection{transition:none}}.nav-particles circle:nth-child(n+22){fill-opacity:.4}.reader-overlay{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.reader-overlay.reader-preview{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2928241f}.reader-shell{isolation:isolate;background:var(--background);width:100%;height:100%;min-height:0;position:relative}.reader-preview .reader-shell{width:min(960px,100% - 80px);height:80svh;animation:reader-sheet-in .2s var(--motion-soft);background:0 0}.reader-scroller{overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;overflow-y:auto}.reader-header{z-index:15;background:var(--background);border-bottom:1px solid var(--border);position:sticky;top:0}.reader-preview .reader-header{background:var(--floating-background)}.reader-preview .reader-header__inner{width:calc(100% - 48px);min-height:60px}.reader-actions{align-items:center;gap:12px;display:flex}.reader-preview-label{color:var(--muted);letter-spacing:.04em;font-size:12px}.reader-wordmark{min-height:44px;color:var(--subtle);font-family:var(--font-serif);letter-spacing:.08em;align-items:center;gap:8px;font-size:14px;display:inline-flex}.reader-wordmark__mark{color:var(--accent)}.reader-wordmark:hover{color:var(--foreground)}.reader-return,.reader-expand{min-height:44px;color:var(--subtle);align-items:center;gap:8px;font-size:13px;display:inline-flex}.reader-return:hover,.reader-expand:hover,.reader-close:hover{color:var(--accent)}.reader-close{min-width:44px;height:44px;color:var(--muted);justify-content:center;align-items:center;display:flex}.reader-preview .reader-layout{width:min(100% - 64px,704px);padding-block:36px 96px;display:block}.reader-preview .article-directory-portable .floating-directory{bottom:calc(10svh + 24px);right:max(64px,50vw - 456px)}@keyframes reader-sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:759px){.reader-preview .reader-shell{width:calc(100% - 16px);height:calc(100% - 24px)}.reader-preview .reader-header__inner{width:calc(100% - 24px)}.reader-preview .reader-layout{width:calc(100% - 40px);padding-top:28px}.reader-preview .article-directory-portable .floating-directory{bottom:32px;right:24px}}@media(prefers-reduced-motion:reduce){.reader-preview .reader-shell{animation:none}}.article-toc.simple-toc{z-index:10;align-self:start;min-width:0;margin-top:4px;position:sticky;top:112px}.simple-toc .toc-label{color:var(--foreground);letter-spacing:0;margin:0 0 16px;font-size:13px;font-weight:500;line-height:1.6}.chapter-nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:min(64svh,560px,max(96px,100svh - 240px));padding:0 4px 0 1px;overflow-y:auto}.chapter-list{border-left:1px solid var(--border);margin:0;padding:0;list-style:none;position:relative}.chapter-list a{color:var(--muted);overflow-wrap:anywhere;padding:7px 8px 7px 12px;font-size:13px;font-weight:400;line-height:1.65;text-decoration:none;transition:color .16s;display:block;position:relative}.chapter-list>[data-chapter-root]:not(:first-child){margin-top:8px}.chapter-list [data-chapter-root]>a{color:var(--foreground);font-weight:500}.chapter-list a:hover{color:var(--foreground)}.chapter-list a[aria-current]{color:var(--accent);font-weight:500;transform:none}.chapter-list a[aria-current]:before{content:"";background:var(--accent);width:2px;position:absolute;top:5px;bottom:5px;left:-1px}.chapter-list a:focus-visible{outline-offset:-2px}.simple-toc .toc-accessory{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:8px;display:flex}.simple-toc .reading-progress{color:var(--muted);font:12px/1.5 var(--font-mono)}.simple-toc .toc-back-top{width:auto;height:auto;min-height:36px;color:var(--muted);background:0 0;border-radius:0;justify-content:center;align-items:center;gap:4px;padding:0 4px;font-size:12px;display:inline-flex}.simple-toc .toc-back-top:hover{color:var(--accent)}.article-directory-portable.simple-toc-portable{display:none}.simple-toc-portable .floating-directory>summary{border-radius:6px;padding-block:0;box-shadow:0 2px 8px #2826200f}.simple-toc-portable .sketch-circle,.simple-toc-portable .paper-surface,.simple-toc-portable .paper-definitions{display:none}.simple-toc-portable .directory-panel{border:1px solid var(--border);background:var(--background);border-radius:6px;box-shadow:0 4px 24px #28262014}.simple-toc-portable .directory-panel .chapter-nav{max-height:min(55svh,420px,max(44px,100svh - 180px))}.simple-toc-portable .chapter-list a{min-height:44px;padding-block:11px}.reader-preview .article-toc.simple-toc{display:none}.reader-preview .article-directory-portable.simple-toc-portable{display:block}@media(max-width:759px){.article-toc.simple-toc{display:none}.article-directory-portable.simple-toc-portable{display:block}.simple-toc-portable .floating-directory>summary{background:var(--floating-background);gap:6px;padding-inline:12px}@supports (color:color-mix(in lab,red,red)){.simple-toc-portable .floating-directory>summary{background:color-mix(in srgb,var(--floating-background) 94%,transparent)}}.simple-toc-portable .floating-directory>summary{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.simple-toc-portable .directory-percent{color:var(--muted);font-size:10px}}@media print{.article-toc.simple-toc,.article-directory-portable.simple-toc-portable{display:none}}:root{color-scheme:light;--site-content-width:704px;--site-gutter:44px;--background:#fefdfa;--foreground:#292824;--subtle:#5c5a55;--muted:#6c6962;--accent:#a45537;--card-bg:#fff;--surface-tint:#f0efeb;--border:#2826201f;--selection-bg:#ead9cb;--selection-text:#292824;--paper-shadow:0 0 0 .5px #42321e0a, 0 1px 2px #42321e08, 0 4px 12px -8px #42321e1f;--floating-shadow:0 0 0 .5px #42321e0a, 0 2px 4px #42321e08, 0 8px 24px -8px #42321e1f;--floating-background:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--floating-background:color-mix(in srgb, var(--accent) 2%, #fff)}}:root{--paper-panel-shadows:drop-shadow(0 0 .5px #42321e14) drop-shadow(0 1px 2px #42321e0a) drop-shadow(0 8px 10px #42321e12);--motion-fast:.16s;--motion-panel:.2s;--motion-directory:.3s;--motion-soft:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--motion-reveal:.6s}html{scrollbar-gutter:stable}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}button,summary,a{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px}:where(a,summary,button):focus-visible{border-radius:5px}[tabindex="-1"]:focus{outline:none}::selection{background:var(--selection-bg);color:var(--selection-text)}[id]{scroll-margin-top:112px}.site-column{width:min(calc(100% - 2 * var(--site-gutter)),var(--site-content-width));margin-inline:auto}.site-nav__label{position:relative}.sketch-circle{width:calc(100% + 26px);height:calc(100% + 18px);color:var(--accent);opacity:0;pointer-events:none;position:absolute;top:-9px;left:-13px;overflow:visible}.sketch-circle__stroke{stroke-dasharray:100;stroke-dashoffset:100px}.floating-directory[open] .directory-trigger-label>.sketch-circle{opacity:.85}.floating-directory[open] .directory-trigger-label .sketch-circle__stroke{stroke-dashoffset:0;animation:.65s cubic-bezier(.38,.05,.28,1) both sketch-circle-draw}@keyframes sketch-circle-draw{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}.floating-paper{isolation:isolate;--paper-shadow:var(--floating-shadow)}.floating-paper>.paper-surface{background:var(--floating-background)}.home-intro{padding-block:64px 56px}.home-intro h1{font-family:var(--font-serif);letter-spacing:.03em;text-wrap:balance;font-size:36px;font-weight:500;line-height:1.4}.home-intro p{color:var(--subtle);margin-top:18px;font-size:15px;line-height:1.8}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:16px;display:flex}.section-heading h2{font-family:var(--font-serif);letter-spacing:.04em;font-size:18px;font-weight:500}.section-heading>:last-child{color:var(--muted);font-size:12px}.section-heading a:hover{color:var(--accent)}.post-index{padding-bottom:48px}.post-year{grid-template-columns:44px minmax(0,1fr);gap:20px;padding-top:8px;display:grid}.post-year+.post-year{margin-top:16px}.post-year h3{font:12px/24px var(--font-mono);color:var(--muted);padding-top:10px}.post-index__link{grid-template-columns:68px minmax(0,1fr) 16px;align-items:baseline;gap:16px;min-height:44px;padding-block:10px;font-size:16px;line-height:26px;display:grid}.post-index__link time{font:12px/24px var(--font-mono);color:var(--muted);white-space:nowrap}.post-index__title{text-underline-offset:5px;-webkit-text-decoration:underline #28262033;text-decoration:underline #28262033;text-decoration-thickness:1px;transition:color .16s,text-decoration-color .16s}.post-index__link:hover .post-index__title,.post-index__link:focus-visible .post-index__title{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.post-index__arrow{color:var(--accent);opacity:0;transition:opacity .16s,transform .16s;transform:translate(-3px,3px)}.post-index__link:hover .post-index__arrow,.post-index__link:focus-visible .post-index__arrow{opacity:1;transform:translate(0)}.thoughts-preview{padding-bottom:48px}.thoughts-preview .section-heading{padding-bottom:24px}.about-section{padding-block:28px 36px}.about-section h2{color:var(--subtle);font-size:13px;font-weight:500}.about-section p{color:var(--subtle);margin-top:12px;font-size:13px;line-height:1.85}.site-footer{color:var(--muted);font:12px/1.8 var(--font-mono);justify-content:space-between;align-items:center;gap:16px;padding-block:16px 28px;display:flex}.site-footer a{align-items:center;gap:4px;min-height:44px;display:inline-flex}.site-footer a:hover{color:var(--accent)}html.motion-ready [data-reveal]:not([data-revealed]){opacity:0;transform:translateY(16px)}html.motion-ready:not(.motion-live) [data-reveal]{animation:0s 2.5s forwards reveal-fallback}@keyframes reveal-fallback{to{opacity:1;transform:none}}html.motion-ready [data-reveal]{transition:opacity var(--motion-reveal) var(--ease-out) var(--reveal-delay,0s),transform var(--motion-reveal) var(--ease-out) var(--reveal-delay,0s)}.rule-top{position:relative}.rule-top:before{content:"";background:var(--border);height:1px;transition:clip-path .7s var(--ease-out) calc(var(--reveal-delay,0s) + 80ms);position:absolute;inset:0 0 auto}html.motion-ready .rule-top[data-reveal]:not([data-revealed]):before{clip-path:inset(0 100% 0 0)}.not-found{min-height:calc(100svh - 240px);padding-block:72px 64px}.not-found__mark{color:var(--accent);opacity:.85}.not-found__code{color:var(--muted);font:12px var(--font-mono);letter-spacing:.2em;margin-top:28px}.not-found h1{font-family:var(--font-serif);letter-spacing:.03em;margin-top:8px;font-size:32px;font-weight:500;line-height:1.4}.not-found h1+p{max-width:30em;color:var(--subtle);margin-top:14px;font-size:15px;line-height:1.85}.not-found__links{gap:28px;margin-top:28px;font-size:14px;display:flex}.not-found__links a{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:6px;align-items:center;display:inline-flex}.not-found__links a:hover{color:var(--accent);text-decoration-color:currentColor}.thoughts-page{min-height:calc(100svh - 220px);padding-bottom:40px}.thoughts-page__intro{padding-block:56px 36px}.thoughts-page__intro h1{font-family:var(--font-serif);letter-spacing:.04em;font-size:30px;font-weight:500;line-height:1.4}.thoughts-page__intro p{color:var(--subtle);margin-top:12px;font-size:14px;line-height:1.8}.thoughts-stack{gap:28px;display:grid}.thought-paper{isolation:isolate;scroll-margin-top:112px;position:relative}.paper-definitions{pointer-events:none;position:absolute;overflow:hidden}.paper-surface{z-index:-1;background:var(--card-bg);box-shadow:var(--paper-shadow);pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.paper-surface[data-paper-kind=panel]{box-shadow:none}.paper-surface:after{content:"";opacity:.22;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20height='160'%20viewBox='0%200%20160%20160'%3e%3cfilter%20id='grain'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.76'%20numOctaves='3'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20type='saturate'%20values='0'/%3e%3c/filter%3e%3crect%20width='100%25'%20height='100%25'%20filter='url(%23grain)'%20opacity='.2'/%3e%3c/svg%3e");position:absolute;top:0;right:0;bottom:0;left:0}.thought-paper__content{padding:24px 28px 12px}.thought-paper__content>.thought-prose:first-child{margin-top:0}.thought-paper__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px;line-height:1.6;display:flex}.thought-paper__meta time{letter-spacing:.025em;white-space:nowrap}.thought-paper__sample{color:var(--subtle)}.thought-paper .thought-prose{margin-top:12px;font-size:15px;line-height:1.85}.thought-prose>:last-child{margin-bottom:0}.thought-paper__footer{margin-top:8px}.thought-paper__footer a{min-width:44px;min-height:44px;color:var(--subtle);white-space:nowrap;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px;justify-content:flex-end;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.thought-paper__footer a:is(:hover,:focus-visible){color:var(--accent);text-decoration-color:currentColor}.thought-paper__footer a>svg{transition:transform var(--motion-panel) var(--motion-soft)}.thought-paper__footer a:is(:hover,:focus-visible)>svg{transform:translate(2px,-2px)}.thought-paper:target .paper-surface,.thought-paper[data-highlighted] .paper-surface{box-shadow:var(--paper-shadow),0 0 0 1px var(--accent)}@supports (color:color-mix(in lab,red,red)){.thought-paper:target .paper-surface,.thought-paper[data-highlighted] .paper-surface{box-shadow:var(--paper-shadow),0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}}.thoughts-end{color:var(--muted);text-align:center;margin-top:36px;font-size:12px}.empty-copy{color:var(--subtle);padding:24px;font-size:14px;line-height:1.8}.reader-header{background:var(--background)}.reader-header__inner{justify-content:space-between;align-items:center;gap:16px;width:min(100% - 64px,928px);min-height:72px;margin-inline:auto;display:flex}.reader-layout{grid-template-columns:minmax(0,704px) 200px;gap:48px;width:min(100% - 64px,952px);margin-inline:auto;padding-block:48px 80px;display:grid}.article-main{min-width:0}.article-masthead{border-bottom:1px solid var(--border);margin-bottom:36px;padding-bottom:28px}.article-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;font-size:12px;line-height:1.5;display:flex}.article-meta>:first-child{color:var(--accent)}.article-dialog-title{font-family:var(--font-serif);letter-spacing:.01em;text-wrap:balance;font-size:30px;font-weight:500;line-height:1.5}.article-description{color:var(--subtle);margin-top:16px;font-size:15px;line-height:1.85}.article-tags{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:16px;font-size:12px;display:flex}.article-cover{margin-bottom:36px}.article-cover img{border-radius:2px;width:100%;height:auto}.article-prose{color:var(--foreground);overflow-wrap:anywhere;font-size:17px;line-height:1.95}.article-prose>:first-child{margin-top:0}.article-prose p{margin:0 0 1.25em}.article-prose h2{letter-spacing:-.02em;margin:1.8em 0 .7em;font-size:1.25em;font-weight:500;line-height:1.5}.article-prose h3{margin:1.5em 0 .65em;font-size:1.1em;font-weight:500;line-height:1.6}.article-prose h4,.article-prose h5,.article-prose h6{margin:1.4em 0 .6em;font-weight:500}.article-prose :is(h2,h3,h4){scroll-margin-top:112px}.article-prose ul,.article-prose ol{margin:0 0 1.4em;padding-left:1.4em}.article-prose ul{list-style:outside}.article-prose ol{list-style:decimal}.article-prose li{margin:.6em 0;padding-left:.15em}.article-prose strong{font-weight:600}.article-prose a{color:var(--accent);text-underline-offset:.2em;text-decoration:underline}.article-prose blockquote{border-left:2px solid var(--border);color:var(--subtle);margin:1.5em 0;padding-left:1.2em}.article-prose pre{background:var(--surface-tint);border-radius:3px;padding:1.2em;font-size:.85em;line-height:1.7;overflow-x:auto}.article-prose code{font-family:var(--font-mono);font-size:.88em}.article-prose :not(pre)>code{background:var(--surface-tint);border-radius:2px;padding:.15em .35em}.article-prose img{border-radius:2px;max-width:100%;height:auto;margin:1.5em auto;display:block}.article-prose hr{border-color:var(--border);margin:2em 0}.article-table-scroll{overscroll-behavior-inline:contain;max-width:100%;margin-block:24px;overflow-x:auto}.article-table-scroll table{border-collapse:collapse;width:100%;min-width:680px;font-size:14px;line-height:1.7}.article-table-scroll :is(th,td){border-bottom:1px solid var(--border);text-align:left;padding:12px 16px}.article-table-scroll th{background:var(--surface-tint);font-weight:500}.article-end{justify-content:center;margin-top:48px;display:flex}.article-end__seal{color:var(--accent);place-items:center;display:grid;position:relative}.article-end__seal>span{font-family:var(--font-serif);color:var(--subtle);font-size:14px;position:absolute}.article-end__mark{opacity:.45}.related-posts{border-top:1px solid var(--border);margin-top:40px;padding-top:24px}.related-posts h2{color:var(--muted);margin-bottom:12px;font-size:12px;font-weight:400}.related-posts>a{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-block:16px;font-size:15px;line-height:1.6;display:flex}.related-posts>a:hover{color:var(--accent)}.related-posts>a>:last-child{color:var(--muted)}.article-pager{grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;display:grid}.article-pager>a{gap:6px;min-height:44px;font-size:15px;line-height:1.6;display:grid}.article-pager>a>small{color:var(--muted);font-size:12px}.article-pager>a:hover>span{color:var(--accent)}.article-pager__next{text-align:right}[data-scroll-edges]{--scroll-fade-start:#000;--scroll-fade-end:#000;scroll-padding-block:20px}[data-scroll-edges=start],[data-scroll-edges=both]{--scroll-fade-start:transparent}[data-scroll-edges=end],[data-scroll-edges=both]{--scroll-fade-end:transparent}[data-scroll-edges]:not([data-scroll-edges=none]){-webkit-mask-image:linear-gradient(to bottom,var(--scroll-fade-start),#000 16px,#000 calc(100% - 16px),var(--scroll-fade-end));mask-image:linear-gradient(to bottom,var(--scroll-fade-start),#000 16px,#000 calc(100% - 16px),var(--scroll-fade-end))}.floating-directory{z-index:30;right:20px;bottom:max(24px,env(safe-area-inset-bottom));position:fixed}.floating-directory>summary{border:1px solid var(--border);background:var(--floating-background);min-height:44px;box-shadow:var(--paper-shadow);color:var(--subtle);border-radius:48% 52% 49% 51%/46% 49% 51% 54%;justify-content:center;align-items:center;gap:8px;padding:0 16px 2px;font-size:12px;list-style:none;transition:color .2s,box-shadow .2s;display:flex}.floating-directory>summary:hover{box-shadow:var(--floating-shadow)}.directory-trigger-label{position:relative}.floating-directory>summary::-webkit-details-marker{display:none}.directory-percent{color:var(--muted);font:12px/1 var(--font-mono)}.directory-close-icon,.floating-directory[open] .directory-open-icon{display:none}.floating-directory[open] .directory-close-icon{display:block}.floating-directory[open]>summary{color:var(--accent)}.directory-panel{transform-origin:100% 100%;width:min(312px,100vw - 40px);padding:20px;position:absolute;bottom:58px;right:0}.floating-directory[open] .directory-panel{animation:paper-appear var(--motion-panel) var(--motion-soft)}.directory-panel__title{color:var(--subtle);margin-bottom:12px;font-size:12px}.directory-panel .chapter-nav{max-height:min(50svh,360px,max(44px,100svh - 180px))}.directory-panel .chapter-list a{min-height:44px;padding-block:12px}@keyframes paper-appear{0%{opacity:0;transform:translateY(4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media(min-width:760px)and (max-width:959px){.reader-layout{grid-template-columns:minmax(0,1fr) 160px;gap:28px}.article-dialog-title{font-size:27px}}@media(max-width:759px){.reader-layout{width:min(100% - 48px,640px);padding-block:36px 96px;display:block}.reader-header__inner{width:calc(100% - 48px);min-height:64px}.article-dialog-title{font-size:27px}.article-masthead{margin-bottom:28px;padding-bottom:24px}.article-prose{font-size:17px;line-height:1.9}}@media(max-width:639px){:root{--site-gutter:20px}.home-intro{padding-block:44px 40px}.home-intro h1{font-size:27px}.post-index__link{font-size:15px}.post-year{padding-top:0;display:block}.post-year h3{padding-block:8px}.post-year+.post-year{margin-top:12px}.post-index__link{grid-template-columns:60px minmax(0,1fr);gap:12px}.post-index__arrow{display:none}.post-index{padding-bottom:36px}.thoughts-page__intro{padding-block:40px 32px}.thought-paper__content{padding:20px 20px 8px}.thought-paper__meta{gap:6px 10px}.thought-paper__meta time{font-size:12px}.thoughts-stack{gap:24px}.site-footer{padding-bottom:88px}.not-found{padding-top:48px}.not-found h1{font-size:26px}.article-pager{grid-template-columns:1fr;gap:16px}.article-pager__next{text-align:left}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.sketch-circle__stroke{animation:none!important}}@media print{.reader-layout{width:100%;padding:0;display:block}.paper-surface{box-shadow:none;filter:none!important}}.pixel-wordmark{flex:none;align-items:center;gap:8px;height:48px;padding:0;display:inline-flex}.pixel-wordmark__letters{width:160px;height:48px;display:block;position:relative}.site-avatar{object-fit:cover;border:1px solid var(--border);border-radius:50%;flex:none;width:36px;height:36px}.pixel-wordmark canvas{opacity:0;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.pixel-wordmark canvas[data-ready]{opacity:1}.pixel-wordmark__fallback{color:#0000;white-space:nowrap;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;height:100%;font:900 32px/1 sans-serif;display:flex}.pixel-wordmark:has(canvas[data-ready]) .pixel-wordmark__fallback{visibility:hidden}@media(max-width:759px){.pixel-wordmark{gap:6px;height:44px}.pixel-wordmark__letters{width:112px;height:44px}.site-avatar{width:32px;height:32px}.pixel-wordmark__fallback{font-size:23px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
