.reader-navigation{font:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.header-actions .reader-navigation{min-width:44px;min-height:44px;font:700 1rem/1.4 var(--playful);color:inherit;transition:color var(--motion-feedback-duration) var(--ease-out),text-shadow var(--motion-feedback-duration) var(--ease-out);justify-content:center;margin-left:4px}.header-actions .reader-navigation[aria-current=page]{color:var(--summer-orange)}.header-actions .reader-navigation:focus-visible{text-underline-offset:6px;color:var(--summer-blue);outline:none;text-decoration:underline}.reader-navigation__avatar{width:var(--reader-navigation-avatar-size);height:var(--reader-navigation-avatar-size);flex:0 0 var(--reader-navigation-avatar-size);border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.header-actions .reader-navigation:hover{color:var(--summer-blue);text-shadow:0 0 18px color-mix(in srgb,var(--glow-blue) 24%,transparent)}}.media-header .site-header:not(.site-header--scrolled) .header-actions .reader-navigation[aria-current=page]{color:var(--on-media-accent)}.reader-navigation__avatar[hidden],.reader-navigation__avatar img[hidden]{display:none}.reader-navigation__avatar svg{stroke:currentColor;stroke-width:1.7px;width:100%;height:100%}.reader-navigation__avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.reader-account-page{max-width:var(--reader-width);font:400 var(--reader-font-size)/1.8 var(--playful);padding-block:140px 80px}.reader-account-page [hidden]{display:none}.reader-paper{min-width:0;padding:var(--reader-card-padding-block) 34px;border-radius:var(--reader-corner-size);background:var(--reader-card-surface,var(--reader-paper));color:var(--text);font:400 var(--reader-font-size)/1.65 var(--playful);border:0}.reader-paper h2{font:400 1.45rem/1.4 var(--playful);overflow-wrap:anywhere;margin:0 0 16px}.reader-paper p{color:var(--text-soft)}.reader-field{min-width:0;color:var(--text-soft);box-shadow:none;background:0 0;border:0;gap:4px;display:grid}.reader-field:focus-within{color:var(--reader-accent)}.reader-paper .reader-field input{border:0;border-bottom:1px solid var(--reader-line);width:100%;min-width:0;color:var(--text);font:inherit;font-size:var(--reader-font-size);box-shadow:none;appearance:none;transition:border-color var(--motion-feedback-duration) var(--ease-out);background:0 0;border-radius:0;outline:none;padding:8px 2px}.reader-paper .reader-field input:is(:focus,:focus-visible){border-bottom-color:var(--reader-accent)}.reader-field input::placeholder{color:var(--muted);opacity:1}.reader-field>span:first-child{font-size:var(--reader-small-font-size)}.reader-paper button{min-height:44px;color:var(--reader-accent);font:inherit;cursor:pointer;transition:color var(--motion-feedback-duration) var(--ease-out);background:0 0;border:0;padding:8px 16px}.reader-paper button:disabled{cursor:default;color:var(--text-soft);opacity:.6}.reader-paper [aria-busy=true] button{cursor:wait}.reader-paper .reader-feedback{min-height:1.65em;color:var(--reader-pink);font-size:var(--reader-small-font-size);overflow-wrap:anywhere;margin:12px 0 0;line-height:1.7}.reader-feedback:empty{visibility:hidden;display:block}.reader-paper :is(a,button):focus-visible{outline:2px solid var(--reader-accent);outline-offset:4px}.reader-avatar{background:color-mix(in srgb,var(--reader-pink) 12%,var(--reader-paper));width:88px;height:88px;color:var(--reader-pink);border-radius:50%;flex:0 0 88px;place-items:center;font-size:2.4rem;display:grid;position:relative;overflow:hidden}.reader-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.reader-avatar img[hidden]{display:none}.reader-account-summary{--reader-card-surface:var(--reader-summary-surface);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.reader-account-summary>div:nth-child(2){flex:1;min-width:0}.reader-account-summary h2{margin:0;font-size:2rem}.reader-account-summary [data-avatar-feedback]{flex:100%;min-width:0;margin:0}.reader-account-summary [data-avatar-feedback]:empty{display:none}.reader-account-summary dl{border-top:1px solid var(--line);font-size:var(--reader-small-font-size);flex-wrap:wrap;flex:100%;align-items:center;gap:12px 36px;margin:0;padding-top:14px;display:flex}.reader-account-summary dl div{align-items:center;gap:10px;display:flex}.reader-account-summary dt{color:var(--text-soft)}.reader-account-summary dd{margin:0}.reader-account-summary .reader-account-logout{margin-left:auto}[data-account-content]{--reader-card-surface:var(--reader-account-surface)}[data-account-content] .reader-account-grid{row-gap:var(--reader-account-block-gap);margin-top:var(--reader-account-block-gap)}.reader-account-grid{gap:var(--reader-card-gap);margin-top:var(--reader-card-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.reader-account-wide{grid-column:1/-1}.reader-account-grid form{gap:12px;display:grid}.reader-help{font-size:var(--reader-small-font-size);color:var(--text-soft);margin:0 0 12px;line-height:1.8}.reader-account-page a{color:var(--reader-accent)}.reader-card-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.reader-card-heading h2{margin:0}.reader-card-count{font-size:var(--reader-small-font-size);white-space:nowrap;color:var(--text-soft);padding:4px 14px}.reader-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.reader-profile-field{padding:0}.reader-profile-field:before,.reader-profile-field:after{content:none}.reader-profile-website{flex-wrap:wrap;grid-column:1/-1;align-items:flex-end;gap:12px;min-width:0;display:flex}.reader-profile-website>label{flex:240px;min-width:0}.reader-profile-website>button{white-space:nowrap;flex:none;margin-left:auto}.reader-profile-card [data-profile-feedback]{min-height:1.7em;margin:0;display:block}.reader-passkeys{margin:0 0 12px;padding:0;list-style:none}.reader-passkeys li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.reader-passkeys strong{overflow-wrap:anywhere;font-weight:400}.reader-passkeys small{color:var(--text-soft);font-size:var(--reader-small-font-size);display:block}.reader-passkeys button{flex-shrink:0}.reader-account-grid form.reader-passkey-add{border-top:1px solid var(--line);align-items:end;gap:20px;margin-top:14px;padding-top:14px;display:flex}.reader-passkey-add label{flex:1}.reader-passkey-add>button{flex-shrink:0;margin-left:auto}.reader-passkey-confirm{color:var(--reader-pink);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.reader-comments{margin:0;padding:0;list-style:none}.reader-comments li{border-top:1px solid var(--line);padding:20px 0}.reader-comments header{color:var(--text-soft);font-size:var(--reader-small-font-size);flex-wrap:wrap;gap:8px 16px;display:flex}.reader-comments p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);margin:10px 0}.reader-comments a{font-size:var(--reader-small-font-size)}.reader-pagination{font-size:var(--reader-small-font-size);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.reader-pagination button{min-width:70px}.reader-account-wide:has([data-account-passkeys]){--reader-card-surface:var(--reader-passkey-surface)}.reader-identity-heading{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.reader-method-badge{background:color-mix(in srgb,var(--reader-accent) 9%,transparent);width:30px;height:26px;color:var(--text-soft);vertical-align:middle;border-radius:9px;flex:0 0 30px;place-items:center;display:inline-grid}.reader-method-badge[hidden],.reader-method-badge svg:not([data-visible=true]){display:none}.reader-method-badge svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.reader-account-page .reader-avatar-edit{cursor:pointer;color:var(--reader-pink);background:color-mix(in srgb,var(--reader-pink) 12%,var(--reader-paper));border-radius:50%;margin:0;padding:0;overflow:hidden}.reader-avatar-edit__overlay{background:var(--reader-avatar-edit-overlay);color:var(--reader-avatar-edit-color);opacity:0;transition:opacity var(--motion-feedback-duration) var(--ease-out);place-items:center;display:grid;position:absolute;inset:0}.reader-avatar-edit__overlay svg{filter:drop-shadow(0 1px 2px var(--reader-avatar-edit-shadow));stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.reader-avatar-edit:is(:hover,:focus-visible,[aria-busy=true]) .reader-avatar-edit__overlay{opacity:1}.reader-avatar-edit img,.reader-avatar-edit>[data-account-initial]{transition:filter var(--motion-feedback-duration) var(--ease-out),transform var(--motion-feedback-duration) var(--ease-out),opacity var(--motion-feedback-duration) var(--ease-out)}.reader-avatar-edit:is(:hover,:focus-visible,[aria-busy=true]) :is(img,[data-account-initial]){filter:blur(var(--reader-avatar-edit-blur));transform:scale(var(--reader-avatar-edit-scale));opacity:var(--reader-avatar-edit-opacity)}.reader-avatar-edit[aria-busy=true] .reader-avatar-edit__overlay svg{display:none}.reader-avatar-edit[aria-busy=true] .reader-avatar-edit__overlay:after{content:"…";font-size:2rem}.reader-account-page .reader-curved-surface{isolation:isolate;border-radius:var(--reader-corner-size);box-shadow:none;background:0 0;border:0;position:relative}.reader-account-page .reader-curved-surface:before{content:"";z-index:-1;pointer-events:none;border-radius:var(--reader-surface-fallback-radius,inherit);background:var(--reader-card-surface,var(--reader-paper));clip-path:var(--reader-surface-path,none);position:absolute;inset:0}.reader-account-page :is(button,.reader-card-count,.reader-method-badge).reader-curved-surface{border-radius:999px}.reader-account-page :is(button,.reader-card-count,.reader-method-badge).reader-curved-surface:before{background:color-mix(in srgb,var(--reader-accent) 9%,var(--reader-paper))}.reader-login{max-width:var(--reader-login-width);scroll-margin-top:calc(var(--header-height) + 24px);margin-inline:auto;padding:30px 34px}.reader-login h2{margin-bottom:22px;font-size:1.75rem}.reader-login form{gap:18px;display:grid}.reader-login .reader-field input{font-size:var(--reader-login-font-size);padding-block:12px}.reader-login .reader-field>span:first-child{font-size:var(--reader-font-size)}.reader-login__email-step{gap:var(--reader-login-step-gap);display:grid}.reader-login__email-step h2{margin-bottom:4px}.reader-login .reader-submit{width:100%;font-size:var(--reader-login-font-size);margin-top:4px}.reader-login .reader-login__notice{font-size:var(--reader-small-font-size);color:var(--text-soft);overflow-wrap:anywhere;margin:0;line-height:1.8}.reader-login__email-step .reader-login__providers{margin-top:var(--reader-login-provider-space)}.reader-login__code-step{justify-items:center;gap:26px;padding-block:12px;display:grid}.reader-login__code-actions{justify-content:center;gap:16px;display:flex}.reader-login__code-actions button{min-width:88px}.reader-login[data-step=code] .reader-login__secondary{display:none}.reader-login .reader-feedback[data-error=true]{color:var(--danger)}.reader-account-page .reader-login[data-step=code]{box-shadow:none;filter:none;background:0 0;border-radius:0;padding-inline:0}.reader-account-page .reader-login[data-step=code]:before{content:none;clip-path:none}.reader-login[data-step=code] .reader-feedback{text-align:center}.reader-login__code-actions button{box-shadow:none;filter:none;background:0 0;border-radius:0}.reader-login__code-actions button:before{content:none}.reader-login__code-actions button:focus-visible{text-underline-offset:6px;outline:none;text-decoration:underline 2px}.reader-login__providers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.reader-login__providers button{min-width:0;font-size:var(--reader-login-font-size);justify-content:center;align-items:center;gap:9px;display:inline-flex}.reader-login__providers svg,.reader-login__providers img{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 20px;width:20px;height:20px}.reader-login__providers [data-reader-provider=github] svg{fill:currentColor;stroke:none}.reader-login__secondary{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.reader-login__secondary:has(>button[hidden]:first-child):has(>button[hidden]:last-child){display:none}:root[data-reader-surfaces=pending] .reader-account-page{visibility:hidden}:root[data-reader-surfaces=ready] .reader-account-page{animation:reader-surface-ready var(--motion-feedback-duration) var(--ease-out) both}@keyframes reader-surface-ready{0%{opacity:0}to{opacity:1}}:root.motion-paused .reader-account-page{animation:none}@media (hover:hover) and (pointer:fine){.reader-paper :is(a,button:not(:disabled)):hover{color:var(--reader-pink)}}@media (hover:none){.reader-avatar-edit__overlay{opacity:.5;height:28px;inset:auto 0 0}.reader-avatar-edit__overlay svg{width:18px;height:18px}.reader-avatar-edit img{filter:blur(1px)}}@media (width<=700px){.reader-account-page{padding-top:120px}.reader-paper{padding:var(--reader-card-padding-block) 22px}.reader-account-grid{grid-template-columns:minmax(0,1fr)}.reader-profile-fields{grid-template-columns:minmax(0,1fr);gap:14px}.reader-account-summary{gap:14px}.reader-account-summary .reader-avatar{flex-basis:70px;width:70px;height:70px}.reader-account-summary h2{font-size:1.65rem}.reader-account-summary dl{flex-direction:column;align-items:stretch;gap:12px}.reader-account-summary dl div{flex-wrap:wrap;justify-content:space-between}.reader-account-summary .reader-account-logout{justify-content:flex-end;margin-left:0}.reader-card-heading h2{font-size:1.35rem}.reader-passkey-add{flex-wrap:wrap}.reader-passkey-add label{flex-basis:100%}.reader-login{padding:26px 22px}.reader-login__providers{gap:10px}}@media (prefers-reduced-motion:reduce){.reader-account-page{animation:none!important}.reader-paper *{transition:none!important}}.reader-navigation__avatar img{opacity:0;transform:scale(var(--reader-avatar-reveal-scale));transition:opacity var(--reader-avatar-reveal-duration) var(--ease-out),transform var(--reader-avatar-reveal-duration) var(--ease-out)}.reader-navigation__avatar img.is-ready{opacity:1;transform:scale(1)}:root.motion-paused .reader-navigation__avatar img{transition:none}@media (prefers-reduced-motion:reduce){.reader-navigation__avatar img{transition:none}}.reader-paper :is(a,button,label,svg){transition:color var(--motion-feedback-duration) var(--ease-out),background-color var(--motion-feedback-duration) var(--ease-out),stroke var(--motion-feedback-duration) var(--ease-out),fill var(--motion-feedback-duration) var(--ease-out)}.reader-login__providers button{grid-template-columns:20px minmax(0,var(--reader-provider-label-width));text-align:left;justify-content:center;justify-items:start;column-gap:10px;padding-inline:clamp(10px,2vw,20px);display:grid}@media (width<=400px){.reader-login__providers button{font-size:var(--reader-provider-compact-font-size);grid-template-columns:16px minmax(0,1fr);column-gap:6px;padding-inline:6px}.reader-login__providers :is(svg,img){width:16px;height:16px}}.reader-account-page :is(button,a,.reader-card-count,.reader-method-badge).reader-curved-surface{filter:drop-shadow(0 1px 3px var(--reader-control-shadow))}.reader-ripple-layer{z-index:0;pointer-events:none;border-radius:var(--reader-surface-fallback-radius,inherit);clip-path:var(--reader-surface-path,none);position:absolute;inset:0;overflow:hidden}.reader-ripple{background:var(--reader-ripple-color);pointer-events:none;will-change:transform,opacity;border-radius:50%;position:absolute}.reader-code-slots{grid-template-columns:repeat(3,var(--reader-code-slot-size));gap:var(--reader-code-slot-gap);width:max-content;max-width:100%;height:var(--reader-code-slot-height);isolation:isolate;display:grid;position:relative}.reader-login .reader-code-input{z-index:4;color:#0000;caret-color:#0000;opacity:0;width:100%;height:100%;font-size:var(--reader-login-font-size);box-shadow:none;appearance:none;cursor:text;background:0 0;border:0;border-radius:0;outline:none;padding:0;position:absolute;inset:0}.reader-account-page .reader-code-slot{min-width:0;height:var(--reader-code-slot-height);--reader-card-surface:var(--reader-code-slot-surface);border-radius:var(--reader-code-corner-size);background:var(--reader-card-surface);color:var(--text);font:400 var(--reader-code-digit-size)/1 var(--playful);font-variant-numeric:tabular-nums;pointer-events:none;place-items:center;display:grid}.reader-account-page .reader-code-slot.reader-curved-surface{background:0 0}.reader-code-slot:before{transition:background-color var(--motion-feedback-duration) var(--ease-out)}.reader-account-page .reader-code-slot[data-filled=true]{--reader-card-surface:var(--reader-code-filled-surface)}.reader-account-page .reader-code-slot[data-active=true]{--reader-card-surface:var(--reader-code-active-surface)}.reader-code-slot[data-active=true][data-filled=false]:after{content:"";background:var(--reader-accent);pointer-events:none;border-radius:50%;width:2px;height:40%;position:absolute}.reader-account-page .reader-code-slots[data-status=error] .reader-code-slot{--reader-card-surface:var(--reader-code-error-surface)}.reader-code-failure{z-index:3;pointer-events:none;opacity:0;place-items:center;display:grid;position:absolute;inset:0}.reader-code-failure svg{width:36px;height:36px;stroke:var(--danger);stroke-width:2.4px;stroke-linecap:round}.reader-code-slots[data-status=error] .reader-code-failure{opacity:1}.reader-code-slots[data-status=error] [data-reader-code-digit]{opacity:0}.reader-account-page .reader-code-wash{z-index:2;--reader-card-surface:var(--reader-code-success-surface);opacity:0;pointer-events:none;border-radius:var(--reader-code-corner-size);place-items:center;display:grid;position:absolute;inset:0}.reader-code-wash svg{width:30px;height:30px;stroke:var(--reader-code-success-ink);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;opacity:0}.reader-code-slots:is([data-status=merging],[data-status=success]) .reader-code-slot{opacity:0}.reader-code-slots:is([data-status=merging],[data-status=success]) .reader-code-wash,.reader-code-slots[data-status=success] .reader-code-wash svg{opacity:1}.reader-code-slots[data-disabled=true] .reader-code-input{cursor:wait}body.reader-page:has([data-account-signed-out]:not([hidden])){height:var(--reader-login-viewport-height,100dvh);min-height:0;padding-top:var(--header-height);grid-template-rows:minmax(0,1fr) auto;display:grid}.reader-page:has([data-account-signed-out]:not([hidden]))>main{overscroll-behavior:contain;min-height:0;scroll-padding-block:var(--reader-login-fit-padding);flex-direction:column;display:flex;overflow:auto}.reader-page:has([data-account-signed-out]:not([hidden])) .reader-account-page{flex:none;margin-block:auto;padding-block:0}.reader-page:has([data-account-signed-out]:not([hidden])) .reader-login{padding-block:var(--reader-login-fit-padding)}.reader-page:has([data-account-signed-out]:not([hidden])) [data-account-feedback]:empty{display:none}.reader-page:has([data-account-signed-out]:not([hidden]))>.site-footer{padding-top:var(--reader-login-footer-top);padding-bottom:max(var(--reader-login-footer-bottom),env(safe-area-inset-bottom))}@media (width<=480px) and (height<=760px){.reader-page{--reader-login-step-gap:22px;--reader-login-provider-space:24px;--reader-login-fit-padding:14px}}@media (height<=640px){.reader-page{--reader-login-step-gap:18px;--reader-login-provider-space:14px;--reader-login-fit-padding:10px;--reader-login-footer-top:4px;--reader-login-footer-bottom:6px}}body:before{z-index:9999;pointer-events:none;content:"";opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:fixed;inset:0}:root[data-theme=light] body:before{opacity:.025}.shell{width:min(var(--max), calc(100% - (var(--gutter) * 2)));margin-inline:auto}.section-title{font-family:var(--display);letter-spacing:-.04em;margin-bottom:0;font-size:clamp(2.5rem,4.2vw,3.9rem);font-weight:600;line-height:1.12}.button{min-height:44px;color:var(--text);cursor:pointer;transition:color .22s ease, text-shadow .22s ease, transform .28s var(--ease);background:0 0;border:0;justify-content:flex-start;align-items:center;gap:10px;padding:8px 2px;font-size:.95rem;font-weight:600;display:inline-flex;position:relative}.button:focus-visible{color:var(--summer-blue);text-shadow:0 0 22px color-mix(in srgb,var(--glow-blue) 28%,transparent);transform:translateY(-2px)}.button--primary{color:var(--text)}.button--primary:focus-visible{color:var(--summer-orange);background:0 0}.site-header{--header-reveal:0;z-index:100;isolation:isolate;height:var(--header-height);padding-inline:var(--gutter);color:var(--text);background:0 0;border:0;align-items:center;gap:42px;transition:color .3s;display:flex;position:fixed;inset:0 0 auto}.site-header:before{z-index:-1;content:"";opacity:var(--header-reveal);background:radial-gradient(circle at 84% 0%, color-mix(in oklab, var(--glow-orange) 13%, transparent), transparent 34%), linear-gradient(180deg, var(--header-bg) 0%, color-mix(in srgb, var(--header-bg) 88%, transparent) 48%, color-mix(in srgb, var(--header-bg) 42%, transparent) 76%, transparent 100%);backdrop-filter:blur(18px)saturate(130%);pointer-events:none;transition:opacity .35s var(--ease);position:absolute;inset:0 0 -58px;-webkit-mask-image:linear-gradient(#000 0% 54%,#0000 100%);mask-image:linear-gradient(#000 0% 54%,#0000 100%)}.site-brand{align-items:center;gap:9px;min-width:0;display:inline-flex}.site-brand__avatar{object-fit:cover;border:1px solid color-mix(in srgb, var(--on-media) 26%, transparent);width:42px;height:42px;box-shadow:0 5px 20px var(--avatar-shadow);border-radius:50%;flex:none}.site-brand__wordmark{object-fit:contain;width:auto;max-width:98px;height:36px;filter:drop-shadow(0 2px 7px var(--brand-shadow));transform-origin:25% 75%;transition:filter var(--motion-feedback-duration) ease, transform var(--motion-spring-duration) var(--ease-spring);display:block}.site-brand:focus-visible .site-brand__wordmark{filter:drop-shadow(0 3px 9px color-mix(in oklab, var(--glow-pink) 12%, transparent))}.site-brand__sticker{isolation:isolate;transform-origin:25% 75%;max-width:98px;transition:transform var(--motion-spring-duration) var(--ease-spring),opacity .28s ease,max-width .35s var(--ease-out);display:grid;position:relative}.site-brand__sticker:after{content:"";pointer-events:none;opacity:0;background:var(--sticker-spectrum);background-size:200% 100%;background-position:var(--sticker-light,50%) center;transition:opacity var(--motion-reorder-duration) var(--ease-out);position:absolute;inset:0;mask:url(/media/branding/samsblog-wordmark.webp) 50%/contain no-repeat}.site-brand:focus-visible .site-brand__sticker:after{opacity:var(--sticker-opacity)}@media (hover:hover) and (pointer:fine){.site-brand:hover .site-brand__sticker:after{opacity:var(--sticker-opacity)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){:root:not(.motion-paused) .site-brand:hover .site-brand__sticker{transform:perspective(400px) rotateX(var(--sticker-x,0deg)) rotateY(var(--sticker-y,0deg)) translateY(-1px) scale(1.035)}}.header-actions :is(.theme-toggle,.menu-button) svg{transition:scale var(--motion-spring-duration) var(--ease-spring)}.header-actions :is(.theme-toggle,.menu-button):active svg{transition-duration:var(--motion-feedback-duration);scale:.88}.desktop-nav{font-family:var(--playful);letter-spacing:.015em;align-items:center;gap:26px;margin:0;font-size:1rem;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%)}.desktop-nav :is(a,.reader-navigation){min-height:44px;color:inherit;opacity:.74;transition:color .22s ease,opacity .22s ease,text-shadow .22s ease,transform .28s var(--ease);place-items:center;display:grid;position:relative}.desktop-nav :is(a,.reader-navigation):focus-visible{color:var(--summer-blue);opacity:1;text-shadow:0 0 20px color-mix(in srgb,var(--glow-blue) 32%,transparent);transform:translateY(-2px)}.desktop-nav :is(a,.reader-navigation)[aria-current=page]{color:var(--summer-orange);opacity:1;text-shadow:0 0 18px color-mix(in srgb,var(--glow-orange) 28%,transparent)}.header-actions{order:2;justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;display:flex}.theme-toggle,.menu-button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}:is(.theme-toggle,.menu-button,.motion-toggle,.network-status__summary):focus-visible{background:radial-gradient(circle, color-mix(in oklab, var(--accent) 18%, transparent), transparent 68%);text-shadow:0 0 18px color-mix(in oklab, var(--accent) 42%, transparent)}.theme-icon--sun,:root[data-theme=light] .theme-icon--moon{display:none}:root[data-theme=light] .theme-icon--sun{display:block}.menu-button{flex:0 0 44px;display:none}.theme-icon,.menu-icon{width:21px;height:21px}.menu-icon path{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;transform-origin:12px 8px;transition:transform var(--motion-spring-duration) var(--ease-spring)}.menu-icon path:last-child{transform-origin:12px 16px}.menu-button[aria-expanded=true] path:first-child{transform:translateY(4px)rotate(45deg)}.menu-button[aria-expanded=true] path:last-child{transform:translateY(-4px)rotate(-45deg)}.mobile-menu{inset:calc(100% - 4px) var(--gutter) auto auto;z-index:2;width:min(176px, calc(100vw - 2 * var(--gutter)));color:var(--text);font-family:var(--playful);background:var(--gradient-surface);box-shadow:var(--shadow);animation:mobile-menu-arrive var(--motion-spring-duration) var(--ease-spring) both;transform-origin:100% 0;border-radius:20px;padding:8px;position:absolute}.mobile-menu[hidden]{display:none}.mobile-menu nav{gap:4px;display:grid}.mobile-menu :is(a,.reader-navigation){min-height:48px;color:var(--text);font-family:var(--playful);font-size:var(--font-size-control);letter-spacing:.015em;border-radius:13px;justify-content:space-between;align-items:center;gap:20px;padding:8px 14px;font-weight:700;line-height:1.4;transition:color .22s,background .22s;display:flex}.mobile-menu :is(a,.reader-navigation):focus-visible{color:var(--summer-blue);background:var(--hover)}.mobile-menu :is(a,.reader-navigation)[aria-current=page]{color:var(--accent);background:color-mix(in oklab, var(--summer-pink) 10%, transparent)}.mobile-menu :is(a,.reader-navigation) svg{color:currentColor;opacity:.65;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.mobile-menu :is(a,.reader-navigation):focus-visible svg{opacity:1}@keyframes mobile-menu-arrive{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.network-status{position:static}.network-status [hidden]{display:none}.network-status__summary{min-height:44px;color:var(--muted);font-family:var(--playful);font-size:var(--font-size-small);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.network-status__details{z-index:30;background:var(--gradient-surface);width:min(300px,100vw - 28px);color:var(--text);box-shadow:var(--shadow);border:0;border-radius:18px;padding:21px;position:absolute;bottom:calc(100% + 12px);left:0}.network-status__details>div:not([hidden])+div{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.network-status__details span,.network-status__details small,.network-status__details strong{display:block}.network-status__details>div>span{color:var(--accent);font-size:var(--font-size-small);letter-spacing:.12em}.network-status__details strong{color:var(--text-strong);font-size:var(--font-size-body);margin-top:2px}.network-status__details small{color:var(--muted);font-size:var(--font-size-small)}@media (width<=1080px){.site-header{grid-template-columns:var(--header-mobile-brand-width) minmax(0, 1fr) auto;gap:4px;display:grid}.site-header .header-identity,.site-header .site-brand{display:contents}.site-brand__avatar{display:none}.site-brand__wordmark{grid-area:1/1;width:100%;max-width:84px}.header-actions{grid-area:1/3;gap:0}.desktop-nav{display:none}.menu-button{display:inline-grid}}@media (width<=720px){body{font-size:15px}.site-header{padding-inline:14px}.mobile-menu{right:14px}.site-brand__wordmark{height:31px}.theme-toggle{display:inline-grid}.section-title{font-size:clamp(2.4rem,13vw,4.5rem)}}.header-identity{align-items:center;gap:19px;min-width:0;display:flex}.header-socials{align-items:center;gap:3px;display:flex}.header-socials :is(a,button){min-width:35px;min-height:42px;color:inherit;opacity:.7;cursor:pointer;transition:opacity .2s ease,color .2s ease,transform .25s var(--ease);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0 6px;display:inline-flex}.header-socials :is(a,button):focus-visible{opacity:1;transform:translateY(-2px)}.header-social--bilibili:focus-visible{color:var(--summer-blue)}.header-social--github:focus-visible{color:var(--summer-pink)}.header-social--qq:focus-visible{color:var(--summer-orange)}.header-social--town:focus-visible{color:var(--accent-2)}.header-socials svg{fill:none;stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.header-social--github svg,.header-social--qq svg{fill:currentColor;stroke:none}.header-socials .header-social span{max-width:0;font-family:var(--playful);font-size:var(--font-size-small);opacity:0;white-space:nowrap;transition:max-width .34s var(--ease),opacity .24s ease;overflow:hidden}.header-socials .header-social:focus-visible span{opacity:1;max-width:130px}.header-socials .header-social--town:focus-visible span{max-width:160px}[data-reveal].reveal-pending{opacity:0}.reveal-character{display:inline-block}[data-reveal].reveal-pending .reveal-character{opacity:0}.site-footer{z-index:1;padding:84px var(--gutter) var(--footer-bottom-space);background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--surface) 18%,transparent) 32%,color-mix(in srgb,var(--surface) 70%,transparent) 76%,var(--surface) 100%);border:0;display:block;position:relative}.footer-main{max-width:var(--max);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:28px;margin:0 auto;display:grid}.footer-notes{grid-column:2;justify-self:center;align-items:center;gap:16px;min-width:0;display:flex}.footer-identity{align-items:center;gap:10px;min-width:0;display:flex;position:relative}.footer-brand{width:fit-content;font-family:var(--playful);letter-spacing:-.04em;white-space:nowrap;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;line-height:1;display:flex}.site-footer nav{color:var(--muted);font-family:var(--playful);font-size:var(--font-size-small);flex-wrap:nowrap;grid-column:3;justify-content:flex-end;justify-self:end;gap:12px 22px;margin:0;display:flex}.site-footer nav a{white-space:nowrap;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.site-footer nav a:focus-visible{color:var(--accent)}.footer-signature{isolation:isolate;align-items:center;gap:var(--signature-version-gap);width:max-content;color:var(--signature-ink);transition:color .35s var(--ease-out);justify-self:center;margin:0;display:flex;position:relative}.footer-signature:before{content:"";z-index:-1;background:radial-gradient(ellipse,var(--signature-hover-glow),transparent 72%);filter:blur(12px);opacity:0;transition:opacity .4s var(--ease-out),transform .6s var(--ease-out);pointer-events:none;border-radius:50%;position:absolute;inset:-12px -22px;transform:scale(.8)}.footer-signature svg{width:var(--signature-width);flex:none;height:auto;display:block;overflow:visible}.footer-signature__link{min-width:44px;min-height:44px;color:inherit;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.footer-signature__link:focus-visible{outline:2px solid var(--summer-blue);outline-offset:4px;color:var(--summer-blue)}.signature-version{white-space:nowrap;color:var(--signature-version-color);font:700 var(--signature-version-size)/1 var(--playful);letter-spacing:.025em;transition:color .35s var(--ease-out);display:inline-flex}.signature-version-character{display:inline-block}.signature-ink{fill:currentColor;stroke:currentColor;stroke-width:.2px;stroke-linejoin:round}.signature-stroke{fill:none;stroke:#fff;stroke-width:var(--signature-reveal-width);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}@media (width<=1080px){.header-socials{display:none}}@media (width<=960px){.footer-main{gap:6px}.footer-notes{gap:8px}.footer-brand{min-height:44px;font-size:clamp(.6875rem,3vw,.875rem)}.footer-signature{--signature-version-gap:3px;--signature-version-size:clamp(.625rem,2.7vw,.8125rem)}.footer-signature svg{width:var(--signature-mobile-width)}.site-footer nav{gap:2px;font-size:clamp(.75rem,3vw,.875rem)}}@media (width<=480px){.site-footer{padding-inline:8px}.footer-main,.footer-notes{gap:4px}.footer-copyright{display:none}.footer-brand{font-size:clamp(.625rem,2.6vw,.75rem)}.footer-signature{--signature-mobile-width:clamp(56px,16vw,72px);--signature-version-size:clamp(9px,2.5vw,11px);--signature-version-gap:2px}.site-footer nav{gap:4px;font-size:clamp(11px,2.8vw,12px)}.site-footer nav a{min-width:24px}}@media (width<=960px){.footer-identity{gap:4px}.footer-identity .network-status__summary{font-size:clamp(.625rem,2.6vw,.8125rem)}}@media (width<=380px){.footer-main,.footer-notes{gap:3px}.footer-signature{--signature-mobile-width:34px;--signature-version-gap:1px}}@media (width<=320px){.footer-main{gap:8px}.footer-identity{display:none}.footer-notes{gap:6px}.footer-signature{--signature-mobile-width:72px;--signature-version-size:11px;--signature-version-gap:3px}.site-footer nav{font-size:12px}}@media (prefers-reduced-motion:reduce){[data-reveal].reveal-pending{opacity:1;transform:none}}.media-header .site-header:not(.site-header--scrolled){color:var(--on-media);background:linear-gradient(#09191e66,#0000)}.media-header .site-header:not(.site-header--scrolled) .desktop-nav :is(a,.reader-navigation):is([aria-current=page],:focus-visible){color:var(--on-media-accent)}.skip-link{z-index:160;background:var(--surface);color:var(--text);padding:12px 20px;position:fixed;top:-90px;left:20px}.skip-link:focus{top:12px}:root.page-hidden *,:root.page-hidden :before,:root.page-hidden :after{animation-play-state:paused!important}.motion-toggle{width:44px;min-height:44px;color:inherit;font-family:var(--playful);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.motion-toggle>span:last-child{font-size:21px;line-height:1}.motion-toggle[aria-pressed=true]{color:var(--summer-blue)}.motion-toggle:disabled{cursor:default}.header-action{flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;display:inline-flex;position:relative}.header-action__label{opacity:0;white-space:nowrap;pointer-events:none;width:max-content;max-width:0;font:400 var(--font-size-small)/1.5 var(--playful);transition:max-width .34s var(--ease),opacity .24s ease;display:block;position:absolute;top:50%;right:calc(100% + 6px);overflow:hidden;translate:0 -50%}.header-action:focus-visible .header-action__label{opacity:1;max-width:130px}.motion-toggle:is(:hover,:focus-visible){transform:none}@media (hover:hover) and (pointer:fine){.button:hover{color:var(--summer-blue);text-shadow:0 0 22px color-mix(in srgb,var(--glow-blue) 28%,transparent);transform:translateY(-2px)}.button--primary:hover{color:var(--summer-orange);background:0 0}.site-brand:hover .site-brand__wordmark{filter:drop-shadow(0 3px 9px color-mix(in oklab,var(--glow-pink) 12%,transparent))}.desktop-nav :is(a,.reader-navigation):hover{opacity:1;transform:translateY(-2px)}.desktop-nav :is(a,.reader-navigation):not([aria-current=page]):hover{color:var(--summer-blue);text-shadow:0 0 20px color-mix(in srgb,var(--glow-blue) 32%,transparent)}.media-header .site-header:not(.site-header--scrolled) .desktop-nav :is(a,.reader-navigation):not([aria-current=page]):hover{color:var(--on-media)}.mobile-menu :is(a,.reader-navigation):not([aria-current=page]):hover{color:var(--summer-blue);background:var(--hover)}.header-socials :is(a,button):hover{opacity:1;transform:translateY(-2px)}.header-social--bilibili:hover{color:var(--summer-blue)}.header-social--github:hover{color:var(--summer-pink)}.header-social--qq:hover{color:var(--summer-orange)}.header-social--town:hover{color:var(--accent-2)}.header-socials .header-social:hover span{opacity:1;max-width:130px}.header-socials .header-social--town:hover span{max-width:160px}.site-footer nav a:hover{color:var(--accent)}.footer-signature:hover{color:var(--summer-blue)}.footer-signature:hover:before{opacity:1;transform:scale(1.12)}.footer-signature:hover .signature-version{color:color-mix(in oklab,var(--summer-blue) 72%,var(--muted))}.header-action:hover .header-action__label{opacity:1;max-width:130px}}.ambient-scene[data-astro-cid-zcki2qaw]{z-index:0;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.ambient-mote[data-astro-cid-zcki2qaw]{left:var(--mote-left);top:var(--mote-top);background:var(--summer-blue);opacity:.4;visibility:hidden;width:4px;height:4px;animation:constellation-twinkle var(--mote-duration,var(--motion-drift)) ease-in-out infinite alternate;animation-delay:var(--mote-delay,0s);border-radius:50%;position:absolute;translate:-50% -50%}.ambient-scene[data-astro-cid-zcki2qaw][data-particles-ready] .ambient-mote[data-astro-cid-zcki2qaw]{visibility:visible}.ambient-mote[data-astro-cid-zcki2qaw]:nth-of-type(3n){background:var(--summer-pink);border-radius:1px;width:7px;height:7px;rotate:45deg}.ambient-mote[data-astro-cid-zcki2qaw]:nth-of-type(5n){background:var(--summer-orange);clip-path:polygon(50% 0,60% 38%,100% 50%,60% 62%,50% 100%,40% 62%,0 50%,40% 38%);border-radius:0;width:11px;height:11px}.ambient-field[data-astro-cid-zcki2qaw]{animation:constellation-drift var(--constellation-drift-duration) ease-in-out infinite alternate;position:absolute;inset:0}.ambient-constellation[data-astro-cid-zcki2qaw]{opacity:0;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ambient-constellation[data-astro-cid-zcki2qaw] path[data-astro-cid-zcki2qaw]{fill:none;stroke:var(--summer-blue);stroke-width:.65px;stroke-linecap:round;stroke-linejoin:round;opacity:calc(var(--constellation-line-opacity) * var(--constellation-scroll-opacity,.6));transition:opacity var(--constellation-fade-duration) var(--ease-out)}.ambient-constellation[data-astro-cid-zcki2qaw] path[data-astro-cid-zcki2qaw]:nth-child(3n){stroke:var(--summer-pink)}@keyframes constellation-drift{0%{transform:translate(-8px,12px)}to{transform:translate(22px,-45px)}}@keyframes constellation-twinkle{0%,to{opacity:.2}55%{opacity:.55}}.ambient-atmosphere[data-astro-cid-zcki2qaw]{opacity:var(--ambient-rest-strength);transition:opacity var(--ambient-shift-duration) var(--ease-out);position:absolute;inset:0}.home-page[data-home-atmosphere=blue] .ambient-atmosphere--blue[data-astro-cid-zcki2qaw]{opacity:1}.motion-paused .ambient-atmosphere[data-astro-cid-zcki2qaw]{transition:none}.ambient-halo[data-astro-cid-zcki2qaw]{--halo-opacity:calc(var(--ambient-halo-opacity) / var(--ambient-rest-strength));--halo-horizontal-offset:var(--ambient-halo-travel);width:var(--ambient-halo-size);aspect-ratio:1;opacity:var(--halo-opacity);background:radial-gradient(circle,color-mix(in srgb,var(--glow-blue) 75%,transparent),transparent 67%);animation:halo-drift var(--ambient-halo-duration) ease-in-out infinite alternate;border-radius:50%;position:absolute}.ambient-halo--blue[data-astro-cid-zcki2qaw]{top:22%;left:-22%}.ambient-halo--pink[data-astro-cid-zcki2qaw]{--halo-opacity:calc(var(--ambient-pink-halo-opacity) / var(--ambient-rest-strength));--halo-horizontal-offset:calc(var(--ambient-halo-travel) * -1);width:var(--ambient-pink-halo-size);background:radial-gradient(circle,var(--glow-pink),transparent 67%);animation-duration:var(--ambient-pink-halo-duration);animation-direction:alternate-reverse;animation-delay:-14s;bottom:-18%;right:-12%}@keyframes halo-drift{0%{opacity:calc(var(--halo-opacity) * .6);transform:translate(0,0)scale(.94)}50%{transform:translate3d(calc(var(--halo-horizontal-offset) * .4),calc(var(--ambient-halo-travel) * -.65),0) scale(1.08);opacity:var(--halo-opacity)}to{transform:translate3d(var(--halo-horizontal-offset),calc(var(--ambient-halo-travel) * -1),0) scale(1.2);opacity:calc(var(--halo-opacity) * .8)}}.page-hidden .ambient-scene[data-astro-cid-zcki2qaw] [data-astro-cid-zcki2qaw]{animation-play-state:paused!important}.motion-paused .ambient-scene[data-astro-cid-zcki2qaw]{opacity:.4}@media (prefers-reduced-motion:reduce){.ambient-scene[data-astro-cid-zcki2qaw] [data-astro-cid-zcki2qaw]{animation:none!important}.ambient-atmosphere[data-astro-cid-zcki2qaw]{transition:none}.ambient-scene[data-astro-cid-zcki2qaw]{opacity:.35}}@media (width<=720px){.ambient-mote--desktop[data-astro-cid-zcki2qaw]{display:none}.ambient-halo[data-astro-cid-zcki2qaw]{width:80vw}.ambient-halo--pink[data-astro-cid-zcki2qaw]{width:110vw;bottom:-8%;right:-35%}}
