@font-face{font-family:WenKai Latin Fallback;src:local(Kaiti SC),local(STKaiti);unicode-range:U+20-7E;size-adjust:112.8%}:root{--pen-stroke:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9 C 40 2, 70 13, 110 7 S 180 3, 215 8 S 270 11, 297 5' fill='none' stroke='black' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2eee4;--card:#fbf8f0;--soft:#e9e3d5;--picked:var(--card);--code:#f4f0e6;--ink:#20242c;--muted:#625f55;--rule:#d5cebd;--accent:#244a90;--warning:#a54a00;--sky:#e0e7f1;--peach:#f6e5d3;--shadow:0 0 0 1px #46371917, 0 10px 24px -16px #46371952;--shadow-lift:0 0 0 1px #4637191a, 0 18px 30px -18px #46371973;--shadow-press:0 0 0 1px #4637191f, inset 0 1px 3px #46371929;--press-depth:1.5px;--bloom:color-mix(in srgb, var(--accent) 10%, transparent);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.05 0 0 0 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");--radius-lg:22px;--radius-md:16px;--radius-sm:10px;--radius-xs:6px;--text-xs:12px;--text-sm:14px;--text-base:15px;--text-md:16px;--text-body:17px;--text-lg:19px;--text-xl:21px;--text-2xl:24px;--text-3xl:28px;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Helvetica Neue", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-hand:"LXGW WenKai Screen", "WenKai Latin Fallback", "Kaiti SC", "STKaiti", "KaiTi", serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0d10;--card:#262a35;--soft:#2e323e;--picked:color-mix(in srgb, var(--ink) 12%, var(--soft));--code:#23272e;--ink:#e8e4da;--muted:#9d9b91;--rule:#383c46;--accent:#94b4ee;--warning:#ffb454;--sky:#17202e;--peach:#2e241a;--shadow:0 0 0 1px #fff5e112;--shadow-lift:0 0 0 1px #fff5e129;--shadow-press:0 0 0 1px #fff5e112, inset 0 1px 4px #0000008c;--bloom:color-mix(in srgb, var(--accent) 18%, transparent);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.035 0 0 0 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0d10;--card:#262a35;--soft:#2e323e;--picked:color-mix(in srgb, var(--ink) 12%, var(--soft));--code:#23272e;--ink:#e8e4da;--muted:#9d9b91;--rule:#383c46;--accent:#94b4ee;--warning:#ffb454;--sky:#17202e;--peach:#2e241a;--shadow:0 0 0 1px #fff5e112;--shadow-lift:0 0 0 1px #fff5e129;--shadow-press:0 0 0 1px #fff5e112, inset 0 1px 4px #0000008c;--bloom:color-mix(in srgb, var(--accent) 18%, transparent);--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.035 0 0 0 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h,0px);scrollbar-gutter:stable;overflow-y:scroll}html[data-held]{scrollbar-gutter:auto;padding-right:var(--held-bar,0px);overflow-y:hidden}body{background-color:var(--bg);background-image:var(--grain);min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;line-height:1.6;display:flex}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select{font:inherit;color:inherit}img{max-width:100%}h1,h2,h3,h4,h5,h6,p{overflow-wrap:anywhere}:where(:root:not([data-input=pointer])) :focus-visible{outline:2px solid var(--accent);outline-offset:3px}:where(:root:not([data-input=pointer]) :focus-visible){border-radius:var(--radius-xs)}:root[data-input=pointer] :focus-visible{outline:none}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.skip-link{z-index:30;border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow);padding:10px 16px;font-weight:600;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.wrap{width:100%;max-width:1040px;margin:0 auto;padding-inline:28px}.wrap--narrow{max-width:760px}.wrap--wide{max-width:1240px}@media (max-width:520px){.wrap{padding-inline:18px}}.site-header__inner.wrap,.site-footer__inner.wrap{max-width:none}@media (min-width:1241px){.site-header__inner.wrap,.site-footer__inner.wrap{padding-inline:32px}}@media (min-width:761px){:root:not([data-skin]){--header-h:62px}:root:not([data-skin]) .site-header{z-index:20;background-color:var(--bg);background-image:var(--grain);box-shadow:0 1px 0 var(--rule);position:sticky;top:0}@supports (animation-timeline:scroll()){:root:not([data-skin]) .site-header{animation:linear both header-rule;animation-timeline:scroll(root);animation-range:0 48px}@keyframes header-rule{0%{box-shadow:0 1px #0000}}}}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 24px;display:flex}.site-header__brand{font-family:var(--font-hand);font-size:var(--text-xl);white-space:nowrap;padding:14px 0}.site-nav{font-family:var(--font-hand);font-size:var(--text-base);margin-left:auto}.site-nav__list{gap:0 4px;margin:0;padding:0;list-style:none;display:flex}.site-nav__list>li>a,.site-nav__more>button{min-height:44px;font:inherit;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 12px;display:inline-flex}.site-nav__list>li>a:hover,.site-nav__more>button:hover{color:var(--accent)}.site-nav__list>li>a[aria-current=page],.site-nav__more>button.is-current{color:var(--accent);background:radial-gradient(circle, var(--accent) 2px, transparent 2.6px) 50% calc(100% - 3px) / 7px 7px no-repeat}:root:not([data-skin]) :is(.site-nav__list>li>a[aria-current=page],.site-nav__more>button.is-current){background:0 0;position:relative}:root:not([data-skin]) .site-nav__list>li>a[aria-current=page]:after,:root:not([data-skin]) .site-nav__more>button.is-current:before{content:"";background:var(--accent);width:26px;height:6px;-webkit-mask:var(--pen-stroke) center / 100% 100% no-repeat;-webkit-mask:var(--pen-stroke) center / 100% 100% no-repeat;mask:var(--pen-stroke) center / 100% 100% no-repeat;position:absolute;bottom:5px;left:50%;translate:-50%}.site-nav{position:relative}.site-nav__mark{display:none}:root:not([data-skin]) .site-nav__mark:not([hidden]){background:var(--accent);width:26px;height:6px;-webkit-mask:var(--pen-stroke) center / 100% 100% no-repeat;-webkit-mask:var(--pen-stroke) center / 100% 100% no-repeat;mask:var(--pen-stroke) center / 100% 100% no-repeat;pointer-events:none;display:block;position:absolute;top:0;left:0}:root:not([data-skin]) .site-nav:has(>.site-nav__mark:not([hidden])) :is(){display:none}.site-nav__more{position:relative}.site-nav__wide{display:none}@media (min-width:820px){:root:not([data-skin=y2k]) .site-nav__wide{display:list-item}:root:not([data-skin=y2k]) .site-nav__more{display:none}}@media (min-width:820px) and (max-width:1023px){:root:not([data-skin]) .site-nav__list>li>a,[data-skin=island] .site-nav__list>li>a{padding:0 9px}[data-skin=island] .site-nav__list>li>a{padding:0 8px}}@media (min-width:900px){[data-skin=y2k] .site-nav__wide{display:list-item}[data-skin=y2k] .site-nav__more{display:none}}@media (max-width:760px){[data-skin=apple] .site-nav__wide{display:list-item}[data-skin=apple] .site-nav__more{display:none}}@media (min-width:330px) and (max-width:760px){:is(:root:not([data-skin]),[data-skin=island]) .site-nav__wide{display:list-item}:is(:root:not([data-skin]),[data-skin=island]) .site-nav__more{display:none}}@media (min-width:376px) and (max-width:760px){[data-skin=y2k] .site-nav__wide{display:list-item}[data-skin=y2k] .site-nav__more{display:none}}.site-nav__more>button:after{content:"";border:1.5px solid;border-width:0 1.5px 1.5px 0;width:5px;height:5px;margin:-3px 0 0 7px;transform:rotate(45deg)}.site-nav__more>button[aria-expanded=true]:after{margin-top:3px;transform:rotate(-135deg)}.site-nav__menu{z-index:12;border-radius:var(--radius-md);background:var(--card);min-width:128px;box-shadow:var(--shadow), 0 18px 40px -20px #281e0a73;margin:0;padding:8px;list-style:none;position:absolute;top:calc(100% + 2px);right:0}.site-nav__menu[hidden]{display:none}@media (prefers-reduced-motion:no-preference){.site-nav__menu{transition:opacity .16s,transform .16s}@starting-style{.site-nav__menu{opacity:0;transform:translateY(-4px)}}}.site-nav__menu a{white-space:nowrap;border-radius:var(--radius-sm);min-height:42px;font-size:var(--text-md);color:var(--ink);align-items:center;padding:0 14px;display:flex}.site-nav__menu a:hover{background:var(--soft);color:var(--ink)}.site-nav__menu a[aria-current=page]{color:var(--accent)}.site-nav__menu a[aria-current=page]:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:auto}@media (max-width:540px){.site-header__tools{order:2;margin-left:auto}.site-nav{flex-basis:100%;order:3;margin:-6px 0 6px -9px}.site-nav__list{gap:0}.site-nav__list>li>a,.site-nav__more>button{padding:0 9px}}@media (max-width:760px){.site-header__inner:has(.site-nav__list>li:nth-child(4 of :not(.site-nav__wide))) .site-header__tools{order:2;margin-left:auto}.site-header__inner:has(.site-nav__list>li:nth-child(4 of :not(.site-nav__wide))) .site-nav{flex-basis:100%;order:3;margin:-6px 0 6px -9px}}@media (max-width:360px){.site-nav__list>li>a,.site-nav__more>button{padding:0 7px}}@media (max-width:540px){.site-header__inner{column-gap:12px}.site-header__tools{gap:0}.site-header__tools .icon-button{width:40px}}@media (max-width:380px){.site-header__brand{font-size:var(--text-base)}}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.site-header__tools{align-items:center;gap:2px;display:flex}.icon-button:hover{background:var(--soft)}.theme-menu{position:relative}.theme-menu__panel{z-index:12;border-radius:var(--radius-md);background:var(--card);width:232px;box-shadow:var(--shadow), 0 18px 40px -20px #281e0a73;padding:10px 8px 6px;position:absolute;top:calc(100% + 2px);right:0}.theme-menu__panel[hidden]{display:none}@media (prefers-reduced-motion:no-preference){.theme-menu__panel{transition:opacity .16s,transform .16s}@starting-style{.theme-menu__panel{opacity:0;transform:translateY(-4px)}}}.theme-menu__title{font-size:var(--text-xs);color:var(--muted);margin:0;padding:4px 10px 6px;font-weight:600}.theme-menu__group{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding-bottom:8px;display:grid}.theme-menu__option{border-radius:var(--radius-sm);min-height:40px;font-family:var(--font-hand);font-size:var(--text-base);color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.theme-menu__option:hover{background:var(--soft)}.theme-menu__option[aria-checked=true]{background:color-mix(in srgb, var(--accent) 12%, var(--card));color:var(--accent)}.theme-menu__note{font-size:var(--text-sm);color:var(--muted);margin:0;padding:2px 10px 8px}.theme-menu__follow{border:0;border-top:1px solid var(--rule);width:100%;min-height:44px;font-size:var(--text-sm);color:var(--muted);text-align:left;cursor:pointer;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;margin-top:2px;padding:4px 10px 0;display:flex}.theme-menu__follow:hover{color:var(--ink)}.theme-menu__switch{background:var(--soft);width:36px;height:22px;box-shadow:inset 0 0 0 1px var(--rule);border-radius:999px;flex:none;position:relative}.theme-menu__switch:after{content:"";background:var(--muted);border-radius:50%;width:16px;height:16px;position:absolute;top:3px;left:3px}.theme-menu__follow[aria-checked=true] .theme-menu__switch{background:var(--accent);box-shadow:none}.theme-menu__follow[aria-checked=true] .theme-menu__switch:after{background:var(--card);left:17px}@media (prefers-reduced-motion:no-preference){.theme-menu__switch:after{transition:left .15s,background-color .15s}}.scheme-toggle{position:relative}.scheme-toggle__icon{display:contents}.scheme-toggle__icon--sun,:root[data-theme=dark] .scheme-toggle__icon--moon{display:none}:root[data-theme=dark] .scheme-toggle__icon--sun{display:contents}@media (prefers-color-scheme:dark){:root:not([data-theme]) .scheme-toggle__icon--moon{display:none}:root:not([data-theme]) .scheme-toggle__icon--sun{display:contents}}.scheme-toggle__hint{z-index:13;border-radius:var(--radius-xs);background:var(--ink);color:var(--bg);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;padding:6px 10px;position:absolute;top:calc(100% + 4px);right:0}.scheme-toggle__hint:empty{display:none}.theme-menu__swatch{border-radius:50%;flex:none;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0000001f}.theme-menu__option--ink .theme-menu__swatch{background:linear-gradient(135deg,#f2eee4 50%,#244a90 50%)}.theme-menu__option--apple .theme-menu__swatch{background:linear-gradient(135deg,#f5f5f7 50%,#0071e3 50%)}.theme-menu__option--island .theme-menu__swatch{background:linear-gradient(135deg,#19c8b9 0 50%,#fc0 50% 64%,#f8f8f0 64%)}.theme-menu__option--y2k .theme-menu__swatch{background:radial-gradient(circle at 35% 28%,#fff 0,#9fd0f8 45%,#1667c7 100%)}.theme-sheen{display:none}@property --spread-r{syntax:"<length>";inherits:false;initial-value:0}@property --edge-start{syntax:"<length>";inherits:false;initial-value:0}@property --edge-end{syntax:"<length>";inherits:false;initial-value:0}@media (prefers-reduced-motion:no-preference){:root[data-theme-spread]::view-transition-old(root){mix-blend-mode:normal;animation:none}:root[data-theme-spread]::view-transition-new(root){mix-blend-mode:normal;animation:none}:root[data-theme-spread]::view-transition-new(root){-webkit-mask-image:radial-gradient(circle at var(--spread-x) var(--spread-y), #000 calc(var(--spread-r) - var(--spread-edge)), transparent var(--spread-r));-webkit-mask-image:radial-gradient(circle at var(--spread-x) var(--spread-y), #000 calc(var(--spread-r) - var(--spread-edge)), transparent var(--spread-r));mask-image:radial-gradient(circle at var(--spread-x) var(--spread-y), #000 calc(var(--spread-r) - var(--spread-edge)), transparent var(--spread-r));animation:.9s cubic-bezier(.35,0,.2,1) both theme-spread}@keyframes theme-spread{to{--spread-r:var(--spread-end)}}:root[data-theme-fade]::view-transition-old(root){animation:.5s both theme-glass-out}:root[data-theme-fade]::view-transition-new(root){animation:.6s cubic-bezier(.2,.7,.2,1) both theme-glass-in}@keyframes theme-glass-out{to{opacity:0;filter:blur(14px)}}@keyframes theme-glass-in{0%{opacity:0;filter:blur(22px)saturate(1.5);transform:scale(1.02)}}:root[data-theme-pop]::view-transition-old(root){mix-blend-mode:normal;animation:none}:root[data-theme-pop]::view-transition-new(root){mix-blend-mode:normal;animation:none}:root[data-theme-pop]::view-transition-new(root){-webkit-mask-image:radial-gradient(circle at var(--spread-x) var(--spread-y), #000 calc(var(--spread-r) - 1px), transparent var(--spread-r));-webkit-mask-image:radial-gradient(circle at var(--spread-x) var(--spread-y), #000 calc(var(--spread-r) - 1px), transparent var(--spread-r));mask-image:radial-gradient(circle at var(--spread-x) var(--spread-y), #000 calc(var(--spread-r) - 1px), transparent var(--spread-r));animation:.7s cubic-bezier(.34,1.56,.64,1) both theme-spread}:root[data-theme-bubble]::view-transition-old(root){mix-blend-mode:normal;animation:none}:root[data-theme-bubble]::view-transition-new(root){mix-blend-mode:normal;animation:none}:root[data-theme-bubble]::view-transition-new(root){-webkit-mask-image:radial-gradient(circle at var(--spread-x) var(--spread-y), #000 calc(var(--spread-r) - 2px), transparent var(--spread-r));-webkit-mask-image:radial-gradient(circle at var(--spread-x) var(--spread-y), #000 calc(var(--spread-r) - 2px), transparent var(--spread-r));mask-image:radial-gradient(circle at var(--spread-x) var(--spread-y), #000 calc(var(--spread-r) - 2px), transparent var(--spread-r));animation:.75s cubic-bezier(.34,1.4,.64,1) both theme-spread}.theme-sheen{z-index:2147483000;pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff59 40%,#fffffff2 46%,#dceeff8c 50%,#0000 62%) 100% 0/300% 100% no-repeat;animation:.9s cubic-bezier(.45,0,.25,1) .3s both theme-sheen;display:block;position:fixed;inset:0}@keyframes theme-sheen{to{background-position:0 0}}}main{flex:1 0 auto}.site-footer{margin-top:88px}.site-footer__inner{border-top:1px solid var(--rule);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px 22px;padding-block:26px 40px;display:flex}.site-footer__name{font-family:var(--font-hand);font-size:var(--text-body);color:var(--ink);position:relative}.site-footer__stroke{width:104%;height:.26em;position:absolute;bottom:-.2em;left:-2%;overflow:visible}.site-footer__stroke path{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round}.site-footer__links{font-family:var(--font-hand);font-size:var(--text-sm);flex-wrap:wrap;gap:28px 22px;margin-left:auto;display:flex}.site-footer__links a{align-items:center;min-height:44px;margin-block:-14px;display:inline-flex}.site-footer__notion{gap:6px}.site-footer__notion svg{flex:none}.site-footer__external{opacity:.75}.site-footer__note{text-align:right;flex-basis:100%}@media (max-width:520px){.site-footer__links:has(.site-footer__notion){flex-basis:100%;justify-content:space-between;margin-left:0}}.page-switch{z-index:19;pointer-events:none;position:fixed;overflow:hidden}.page-switch__part{position:absolute}.page-switch__bar{z-index:21;background:var(--accent);opacity:0;pointer-events:none;width:0;height:2px;position:fixed;left:0}.page-switch__bar.is-on{opacity:1}.to-top{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:15;background:var(--card);width:44px;height:44px;color:var(--muted);box-shadow:var(--shadow), 0 0 0 1px var(--rule);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:fixed}.to-top[hidden]{display:none}.to-top:hover{color:var(--accent)}@media (prefers-reduced-motion:no-preference){.to-top{transition:opacity .2s, translate .25s cubic-bezier(.2, .8, .2, 1), display .2s allow-discrete, transform .2s cubic-bezier(.2, .8, .2, 1), box-shadow .2s ease}.to-top[hidden]{opacity:0;translate:0 8px}@starting-style{.to-top{opacity:0;translate:0 8px}}}.page-head{padding-block:56px 32px}.page-head h1{font-family:var(--font-hand);margin:0;font-size:clamp(38px,4.8vw,54px);font-weight:400;line-height:1.15}.page-head p{max-width:620px;font-size:var(--text-body);color:var(--muted);margin:8px 0 0}@media (max-width:540px){.page-head{padding-block:10px 14px}.page-head h1{font-size:var(--text-3xl)}.page-head.library__head{align-items:center;gap:10px 16px;padding-top:2px}}.section-title{font-family:var(--font-hand);font-size:var(--text-2xl);margin:0;font-weight:400}.eyebrow{font-size:var(--text-sm);color:var(--muted);margin:0;font-weight:600}.card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow)}a.card:hover{box-shadow:var(--shadow-lift)}:root{-webkit-tap-highlight-color:transparent}:is(.site-nav__list>li>a,.site-nav__more>button):active{color:var(--accent)}:is(.site-nav__menu a,.segmented :is(a:not([aria-current]),button:not([aria-pressed=true])),a.event--line,a.work-line__main,a.work-line__more,.tree__link,.toc a,.page-outline__item a,.search-hit,.palette__option a,.study-entry,.child-page,.course-quick-links a,.course-gallery-card,.crumbs a):active{background-color:var(--bloom)}.segmented :is(a[aria-current],button[aria-pressed=true]):active{background-color:color-mix(in srgb, var(--accent) 10%, var(--picked))}:is(a.event--line,a.work-line__main,a.work-line__more,.crumbs a,.toc-drawer .toc a,.prose__toc .toc a):active{border-radius:var(--radius-xs);box-shadow:0 0 0 6px var(--bloom)}:is(.pill-button,.icon-button,a.card,.to-top,.page-outline__open):active{box-shadow:var(--shadow-press)}@media (prefers-reduced-motion:no-preference){:is(.site-nav__list>li>a,.site-nav__more>button,.site-nav__menu a,.segmented :is(a,button),a.event--line,a.work-line__main,a.work-line__more,.tree__link,.toc a,.page-outline__item a,.search-hit,.palette__option a,.study-entry,.child-page,.course-quick-links a,.course-gallery-card,.crumbs a){transition:background-color .22s,box-shadow .22s}:is(.site-nav__list>li>a,.site-nav__more>button,.site-nav__menu a,.segmented :is(a,button),a.event--line,a.work-line__main,a.work-line__more,.tree__link,.toc a,.page-outline__item a,.search-hit,.palette__option a,.study-entry,.child-page,.course-quick-links a,.course-gallery-card,.crumbs a):active{transition-duration:60ms}a.card{transition:transform .3s cubic-bezier(.3,1.3,.5,1),box-shadow .3s}a.card:hover{transform:translateY(-2px)rotate(-.25deg)}.pill-button,.icon-button,.page-outline__open{transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s}:is(.pill-button,.icon-button,a.card,.to-top,.page-outline__open):active{transform:translateY(var(--press-depth,1.5px));transition-duration:50ms}}.pill-button{background:var(--card);min-height:44px;box-shadow:var(--shadow);font-family:var(--font-hand);font-size:var(--text-md);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;display:inline-flex}.pill-button:hover{color:var(--accent)}.pill-button:disabled,.pill-button[aria-disabled=true]{color:var(--muted);cursor:progress}.list-tail__end{font-family:var(--font-hand);letter-spacing:.1em;position:relative;font-size:var(--text-md)!important}:root:not([data-skin]) .list-tail__end{padding-bottom:10px}:root:not([data-skin]) .list-tail__end:after{content:"";background:color-mix(in srgb, var(--accent) 70%, transparent);width:46px;height:6px;-webkit-mask:var(--pen-stroke) center / 100% 100% no-repeat;-webkit-mask:var(--pen-stroke) center / 100% 100% no-repeat;mask:var(--pen-stroke) center / 100% 100% no-repeat;position:absolute;bottom:0;left:0}:root:not([data-skin]) .works__more .list-tail__end:after{left:50%;translate:-50%}[data-skin=island] .list-tail__end{background:linear-gradient(transparent 56%, var(--marker) 56% 88%, transparent 88%)}.list-tail__auto{min-height:44px;font-family:var(--font-hand);font-size:var(--text-sm);color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0}.list-tail__auto:hover{color:var(--accent)}.list-tail__auto[aria-disabled=true]{cursor:progress}@media (prefers-reduced-motion:no-preference){.list-tail__auto[aria-disabled=true]{animation:1.4s ease-in-out infinite pulse}}.list-tail__slow{font-size:var(--text-sm);color:var(--muted);align-items:center;gap:8px;display:inline-flex}.list-tail__retry{min-height:44px;font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0 4px;text-decoration:underline}.tag{background:var(--soft);font-size:var(--text-xs);color:var(--muted);border-radius:999px;align-items:center;padding:2px 10px;font-weight:600;display:inline-flex}.tag--sky{background:color-mix(in srgb, var(--accent) 12%, var(--card));color:var(--accent)}.notice{border-radius:var(--radius-md);background:var(--peach);font-size:var(--text-sm);margin:0;padding:14px 18px}.state{border-radius:var(--radius-md);background:var(--soft);color:var(--muted);flex-direction:column;align-items:flex-start;gap:12px;padding:22px 24px;display:flex}.state p{margin:0}.state--center{text-align:center;background:0 0;align-items:center;padding-block:72px}.state--center h1{font-family:var(--font-hand);font-size:var(--text-3xl);color:var(--ink);margin:0;font-weight:400}.not-found{gap:14px;padding-block:96px 80px}.not-found__sheet{aspect-ratio:3/4;border-radius:var(--radius-sm);background:var(--card);width:132px;box-shadow:var(--shadow), inset 3px 0 0 color-mix(in srgb, var(--accent) 70%, transparent);margin-bottom:18px;position:relative;transform:rotate(-3deg)}.not-found__sheet:before{content:"";background:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--rule) 80%, transparent) 0 1px, transparent 1px 20px);height:62px;position:absolute;top:30px;left:22px;right:20px}.not-found__sheet:after{content:"";background:var(--accent);width:15px;height:15px;box-shadow:13px -9px 0 -5px var(--accent), -9px 6px 0 -6px var(--accent);border-radius:50%;position:absolute;bottom:26px;right:22px}.skeleton{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--ink) 7%, var(--bg));display:block}.skeleton--text{vertical-align:middle;border-radius:999px;max-width:100%;height:.9em;display:inline-block}.page-loading{min-height:100vh}@media (prefers-reduced-motion:no-preference){.skeleton{animation:2.4s ease-in-out infinite breathe}.page-loading>:not(.page-head,.search__form,.skeleton){animation:.4s ease-in backwards waiting-in;animation-delay:calc(.7s - var(--waited,0s))}@keyframes waiting-in{0%{opacity:0}}@keyframes breathe{0%,to{opacity:.55}50%{opacity:.9}}@keyframes pulse{50%{opacity:.5}}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hero{text-align:center;flex-direction:column;align-items:center;gap:14px;padding-block:76px 56px;display:flex}.hero h1{font-family:var(--font-hand);margin:0;font-size:clamp(34px,4.8vw,54px);font-weight:400;line-height:1.2}.hero__greet{white-space:nowrap}.hero__name{max-width:100%;display:inline-block;position:relative}.hero__stroke{width:104%;height:.24em;position:absolute;bottom:-.16em;left:-2%;overflow:visible}.hero__stroke path{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:1}@media (prefers-reduced-motion:no-preference){.hero__stroke path{animation:.9s cubic-bezier(.6,0,.3,1) .25s both pen-stroke}@keyframes pen-stroke{0%{stroke-dashoffset:1px}}[data-pen=drawn] .hero__stroke path{animation:none}}.hero__bio{font-family:var(--font-hand);font-size:var(--text-lg);color:var(--muted);margin:0}@media (max-width:760px){.hero--home{gap:12px;padding-block:32px 28px}.hero--home .avatar{width:72px;height:72px;font-size:var(--text-2xl)}}.avatar{object-fit:cover;background:var(--card);width:88px;height:88px;box-shadow:0 0 0 1.5px var(--accent), 0 0 0 7px var(--bg), 0 0 0 8px var(--rule);font-family:var(--font-hand);font-size:var(--text-3xl);color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.hero__avatar{margin-bottom:10px;display:grid;position:relative}.hero__avatar .avatar{margin-bottom:0}.hero__about{border-radius:50%;position:absolute;inset:0}.hero__about:before{content:"";border:1.5px solid var(--accent);border-radius:inherit;opacity:0;position:absolute;inset:-8px}.hero__about:hover:before,:root:not([data-input=pointer]) .hero__about:focus-visible:before{opacity:1}.hero__about:focus-visible{outline-offset:12px;border-radius:50%}.hero__about-mark{background:var(--card);width:26px;height:26px;color:var(--accent);box-shadow:0 0 0 1.5px var(--accent), 0 0 0 4px var(--bg);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:-3px;right:-3px}@media (prefers-reduced-motion:no-preference){.hero__avatar .avatar{transition:transform .3s cubic-bezier(.3,1.5,.5,1)}.hero__about:before{transition:opacity .2s}.hero__avatar:has(.hero__about:hover) .avatar{transform:rotate(-4deg)scale(1.03)}.hero__avatar:has(.hero__about:active) .avatar{transform:scale(.97)}}.socials{flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:4px 0 0;list-style:none;display:flex}.socials a{background:var(--card);width:44px;height:44px;box-shadow:var(--shadow);color:var(--muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.socials a:hover{color:var(--accent)}:root{--brand-bilibili:var(--lightningcss-light,#0087b8)var(--lightningcss-dark,#00a1d6);--brand-xiaohongshu:#ff2442;--brand-steam:var(--lightningcss-light,#1b2838)var(--lightningcss-dark,#1a9fff)}:root:not([data-input=pointer]) .socials a:focus-visible{color:var(--accent)}.socials a[data-platform=bilibili]:hover,:root:not([data-input=pointer]) .socials a[data-platform=bilibili]:focus-visible{color:var(--brand-bilibili)}.socials a[data-platform=xiaohongshu]:hover,:root:not([data-input=pointer]) .socials a[data-platform=xiaohongshu]:focus-visible{color:var(--brand-xiaohongshu)}.socials a[data-platform=steam]:hover,:root:not([data-input=pointer]) .socials a[data-platform=steam]:focus-visible{color:var(--brand-steam)}.socials li:nth-child(n) a:active{box-shadow:var(--shadow-press)}@media (prefers-reduced-motion:no-preference){.socials a{transition:transform .25s cubic-bezier(.3,1.5,.5,1),color .2s,box-shadow .2s}.socials li:nth-child(odd) a:hover{transform:rotate(-6deg)translateY(-2px)}.socials li:nth-child(2n) a:hover{transform:rotate(6deg)translateY(-2px)}.socials li:nth-child(n) a:active{transform:translateY(var(--press-depth,1.5px));transition-duration:50ms}}.about__updated{font-size:var(--text-sm);color:var(--muted);text-align:center;margin:0;padding:18px 0 40px}.about-dialog{text-align:start;border-radius:var(--radius-lg);background:var(--card);width:min(680px,100vw - 28px);max-width:none;max-height:min(760px,100dvh - 96px);color:var(--ink);box-shadow:0 0 0 1px var(--rule), 0 30px 60px -24px #1e180a80;border:0;margin:auto;padding:0;overflow:hidden}.about-dialog::backdrop{background:#0c0c0e66;background:var(--lightningcss-light,#20242c4d)var(--lightningcss-dark,#0009)}.about-dialog__panel{max-height:inherit;flex-direction:column;display:flex}.about-dialog__head{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 10px clamp(22px,4vw,40px);display:flex}.about-dialog__head h2{font-family:var(--font-hand);font-size:var(--text-2xl);margin:0;font-weight:400}.about-dialog__body{overscroll-behavior:contain;flex:auto;min-height:0;padding:8px clamp(22px,4vw,40px) clamp(24px,4vw,36px);overflow-y:auto}.about-dialog__loading{gap:14px;padding-block:8px 12px;display:grid}.about-dialog__loading .skeleton{height:12px}.about-dialog__updated{font-size:var(--text-sm);color:var(--muted);margin:22px 0 0}.about-dialog{width:min(460px,100vw - 28px)}.about-dialog__head{text-align:center;flex-direction:column;justify-content:flex-start;gap:10px;padding:32px 24px 6px;position:relative}.about-dialog__head .about-dialog__close{position:absolute;top:10px;right:10px}.about-dialog__head .avatar{width:72px;height:72px;box-shadow:0 0 0 3px var(--card), var(--shadow);margin:0}.about-dialog__head h2{padding-bottom:10px;position:relative}:root:not([data-skin]) .about-dialog__head h2:after{content:"";background:var(--accent);height:6px;-webkit-mask:var(--pen-stroke) center / 100% 100% no-repeat;-webkit-mask:var(--pen-stroke) center / 100% 100% no-repeat;mask:var(--pen-stroke) center / 100% 100% no-repeat;position:absolute;bottom:0;left:-14%;right:-14%}[data-skin=island] .about-dialog__head h2{background:linear-gradient(transparent 56%, var(--marker) 56% 88%, transparent 88%);padding-bottom:0}.about-dialog__body{text-align:center;padding-inline:clamp(22px,5vw,36px)}.about-dialog__body .prose>*{margin-inline:auto}@media (max-width:540px){.about-dialog{max-height:calc(100dvh - 28px)}}
