:root{color-scheme:light dark;--s1:4px;--s2:8px;--s3:12px;--s4:20px;--s5:32px;--s6:52px;--s7:84px;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:28px;--r-xxl:48px;--r-full:9999px;--r-search-key:6px;--r-search-mark:3px;--shape-leaf:var(--r-xl) var(--r-xs) var(--r-xl) var(--r-xs);--shape-leaf-alt:var(--r-xs) var(--r-xl) var(--r-xs) var(--r-xl);--font-display:var(--f-serif,"Noto Serif SC"),"Songti SC",serif;--font-body:var(--f-sans,"Inter"),var(--f-cjk,"Noto Sans SC"),"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--font-mono:var(--f-mono,"JetBrains Mono"),ui-monospace,monospace;--font-glyph:"Glyph Pool","Noto Sans Symbols 2","Noto Sans CJK SC","Segoe UI Symbol","Apple Symbols",sans-serif;--fs-hero:clamp(1.875rem,1.45rem + 1.3vw,2.625rem);--fs-title:clamp(1.625rem,1.35rem + 1vw,2.25rem);--fs-h2:clamp(1.3125rem,1.15rem + 0.6vw,1.625rem);--fs-h3:clamp(1.125rem,1.05rem + 0.35vw,1.3125rem);--fs-card:clamp(1.125rem,1.05rem + 0.4vw,1.375rem);--fs-body:clamp(1rem,0.96rem + 0.18vw,1.125rem);--fs-ui:0.9375rem;--fs-label:0.8125rem;--fs-meta:0.78rem;--fs-search-summary:0.875rem;--measure:33em;--container:1160px;--page-margin:16px;--surface:light-dark(#f8f7f4,#151621);--surface-lowest:light-dark(#ffffff,#10111a);--surface-low:light-dark(#f3f1f7,#1b1c28);--surface-container:light-dark(#f0edf5,#202231);--surface-high:light-dark(#e9e5f1,#292a3b);--surface-highest:light-dark(#dfdbe8,#33344a);--on-surface:light-dark(#252438,#e9e7f5);--on-surface-variant:light-dark(#676579,#b7b2cc);--outline:light-dark(#9693a8,#716d8a);--outline-variant:light-dark(#dfdbe8,#3d3d52);--primary:light-dark(#6a57b1,#c9b7ff);--on-primary:light-dark(#ffffff,#2b1d5e);--primary-container:light-dark(#e5def7,#38314f);--on-primary-container:light-dark(#2a1e5c,#e5def7);--secondary:light-dark(#2e6b86,#9dcadb);--on-secondary:light-dark(#ffffff,#0e3342);--secondary-container:light-dark(#a3d1e5,#24465a);--on-secondary-container:light-dark(#12384a,#cdebf7);--tertiary:light-dark(#a2456f,#ddb0cd);--on-tertiary:light-dark(#ffffff,#4a1830);--tertiary-container:light-dark(#ebc6d8,#4f2e45);--on-tertiary-container:light-dark(#4a1830,#f6d8e8);--gold:light-dark(#c89d54,#e5c158);--error:light-dark(#ba1a1a,#ffb4ab);--glow:light-dark(#8b78d6,#b9a4ff);--glyph:var(--primary);--state-hover:0.08;--state-press:0.1}:root[data-mode=light],:root[data-theme=light]{color-scheme:light}:root[data-mode=dark],:root[data-theme=dark]{color-scheme:dark}@media (min-width:600px){:root{--page-margin:24px}}@media (min-width:840px){:root{--page-margin:32px}}@media (min-width:1200px){:root{--page-margin:52px}}@font-face{font-family:Glyph Pool;src:url(/fonts/glyph-pool.woff2) format("woff2");unicode-range:u+2801-283f,u+4dc0-4dff;font-display:block}.t-hero,.t-title{font-family:var(--font-display)}.t-hero{font-size:var(--fs-hero);line-height:1.2}.t-hero,.t-title{font-weight:600;letter-spacing:0}.t-title{font-size:var(--fs-title);line-height:1.28}.t-h2{font-size:var(--fs-h2);line-height:1.35;font-weight:620;letter-spacing:0;font-family:var(--font-body)}.t-h3{font-size:var(--fs-h3)}.t-card,.t-h3{line-height:1.4;font-weight:580;letter-spacing:0;font-family:var(--font-body)}.t-card{font-size:var(--fs-card)}.t-body{font-size:var(--fs-body);line-height:1.85;letter-spacing:.02em;max-width:var(--measure);overflow-wrap:break-word;text-wrap:pretty}.t-body,.t-ui{font-family:var(--font-body);font-weight:400}.t-ui{font-size:var(--fs-ui);line-height:1.6;letter-spacing:.01em}.t-label{font-family:var(--font-body);font-size:var(--fs-label);line-height:1.2;font-weight:600;letter-spacing:.02em}.t-meta{font-family:var(--font-mono);font-size:var(--fs-meta);line-height:1.2;font-weight:500;letter-spacing:.05em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.t-deco{font-family:var(--font-display);font-size:clamp(5rem,20vw,7.5rem);line-height:1;font-weight:600;letter-spacing:-.04em}:lang(zh){line-break:strict;text-autospace:ideograph-alpha ideograph-numeric}.t-card,.t-h2,.t-h3,.t-hero,.t-title{text-wrap:balance;font-optical-sizing:auto}.t-body p+p{margin-top:1.1em}:root{--md-primary:var(--primary);--md-on-primary:var(--on-primary);--md-primary-container:var(--primary-container);--md-on-primary-container:var(--on-primary-container);--md-secondary:var(--secondary);--md-on-secondary:var(--on-secondary);--md-secondary-container:var(--secondary-container);--md-on-secondary-container:var(--on-secondary-container);--md-tertiary:var(--tertiary);--md-on-tertiary:var(--on-tertiary);--md-tertiary-container:var(--tertiary-container);--md-on-tertiary-container:var(--on-tertiary-container);--md-error:var(--error);--md-on-error:var(--surface-lowest);--md-error-container:color-mix(in srgb,var(--error) 16%,var(--surface));--md-on-error-container:var(--error);--md-surface:var(--surface);--md-on-surface:var(--on-surface);--md-surface-variant:var(--surface-high);--md-on-surface-variant:var(--on-surface-variant);--md-surface-container-lowest:var(--surface-lowest);--md-surface-container-low:var(--surface-low);--md-surface-container:var(--surface-container);--md-surface-container-high:var(--surface-high);--md-surface-container-highest:var(--surface-highest);--md-outline:var(--outline);--md-outline-variant:var(--outline-variant);--md-inverse-surface:var(--on-surface);--md-inverse-on-surface:var(--surface);--md-inverse-primary:var(--primary-container);--md-occult:var(--outline);--md-scrim:#000000;--md-media-on:var(--surface-lowest);--md-media-scrim:#000000;--bg-page:var(--md-surface-container-lowest);--bg-raised:var(--md-surface-container-low);--bg-inset:var(--md-surface-container);--bg-nav:var(--md-surface);--text-strong:var(--md-on-surface);--text-body:var(--md-on-surface);--text-muted:var(--md-on-surface-variant);--text-faint:var(--md-on-surface-variant);--border:var(--md-outline-variant);--border-strong:var(--md-outline);--accent:var(--md-primary);--accent-contrast:var(--md-on-primary);--accent-soft:var(--md-primary-container);--accent-soft-text:var(--md-on-primary-container);--accent-tertiary:var(--md-tertiary);--accent-tertiary-soft:var(--md-tertiary-container);--accent-tertiary-soft-text:var(--md-on-tertiary-container);--danger:var(--md-error);--shape-xs:var(--r-xs);--shape-sm:var(--r-sm);--shape-md:var(--r-md);--shape-lg:var(--r-lg);--shape-xl:var(--r-xl);--shape-xxl:var(--r-xxl);--shape-full:var(--r-full);--shape-stage:var(--r-xxl);--shape-morph:cubic-bezier(0.2,0,0,1);--shape-morph-duration:240ms;--shape-morph-duration-slow:420ms;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-emphasized:620;--weight-bold:700;--motion-spring:linear(0,0.006,0.025 2.8%,0.101 6.1%,0.539 18.9%,0.721 25.3%,0.849 31.5%,0.937 38.1%,0.968 41.8%,0.991 45.7%,1.006 50.1%,1.015 55%,1.017 63.9%,1.001);--motion-spring-decelerate:linear(0,0.009,0.035 2.1%,0.141 4.2%,0.281 6.3%,0.723 12.4%,0.938 16.5%,1.01 22%,1.046 34%,1.015 65%,0.998 82%,1);--motion-spring-accelerate:linear(0,0.048,0.161,0.287,0.4,0.5,0.59,0.67,0.74,0.8,0.85,0.89,0.92,0.945,0.965,0.982,0.995,1);--motion-standard:cubic-bezier(0.2,0,0,1);--motion-short:150ms;--motion-medium:300ms;--motion-long:450ms;--motion-press:120ms;--motion-spring-fast:260ms;--motion-spring-slow:520ms;--font-sans:var(--font-body);--font-serif:var(--font-display);--type-display-lg:var(--fs-hero);--type-display-lg-line:1.2;--type-display-md:var(--fs-title);--type-display-md-line:1.28;--type-display-sm:var(--fs-title);--type-display-sm-line:1.28;--type-headline-lg:var(--fs-title);--type-headline-lg-line:1.28;--type-headline-md:var(--fs-h2);--type-headline-md-line:1.35;--type-headline-sm:var(--fs-h2);--type-headline-sm-line:1.35;--type-title-lg:var(--fs-card);--type-title-lg-line:1.4;--type-title-md:var(--fs-h3);--type-title-md-line:1.4;--type-title-sm:var(--fs-ui);--type-title-sm-line:1.6;--type-body-lg:var(--fs-body);--type-body-lg-line:1.85;--type-body-md:var(--fs-ui);--type-body-md-line:1.6;--type-body-sm:var(--fs-label);--type-body-sm-line:1.6;--type-label-lg:var(--fs-label);--type-label-lg-line:1.2;--type-label-md:var(--fs-meta);--type-label-md-line:1.2;--type-label-sm:var(--fs-meta);--type-label-sm-line:1.2;--type-home-name:var(--fs-hero);--type-page-title:var(--fs-title);--tracking-normal:0em;--tracking-wide:0.0125em;--tracking-wider:0.025em;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--elevation-0:none;--elevation-1:0 1px 2px rgb(40 36 60/0.08),0 1px 3px rgb(40 36 60/0.06);--elevation-2:0 2px 4px rgb(40 36 60/0.09),0 4px 12px rgb(40 36 60/0.07);--elevation-3:0 4px 10px rgb(40 36 60/0.11),0 8px 24px rgb(40 36 60/0.08);--elevation-4:0 8px 18px rgb(40 36 60/0.12),0 14px 32px rgb(40 36 60/0.1);--sidebar-width:11rem;--content-max:44rem;--rail-width:12rem;--shell-max:66rem;--page-gutter:clamp(1rem,3vw,2rem);--page-width:calc(var(--content-max) + var(--rail-width) + var(--space-6) + var(--page-gutter) * 2);--topbar-height:4rem;--control-size:3rem;--utility-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));--page-left:calc(max(0px, (100vw - var(--shell-max) - var(--sidebar-width)) / 2) + var(--sidebar-width) + var(--page-gutter));--page-right:calc(max(0px, (100vw - var(--shell-max) - var(--sidebar-width)) / 2) + var(--page-gutter))}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:var(--surface);color:var(--on-surface);font:400 var(--fs-body) /1.85 var(--font-body);font-feature-settings:"kern","liga";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-strong);font-weight:650;line-height:1.25;letter-spacing:var(--tracking-normal);text-wrap:balance}.md-scheme :where(strong,b){font-weight:var(--weight-bold)}p{margin:0 0 var(--space-4)}a{color:var(--accent);text-decoration:none;text-underline-offset:.2em}a,button,input,select,summary,textarea{touch-action:manipulation}.chip,.nav-item,a,button{-webkit-tap-highlight-color:color-mix(in srgb,var(--md-primary) 16%,transparent)}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button{font:inherit;color:inherit}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--shape-xs)}:where(p,li,dd,dt,figcaption,blockquote,td,th,.content){text-autospace:ideograph-alpha ideograph-numeric ideograph-parenthesis}.md-scheme{color:var(--text-body)}.md-scheme h1,.md-scheme h2,.md-scheme h3,.md-scheme h4,.md-scheme h5,.md-scheme h6{margin:var(--space-6) 0 var(--space-3);scroll-margin-top:var(--space-8)}.md-scheme h1{font-size:var(--type-headline-md);line-height:var(--type-headline-md-line)}.md-scheme h2{font-size:var(--type-headline-sm);line-height:var(--type-headline-sm-line);font-weight:var(--weight-bold);letter-spacing:-.01em}.md-scheme h3{font-size:var(--type-title-lg);line-height:var(--type-title-lg-line)}.md-scheme h4{font-size:var(--type-title-md)}.md-scheme h5,.md-scheme h6{font-size:var(--type-title-sm)}.md-scheme ol,.md-scheme ul{margin:0 0 var(--space-4);padding-left:1.5em}.md-scheme li{margin-bottom:var(--space-2)}.md-scheme blockquote{margin:var(--space-5) 0;padding:var(--space-2) var(--space-4);border-left:2px solid var(--md-outline-variant);color:var(--text-muted)}.md-scheme blockquote p:last-child{margin-bottom:0}.md-scheme img{border-radius:var(--shape-md)}.md-scheme hr{border:0;border-top:1px solid var(--border);margin:var(--space-6) 0}.md-scheme pre{margin:0;padding:var(--space-4);overflow-x:auto;background:var(--md-surface-container-low);border-radius:inherit;font-size:var(--type-body-sm);line-height:1.6;-moz-tab-size:2;tab-size:2}.md-scheme :not(pre)>code{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--shape-xs);padding:.15em .4em;color:var(--md-on-surface)}.code-block{margin:var(--space-5) 0;border:1px solid var(--border);border-radius:var(--shape-md);overflow:hidden;background:var(--md-surface-container-low)}.code-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-size);padding-inline:var(--space-4) var(--space-3);border-bottom:1px solid var(--border);font-size:var(--type-label-md);color:var(--text-muted)}.code-header .code-lang{padding:.15em .65em;border-radius:var(--shape-full);background:var(--md-tertiary-container);color:var(--md-on-tertiary-container);font-family:var(--font-mono);font-size:var(--type-label-sm);letter-spacing:var(--tracking-wide)}.code-copy,.code-header .code-lang{display:inline-flex;align-items:center;gap:var(--space-2)}.code-copy{border:0;background:transparent;color:var(--text-muted);cursor:pointer;min-height:var(--control-size);padding:var(--space-1) var(--space-3);border-radius:var(--shape-md);font-size:var(--type-label-md);transition:background var(--motion-short) var(--motion-standard),color var(--motion-short) var(--motion-standard)}.code-copy:hover{background:var(--accent-soft);color:var(--accent-soft-text)}.code-copy[data-state=done]{color:var(--md-tertiary)}.table-wrapper{margin:var(--space-5) 0;overflow-x:auto;border:1px solid var(--border);border-radius:var(--shape-lg)}.md-scheme table{width:100%;border-collapse:collapse;font-size:var(--type-body-sm)}.md-scheme td,.md-scheme th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.md-scheme thead th{background:var(--md-surface-container-high);color:var(--text-strong);font-weight:650;white-space:nowrap}.md-scheme tbody tr:last-child td{border-bottom:0}.heading-anchor{margin-left:.4em;color:var(--text-faint);opacity:0;transition:opacity var(--motion-short) var(--motion-standard)}.heading-anchor:focus-visible,.md-scheme h2:hover .heading-anchor,.md-scheme h3:hover .heading-anchor,.md-scheme h4:hover .heading-anchor,.md-scheme h5:hover .heading-anchor{opacity:1}.shimmer{position:relative;background:linear-gradient(100deg,var(--bg-inset) 30%,var(--md-surface-container-high) 50%,var(--bg-inset) 70%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.img-link{display:inline-block;overflow:hidden}.img-link,.img-link img{border-radius:var(--shape-md)}.img-link img{display:block}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-property:opacity,color,background-color,border-color,outline-color,box-shadow!important;transition-duration:.12s!important;scroll-behavior:auto!important}}.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;max-width:calc(var(--shell-max) + var(--sidebar-width));margin-inline:auto}.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);z-index:300;padding:var(--space-2) var(--space-4);border-radius:var(--shape-full);background:var(--md-primary-container);color:var(--md-on-primary-container);font-size:var(--type-label-lg);transform:translateY(-250%);transition:transform var(--motion-short) var(--motion-standard)}.skip-link:focus-visible{transform:none}.visually-hidden{position:absolute!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.sidebar{position:-webkit-sticky;position:sticky;top:0;overscroll-behavior:contain;align-self:start;display:flex;flex-direction:column;gap:var(--space-4);height:100vh;padding:var(--space-5) var(--space-4);background:var(--bg-nav);border-right:0;overflow-y:auto}.sidebar-scrim{display:none}.sidebar-profile{display:flex;flex-direction:row;align-items:center;gap:var(--space-2)}.sidebar-avatar{width:2rem;height:2rem;object-fit:cover;background:var(--bg-inset);transition:border-radius var(--shape-morph-duration) var(--shape-morph)}.sidebar-avatar,.sidebar-avatar:hover{border-radius:var(--shape-full)}.sidebar-title{font-size:var(--type-title-md);font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:var(--tracking-wider)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);flex-grow:1}.nav-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-size);padding:var(--space-3) var(--space-4);color:var(--text-muted);font-size:var(--type-body-sm);letter-spacing:var(--tracking-wide);transition:background var(--motion-short) var(--motion-standard),color var(--motion-short) var(--motion-standard),border-radius var(--shape-morph-duration) var(--shape-morph)}.nav-item,.nav-item:hover{border-radius:var(--shape-lg)}.nav-item:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-strong);text-decoration:none}.nav-item[aria-current=page]{background:var(--md-surface-container);color:var(--md-primary);font-weight:var(--weight-emphasized);border-radius:var(--shape-lg)}.nav-item:active{border-radius:var(--shape-md)}.sidebar-foot{display:flex;align-items:center;gap:var(--space-1);flex-wrap:nowrap;padding-top:var(--space-4);border-top:1px solid var(--border)}.sidebar-foot .icon-btn{inline-size:40px;block-size:40px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-size);height:var(--control-size);border:0;border-radius:var(--shape-full);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--motion-short) var(--motion-standard),color var(--motion-short) var(--motion-standard),border-radius var(--shape-morph-duration) var(--shape-morph)}.icon-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text-strong);border-radius:var(--shape-md)}.icon-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-soft-text)}.main-col{display:flex;flex-direction:column;min-width:0;min-height:100dvh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;padding:0;background:transparent}.content-wrap,.shell-footer,.topbar-inner{width:100%;max-width:var(--page-width);margin-inline:auto}.topbar-inner{gap:var(--space-3);min-width:0;height:var(--topbar-height);padding-inline:var(--page-gutter)}.topbar-actions,.topbar-inner{display:flex;align-items:center}.topbar-actions{position:relative;flex:0 0 auto;height:42px;-webkit-margin-start:auto;margin-inline-start:auto;padding:0 6px;border:1px solid var(--outline-variant);border-radius:var(--r-full);background:color-mix(in srgb,var(--surface-container) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-title{font-size:var(--type-title-md);font-weight:650;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1;min-width:0}.search-trigger,.utility-control{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;height:32px;padding:0;border:0;border-radius:var(--r-full);background:transparent;color:var(--on-surface-variant);cursor:pointer;transition:color var(--motion-short) var(--motion-standard),background-color var(--motion-short) var(--motion-standard)}.utility-control{width:32px}.search-trigger-icon svg,.utility-control svg{flex:0 0 auto;width:18px;height:18px}.search-trigger:hover,.utility-control:hover{background:color-mix(in srgb,var(--on-surface) 8%,transparent);color:var(--on-surface)}.search-trigger:active,.utility-control:active{background:color-mix(in srgb,var(--on-surface) 12%,transparent)}.search-trigger:focus-visible,.utility-control:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.enchant-toggle[aria-pressed=true],.site-music-trigger[aria-expanded=true]{color:var(--primary)}.search-trigger{gap:var(--s1);-webkit-padding-end:var(--s2);padding-inline-end:var(--s2);font-size:var(--fs-ui)}.search-trigger-icon{display:inline-flex;flex:0 0 32px;align-items:center;justify-content:center;width:32px;height:32px}.search-trigger kbd{-webkit-margin-start:var(--s1);margin-inline-start:var(--s1);color:var(--on-surface-variant);font-size:var(--fs-meta)}@media (prefers-reduced-motion:reduce){.search-trigger,.utility-control{transition:none}}.sidebar-trigger{display:none}.content-wrap{display:block;flex:1 1;padding:var(--space-7) var(--page-gutter) var(--space-8);background:transparent}.main-col-inner{min-width:0}.site-footer{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--type-body-sm);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:space-between;align-items:center}.site-footer a{color:inherit}.shell-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--page-gutter) calc(var(--space-8) + var(--control-size) + env(safe-area-inset-bottom));color:var(--text-muted);font-size:var(--type-body-sm)}.shell-footer a{color:inherit}.site-campaign{flex-basis:100%;min-width:0}#android-campaign .kao-banner{padding:var(--space-3) var(--space-7) var(--space-3) calc(var(--space-4) + 2 * var(--s2));border:0;border-radius:var(--r-md);background:var(--md-surface-container);color:var(--text-muted);font-family:var(--font-sans);font-size:var(--type-label-md);font-weight:var(--weight-regular);line-height:1.8;letter-spacing:normal;text-align:left;text-transform:none;text-shadow:none;overflow-wrap:anywhere}#android-campaign .kao-banner:before{content:"";position:absolute;inset-inline-start:var(--space-4);inset-block-start:calc(var(--space-3) + .6em);inline-size:8px;block-size:8px;border-radius:var(--r-full);background:var(--primary);animation:campaign-breathe 4s var(--ms-effects-ease,ease) infinite alternate}#android-campaign .kao-banner>span{display:inline-block;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}@keyframes campaign-breathe{0%{opacity:.35}to{opacity:.85}}#android-campaign .kao-banner a{color:var(--md-primary);text-decoration:underline;text-underline-offset:.2em}#android-campaign .kao-banner-close{right:var(--space-1);min-width:2.75rem;min-height:2.75rem;color:var(--text-muted);font-size:var(--type-body-sm)}.post-list{display:flex;flex-direction:column;gap:var(--s4)}.home-page{grid-column:1/-1;max-width:none;min-inline-size:0}.home-intro{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);margin-bottom:var(--space-7)}.home-intro-copy{min-inline-size:0}.home-intro h1{margin:0 0 var(--s3);color:inherit}.home-tagline{margin:0;color:var(--on-surface-variant)}.home-writing{min-inline-size:0}.home-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}.home-section-heading h2{margin:0}.home-section-heading>a{color:var(--on-surface-variant)}.home-twins{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:var(--s4);gap:var(--s4);margin-top:var(--s4)}.home-root-badge,.sigil-mark{display:block;flex:0 0 22px;inline-size:22px;block-size:22px}.sigil-mark{color:var(--primary)}.sigil-mark svg{display:block;inline-size:100%;block-size:100%}@media (max-width:767px){.home-intro{gap:var(--s3);margin-bottom:var(--space-6)}.home-twins{grid-template-columns:minmax(0,1fr)}}.chip-row,.pagination{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pagination{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;align-items:center;margin-top:var(--space-6);padding:0;list-style:none}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;height:3rem;padding:0 var(--space-3);border-radius:var(--shape-md);border:0;color:var(--text-muted);font-size:var(--type-label-lg);transition:background var(--motion-short) var(--motion-standard),border-radius var(--shape-morph-duration) var(--shape-morph)}.pagination a:hover{background:var(--md-primary-container);color:var(--md-on-primary-container);text-decoration:none;border-radius:var(--shape-lg)}.pagination .is-active span{background:var(--accent-soft);color:var(--accent-soft-text);font-weight:650}.pagination .is-disabled span{opacity:.4}.post-header{margin-bottom:var(--space-6)}.post-title{margin:0 0 var(--space-3);color:var(--text-strong)}.post-desc{margin:0 0 var(--space-4);font-size:var(--type-body-lg)}.post-desc,.post-meta{color:var(--text-muted)}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--type-body-sm)}.post-meta i{margin-right:.35em}.post-hero{margin:var(--space-5) 0;border-radius:var(--shape-lg);overflow:hidden}.post-hero img{display:block;width:100%}.post-body{color:var(--text-body)}.post-body .md-scheme{font-family:inherit}.post-body :where(p,li){text-autospace:ideograph-alpha ideograph-numeric ideograph-parenthesis}.post-body h2,.post-body h3,.post-body h4,.post-body h5{font-family:var(--font-sans)}.post-tail{margin-top:var(--space-7);padding-top:var(--space-5);color:var(--text-muted);font-size:var(--type-body-sm);display:flex;flex-direction:column;gap:var(--space-4)}.post-tail-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.license-note{color:var(--text-faint)}.related-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:0;gap:0;margin-top:var(--space-3)}.related-card{display:block;padding-block:var(--space-4);border-bottom:1px solid var(--border)}.related-card:hover{text-decoration:none}.related-card:hover h4{color:var(--md-primary)}.related-card h4{margin:var(--space-1) 0 var(--space-2);font-size:var(--type-body-md);color:var(--text-strong)}.related-card p{margin:0;font-size:var(--type-body-sm);color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}.post-nav>a{min-width:0;min-height:4.5rem;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) 0;color:var(--text-muted);font-size:var(--type-label-lg);transition:color var(--motion-short) var(--motion-standard)}.post-nav a:hover{color:var(--md-primary);text-decoration:underline}.post-nav .nav-next{text-align:right;align-items:flex-end}.post-nav p{margin:0;color:var(--text-strong);font-size:var(--type-body-sm);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}.page-head{margin-bottom:var(--space-6)}.page-back{display:inline-flex;align-items:center;min-height:var(--control-size);gap:var(--space-2);margin-bottom:var(--space-3);color:var(--text-muted);font-size:var(--type-label-lg)}.page-back:hover{color:var(--md-primary)}.page-title{color:var(--text-strong);margin:0 0 var(--space-2)}.page-sub{margin:0;color:var(--text-muted);font-size:var(--type-body-md);line-height:var(--type-body-md-line)}.page-actions{margin:var(--space-4) 0 0}.collection-section{margin-top:var(--space-6)}.collection-divider{margin:var(--space-7) 0 var(--space-5);border:0;border-top:1px solid var(--border)}.simple-list{list-style:none;margin:0;padding:0}.simple-list li{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.simple-list li:last-child{border-bottom:0}.simple-list a{color:var(--text-body)}.simple-list .dash{flex-grow:1;border-bottom:1px dotted var(--border-strong);transform:translateY(-.25em)}.simple-list time{color:var(--text-faint);font-size:var(--type-label-md);white-space:nowrap}.novel-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5)}.novel-card{display:flex;flex-direction:column;gap:var(--space-3);padding-block:var(--space-5);border-bottom:1px solid var(--border)}.novel-card h2{margin:0;font-size:var(--type-title-lg)}.novel-card p{margin:0;color:var(--text-muted);font-size:var(--type-body-md);line-height:1.75}.chapter-list{list-style:none;margin:0;padding:0}.chapter-list li{border-bottom:1px solid var(--border)}.chapter-list a{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-2);border-radius:var(--shape-sm);color:var(--text-body);transition:background var(--motion-short) var(--motion-standard)}.chapter-list a:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);text-decoration:none}.chapter-no{color:var(--text-faint);font-size:var(--type-label-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:3.5rem}.volume-block{margin-top:var(--space-6)}.volume-title{font-size:var(--type-title-md);margin:0 0 var(--space-2);color:var(--text-strong)}.lightbox{position:fixed;inset:0;z-index:200;overscroll-behavior:contain;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:color-mix(in srgb,var(--md-scrim) 82%,transparent);cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;border-radius:var(--shape-lg);box-shadow:var(--elevation-4)}.back-to-top{position:fixed;right:var(--page-right);bottom:var(--utility-bottom);z-index:30;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:var(--control-size);height:var(--control-size);padding:0;border:1px solid var(--border);border-radius:var(--shape-lg);background:var(--bg-page);color:var(--text-muted);box-shadow:var(--elevation-1);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(.5rem);transition:opacity var(--motion-medium) var(--motion-standard),transform var(--motion-medium) var(--motion-spring),box-shadow var(--motion-short) var(--motion-standard)}.back-to-top[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transform:none}.back-to-top:focus-visible,.back-to-top:hover{color:var(--md-primary);box-shadow:var(--elevation-2)}.back-to-top .fab-label{display:none}.ripple-container{position:fixed;inset:0;pointer-events:none;z-index:9999}.ripple-dot{position:absolute;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.ripple-dot:after,.ripple-dot:before{content:"";position:absolute;inset:0;border-radius:50%;animation:ripple-anim .7s ease-out forwards}.ripple-dot:before{animation-delay:0s}.ripple-dot:after{animation-delay:.15s;opacity:.65}[data-mode=dark] .ripple-dot:after,[data-mode=dark] .ripple-dot:before{background:rgb(255 255 255/.45)}:root:not([data-mode=dark]) .ripple-dot:after,:root:not([data-mode=dark]) .ripple-dot:before,[data-mode=light] .ripple-dot:after,[data-mode=light] .ripple-dot:before{background:rgb(0 0 0/.2)}@keyframes ripple-anim{0%{transform:scale(0);opacity:.7}30%{opacity:.7}to{transform:scale(1);opacity:0}}@media (max-width:800px){:root{--page-left:var(--page-gutter);--page-right:var(--page-gutter)}.post-title{font-size:var(--type-headline-lg);line-height:var(--type-headline-lg-line)}.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(18rem,84vw);z-index:80;transform:translateX(-102%);visibility:hidden;transition:transform var(--motion-medium) var(--motion-spring),visibility 0s linear var(--motion-medium);box-shadow:var(--elevation-3)}.sidebar[data-open=true]{transform:none;visibility:visible;transition-delay:0s}.sidebar-scrim{position:fixed;inset:0;z-index:70;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:color-mix(in srgb,var(--md-scrim) 46%,transparent);opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;transition:opacity var(--motion-medium) var(--motion-standard),visibility 0s linear var(--motion-medium)}.sidebar[data-open=true]+.sidebar-scrim{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.sidebar-trigger{display:inline-flex}.content-wrap{padding-block:var(--space-5) var(--space-7)}.topbar-inner{gap:var(--space-2)}.search-trigger{width:32px;gap:0;padding:0}.search-trigger kbd,.search-trigger-label{display:none}.simple-list li{flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.simple-list a{flex:1 1 12rem;min-width:0}.simple-list .dash{display:none}}