:root{--font-logo: "Daybook Fraunces", serif;--font-body: "LXGW WenKai Screen", "PingFang SC", "Microsoft YaHei", serif;--font-ui: var(--font-body);--font-serif: "Noto Serif SC Variable", "Songti SC", "STSong", serif;--font-mono: "Maple Mono CN", "Maple Mono", "SFMono-Regular", "Cascadia Code", "JetBrains Mono", ui-monospace, monospace;--font-icon: "Material Symbols Rounded";--font-meta: var(--font-body);--font-cormorant: "Cormorant Garamond", "LXGW WenKai Screen", "Times New Roman", serif;--side-rail-width: 220px;--persistent-logo-left: 40px;--persistent-logo-top: 23px;--side-rail-top: calc(var(--persistent-logo-top) + 4.5rem);--hero-avatar-size: clamp(190px, 22vw, 260px);--hero-avatar-size-mobile: clamp(148px, 44vw, 178px);--home-hero-top: clamp(8rem, 20vh, 13rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-page: cubic-bezier(.165, .84, .44, 1);--ease-golden: cubic-bezier(.146, .854, .382, 1);--article-enter-ease: cubic-bezier(.165, .84, .44, 1);--motion-expressive-fast-spatial-duration: .35s;--motion-expressive-fast-spatial-easing: cubic-bezier(.42, 1.67, .21, .9);--motion-expressive-effects-duration: .2s;--motion-expressive-effects-easing: cubic-bezier(.34, .8, .34, 1);--duration-fast: .24s;--duration-normal: .42s;--duration-shared: .72s;--duration-article-enter: .5s;--post-enter-duration: .5s;--post-enter-y: 3rem;--post-stagger-step: 45ms;--transition-exit-delay: .32s;--transition-cleanup-delay: 1.12s;--notes-content-width: 44rem;--notes-aside-width: 300px;--notes-page-gap: clamp(72px, 9vw, 132px);--note-body-width: 44rem;--note-toc-width: clamp(11rem, 14vw, 13rem);--note-toc-top: clamp(2.25rem, 5vh, 4rem);--note-toc-hide-y: 1.75rem;--toc-collapse-duration: .28s;--reading-toc-rail-eligible: 0;--reading-toc-rail-direction: -1;--reading-toc-rail-controls-reserve: 9rem;--reading-toc-rail-height: min(70vh, calc(100dvh - var(--note-toc-top) - var(--reading-toc-rail-controls-reserve)));--reading-toc-rail-line-width: 1.2px;--reading-toc-rail-accent-line-width: 1.6px;--reading-toc-rail-line-inset: 188px;--reading-toc-rail-dot-size: 4px;--reading-toc-rail-dot-hit-size: 24px;--reading-toc-rail-idle-amplitude: 10.4px;--reading-toc-rail-max-extra-amplitude: 14px;--reading-toc-rail-bulge-half-height: 56px;--reading-toc-rail-label-gap: 12px;--reading-toc-rail-label-edge-inset: 26px;--reading-toc-rail-title-max-width: 9.5rem;--reading-toc-activation-line: 96px;--reading-toc-bottom-inset: 96px;--reading-toc-rail-state-duration: .36s;--reading-toc-rail-label-duration: .18s;--reading-toc-rail-state-ease: var(--ease-out);--reading-toc-rail-label-ease: var(--ease-out);--reading-toc-rail-label-shift: 6px;--reading-toc-rail-collapse-shift: 10px;--note-title-size: clamp(1.55rem, 2vw, 1.625rem);--note-text-size: 15px;--color-page: oklch(96% .005 298);--color-text: oklch(25% .005 298);--color-muted: oklch(40% .005 298);--color-line: oklch(25% .005 298 / .16);--color-accent: #6750a4;--color-marker: #cfb7f9;--color-hover-text: var(--color-accent);--graph-node-attachment: #c7b34b;--color-paper: oklch(98% .004 298);--color-faint: oklch(40% .005 298 / .36);--color-accent-soft: rgba(103, 80, 164, .1);--color-accent-soft-strong: rgba(103, 80, 164, .18);--color-tooltip-bg: oklch(25% .005 298);--color-tooltip-text: oklch(96% .005 298);--color-code-bg: oklch(40% .005 298 / .05);--color-code-border: oklch(40% .005 298 / .15);--color-code-inline-bg: oklch(40% .005 298 / .05);--color-golden-rect: oklch(25% .005 298 / .16);--color-golden-diagonal: oklch(25% .005 298 / .12);--color-golden-curve: oklch(25% .005 298 / .28);--shadow-code: inset 0 1px 0 oklch(100% 0 0 / .52);--syntax-text: #24292f;--syntax-comment: #6e7781;--syntax-keyword: #cf222e;--syntax-string: #0a3069;--syntax-number: #0550ae;--syntax-function: #8250df;--syntax-tag: #116329;--syntax-attr: #0550ae;--syntax-operator: #24292f;--syntax-error: #82071e;--syntax-inserted: #116329;--syntax-deleted: #82071e;--image-icon-filter: none;--shadow-avatar: 0 18px 48px oklch(25% .005 298 / .12), 0 4px 16px oklch(25% .005 298 / .07);--shadow-avatar-small: 0 10px 28px oklch(25% .005 298 / .1), 0 3px 10px oklch(25% .005 298 / .07);color-scheme:light}:root:lang(en){--font-body: "Cormorant Garamond", "LXGW WenKai Screen", "Times New Roman", serif}:root[data-theme=dark]{--color-page: oklch(22% .005 298);--color-text: oklch(92% .005 298);--color-muted: oklch(77% .005 298);--color-line: oklch(92% .005 298 / .14);--color-accent: #d0bcff;--color-marker: #8063a6;--color-hover-text: var(--color-accent);--graph-node-attachment: #d6c776;--color-paper: oklch(25% .005 298);--color-faint: oklch(77% .005 298 / .34);--color-accent-soft: rgba(208, 188, 255, .12);--color-accent-soft-strong: rgba(208, 188, 255, .22);--color-tooltip-bg: oklch(92% .005 298);--color-tooltip-text: oklch(22% .005 298);--color-code-bg: oklch(77% .005 298 / .05);--color-code-border: oklch(77% .005 298 / .15);--color-code-inline-bg: oklch(77% .005 298 / .05);--color-golden-rect: oklch(.93 .195089 103.2532 / .18);--color-golden-diagonal: oklch(92% .005 298 / .12);--color-golden-curve: oklch(92% .005 298 / .28);--shadow-code: inset 0 1px 0 oklch(100% 0 0 / .035);--syntax-text: #c9d1d9;--syntax-comment: #8b949e;--syntax-keyword: #ff7b72;--syntax-string: #a5d6ff;--syntax-number: #79c0ff;--syntax-function: #d2a8ff;--syntax-tag: #7ee787;--syntax-attr: #79c0ff;--syntax-operator: #c9d1d9;--syntax-error: #ffdcd7;--syntax-inserted: #aff5b4;--syntax-deleted: #ffdcd7;--image-icon-filter: invert(96%) sepia(6%) saturate(80%) hue-rotate(210deg) brightness(96%) contrast(92%);--shadow-avatar: 0 18px 48px oklch(0% 0 0 / .32), 0 4px 16px oklch(0% 0 0 / .22);--shadow-avatar-small: 0 10px 28px oklch(0% 0 0 / .28), 0 3px 10px oklch(0% 0 0 / .18);color-scheme:dark}:root[data-palette=warm]{--color-page: #f6f1e6;--color-text: #25201b;--color-muted: #4a4239;--color-line: #d9cfb9;--color-accent: #8a4423;--color-marker: #f1b880;--color-hover-text: var(--color-accent);--graph-node-attachment: #d4b856;--color-paper: #fbf6ec;--color-faint: #b8ad9b;--color-accent-soft: rgba(138, 68, 35, .1);--color-accent-soft-strong: rgba(138, 68, 35, .18);--color-tooltip-bg: #25201b;--color-tooltip-text: #fbf6ec;--color-code-bg: #f0e9d6;--color-code-border: #d9cfb9;--color-code-inline-bg: #ebe3cd;--color-golden-rect: rgba(138, 68, 35, .18);--color-golden-diagonal: rgba(138, 68, 35, .11);--color-golden-curve: rgba(37, 32, 27, .32);--shadow-code: inset 0 1px 0 rgba(255, 255, 255, .48);--syntax-text: #25201b;--syntax-comment: #7d7165;--syntax-keyword: #a54a3e;--syntax-string: #7d6028;--syntax-number: #aa5c2b;--syntax-function: #7b5982;--syntax-tag: #557243;--syntax-attr: #3a7575;--syntax-operator: #5f554c;--syntax-error: #9b392f;--syntax-inserted: #4f6c3f;--syntax-deleted: #9b392f;--image-icon-filter: none;--shadow-avatar: 0 18px 48px rgba(38, 35, 31, .14), 0 4px 16px rgba(38, 35, 31, .08);--shadow-avatar-small: 0 10px 28px rgba(38, 35, 31, .12), 0 3px 10px rgba(38, 35, 31, .08);color-scheme:light}:root[data-palette=warm][data-theme=dark]{--color-page: #131110;--color-text: #f4f0e3;--color-muted: #c8c1ae;--color-line: #2a2622;--color-accent: #c89761;--color-marker: #89582e;--color-hover-text: var(--color-accent);--graph-node-attachment: #d6c776;--color-paper: #1a1715;--color-faint: #4f4a42;--color-accent-soft: rgba(200, 151, 97, .12);--color-accent-soft-strong: rgba(200, 151, 97, .22);--color-tooltip-bg: #f4f0e3;--color-tooltip-text: #131110;--color-code-bg: #1a1715;--color-code-border: #2a2622;--color-code-inline-bg: #201c19;--color-golden-rect: rgba(200, 151, 97, .22);--color-golden-diagonal: rgba(200, 151, 97, .14);--color-golden-curve: rgba(244, 240, 227, .3);--shadow-code: inset 0 1px 0 rgba(255, 255, 255, .035);--syntax-text: #f4f0e3;--syntax-comment: #9d9484;--syntax-keyword: #d47b71;--syntax-string: #dcb378;--syntax-number: #df9862;--syntax-function: #bba1c9;--syntax-tag: #96af87;--syntax-attr: #81a3a3;--syntax-operator: #c8c1ae;--syntax-error: #ee8f7a;--syntax-inserted: #9bb978;--syntax-deleted: #ee8f7a;--image-icon-filter: invert(94%) sepia(8%) saturate(530%) hue-rotate(333deg) brightness(96%) contrast(88%);--shadow-avatar: 0 18px 48px rgba(0, 0, 0, .32), 0 4px 16px rgba(0, 0, 0, .22);--shadow-avatar-small: 0 10px 28px rgba(0, 0, 0, .28), 0 3px 10px rgba(0, 0, 0, .18);color-scheme:dark}@font-face{font-family:Material Symbols Rounded;src:url("../../vendor/fonts/material-symbols/material-symbols-rounded.5229c2c3ec.woff2") format("woff2");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Cormorant Garamond;size-adjust:127%;src:url("../../vendor/fonts/cormorant-garamond/cormorant-garamond-latin-400-normal.8048ac209b.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;size-adjust:127%;src:url("../../vendor/fonts/cormorant-garamond/cormorant-garamond-latin-500-normal.8197bf5361.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;size-adjust:127%;src:url("../../vendor/fonts/cormorant-garamond/cormorant-garamond-latin-600-normal.ae062b6d5a.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;size-adjust:127%;src:url("../../vendor/fonts/cormorant-garamond/cormorant-garamond-latin-700-normal.21a0fc1c5c.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;size-adjust:127%;src:url("../../vendor/fonts/cormorant-garamond/cormorant-garamond-latin-400-italic.e48e580270.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;size-adjust:127%;src:url("../../vendor/fonts/cormorant-garamond/cormorant-garamond-latin-500-italic.4fb55a7a6d.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;size-adjust:127%;src:url("../../vendor/fonts/cormorant-garamond/cormorant-garamond-latin-600-italic.0b6719b252.woff2") format("woff2");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond;size-adjust:127%;src:url("../../vendor/fonts/cormorant-garamond/cormorant-garamond-latin-700-italic.365e35e770.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Cormorant Garamond Meta;src:url("../../vendor/fonts/cormorant-garamond/cormorant-garamond-latin-600-italic.0b6719b252.woff2") format("woff2");font-weight:600;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box}::selection{background:var(--color-accent);color:var(--color-page)}body{margin:0;color:var(--color-text);background:var(--color-page);display:flex;flex-direction:column;font-family:var(--font-ui);line-height:1.7;min-height:100vh}.page-frame{display:contents}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif)}button,input,select,textarea{font-family:var(--font-ui)}pre,code,kbd,samp{font-family:var(--font-mono)}html{background:var(--color-page);scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-text) 25%,transparent) transparent}@media(hover:hover)and (pointer:fine){html{scrollbar-gutter:stable}}a{color:var(--color-text)}.material-symbol{direction:ltr;display:inline-block;width:1em;height:1em;flex-shrink:0;overflow:hidden;font-family:var(--font-icon);font-feature-settings:"liga";font-size:1.15rem;font-style:normal;font-weight:400;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;letter-spacing:0;line-height:1;text-transform:none;transition:font-variation-settings .18s ease;white-space:nowrap;word-wrap:normal}.site-logo{align-items:baseline;color:var(--color-text);display:inline-flex;font-family:var(--font-logo);font-size:1.32rem;font-style:italic;font-weight:580;font-variation-settings:"opsz" 72;gap:.28em;letter-spacing:0;text-decoration:none;transition:color .18s ease;width:max-content}.persistent-logo{animation:none!important;left:var(--persistent-logo-left);opacity:1!important;position:fixed;top:var(--persistent-logo-top);transform:none!important;z-index:1000}.site-header{align-items:center;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:72px;padding:0 40px}.site-header .site-nav{grid-column:2}.site-main{flex:1 0 auto;margin:0 auto;max-width:960px;padding:56px 24px 72px;width:100%}.page-shell{display:grid;flex:1 0 auto;grid-template-columns:var(--side-rail-width) minmax(0,1fr);min-height:100vh;width:100%}.side-rail{align-self:start;display:flex;flex-direction:column;left:var(--persistent-logo-left);padding:0;position:fixed;top:var(--side-rail-top);width:calc(var(--side-rail-width) - var(--persistent-logo-left));z-index:900}.side-avatar-link{display:block;margin-bottom:34px;width:max-content}.side-avatar-wrap{aspect-ratio:1;border-radius:50%;height:76px;width:76px;background-color:var(--color-surface-variant);box-shadow:var(--shadow-avatar-small);overflow:hidden;view-transition-name:site-avatar}.side-avatar{border-radius:inherit;display:block;height:100%;object-fit:cover;width:100%}.side-nav{align-items:flex-start;display:flex;flex-direction:column;gap:16px}.page-main{grid-column:1 / -1;margin:0;max-width:none;min-width:0;padding:clamp(56px,7vw,88px) clamp(32px,6vw,84px)}@media(max-width:960px){.page-shell{display:block}.side-rail{display:none}.page-main{padding:34px 20px 56px}:root{--mobile-topbar-height: 64px}.persistent-logo-container{position:sticky;top:0;z-index:2010;transition:transform .3s cubic-bezier(.4,0,.2,1)}.persistent-logo-main{align-items:center;background:var(--color-page);border-bottom:1px solid var(--color-line);display:flex;height:var(--mobile-topbar-height);justify-content:space-between;padding:0 20px;position:relative;width:100%;z-index:2}body.mobile-top-bar-hidden .persistent-logo-container{pointer-events:none;transform:translateY(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1) .3s}.persistent-logo{position:static!important}}@media(max-width:640px){.site-header{align-items:flex-start;display:flex;flex-direction:column;min-height:auto;padding:1.5rem 20px 20px}.site-nav{justify-content:flex-start}.site-main{padding:36px 20px 56px}}.site-tools{position:fixed;top:20px;right:32px;width:232px;z-index:950}body[data-reader-mode=immersive] .site-tools{display:none}.site-tools .notes-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0}.site-tools .notes-tools{margin:0;position:absolute;top:48px;right:0;width:min(360px,calc(100vw - 64px))}.site-tools .notes-search-panel{background:var(--color-page)}.site-tools .notes-search-input{width:100%}.site-tools .notes-tools.is-search-open .notes-search-panel{max-height:min(65vh,560px);overflow-y:auto}.desktop-search-results{margin-top:16px}.desktop-search-results .notes-item{padding-bottom:16px}.desktop-search-results .notes-item-title{font-size:1rem}.desktop-search-results .notes-item-summary{font-size:.85rem;margin-top:6px}.desktop-search-results .notes-item-meta,.desktop-search-results .notes-item-indicators{display:none}.home-footer{padding:32px 24px;text-align:center;color:var(--color-muted);font-family:var(--font-ui);font-size:.82rem}.home-footer p{margin:0}@media(min-width:961px){.about-body .page-main{grid-column:2}.site-header{padding-right:280px;padding-left:280px}}@media(max-width:1199px)and (min-width:961px){.site-header .site-nav{gap:16px}}@media(max-width:960px){.site-tools{display:none}}.site-nav{align-items:center;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:center;justify-self:center}.nav-link{font-family:var(--font-serif);isolation:isolate;align-items:center;color:var(--color-muted);display:inline-flex;font-size:.92rem;gap:.38rem;line-height:1;padding:.25rem 0;position:relative;text-decoration:none;transition:color .18s ease}:is(.github-repository-heading a,.github-followers a,.notes-footer-links a,.pagination-btn:not(.is-disabled),.note-rc-btn){isolation:isolate;position:relative}.nav-link:after,:is(.github-repository-heading a,.github-followers a,.notes-footer-links a,.pagination-btn:not(.is-disabled),.note-rc-btn):before{background:var(--color-marker);bottom:.06em;content:"";height:.65em;left:0;pointer-events:none;position:absolute;clip-path:inset(0 100% 0 0);transition:clip-path .35s cubic-bezier(.4,0,.6,1);width:100%;z-index:-1}.nav-link:hover,.nav-link:focus-visible,.github-home a:hover,.github-home a:focus-visible,:is(.github-followers a,.notes-footer-links a,.pagination-btn:not(.is-disabled),.note-rc-btn):hover,:is(.github-followers a,.notes-footer-links a,.pagination-btn:not(.is-disabled),.note-rc-btn):focus-visible,.site-logo:hover,.site-logo:focus-visible{color:var(--color-hover-text)}.nav-link:hover:after,.nav-link:focus-visible:after,:is(.github-repository-heading a,.github-followers a,.notes-footer-links a,.pagination-btn:not(.is-disabled),.note-rc-btn):hover:before,:is(.github-repository-heading a,.github-followers a,.notes-footer-links a,.pagination-btn:not(.is-disabled),.note-rc-btn):focus-visible:before{clip-path:inset(0);transition:clip-path .4s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){.nav-link:after,:is(.github-repository-heading a,.github-followers a,.notes-footer-links a,.pagination-btn:not(.is-disabled),.note-rc-btn):before{transition:none}}html[data-reduced-motion=true] .nav-link:after,html[data-reduced-motion=true] :is(.github-repository-heading a,.github-followers a,.notes-footer-links a,.pagination-btn:not(.is-disabled),.note-rc-btn):before{transition:none}.nav-link:hover .nav-icon,.nav-link:focus-visible .nav-icon,.github-home a:hover .material-symbol,.github-home a:focus-visible .material-symbol,:is(.pagination-btn:not(.is-disabled),.note-rc-btn):hover .material-symbol,:is(.pagination-btn:not(.is-disabled),.note-rc-btn):focus-visible .material-symbol{color:inherit;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.nav-link:focus-visible,.site-logo:focus-visible{outline:1px solid currentColor;outline-offset:6px}.header-theme-toggle{height:28px;margin-left:2px;width:28px}.header-theme-toggle .material-symbol{font-size:1.15rem}.notes-action-button{align-items:center;background:transparent;border:0;border-radius:50%;color:var(--color-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;position:relative;text-decoration:none;transition:color .16s ease,transform .16s ease;width:32px}.notes-action-button .material-symbol{font-size:1.28rem}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip)}[data-tooltip]:after,.floating-tooltip{background:var(--color-tooltip-bg);border-radius:8px;top:calc(100% + 9px);color:var(--color-tooltip-text);font-family:var(--font-ui);font-size:.72rem;font-style:normal;left:50%;line-height:1;opacity:0;padding:5px 10px;pointer-events:none;position:absolute;transform:translate(-50%);clip-path:inset(100% 50% 0 50% round 8px);transition:opacity var(--motion-expressive-effects-duration) var(--motion-expressive-effects-easing),clip-path var(--motion-expressive-effects-duration) var(--motion-expressive-effects-easing);white-space:nowrap;z-index:100}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after,.floating-tooltip.is-visible{opacity:1;clip-path:inset(0 0 0 0 round 8px)}@media(prefers-reduced-motion:reduce){[data-tooltip]:after,.floating-tooltip{clip-path:none!important;transition:opacity .16s ease!important}}html[data-reduced-motion=true] [data-tooltip]:after,html[data-reduced-motion=true] .floating-tooltip{clip-path:none!important;transition:opacity .16s ease!important}.floating-tooltip{position:fixed;top:0;left:0;transform:none;max-width:calc(100vw - 16px);white-space:normal;overflow-wrap:anywhere;line-height:1.35;z-index:2100}.notes-action-button:hover,.notes-action-button:focus-visible{color:var(--color-hover-text);transform:translateY(-2px)}.notes-action-button[aria-expanded=true],.notes-action-button[aria-pressed=true]{color:var(--color-accent)}.notes-action-button .material-symbol{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.notes-action-button:hover .material-symbol,.notes-action-button:focus-visible .material-symbol{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.notes-action-button[aria-expanded=true] .material-symbol,.notes-action-button[aria-pressed=true] .material-symbol{color:var(--color-accent)}.notes-action-button:focus-visible{outline:1px solid var(--color-accent);outline-offset:4px}.notes-action-button.header-theme-toggle{height:28px;width:28px}.notes-action-button.header-theme-toggle:after{content:none;display:none}.notes-action-button.header-theme-toggle:hover,.notes-action-button.header-theme-toggle:focus-visible{transform:none}.notes-tools{--notes-tool-shift-ease: cubic-bezier(.2, .78, .24, 1);display:grid;gap:.65rem;margin:0;min-width:0;opacity:0;transition:margin .3s var(--ease-out),opacity .18s ease}.notes-tools.has-open-panel{margin:0 0 clamp(1rem,2.2vw,1.35rem);opacity:1}.notes-tool-panel{max-height:0;min-height:0;opacity:0;overflow:hidden;pointer-events:none;transform:translateY(6px);transition:max-height .36s var(--notes-tool-shift-ease),opacity .18s ease,transform .32s var(--ease-out),visibility 0ms linear .36s;visibility:hidden}.notes-tools.is-search-open .notes-search-panel{max-height:4.25rem;opacity:1;pointer-events:auto;transform:translateY(0);transition:max-height .36s var(--notes-tool-shift-ease),opacity .22s ease,transform .32s var(--ease-out),visibility 0ms linear 0ms;visibility:visible}.notes-tools.is-tags-open .notes-tags-panel{max-height:clamp(15rem,50vh,25rem);opacity:1;pointer-events:auto;transform:translateY(0);transition:max-height .36s var(--notes-tool-shift-ease),opacity .22s ease,transform .36s var(--notes-tool-shift-ease),visibility 0ms linear 0ms;visibility:visible}.notes-tags-panel{position:relative;overflow:hidden}.notes-tags-scroll-viewport{height:100%;max-height:inherit;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;padding-right:.25rem}.notes-tags-scroll-viewport::-webkit-scrollbar{display:none}.notes-tags-scrollbar{position:absolute;right:0;top:0;bottom:0;width:6px;pointer-events:none;opacity:0;transition:opacity .22s ease;visibility:hidden}.notes-tags-scrollbar.is-visible{opacity:1;visibility:visible}.notes-tags-scrollbar-thumb{position:absolute;right:0;top:0;width:100%;background:color-mix(in srgb,var(--color-muted) 35%,transparent);border-radius:999px;will-change:transform,height}.notes-search-input{background:color-mix(in srgb,var(--color-paper) 72%,transparent);border:1px solid var(--color-line);border-radius:6px;color:var(--color-text);font:.84rem/1.4 var(--font-ui);max-width:100%;opacity:0;padding:.62rem .72rem;transform:translate(12px,-4px);transition:border-color .16s ease,color .16s ease,opacity .22s ease,transform .3s var(--ease-out);width:min(100%,18rem)}.notes-search-input::placeholder{color:var(--color-muted);opacity:.74}.notes-search-input:focus{border-color:var(--color-accent);outline:0}.notes-tools.is-search-open .notes-search-input{opacity:1;transform:translate(0)}.notes-tag-list{display:flex;flex-wrap:wrap;gap:.8rem;max-width:100%}.notes-tag-link{border:1px solid color-mix(in srgb,var(--color-muted) 25%,transparent);border-radius:999px;color:var(--color-muted);display:inline-grid;font-family:var(--font-ui);font-size:.85rem;line-height:1.35;max-width:100%;opacity:0;padding:.35rem .9rem;position:relative;text-decoration:none;transform:translateY(7px);transition-property:border-color,color,opacity,transform;transition-duration:.16s,.16s,.18s,.32s;transition-timing-function:ease,ease,ease,var(--ease-out);transition-delay:0ms}.notes-tag-link span{grid-area:1 / 1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-tools.is-tags-open .notes-tag-link,body.is-tags-overlay-open .mobile-tags-overlay .notes-tag-link{opacity:1;transform:translateY(0);transition-delay:0ms,0ms,calc(var(--tag-index, 0) * 42ms),calc(var(--tag-index, 0) * 42ms)}.notes-tag-link:hover,.notes-tag-link:focus-visible,.notes-tag-link.is-active{border-color:color-mix(in srgb,var(--color-muted) 80%,transparent);color:var(--color-hover-text)}.notes-tag-link:focus-visible{outline:1px solid var(--color-accent);outline-offset:4px}.notes-tool-empty{color:var(--color-muted);font-family:var(--font-ui);font-size:.82rem;margin:0}@media(prefers-reduced-motion:reduce){.notes-tools,.notes-tool-panel,.notes-search-input,.notes-tag-link{transition-delay:0ms!important}.notes-tool-panel,.notes-search-input,.notes-tag-link{transform:none!important}}.notes-footer-links{display:grid;gap:2px}.footer-link-row{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem}.search-highlight{background-color:var(--color-accent);border-radius:2px;color:var(--color-page)}.notes-footer-links a{color:var(--color-muted);text-decoration:none;transition:color .18s ease}.notes-footer-links a:hover,.notes-footer-links a:focus-visible{color:var(--color-hover-text)}.footer-separator{color:var(--color-muted);text-decoration:none;user-select:none}.note-toc-header{align-items:center;display:inline-flex;gap:.5rem;margin-bottom:.65rem}.note-toc-toggle{align-items:center;background:transparent;border:0;border-radius:50%;color:var(--color-muted);cursor:pointer;display:inline-flex;height:2rem;justify-content:center;padding:0;transition:color .16s ease,transform .16s ease;width:2rem}.note-toc-toggle .material-symbol{font-size:1.25rem;transition:transform .35s cubic-bezier(.42,1.67,.21,.9)}.note-toc:not(.is-open) .note-toc-toggle .material-symbol{transform:rotate(-180deg)}.note-toc-title{font-family:var(--font-serif);color:var(--color-muted);font-size:.78rem;line-height:1}.note-toc-toggle:hover,.note-toc-toggle:focus-visible{color:var(--color-hover-text)}.note-toc-toggle:hover .material-symbol,.note-toc-toggle:focus-visible .material-symbol{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.note-toc-toggle:focus-visible{outline:1px solid var(--color-accent);outline-offset:4px}.note-toc-panel{display:grid;grid-template-rows:1fr;max-height:calc(100vh - 176px);opacity:1;overflow:hidden;position:relative;transition:grid-template-rows var(--toc-collapse-duration) var(--ease-out),opacity var(--toc-collapse-duration) ease,transform var(--toc-collapse-duration) var(--ease-out),visibility var(--toc-collapse-duration) ease;visibility:visible}.note-toc:not(.is-open) .note-toc-panel{grid-template-rows:0fr;opacity:0;pointer-events:none;transform:translateY(-.45rem);visibility:hidden}.note-toc-panel ol{display:grid;gap:.55rem;list-style:none;margin:0;min-height:0;overflow:auto;padding:0 0 0 14px;position:relative;scrollbar-width:none;-ms-overflow-style:none}.note-toc-indicator{position:absolute;left:0;top:0;width:2px;background-color:var(--color-accent);transition:transform .4s cubic-bezier(.25,1,.5,1),opacity .3s ease;transform-origin:top;opacity:var(--indicator-opacity, 0);transform:translateY(var(--indicator-y, 0)) scaleY(var(--indicator-scale, 1));pointer-events:none;z-index:1}.note-toc-panel ol::-webkit-scrollbar{display:none}.note-toc-panel a{color:var(--color-muted);display:inline-block;text-decoration:none;transition:color .16s ease}.note-toc-panel a:hover,.note-toc-panel a:focus-visible{color:var(--color-hover-text)}.note-toc-panel a.is-active{color:var(--color-accent)}.note-toc-depth-3{margin-left:1rem}.note-toc-depth-4{margin-left:2rem}.reading-toc-rail{--reading-toc-rail-direction: 1;clip-path:inset(0 100% 0 0);color:var(--color-muted);font-family:var(--font-ui);height:var(--reading-toc-rail-height);left:0;opacity:0;filter:opacity(var(--hover-opacity, 1));pointer-events:none;position:absolute;top:0;transform:translate3d(calc(var(--reading-toc-rail-collapse-shift) * -1),0,0);transition:opacity var(--reading-toc-rail-state-duration) ease,transform var(--reading-toc-rail-state-duration) var(--reading-toc-rail-state-ease),clip-path var(--reading-toc-rail-state-duration) var(--reading-toc-rail-state-ease);width:100%}.reading-toc-rail-svg,.reading-toc-rail-dots{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.reading-toc-rail-svg{display:block;overflow:visible}.reading-toc-rail-base,.reading-toc-rail-accent{fill:none;stroke-linecap:round;stroke-dasharray:.12 2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.reading-toc-rail-base{stroke:color-mix(in srgb,var(--color-line) 82%,var(--color-muted));stroke-width:var(--reading-toc-rail-line-width)}.reading-toc-rail-accent{stroke-dasharray:none;stroke:var(--color-accent);stroke-width:var(--reading-toc-rail-accent-line-width)}[data-reading-toc-rail-dot]{--reading-toc-rail-dot-opacity: .72;--reading-toc-rail-dot-scale: 1;appearance:none;background:transparent;border:0;border-radius:50%;height:var(--reading-toc-rail-dot-hit-size);margin:0;padding:0;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:var(--reading-toc-rail-dot-hit-size)}[data-reading-toc-rail-dot]:before{background:color-mix(in srgb,var(--color-line) 64%,var(--color-muted));border-radius:50%;content:"";height:var(--reading-toc-rail-dot-size);left:50%;opacity:var(--reading-toc-rail-dot-opacity);position:absolute;top:50%;transform:translate(-50%,-50%) scale(var(--reading-toc-rail-dot-scale));transition:background-color .16s ease,opacity .16s ease,transform .16s var(--ease-out);width:var(--reading-toc-rail-dot-size)}[data-reading-toc-rail-dot][data-heading-level="3"]{--reading-toc-rail-dot-opacity: .62;--reading-toc-rail-dot-scale: .84}[data-reading-toc-rail-dot][data-heading-level="4"],[data-reading-toc-rail-dot][data-heading-level="5"],[data-reading-toc-rail-dot][data-heading-level="6"]{--reading-toc-rail-dot-opacity: .5;--reading-toc-rail-dot-scale: .7}[data-reading-toc-rail-dot].is-active:before,[data-reading-toc-rail-dot][aria-current=true]:before{--reading-toc-rail-dot-opacity: 1;--reading-toc-rail-dot-scale: 1;background:var(--color-accent)}.reading-toc-rail-current{align-items:flex-end;color:var(--color-muted);display:flex;flex-direction:column;font-size:.72rem;line-height:1.35;max-width:var(--reading-toc-rail-title-max-width);min-width:0;pointer-events:auto;position:absolute;text-align:right;text-decoration:none;transform:translateZ(0);transform-origin:right center;width:max-content;will-change:transform}[data-note-toc-stage][data-rail-direction="1"] .reading-toc-rail-current{align-items:flex-start;text-align:left;transform-origin:left center}.reading-toc-rail-current:hover,.reading-toc-rail-current:focus-visible{color:var(--color-accent)}.reading-toc-rail-current:focus-visible{border-radius:2px;outline:1px solid var(--color-accent);outline-offset:4px}.reading-toc-rail-title-stage{display:grid;height:2.7em;max-width:100%;min-height:2.7em}.reading-toc-rail-title{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;grid-area:1 / 1;line-clamp:2;max-width:100%;opacity:0;overflow:hidden;overflow-wrap:anywhere;transform:translate3d(0,var(--reading-toc-rail-label-shift),0);transition:opacity var(--reading-toc-rail-label-duration) ease,transform var(--reading-toc-rail-label-duration) var(--reading-toc-rail-label-ease)}.reading-toc-rail-title.is-active,.reading-toc-rail-title:not([aria-hidden=true]){opacity:1;transform:translateZ(0)}.reading-toc-rail-title[aria-hidden=true]{opacity:0;transform:translate3d(0,var(--reading-toc-rail-label-shift),0)}.reading-toc-rail-title.is-leaving[aria-hidden=true]{transform:translate3d(0,calc(var(--reading-toc-rail-label-shift) * -1),0)}.reading-toc-rail-percent{color:var(--color-accent);font-size:.68rem;font-variant-numeric:tabular-nums;margin-top:.12rem}html[data-reduced-motion=true] .reading-toc-rail,html[data-reduced-motion=true] .reading-toc-rail-title,html[data-reduced-motion=true] [data-reading-toc-rail-dot]:before{transition:none!important}@media(prefers-reduced-motion:reduce){.reading-toc-rail,.reading-toc-rail-title,[data-reading-toc-rail-dot]:before{transition:none!important}}.zoom-overlay{background-color:color-mix(in srgb,var(--color-page) 95%,transparent);cursor:default;touch-action:none;overscroll-behavior:contain;display:none;height:100%;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:3000}.zoom-img{cursor:zoom-in;margin:0!important;position:fixed;max-width:none;max-height:none;user-select:none;touch-action:none;z-index:3001}.zoom-control{position:fixed;z-index:3002;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:color-mix(in srgb,var(--color-page) 88%,transparent);color:var(--color-text);cursor:pointer}.zoom-control:hover{background:var(--color-accent-soft, var(--color-paper))}.zoom-control:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.zoom-control:disabled{opacity:.25;cursor:default}.zoom-control .material-symbol{font-size:26px;width:26px;height:26px;overflow:hidden;pointer-events:none}.zoom-previous{left:max(12px,env(safe-area-inset-left));top:calc(50% - 22px)}.zoom-next{right:max(12px,env(safe-area-inset-right));top:calc(50% - 22px)}.zoom-close{right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top))}.zoom-toggle{right:max(68px,calc(env(safe-area-inset-right) + 52px));top:max(16px,env(safe-area-inset-top))}.zoom-status,.zoom-caption{position:fixed;z-index:3002;left:50%;transform:translate(-50%);max-width:calc(100% - 140px);color:var(--color-text);font-family:var(--font-ui);font-size:.88rem;text-align:center;pointer-events:none}.zoom-status{top:max(28px,env(safe-area-inset-top));font-variant-numeric:tabular-nums}.zoom-caption{bottom:max(20px,env(safe-area-inset-bottom));max-height:3.2em;overflow:hidden}.zoom-overlay[aria-busy=true] .zoom-img{cursor:progress}.zoom-previous[data-tooltip]:after{left:0;transform:none}.zoom-next[data-tooltip]:after,.zoom-close[data-tooltip]:after{left:auto;right:0;transform:none}@media(max-width:767px){.zoom-previous,.zoom-next{top:auto;bottom:max(12px,env(safe-area-inset-bottom))}.zoom-previous[data-tooltip]:after,.zoom-next[data-tooltip]:after{top:auto;bottom:calc(100% + 9px)}.zoom-status{left:20px;transform:none;max-width:calc(100% - 140px)}}.mobile-menu-toggle{align-items:center;background:transparent;border:0;border-radius:50%;color:var(--color-text);cursor:pointer;display:none;height:40px;justify-content:center;margin-left:0;padding:0;position:relative;width:40px}@media(max-width:960px){.mobile-menu-toggle{display:inline-flex}}.mobile-menu-toggle .material-symbol{font-size:1.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(0);transition:opacity .35s cubic-bezier(.42,1.67,.21,.9),transform .35s cubic-bezier(.42,1.67,.21,.9)}.mobile-menu-toggle .icon-close{opacity:0;transform:translate(-50%,-50%) rotate(-90deg)}body.is-mobile-drawer-open .mobile-menu-toggle .icon-menu{opacity:0;transform:translate(-50%,-50%) rotate(90deg)}body.is-mobile-drawer-open .mobile-menu-toggle .icon-close{opacity:1;transform:translate(-50%,-50%) rotate(0)}.mobile-drawer-mask{background:color-mix(in srgb,var(--color-page) 60%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .32s cubic-bezier(.2,.78,.24,1);z-index:2005}@media(max-width:960px){.mobile-drawer-mask{display:block;pointer-events:none}body.is-mobile-drawer-open .mobile-drawer-mask{opacity:1;pointer-events:auto}}.mobile-drawer{background:var(--color-page);border-left:1px solid var(--color-line);bottom:0;display:none;height:calc(100dvh - var(--mobile-topbar-height, 0));max-width:400px;position:fixed;right:0;top:var(--mobile-topbar-height, 0);transform:translate(100%);transition:transform .32s cubic-bezier(.2,.78,.24,1),visibility 0s linear .32s;visibility:hidden;width:82vw;z-index:2006}@media(max-width:960px){.mobile-drawer{display:block}body.is-mobile-drawer-open .mobile-drawer{transform:translate(0);transition:transform .42s cubic-bezier(.2,.78,.24,1),visibility 0s linear 0s;visibility:visible}}.mobile-drawer-content{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:24px 24px calc(24px + env(safe-area-inset-bottom));scrollbar-width:none}.mobile-drawer-content::-webkit-scrollbar{display:none}.mobile-drawer-nav,.mobile-drawer-funcs,.mobile-drawer-switches{display:flex;flex-direction:column;gap:8px}.mobile-drawer-divider{background:var(--color-line);height:1px;margin:20px 0;width:100%}.drawer-nav-link{align-items:center;background:transparent;border:none;border-radius:12px;color:var(--color-text);cursor:pointer;display:flex;gap:16px;min-height:48px;padding:0 12px;text-decoration:none;transition:background .16s ease,color .16s ease;width:100%}.drawer-nav-link:focus-visible,.drawer-footer-row a:focus-visible{outline:1px solid var(--color-accent);outline-offset:4px}.drawer-nav-link .material-symbol{font-size:1.35rem}.drawer-nav-label{font-family:var(--font-serif);font-size:1.05rem}.drawer-switch-item{align-items:center;cursor:pointer;display:flex;justify-content:space-between;min-height:48px;padding:0 12px}.drawer-switch-label{align-items:center;display:flex;gap:16px}.drawer-switch-label .material-symbol{color:var(--color-text);font-size:1.35rem}.drawer-switch-text{color:var(--color-text);font-family:var(--font-ui);font-size:1.05rem}.material-switch{align-items:center;background:transparent;border:0;cursor:pointer;display:inline-flex;height:32px;padding:0;position:relative;width:52px}.switch-track{background:var(--color-paper);border:2px solid var(--color-muted);border-radius:16px;height:100%;transition:background .2s cubic-bezier(.34,.8,.34,1),border-color .2s cubic-bezier(.34,.8,.34,1);width:100%}.switch-thumb{background:var(--color-muted);border-radius:50%;height:16px;left:16px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:background .2s cubic-bezier(.34,.8,.34,1),width .35s cubic-bezier(.42,1.67,.21,.9),height .35s cubic-bezier(.42,1.67,.21,.9),left .35s cubic-bezier(.42,1.67,.21,.9);width:16px}.material-switch[aria-checked=true] .switch-track{background:var(--color-accent);border-color:var(--color-accent)}.material-switch[aria-checked=true] .switch-thumb{background:var(--color-page);height:24px;left:36px;width:24px}.material-switch.is-pressed .switch-thumb{height:28px;width:28px}.mobile-drawer-footer{margin-top:auto;padding-top:24px}.drawer-footer-row{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:4px}.drawer-footer-row a{color:var(--color-muted);font-family:var(--font-ui);font-size:.82rem;text-decoration:none;transition:color .18s ease}.drawer-copyright{color:var(--color-muted);font-family:var(--font-ui);font-size:.82rem;margin:12px 0 0}.mobile-overlay-container{bottom:0;display:none;left:0;pointer-events:none;position:fixed;right:0;top:var(--mobile-topbar-height, 0);z-index:1905}@media(max-width:960px){.mobile-overlay-container{display:block}}.mobile-overlay-mask{background:color-mix(in srgb,var(--color-page) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);inset:0;opacity:0;position:absolute;transition:opacity .3s cubic-bezier(.2,.78,.24,1)}body.is-tags-overlay-open .mobile-overlay-container,body.is-search-overlay-open .mobile-overlay-container{pointer-events:auto}body.is-tags-overlay-open .mobile-overlay-mask,body.is-search-overlay-open .mobile-overlay-mask{opacity:1;transition:opacity .3s cubic-bezier(.2,.78,.24,1) 0ms}.mobile-overlay{display:flex;flex-direction:column;inset:0;opacity:0;position:absolute;max-height:none;overflow:hidden;background:var(--color-page);border-radius:0;transform:translateY(10px);transition:opacity .3s cubic-bezier(.2,.78,.24,1),transform .3s cubic-bezier(.2,.78,.24,1),visibility 0s linear .3s;visibility:hidden}body.is-tags-overlay-open .mobile-tags-overlay,body.is-search-overlay-open .mobile-search-overlay{opacity:1;transform:translateY(0);transition:opacity .3s cubic-bezier(.2,.78,.24,1),transform .3s cubic-bezier(.2,.78,.24,1),visibility 0s linear 0s;visibility:visible}.mobile-overlay-header{align-items:center;display:flex;flex-shrink:0;gap:16px;min-height:72px;padding:16px 24px 0}.mobile-overlay-title{color:var(--color-text);flex:1;font-family:var(--font-serif);font-size:1.3rem;margin:0}.mobile-overlay-close{flex-shrink:0;align-items:center;background:transparent;border:none;border-radius:50%;color:var(--color-muted);cursor:pointer;display:flex;height:40px;justify-content:center;margin-left:auto;padding:0;transition:color .16s ease;width:40px}.mobile-overlay-close:hover,.mobile-overlay-close:focus-visible{color:var(--color-hover-text)}.mobile-overlay-close:focus-visible{outline:1px solid var(--color-accent)}.mobile-overlay-close .material-symbol{font-size:1.5rem}.mobile-search-input-wrapper{min-width:0;align-items:center;background:color-mix(in srgb,var(--color-paper) 72%,transparent);border:1px solid var(--color-line);border-radius:8px;display:flex;flex:1;padding:0 12px;transition:border-color .16s ease}.mobile-search-input-wrapper:focus-within{border-color:var(--color-accent)}.mobile-search-icon{color:var(--color-muted);font-size:1.25rem}.mobile-search-input{background:transparent;border:none;color:var(--color-text);flex:1;font:.95rem/1.4 var(--font-ui);padding:10px;width:100%}.mobile-search-input::placeholder{color:var(--color-muted);opacity:.74}.mobile-search-input:focus{outline:0}.mobile-overlay-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:24px 24px calc(24px + env(safe-area-inset-bottom))}@media(min-width:961px){.mobile-overlay-container{display:block;top:72px;z-index:920}.page-body .mobile-overlay-container{left:var(--side-rail-width)}.mobile-overlay-mask,.mobile-search-overlay{display:none}.mobile-tags-overlay{inset:0;max-height:none;border-radius:0;padding:0 clamp(32px,6vw,84px) 32px}.page-body .mobile-tags-overlay{padding-inline:0 var(--side-rail-width)}.mobile-tags-overlay .mobile-overlay-header,.mobile-tags-overlay .mobile-overlay-content{width:min(var(--notes-content-width),100%);margin-inline:auto;padding-inline:0}body.is-tags-overlay-open .page-frame main,body.is-tags-overlay-open .home-footer{visibility:hidden}}.mobile-search-results{display:flex;flex-direction:column;gap:16px}.mobile-search-results .notes-item-header{grid-template-columns:auto minmax(0,1fr)}.mobile-search-results .notes-item-meta{min-width:0;max-width:100%;flex-wrap:wrap;white-space:normal;line-height:1.4;row-gap:.35rem}.mobile-overlay-empty,.mobile-search-loading{color:var(--color-muted);font-family:var(--font-ui);font-size:.95rem;margin:0;text-align:center}.theme-icon-container{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.theme-icon-container svg{display:none;transition:transform .25s ease;color:inherit}:root[data-theme-mode=light] .theme-toggle svg.lucide-sun,:root[data-theme-mode=dark] .theme-toggle svg.lucide-moon,:root[data-theme-mode=system] .theme-toggle svg.lucide-sun-moon{display:block}.theme-toggle:hover .theme-icon-container svg,.theme-toggle:focus-visible .theme-icon-container svg{transform:rotate(20deg)}.theme-toggle:active .theme-icon-container svg{transform:rotate(90deg)}.notes-action-button.palette-toggle .material-symbol{color:var(--color-accent)}.mobile-theme-selector{--theme-position: 1;display:flex;align-items:center;position:relative;width:max-content;padding:4px;gap:4px;border-radius:999px;background:color-mix(in srgb,var(--color-accent) 12%,var(--color-page))}.theme-selector-indicator{position:absolute;top:4px;left:calc(4px + var(--theme-position) * 36px);right:calc(4px + (2 - var(--theme-position)) * 36px);height:32px;border-radius:16px;background:var(--color-accent);pointer-events:none;transition:left .28s cubic-bezier(.22,.61,.36,1),right .28s cubic-bezier(.22,.61,.36,1);z-index:0}.mobile-theme-selector[data-direction=right] .theme-selector-indicator{transition-delay:70ms,0ms}.mobile-theme-selector[data-direction=left] .theme-selector-indicator{transition-delay:0ms,70ms}:root[data-theme-mode=light] .mobile-theme-selector{--theme-position: 0}:root[data-theme-mode=dark] .mobile-theme-selector{--theme-position: 2}.theme-selector-btn{position:relative;z-index:1;background:transparent;border:0;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--color-muted);cursor:pointer;border-radius:50%;transition:color .15s ease}.theme-selector-btn svg{width:18px;height:18px}.theme-selector-btn[aria-checked=true]{color:var(--color-page)}.theme-selector-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}@media(prefers-reduced-motion:reduce){.theme-selector-indicator,.theme-icon-container svg{transition:none!important}}.reader-mode-toggle,.share-toggle-btn{align-items:center;background:transparent;border:0;color:var(--color-muted);cursor:pointer;display:inline-flex;font-family:inherit;justify-content:center;margin:0;padding:0;position:relative;transition:color .16s ease,transform .16s ease;vertical-align:text-bottom}.reader-mode-toggle:hover,.reader-mode-toggle:focus-visible,.share-toggle-btn:hover,.share-toggle-btn:focus-visible{color:var(--color-hover-text)}.reader-mode-toggle[aria-pressed=true],.share-toggle-btn[aria-pressed=true]{color:var(--color-accent)}.reader-mode-toggle .material-symbol,.share-toggle-btn .material-symbol{font-size:1.15em;line-height:1}.reader-mode-exit{align-items:center;background:transparent;border:0;border-radius:4px;color:var(--color-muted);cursor:pointer;display:flex;height:calc(var(--note-title-size) * 1.15);justify-content:center;padding:0;position:relative;transition:color .16s ease;width:36px;z-index:10}.reader-mode-exit:hover,.reader-mode-exit:focus-visible{color:var(--color-hover-text)}.reader-mode-exit .material-symbol{font-size:1.3rem}.reader-mode-exit[hidden]{display:none!important}.article-action{display:inline-flex;align-items:center;justify-content:center;gap:.35em;padding:0;min-height:28px;border:0;background:transparent;color:var(--color-muted);font:inherit;cursor:pointer;text-decoration:none;vertical-align:middle}.article-action .material-symbol{font-size:1.15em}.article-action:hover,.article-action:focus-visible{color:var(--color-hover-text)}.like-button[aria-pressed=true]{color:var(--color-accent)}.like-button[aria-pressed=true] .material-symbol{font-variation-settings:"FILL" 1}.like-button:disabled{cursor:wait;opacity:.6}.like-entry{display:inline-flex;align-items:center}.like-button .material-symbol{position:relative;display:inline-block;transform-origin:center}.like-button[data-like-feedback=success] .material-symbol{color:var(--color-accent);animation:like-confirm .48s cubic-bezier(.2,.8,.3,1)}.like-button[data-like-feedback=success][aria-pressed=true] .material-symbol:before{content:"";position:absolute;inset:-.3em;border:1px solid currentColor;border-radius:50%;pointer-events:none;opacity:0;animation:like-ripple .52s ease-out}.like-button[data-like-feedback=error] .material-symbol{color:var(--syntax-error);animation:like-reject .36s ease-in-out}@keyframes like-confirm{0%,to{transform:scale(1)}22%{transform:scale(.8)}55%{transform:scale(1.3)}78%{transform:scale(.96)}}@keyframes like-ripple{0%{transform:scale(.6);opacity:.65}to{transform:scale(1.5);opacity:0}}@keyframes like-reject{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.like-button[data-like-feedback][aria-pressed] .material-symbol,.like-button[data-like-feedback][aria-pressed] .material-symbol:before{animation:none}}html[data-reduced-motion=true] .like-button[data-like-feedback][aria-pressed] .material-symbol,html[data-reduced-motion=true] .like-button[data-like-feedback][aria-pressed] .material-symbol:before{animation:none}.memo-actions{margin-top:.65rem;color:var(--color-muted)}.rss-dialog.settings-overlay{margin:0;padding:16px 0;max-width:none;max-height:none;height:100dvh;border:0;background:transparent;color-scheme:light}.rss-dialog:not([open]){display:none}.rss-dialog::backdrop{background:transparent}.rss-dialog .rss-paper{min-height:min(480px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;font-size:1.05rem}.rss-dialog-header form{margin:0}.rss-dialog p{line-height:1.7;color:inherit}.rss-dialog input{box-sizing:border-box;width:100%;padding:12px 0;border:0;border-block:1px solid rgba(62,56,50,.2);border-radius:0;background:transparent;color:inherit;font:inherit}.rss-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.rss-dialog-actions a,.rss-dialog-actions button{font:inherit;color:inherit;cursor:pointer;background:transparent;border:0;padding:4px 0}.rss-dialog-actions [data-rss-copy]{position:relative;display:inline-grid;text-align:left}.rss-copy-reserve{grid-area:1 / 1;visibility:hidden;white-space:nowrap}[data-rss-copy-text]{position:absolute;inset:4px 0;white-space:nowrap}.rss-status{min-height:1.7em;margin-bottom:0}body:has(.rss-dialog[open]){overflow:hidden}.rss-dialog :is(input,button,a):focus-visible{outline:2px solid #3e3832;outline-offset:3px}html[data-reduced-motion=true] .rss-dialog,html[data-reduced-motion=true] .rss-dialog :is(.settings-backdrop,.settings-paper){transition:none}@media(max-width:480px){.rss-dialog .rss-paper{padding:50px 22px 70px}}.number-flip{position:relative;display:inline-grid;perspective:8em;white-space:nowrap}.number-flip-current{display:inline-block;transform-origin:center;backface-visibility:hidden}.number-flip.is-number-flipping:before{content:attr(data-number-previous) / "";position:absolute;inset:0;pointer-events:none;transform-origin:center;backface-visibility:hidden;animation:number-flip-out .4s ease-in-out both}.number-flip.is-number-flipping>.number-flip-current{animation:number-flip-in .4s ease-in-out both}@keyframes number-flip-out{0%{transform:rotateX(0);opacity:1}49%,to{transform:rotateX(90deg);opacity:0}}@keyframes number-flip-in{0%,49%{transform:rotateX(-90deg);opacity:0}to{transform:rotateX(0);opacity:1}}@media(prefers-reduced-motion:reduce){.number-flip.is-number-flipping:before{display:none}.number-flip.is-number-flipping>.number-flip-current{animation:none}}html[data-reduced-motion=true] .number-flip.is-number-flipping:before{display:none}html[data-reduced-motion=true] .number-flip.is-number-flipping>.number-flip-current{animation:none}.settings-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:flex;justify-content:center;align-items:center;visibility:hidden;opacity:0;transition:visibility .3s,opacity .3s;pointer-events:auto}html.has-custom-cursor .settings-overlay,html.has-custom-cursor .settings-overlay *{cursor:auto!important}.settings-overlay.is-open{visibility:visible;opacity:1}.settings-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);transition:backdrop-filter .3s,-webkit-backdrop-filter .3s,background-color .3s}.settings-overlay.is-open .settings-backdrop{background-color:#0000004d;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.settings-paper{position:relative;width:min(860px,94vw);min-height:480px;padding:50px 50px 70px;background-color:#f8f5e1;background-size:1000px;background-position:center right;border-radius:2px 2px 0 0;filter:drop-shadow(0 10px 15px rgba(0,0,0,.15)) brightness(.95) sepia(30%) saturate(80%);clip-path:polygon(0% 0%,0% 93%,5% 98%,6% 99%,8% 95%,12% 94%,15% 97%,17% 93%,20% 98%,22% 97%,25% 99%,31% 94%,35% 93%,39% 96%,43% 93%,45% 94%,47% 95%,50% 92%,52% 96%,54% 93%,58% 92%,60% 95%,62% 93%,65% 96%,69% 93%,72% 93%,75% 94%,79% 97%,81% 94%,85% 93%,88% 92%,90% 95%,93% 93%,95% 92%,97% 95%,100% 97%,100% 0%);transform:scale(.96);transition:transform .3s cubic-bezier(.16,1,.3,1);font-family:var(--font-body);color:#3e3832}.settings-paper:before{content:"";position:absolute;inset:4px;background-color:#fcfbf5;background-size:1000px;background-position:right -4px center;pointer-events:none;border-radius:2px;z-index:-1}.settings-overlay.is-open .settings-paper{background-image:url("../../images/settings-paper.47711ea874.webp");transform:scale(1)}.settings-overlay.is-open .settings-paper:before{background-image:url("../../images/settings-paper.47711ea874.webp")}@media(prefers-reduced-motion:reduce){.settings-overlay,.settings-backdrop,.settings-paper{transition:none!important}}.settings-close-btn{position:absolute;top:25px;right:25px;background:transparent;border:none;color:#3e383280;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:50%}html.has-custom-cursor .settings-close-btn:hover{cursor:pointer!important}.settings-title{margin:0 0 40px;font-size:1.4rem;font-weight:400;text-align:center;color:#2c2723;letter-spacing:.05em}.settings-content{display:flex;flex-direction:column;align-items:flex-start;gap:35px}.settings-checkbox-label{display:flex;align-items:flex-start;user-select:none;font-size:1.05rem;line-height:1.4;position:relative}.settings-checkbox-input{appearance:none;position:absolute;inset:0;margin:0;opacity:0}.settings-checkbox-svg{width:1.25rem;height:1.25rem;margin-right:12px;flex-shrink:0;fill:transparent;margin-top:2px}.settings-checkbox-svg polyline{stroke:#2a2522;stroke-width:2px;stroke-dasharray:24;stroke-dashoffset:24;stroke-linecap:round;stroke-linejoin:round}@keyframes dash{to{stroke-dashoffset:0}}.settings-checkbox-svg line{stroke:#3e3832bf;stroke-width:2px;transition:transform .2s ease,scale .2s ease,translate .2s ease}.settings-checkbox-label:nth-of-type(1) .settings-checkbox-svg line{transform-origin:center}.settings-checkbox-label:nth-of-type(1) .settings-checkbox-svg line:nth-of-type(odd){scale:.7 1}.settings-checkbox-label:nth-of-type(1) .settings-checkbox-svg line:nth-of-type(2n){scale:1 .7}.settings-checkbox-label:nth-of-type(2) .settings-checkbox-svg line:nth-of-type(1){translate:-60% 0}.settings-checkbox-label:nth-of-type(2) .settings-checkbox-svg line:nth-of-type(3){translate:40% 0}.settings-checkbox-label:nth-of-type(3) .settings-checkbox-svg line:nth-of-type(1){translate:-10px 0}.settings-checkbox-label:nth-of-type(3) .settings-checkbox-svg line:nth-of-type(2){translate:0 10px}.settings-checkbox-label:nth-of-type(4) .settings-checkbox-svg line:nth-of-type(3){translate:-10px 0}.settings-checkbox-label .settings-checkbox-input:checked+.settings-checkbox-svg polyline{animation:dash .4s ease forwards}.settings-checkbox-label .settings-checkbox-input:checked+.settings-checkbox-svg line{scale:1;translate:0}.settings-checkbox-text{color:#3e3832}@media(max-width:960px){.setting-item-cursor,.setting-item-clock-cursor{display:none}}.share-paper{font-family:var(--font-body)}.share-textarea{width:100%;height:120px;min-height:80px;max-height:200px;background:transparent;border:none;padding:0;margin:0;font-family:inherit;font-size:1.2rem;line-height:1.6;color:#2c2723;resize:none;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .2s}.share-textarea:hover,.share-textarea:focus{scrollbar-color:rgba(62,56,50,.2) transparent}.share-textarea::-webkit-scrollbar{width:6px;background-color:transparent}.share-textarea::-webkit-scrollbar-thumb{background-color:transparent;border-radius:4px}.share-textarea:hover::-webkit-scrollbar-thumb,.share-textarea:focus::-webkit-scrollbar-thumb{background-color:#3e383233}.share-textarea:focus-visible{outline:none}.share-actions{display:flex;gap:20px;margin-top:32px;width:100%;justify-content:flex-start}.share-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:none;padding:8px 0;color:#3e3832;font-family:inherit;font-size:1.1rem;cursor:pointer;transition:color .2s,transform .1s;opacity:.8}.share-action-btn:hover,.share-action-btn:focus-visible{opacity:1;color:#000}.share-action-btn:active{transform:scale(.96)}.share-action-btn .material-symbol{font-size:1.35rem}.share-btn-text,.share-copy-text{font-family:inherit}@media(max-width:600px){.share-actions{gap:16px}}.text-roll-active{white-space:nowrap}.text-roll-char{position:relative}.text-roll-old,.text-roll-new{position:relative;animation:text-roll-out .4s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--roll-delay, 0ms)}.text-roll-overlap{position:absolute;left:0;top:0}.text-roll-new{animation-name:text-roll-in}@keyframes text-roll-out{0%{top:0;opacity:1}to{top:-1em;opacity:0}}@keyframes text-roll-in{0%{top:1em;opacity:0}to{top:0;opacity:1}}@media(prefers-reduced-motion:reduce){.text-roll-old{display:none}.text-roll-new{animation:none;top:0;opacity:1}}html[data-reduced-motion=true] .text-roll-old{display:none}html[data-reduced-motion=true] .text-roll-new{animation:none;top:0;opacity:1}.navigation-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.navigation-progress{display:none}@media(min-width:961px)and (hover:hover)and (pointer:fine){html[data-navigation-loading=true]:not(.has-custom-cursor),html[data-navigation-loading=true]:not(.has-custom-cursor) *{cursor:progress!important}}@media(max-width:960px){[data-navigation-logo]{display:inline-block;white-space:nowrap}html[data-navigation-loading=true] body .persistent-logo-container{transform:translateY(0);pointer-events:auto;transition-delay:0s}html[data-navigation-loading=true] body[data-reader-mode=immersive] .persistent-logo-container{display:block!important;position:fixed;width:100%}.navigation-progress{display:block;position:absolute;z-index:3;inset:auto 0 0;height:2px;overflow:hidden;pointer-events:none;background:var(--color-accent-soft);opacity:0;transition:opacity .12s ease}html[data-navigation-loading=true] .navigation-progress{opacity:1}.navigation-progress span{position:absolute;inset:0 100% 0 0;border-radius:999px;background:var(--color-accent);transform-origin:left}html[data-navigation-loading=true] .navigation-progress span{animation:navigation-progress-leading-head 1.75s linear infinite,navigation-progress-leading-tail 1.75s linear infinite}html[data-navigation-loading=true] .navigation-progress span+span{animation-name:navigation-progress-trailing-head,navigation-progress-trailing-tail}}@keyframes navigation-progress-leading-head{0%{right:100%;animation-timing-function:cubic-bezier(.3,0,.8,.15)}57.142857%,to{right:0}}@keyframes navigation-progress-leading-tail{0%{left:0}14.285714%{left:0;animation-timing-function:cubic-bezier(.3,0,.8,.15)}71.428571%,to{left:100%}}@keyframes navigation-progress-trailing-head{0%{right:100%}37.142857%{right:100%;animation-timing-function:cubic-bezier(.3,0,.8,.15)}85.714286%,to{right:0}}@keyframes navigation-progress-trailing-tail{0%{left:0}51.428571%{left:0;animation-timing-function:cubic-bezier(.3,0,.8,.15)}to{left:100%}}@media(prefers-reduced-motion:reduce){html[data-navigation-loading=true] .navigation-progress span{animation:none!important;inset:0;transform:scaleX(.35)}.navigation-progress{transition:none}}html[data-reduced-motion=true][data-navigation-loading=true] .navigation-progress span{animation:none!important;inset:0;transform:scaleX(.35)}.privacy-overlay{margin:0;padding:16px 0;border:0;max-width:none;max-height:none;height:100dvh;background:transparent;color-scheme:light}.privacy-overlay:not([open]){display:none}.privacy-overlay::backdrop{background:transparent}.privacy-overlay .privacy-paper{min-height:min(480px,calc(100dvh - 32px))}.privacy-content{height:min(360px,calc(100dvh - 152px));overflow-y:auto;scrollbar-width:thin;font:1.05rem/1.65 var(--font-body)}.privacy-page{min-height:100%;display:flex;flex-direction:column}.privacy-page[hidden]{display:none}.privacy-overlay .settings-title{margin:0 28px 32px}.privacy-overlay .settings-title:focus{outline:none}.privacy-content :is(p,button,label,.settings-checkbox-text){font:inherit;color:#3e3832}.privacy-content p{margin:0 0 20px}.privacy-text-btn{width:fit-content;border:0;padding:6px 0;background:transparent;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.privacy-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:auto;padding-top:32px}.privacy-option{min-height:44px;align-items:baseline}.privacy-option .settings-checkbox-svg{align-self:flex-start;margin-top:6px}.privacy-save{align-self:flex-end}.privacy-back{margin-top:auto}.privacy-content .privacy-status{margin:12px 0 0}.privacy-status:empty{display:none}.privacy-overlay button:disabled{opacity:.6;cursor:wait}.privacy-overlay button:focus-visible,.privacy-option:has(input:focus-visible){outline:2px solid #3e3832;outline-offset:3px}.settings-privacy-btn{padding:0;border:0;background:transparent;color:#3e3832;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}@media(max-width:480px){.privacy-overlay .privacy-paper{padding:50px 22px 70px}.privacy-content{height:auto;max-height:calc(100dvh - 152px)}.privacy-page{min-height:min(360px,calc(100dvh - 152px))}.privacy-choices{gap:12px}}@media(prefers-reduced-motion:reduce){.privacy-overlay .settings-checkbox-svg line{transition:none}.privacy-overlay .settings-checkbox-label .settings-checkbox-input:checked+.settings-checkbox-svg polyline{animation:none;stroke-dashoffset:0}}html[data-reduced-motion=true] .privacy-overlay,html[data-reduced-motion=true] .privacy-overlay :is(.settings-backdrop,.settings-paper,.settings-checkbox-svg line){transition:none}html[data-reduced-motion=true] .privacy-overlay .settings-checkbox-label .settings-checkbox-input:checked+.settings-checkbox-svg polyline{animation:none;stroke-dashoffset:0}[data-settings-page][hidden],.privacy-settings-back[hidden]{display:none}.has-privacy-page>.privacy-content{position:absolute;inset:50px 50px 70px;height:auto;max-height:none}.has-privacy-page .privacy-page{min-height:100%}.has-privacy-page .settings-title{margin:0 28px 32px}.has-privacy-page .settings-title:focus{outline:none}.has-privacy-page .privacy-content button:focus-visible{outline:2px solid #3e3832;outline-offset:3px}.privacy-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.privacy-footer .privacy-save{margin-left:auto}@media(prefers-reduced-motion:reduce){.has-privacy-page .settings-checkbox-svg line{transition:none}.has-privacy-page .settings-checkbox-label .settings-checkbox-input:checked+.settings-checkbox-svg polyline{animation:none;stroke-dashoffset:0}}html[data-reduced-motion=true] .has-privacy-page .settings-checkbox-svg line{transition:none}html[data-reduced-motion=true] .has-privacy-page .settings-checkbox-label .settings-checkbox-input:checked+.settings-checkbox-svg polyline{animation:none;stroke-dashoffset:0}@media(min-width:961px)and (hover:hover)and (pointer:fine){html.has-custom-cursor:where(:not([data-reduced-motion=true])),html.has-custom-cursor:where(:not([data-reduced-motion=true])) *{cursor:none!important}}.daybook-cursor{position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;z-index:99999;will-change:transform}.daybook-cursor__core{position:absolute;top:50%;left:50%;width:8px;height:8px;background-color:var(--color-text);opacity:1;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,border-radius .3s ease,transform .3s var(--ease-out),opacity .3s ease,background-color .3s ease;will-change:width,height,border-radius,transform,opacity}.daybook-cursor:before{content:"";position:absolute;top:0;left:0;width:24px;height:24px;box-sizing:border-box;border:1px solid var(--color-text);border-radius:2px;opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.25);transition:transform .3s var(--ease-out),opacity .3s ease}.daybook-cursor[data-cursor-state=hover]:not(.is-loading):before{opacity:.45;transform:translate(-50%,-50%) rotate(45deg) scale(1)}.daybook-cursor.is-active[data-cursor-state=hover]:not(.is-loading):before{transform:translate(-50%,-50%) rotate(45deg) scale(.875)}.daybook-cursor__liquid{position:absolute;width:56px;height:56px;left:-28px;top:-28px;fill:var(--color-accent);opacity:0;transform:scale(.535);transition:transform .3s ease,opacity .3s ease}.daybook-cursor[data-cursor-state=hidden]{visibility:hidden}.daybook-cursor.is-loading .daybook-cursor__core,.daybook-cursor.is-loading .daybook-cursor__viewfinder{opacity:0!important}.daybook-cursor.is-loading .daybook-cursor__liquid{opacity:1;transform:scale(1)}.daybook-cursor__viewfinder{position:absolute;top:50%;left:50%;width:32px;height:24px;transform:translate(-50%,-50%) scale(.65);opacity:0;transition:transform .3s var(--ease-out),opacity .3s ease;will-change:transform,opacity}.daybook-cursor__corner{position:absolute;width:10px;height:10px;border:2.5px solid var(--color-text);box-sizing:border-box}.daybook-cursor__corner:nth-child(1){top:0;left:0;border-right:0;border-bottom:0;border-top-left-radius:6px}.daybook-cursor__corner:nth-child(2){top:0;right:0;border-left:0;border-bottom:0;border-top-right-radius:6px}.daybook-cursor__corner:nth-child(3){bottom:0;left:0;border-right:0;border-top:0;border-bottom-left-radius:6px}.daybook-cursor__corner:nth-child(4){bottom:0;right:0;border-left:0;border-top:0;border-bottom-right-radius:6px}.daybook-cursor[data-cursor-state=hover] .daybook-cursor__core{width:8px;height:8px;border-radius:2px;opacity:1;transform:translate(-50%,-50%) rotate(45deg)}.daybook-cursor[data-cursor-state=text] .daybook-cursor__core{width:3px;height:22px;border-radius:1.5px;opacity:1;transform:translate(-50%,-50%)}.daybook-cursor[data-cursor-state=zoom] .daybook-cursor__core{transform:translate(-50%,-50%) scale(.1);opacity:0}.daybook-cursor[data-cursor-state=zoom] .daybook-cursor__viewfinder{transform:translate(-50%,-50%) scale(1);opacity:1}.daybook-cursor[data-cursor-state=hidden] .daybook-cursor__core{opacity:0;transform:translate(-50%,-50%) scale(.1)}.daybook-cursor.is-active .daybook-cursor__core{transform:translate(-50%,-50%) scale(.65)}.daybook-cursor.is-active[data-cursor-state=hover] .daybook-cursor__core{transform:translate(-50%,-50%) rotate(45deg) scale(.75)}.daybook-cursor.is-active[data-cursor-state=text] .daybook-cursor__core{transform:translate(-50%,-50%) scaleY(.7)}.daybook-cursor.is-active[data-cursor-state=zoom] .daybook-cursor__core{transform:translate(-50%,-50%) scale(0)}.daybook-cursor.is-active[data-cursor-state=zoom] .daybook-cursor__viewfinder{transform:translate(-50%,-50%) scale(.85)}.daybook-cursor.is-loading[data-cursor-state] .daybook-cursor__core{width:15px;height:15px;border-radius:50%;background-color:var(--color-accent);transform:translate(-50%,-50%)}@media(prefers-reduced-motion:reduce){.daybook-cursor,.daybook-cursor-clock{display:none!important}html.has-custom-cursor,html.has-custom-cursor *{cursor:auto!important}}html[data-reduced-motion=true] .daybook-cursor,html[data-reduced-motion=true] .daybook-cursor-clock{display:none!important}.daybook-cursor-clock{position:fixed;top:0;left:0;pointer-events:none;z-index:99998;display:none}.daybook-cursor-clock.is-visible{display:block}@media(max-width:960px),(pointer:coarse){.daybook-cursor,.daybook-cursor-clock{display:none!important;opacity:0!important;visibility:hidden!important}}.media-manager-container{position:absolute;width:0;height:0}.mm-hidden-svg{position:absolute;width:0;height:0;overflow:hidden}.mm-desktop-ui{display:flex;flex-direction:column;position:fixed;bottom:3.5rem;--mm-expanded-left: 24px;--mm-collapsed-visible: 48px;left:var(--mm-expanded-left);z-index:890;pointer-events:none;background-color:var(--m3-surface-container-highest, var(--color-surface-container-high));border-radius:1.5rem;padding:0;width:220px;height:430px;box-shadow:0 4px 20px #00000026;opacity:0;transform:translate(-150%);transition:transform .4s cubic-bezier(.2,0,0,1),opacity .3s ease}body[data-media-manager-active=true] .mm-desktop-ui{pointer-events:auto;opacity:1;transform:translate(calc(var(--mm-collapsed-visible) - var(--mm-expanded-left) - 100%))}body[data-media-manager-active=true] .mm-desktop-ui:hover,body[data-media-manager-active=true] .mm-desktop-ui:focus-within{transform:translate(0)}.mm-collapsed-tab{position:absolute;top:0;right:0;width:var(--mm-collapsed-visible);height:100%;display:flex;flex-direction:column;align-items:center;padding:1.2rem 0;opacity:1;transition:opacity .2s ease;pointer-events:none;box-sizing:border-box}body[data-media-manager-active=true] .mm-desktop-ui:hover .mm-collapsed-tab,body[data-media-manager-active=true] .mm-desktop-ui:focus-within .mm-collapsed-tab{opacity:0}.mm-small-cover{width:22px;height:22px;border-radius:50%;object-fit:cover;margin-bottom:1rem}.mm-vertical-title{writing-mode:vertical-lr;font-family:var(--font-serif);font-size:.85rem;font-weight:600;color:var(--color-on-surface);white-space:nowrap;text-overflow:ellipsis;max-height:280px;letter-spacing:.05em}.mm-expanded-view{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;padding:1.5rem 1rem;opacity:0;transition:opacity .3s ease;pointer-events:none;box-sizing:border-box;position:relative}body[data-media-manager-active=true] .mm-desktop-ui:hover .mm-expanded-view,body[data-media-manager-active=true] .mm-desktop-ui:focus-within .mm-expanded-view{opacity:1;pointer-events:auto}.mm-art-group{position:relative;width:140px;height:140px;margin-top:6px;margin-bottom:1.2rem;display:flex;justify-content:center;align-items:center}.mm-visualizer-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:128.57%!important;height:128.57%!important;pointer-events:none;z-index:1}.mm-cover-wrapper{position:relative;width:100%;height:100%;margin:0;z-index:2;animation:mm-spin-cover 23.5s linear infinite;animation-play-state:paused}.mm-cover-clipper{position:absolute;top:0;left:0;width:100%;height:100%;contain:paint;-webkit-clip-path:url(/css/components/#mm-cookie-clip);clip-path:url(/css/components/#mm-cookie-clip)}.mm-image-container{position:absolute;top:0;left:0;width:100%;height:100%}.is-playing .mm-cover-wrapper,.mm-expanded-view.is-playing .mm-cover-wrapper{animation-play-state:running}@keyframes mm-spin-cover{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.mm-cover-image{position:absolute;top:50%;left:50%;width:142%;height:142%;max-width:none;max-height:none;object-fit:cover;animation:mm-counter-spin 23.5s linear infinite;animation-play-state:paused;transform:translate(-50%,-50%) rotate(0)}.is-playing .mm-cover-image,.mm-expanded-view.is-playing .mm-cover-image{animation-play-state:running}@keyframes mm-counter-spin{0%{transform:translate(-50%,-50%) rotate(-360deg)}to{transform:translate(-50%,-50%) rotate(0)}}.mm-info-wrapper{text-align:center;margin-bottom:1.2rem;width:100%;padding:0 10px;box-sizing:border-box}.mm-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:var(--color-primary, var(--color-on-surface));white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem}.mm-artist{font-size:.85rem;color:var(--color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis}.mm-controls-wrapper{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:.8rem;width:100%}.mm-controls-wrapper button{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:var(--color-on-surface);transition:border-radius .4s cubic-bezier(.2,0,0,1),transform .2s cubic-bezier(.2,0,0,1),background-color .2s ease,color .2s ease}.mm-controls-wrapper button:active{transform:scale(.9)}.mm-controls-wrapper .mm-btn-prev,.mm-controls-wrapper .mm-btn-next{width:48px;height:48px;border-radius:24px;background-color:transparent;color:var(--color-on-surface);transition:background-color .2s ease,transform .2s cubic-bezier(.42,1.67,.21,.9),width .15s cubic-bezier(.42,1.67,.21,.9)}.mm-controls-wrapper button{-webkit-tap-highlight-color:transparent}.mm-controls-wrapper .mm-btn-play-pause{width:72px;height:48px;border-radius:24px;background-color:var(--color-accent);color:var(--color-page);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:width .3s cubic-bezier(.42,1.67,.21,.9),border-radius .3s cubic-bezier(.42,1.67,.21,.9)}.is-playing .mm-controls-wrapper .mm-btn-play-pause{border-radius:12px}@media(hover:hover)and (pointer:fine){.mm-controls-wrapper .mm-btn-prev:hover,.mm-controls-wrapper .mm-btn-next:hover{background-color:var(--color-surface-variant, rgba(0, 0, 0, .05))}.mm-controls-wrapper .mm-btn-play-pause:hover{filter:brightness(1.1)}.mm-controls-wrapper .mm-btn-prev:active,.mm-controls-wrapper .mm-btn-next:active{width:40px}.mm-controls-wrapper .mm-btn-play-pause:active{border-radius:8px!important;width:96px;transition:width .15s cubic-bezier(.42,1.67,.21,.9),border-radius .15s cubic-bezier(.42,1.67,.21,.9)}}.mm-controls-wrapper .mm-btn-prev.is-pressed,.mm-controls-wrapper .mm-btn-next.is-pressed{width:40px}.mm-controls-wrapper .mm-btn-play-pause.is-pressed{border-radius:8px!important;width:96px;transition:width .15s cubic-bezier(.42,1.67,.21,.9),border-radius .15s cubic-bezier(.42,1.67,.21,.9)}.mm-morph-icon{width:24px;height:24px;color:currentColor}.mm-morph-path{d:path("M 8 5 L 13 8.18 L 13 15.82 L 8 19 Z M 13 8.18 L 19 12 L 19 12 L 13 15.82 Z");-webkit-transition:d .4s cubic-bezier(.2,0,0,1);transition:d .4s cubic-bezier(.2,0,0,1);fill:currentColor;will-change:d}.is-playing .mm-morph-path{d:path("M 6 5 L 10 5 L 10 19 L 6 19 Z M 14 5 L 18 5 L 18 19 L 14 19 Z")}html[data-bg-playback-disabled=true] .media-manager-container{display:none!important}.mm-article-link{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--color-on-surface-variant, var(--color-text-muted));text-decoration:none;font-size:.85rem;font-family:var(--font-ui);transition:color .3s ease;margin-top:4px;opacity:0;transform:translateY(5px);pointer-events:none}.mm-article-link.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;transition:color .3s ease,opacity .4s ease,transform .4s cubic-bezier(.2,0,0,1)}.mm-article-link:hover{color:var(--color-accent)}.mm-article-link .material-symbol{font-size:1.1rem}.mm-article-link-text{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mm-card-inner{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;border-radius:inherit}body[data-media-manager-active=true] .mm-desktop-ui.is-flipped .mm-card-inner{transform:rotateY(-180deg)}.mm-card-front,.mm-card-back{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit}.mm-card-front{transform:rotateY(0)}.mm-card-back{transform:rotateY(180deg)}.mm-btn-open-playlist{margin-top:.5rem;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--color-on-surface-variant);font-family:var(--font-ui);font-size:.85rem;padding:8px 16px;border-radius:20px;transition:background-color .2s,color .2s;pointer-events:auto}.mm-btn-open-playlist:hover{background-color:var(--color-surface-variant);color:var(--color-on-surface)}.mm-playlist-view{display:flex;flex-direction:column;background:var(--color-surface-elevated, var(--color-page));opacity:0;transition:opacity .3s ease;pointer-events:none}body[data-media-manager-active=true] .mm-desktop-ui:hover .mm-playlist-view,body[data-media-manager-active=true] .mm-desktop-ui:focus-within .mm-playlist-view{opacity:1;pointer-events:auto}.mm-playlist-header{display:flex;align-items:center;padding:1.2rem 1rem;border-bottom:1px solid var(--color-border)}.mm-btn-close-playlist{background:none;border:none;cursor:pointer;color:var(--color-on-surface);display:flex;align-items:center;justify-content:center;padding:6px;margin-right:12px;border-radius:50%;transition:background-color .2s}.mm-btn-close-playlist:hover{background-color:var(--color-surface-variant)}.mm-playlist-header-title{font-family:var(--font-serif);font-weight:600;color:var(--color-on-surface)}.mm-playlist-list{flex:1;overflow-y:auto;list-style:none;padding:0;margin:0}.mm-playlist-list::-webkit-scrollbar{width:6px}.mm-playlist-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.mm-playlist-item{display:flex;align-items:center;padding:10px 16px;cursor:pointer;transition:background-color .2s;margin:4px 8px;border-radius:8px;position:relative}.mm-playlist-item:hover{background-color:var(--color-surface-variant)}.mm-playlist-item.is-active{background-color:var(--color-accent-soft, var(--color-surface-variant))}.mm-playlist-item-info{flex:1;display:flex;flex-direction:column;transform:translate(0);transition:transform .35s cubic-bezier(.42,1.67,.21,.9)}.mm-playlist-item.is-active .mm-playlist-item-info{transform:translate(28px)}.mm-playlist-item-title{font-family:var(--font-serif);font-size:.9rem;font-weight:600;color:var(--color-on-surface);white-space:nowrap;text-overflow:ellipsis}.mm-playlist-item.is-active .mm-playlist-item-title{color:var(--color-accent)}.mm-playlist-item-artist{font-size:.75rem;color:var(--color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;margin-top:2px}.mm-eq-indicator{position:absolute;left:14px;display:flex;align-items:center;gap:2px;height:16px;opacity:0;transform:scale(0);transform-origin:left center;transition:transform .35s cubic-bezier(.38,1.21,.22,1),opacity .2s ease-out}.mm-playlist-item.is-active .mm-eq-indicator{opacity:1;transform:scale(1)}.mm-eq-bar{display:block;width:4px;border-radius:2px;background-color:var(--color-accent);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}.mm-eq-bar:nth-child(1){animation-name:mm-eq-1;animation-duration:.45s}.mm-eq-bar:nth-child(2){animation-name:mm-eq-2;animation-duration:.55s;animation-delay:.1s}.mm-eq-bar:nth-child(3){animation-name:mm-eq-3;animation-duration:.5s;animation-delay:.2s}.mm-eq-bar:nth-child(4){animation-name:mm-eq-4;animation-duration:.45s;animation-delay:.3s}.media-manager-container:not(.is-playing) .mm-eq-bar{animation-play-state:paused}@keyframes mm-eq-1{0%{height:4px}to{height:12px}}@keyframes mm-eq-2{0%{height:6px}to{height:16px}}@keyframes mm-eq-3{0%{height:8px}to{height:14px}}@keyframes mm-eq-4{0%{height:5px}to{height:10px}}@media(min-width:961px){.mobile-media-fab,.mm-btn-close-mobile,.mm-mobile-ui{display:none!important}}@media(max-width:960px){.mobile-media-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:0;bottom:calc(env(safe-area-inset-bottom) + 176px);height:48px;width:auto;padding:0 12px 0 16px;border-radius:24px 0 0 24px;background:var(--color-page);box-shadow:0 4px 12px #00000014;border:1px solid var(--color-line);border-right:none;z-index:90;cursor:pointer;color:var(--color-text);transition:transform .3s cubic-bezier(.2,0,0,1),opacity .3s}.mobile-media-fab.is-hidden{transform:translate(100%);opacity:0;pointer-events:none}.mobile-media-fab-cover{width:24px;height:24px;border-radius:50%;object-fit:cover}.mm-btn-close-mobile{position:absolute;top:24px;right:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--color-muted);z-index:10;cursor:pointer;transition:color .16s ease}.mm-btn-close-mobile:hover,.mm-btn-close-mobile:focus-visible{color:var(--color-hover-text)}.mm-btn-close-mobile .material-symbol{font-size:1.5rem}}@media(max-width:960px){.mm-desktop-ui{display:none!important}}.mm-mobile-ui{display:none}@media(min-width:961px){.mm-mobile-ui,.mm-mobile-playlist-view{display:none!important}}@media(max-width:960px){body.is-media-overlay-open .mm-mobile-ui{position:fixed;top:var(--mobile-topbar-height, 0);left:0;width:100%;height:calc(100dvh - var(--mobile-topbar-height, 0));z-index:1995;display:flex!important;flex-direction:column;background-color:var(--color-page);padding-top:calc(env(safe-area-inset-top) + 24px);padding-bottom:calc(env(safe-area-inset-bottom) + 32px);overflow-y:auto;opacity:1;pointer-events:auto;transform:translateY(0)}.mm-mobile-center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:2rem 1rem;margin-top:80px}.mm-mobile-art-group{position:relative;width:min(65vw,40vh,320px);height:min(65vw,40vh,320px);margin-bottom:2rem;display:flex;justify-content:center;align-items:center;flex-shrink:0}.mm-mobile-visualizer-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:128.57%!important;height:128.57%!important;pointer-events:none;z-index:1}.mm-mobile-art-group .mm-cover-wrapper{position:relative;top:0;left:0;width:100%;height:100%;margin:0;z-index:2;animation:mm-spin-cover 23.5s linear infinite;animation-play-state:paused}.is-playing .mm-mobile-art-group .mm-cover-wrapper{animation-play-state:running}.mm-mobile-art-group .mm-cover-clipper{position:absolute;top:0;left:0;width:100%;height:100%;contain:paint;-webkit-clip-path:url(/css/components/#mm-cookie-clip);clip-path:url(/css/components/#mm-cookie-clip)}.mm-mobile-art-group .mm-image-container{width:100%;height:100%}.is-playing .mm-mobile-art-group .mm-cover-image{animation-play-state:running}.mm-mobile-center .mm-info-wrapper{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:2rem;width:100%;padding:0 1rem}.mm-mobile-center .mm-title{font-size:1.4rem;font-weight:600;color:var(--color-on-surface);font-family:var(--font-serif);letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mm-mobile-center .mm-artist{font-size:1rem;color:var(--color-on-surface-variant);font-family:var(--font-ui);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.mm-mobile-bottom{display:flex;flex-direction:column;align-items:center;padding-bottom:32px}.mm-mobile-bottom .mm-controls-wrapper{display:flex;align-items:center;justify-content:center;gap:32px;margin-bottom:24px}.mm-mobile-bottom .mm-article-link{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--color-on-surface-variant);text-decoration:none;font-size:.95rem;font-family:var(--font-ui);padding:8px 16px;border-radius:100px;background-color:var(--color-surface-container);margin-bottom:24px}.mm-mobile-bottom .mm-btn-open-playlist{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--color-on-surface-variant);font-size:1rem;font-family:var(--font-ui);cursor:pointer;padding:12px}.mm-mobile-playlist-view{position:fixed;top:var(--mobile-topbar-height, 0);left:0;width:100%;height:calc(100dvh - var(--mobile-topbar-height, 0));background-color:var(--color-page);display:flex;flex-direction:column;padding-top:calc(env(safe-area-inset-top) + 24px);padding-bottom:calc(env(safe-area-inset-bottom) + 32px);transform:translateY(100%);transition:transform .4s cubic-bezier(.2,0,0,1);z-index:2000}.media-manager-container.show-mobile-playlist .mm-mobile-playlist-view{transform:translateY(0)}.mm-mobile-playlist-view .mm-playlist-header{display:flex;align-items:center;padding:24px 20px;gap:16px}.mm-mobile-playlist-view .mm-btn-close-playlist{background:none;border:none;color:var(--color-on-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.mm-mobile-playlist-view .mm-playlist-header-title{font-size:1.2rem;font-weight:600;color:var(--color-on-surface);font-family:var(--font-serif)}.mm-mobile-playlist-view .mm-playlist-list{list-style:none;margin:0;padding:0 16px 32px;overflow-y:auto;flex:1}.mm-mobile-playlist-view .mm-playlist-item{display:flex;align-items:center;gap:12px;border-radius:12px;cursor:pointer;transition:background-color .2s;position:relative;padding:12px 12px 12px 44px}.mm-mobile-playlist-view .mm-playlist-item:active{background-color:var(--color-surface-container-high)}.mm-mobile-playlist-view .mm-playlist-item.is-active{background-color:var(--color-accent-soft, var(--color-surface-variant));border-radius:999px}.mm-mobile-playlist-view .mm-playlist-item .mm-pi-cover{width:48px;height:48px;border-radius:8px;object-fit:cover}.mm-mobile-playlist-view .mm-playlist-item .mm-pi-info{display:flex;flex-direction:column;flex:1;overflow:hidden}.mm-mobile-playlist-view .mm-playlist-item .mm-pi-title{font-size:.95rem;font-weight:500;color:var(--color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mm-mobile-playlist-view .mm-playlist-item .mm-pi-artist{font-size:.8rem;color:var(--color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@font-face{font-family:Daybook Fraunces;src:url("../../vendor/fonts/fraunces/fraunces-latin-400-italic.475b154af1.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}html[data-theme=dark]{color-scheme:dark}
