:root{--bg:#F5F5F7;--ink:#1D1D1F;--ac:#0071E3;--card:#FFFFFF;--muted:#6E6E73;--line:#E3E3E8;--onac:#FFFFFF;color-scheme:light;--z-header:90;--z-lab-nav:95;--z-modal:100;--lab-h:48px;--header-h:calc(52px + env(safe-area-inset-top,0px));--radius:6px;--radius-img:12px;--img-max:128px;--page-max:1120px;--read-max:720px;--font-sans:"Microsoft YaHei","微软雅黑","PingFang SC","Hiragino Sans GB","Noto Sans SC","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;--font-serif:"Microsoft YaHei","微软雅黑","PingFang SC","Hiragino Sans GB","Noto Sans SC","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}[data-se="1"]{--bg:#0D1117;--ink:#C9D1D9;--ac:#00D4AA;--card:#161B22;--muted:#8B949E;--line:#262C36;--onac:#04110E;color-scheme:dark}[data-se="2"]{--bg:#FFF6F9;--ink:#7A2F45;--ac:#FF2D87;--card:#FFFFFF;--muted:#A8667A;--line:#F6D9E3;--onac:#FFFFFF;color-scheme:light}[data-se="3"]{--bg:#1A2E1A;--ink:#C8E0C8;--ac:#FFB74D;--card:#223A22;--muted:#8FB08F;--line:#2F4A2F;--onac:#2A1A00;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-se]){--bg:#0D1117;--ink:#C9D1D9;--ac:#00D4AA;--card:#161B22;--muted:#8B949E;--line:#262C36;--onac:#04110E;color-scheme:dark}}:root{--ac-ink:color-mix(in srgb,var(--ac) 78%,var(--ink));--card-bg:var(--card);--hero-glow:color-mix(in srgb,var(--ac) 40%,transparent);--hero-glow-img:radial-gradient(1100px 520px at 100% 0%, var(--hero-glow) 0%, transparent 70%)}@media(max-width:767px){:root{--hero-glow-img:linear-gradient(90deg,var(--bg),color-mix(in srgb,var(--bg) 68%,var(--ac)))}}*,*::before,*::after{box-sizing:border-box}a,button{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable;scroll-padding-top:calc(var(--header-h) + 12px);background-color:var(--bg)}html[data-lock],html[data-lock] body{overflow:hidden}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:16px/1.7 var(--font-sans);padding-bottom:calc(var(--lab-h) + env(safe-area-inset-bottom,0px));-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{flex:1;padding-top:var(--header-h);padding-bottom:28px}.body{padding-top:16px}a{color:var(--muted);text-underline-offset:.18em;text-decoration:none}a:hover{color:var(--ac)}img{max-width:100%;height:auto}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--ac);outline-offset:2px}.wrap{width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:max(16px,env(safe-area-inset-left,0px))}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:8px;top:8px;z-index:200;background:var(--card);padding:8px 12px;border-radius:8px}.d-only{display:none!important}.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.ic{width:40px;height:40px;display:inline-grid;place-items:center;border:0;background:0 0;color:var(--ink);cursor:pointer;padding:0;text-decoration:none;transition:background .2s}.ic:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border:1px solid var(--ac);border-radius:999px;background:var(--ac);color:var(--onac);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn:hover{filter:brightness(1.06)}.btn-ghost{background:0 0;color:var(--ac)}.msg{min-height:1.4em;margin:0;color:var(--muted);font-size:.9rem}.empty{color:var(--muted);text-align:center;padding:48px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.hd{position:fixed;inset:0 0 auto 0;z-index:var(--z-header);padding-top:env(safe-area-inset-top,0px);background:var(--bg);background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.5)blur(14px);backdrop-filter:saturate(1.5)blur(14px);border-bottom:1px solid var(--line);transition:transform .28s ease}.hd[data-hidden=true]{transform:translateY(-101%)}.hd-main{display:flex;align-items:center;gap:2px;height:52px}.hd-main.wrap{max-width:none;padding-right:0;padding-left:max(16px,calc((100% - var(--page-max))/2 + 16px))}#user-btn{width:44px;height:44px;margin-left:6px;padding:0;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--ink) 7%,transparent)}#user-btn .av{width:44px;height:44px;flex:none;border-radius:50%;object-fit:cover;display:block}.brand{margin-right:auto;font:700 1.3rem/1 var(--font-serif);letter-spacing:.02em;color:var(--ink);text-decoration:none;white-space:nowrap}.brand::after{content:"";display:inline-block;width:.36em;height:.36em;margin-left:.22em;border-radius:50%;background:var(--ac)}.searchbox{flex:1;height:40px;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font:inherit;text-align:left;cursor:text}.searchbox:hover{border-color:var(--ac)}.hd-tabs{display:none;gap:2px;overflow-x:auto;scrollbar-width:none}.tab{flex:none;padding:0 14px;display:inline-flex;align-items:center;height:100%;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.tab:hover{color:var(--ink)}.tab[aria-current]{color:var(--ink);font-weight:600;border-bottom-color:var(--ac)}.belt{--w:clamp(var(--min-w),calc((100% - (var(--pv) - 1) * var(--gap)) / var(--pv)),var(--max-w));margin:-6px 0 4px}.belt-track{position:relative;display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:calc(var(--w) * var(--peek));scrollbar-width:none;overscroll-behavior-x:contain}.belt-track::-webkit-scrollbar{display:none}.belt-item{flex:0 0 var(--w);min-width:0;scroll-snap-align:start;text-decoration:none;color:inherit}.belt-card{position:relative;display:flex;align-items:center;min-height:58px;padding:7px 18px;height:100%}.belt-card.card{grid-template-columns:none;background:0 0;border:0}.belt-card::before,.belt-card::after{content:"";position:absolute;top:9px;bottom:9px;width:8px;border:2px solid var(--ac)}.belt-card::before{left:6px;border-right:0}.belt-card::after{right:6px;border-left:0}.belt-card .card-desc{display:none}.belt-card .card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-break:break-word}.belt-card .card-body{flex:1}.belt-card .card-body:hover{background-color:color-mix(in srgb,var(--ac) 15%,transparent);border-radius:9px}.feed{display:grid;gap:var(--gap,12px);grid-template-columns:repeat(var(--cols-m,1),minmax(0,1fr))}.card{position:relative;z-index:2;display:grid;--media-w:min(30%, var(--img, var(--img-max)));grid-template-columns:minmax(0,1fr)var(--media-w);gap:0;align-items:stretch;width:min(700px,100%);background:var(--card-bg);border:1px solid var(--line);border-radius:var(--r,var(--radius));overflow:hidden;color:var(--ink)}.card:not(.belt-card)::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:8px;background:linear-gradient(90deg,var(--line) calc(100% - var(--media-w)),var(--muted) calc(100% - var(--media-w)),var(--muted) 100%);pointer-events:none}.card:hover{border-color:color-mix(in srgb,var(--ac) 55%,var(--line));transform:translateY(-2px);box-shadow:0 10px 28px var(--shadow-color)}.card.no-img{grid-template-columns:1fr}.card-media{display:block;max-width:var(--img,var(--img-max));margin:1px;align-self:stretch;height:100%}.card-media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px}.card-body{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:0;padding:9px 1px 5px 12px;height:100%}.card-body:hover{color:var(--ac)}.card-title{margin:-4px 0;font:800 1.06rem/1.4 var(--font-serif);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-break:break-word}.card-title a{color:inherit;text-decoration:none}.card-title a::after{content:"";position:absolute;inset:0;border-radius:inherit}.card-desc{margin:0;color:var(--muted);font-size:.88rem;font-weight:300;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{position:relative;z-index:20;margin:10px 0 0;margin-top:auto;display:flex;gap:10px;color:var(--muted);font-size:.8rem;overflow:hidden;white-space:nowrap}.card-meta time{position:relative;z-index:30;display:inline-block;padding:2px 6px;cursor:help}.tag{color:var(--ac);text-decoration:none}.badge{display:inline-block;margin-right:.5em;padding:0 .5em;border:1px solid var(--line);border-radius:6px;color:var(--muted);font:500 .72rem/1.6 var(--font-sans);vertical-align:.12em}.badge-ac{border-color:var(--ac);color:var(--ac)}.feed[data-style=news]{grid-template-columns:minmax(0,1fr)}.feed[data-style=news]>article.card{display:block;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:0 0;box-shadow:none}.feed[data-style=news]>article.card::after,.feed[data-style=news]>article.card .card-media,.feed[data-style=news]>article.card .card-desc{display:none}.feed[data-style=news]>article.card:hover{transform:none;box-shadow:none}.feed[data-style=news]>article.card .card-body{display:grid;grid-template-columns:minmax(0,1fr)auto;align-items:center;gap:12px;height:auto;padding:12px 4px}.feed[data-style=news]>article.card .card-title{margin:0;font-size:1rem;-webkit-line-clamp:1}.feed[data-style=news]>article.card .card-meta{margin:0}.feed[data-style=gallery]>article.card{display:flex;width:100%;flex-direction:column}.feed[data-style=gallery]>article.card::after{display:none}.feed[data-style=gallery]>article.card .card-media{order:-1;width:100%;max-width:none;height:auto;aspect-ratio:3/2;margin:0}.feed[data-style=gallery]>article.card .card-media img{border-radius:0}.feed[data-style=gallery]>article.card .card-body{height:auto;min-height:96px;gap:8px;padding:12px}.feed[data-style=gallery]>article.card .card-title{margin:0}.feed[data-style=gallery]>article.card .card-desc{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ad{grid-column:1/-1}.ad .card{text-decoration:none}.pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:28px 0 8px}.pg{min-width:40px;height:40px;display:inline-grid;place-items:center;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);text-decoration:none;transition:border-color .2s}a.pg:hover{border-color:var(--ac)}.pg.is-cur{background:var(--ac);border-color:var(--ac);color:var(--onac);font-weight:600}.pg.is-off{opacity:.4}.pg-count{color:var(--muted);font-variant-numeric:tabular-nums}.pg-list{display:none;list-style:none;margin:0;padding:0;gap:6px;align-items:center}.pg-list .pg{padding:0 6px}.pg-dots{color:var(--muted);padding:0 4px}.ft{margin-top:auto;padding-top:32px;border-top:1px solid var(--line);background-color:var(--bg)}.ft-grid{display:flex;flex-direction:column;align-items:center;gap:16px}.ft-middle{display:flex;justify-content:center;max-width:100%}.ft-links,.ft-col ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px}.ft-links a{display:inline-grid;place-items:center;width:5em;aspect-ratio:1;padding:0;border:1.5px solid var(--line);border-radius:50%;text-align:center;white-space:nowrap}.ft-col li{min-width:0;list-style:none}.ft-brand p{margin:.6em 0 0;color:var(--muted);max-width:28em}.ft-qr{display:block;padding:0;border:0;border-radius:10px;background:0 0;cursor:pointer;transition:opacity .2s}.ft-qr:hover{opacity:.78}.ft-qr-img{display:block;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;object-fit:cover}.ft-qr-item{display:flex;align-items:flex-end;gap:1px;background:var(--bg)}.ft-social-name{color:var(--ink);opacity:.78}.ft-social-mono{color:var(--ink);opacity:.78}.ft-col a,.ft-legal a{color:var(--ink);text-decoration:none;opacity:.78;transition:opacity .2s,color .2s}.ft-col a:hover,.ft-legal a:hover{color:var(--ac);opacity:1}.ft-line{margin:24px 0 0;border-top:1px solid var(--line)}.ft-legal{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;text-align:center;padding-block:16px;color:var(--muted);font-size:.85rem}.ft-top{padding-bottom:16px}.ft-support{position:fixed;right:2px;bottom:calc(var(--lab-h) + env(safe-area-inset-bottom,0px) + 12px);z-index:calc(var(--z-lab-nav) - 1);display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:0;background:0 0;color:var(--ac);translate:4px 4px;transition:transform .2s}.ft-support svg{filter:drop-shadow(0 0 2px var(--bg))drop-shadow(0 0 6px color-mix(in srgb,var(--ac) 82%,transparent))}.ft-support:hover{color:var(--ac);transform:translateY(-2px)}.totop{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .2s,color .2s}.totop:hover{border-color:var(--ac);color:var(--ac)}.dlg-qr{position:fixed;inset:0;margin:auto;padding:0;width:min(92vw,360px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink);box-shadow:0 20px 60px rgb(0 0 0/.25)}.dlg-qr::backdrop{background:color-mix(in srgb,var(--line) 20%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dlg-in{position:relative;display:grid;justify-items:center;gap:12px;padding:24px}.dlg-in h2{margin:0;padding-inline:24px;font-size:1.2rem}.ib{width:40px;height:40px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:0 0;color:var(--ink);cursor:pointer}.ib:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.dlg-x{position:absolute;top:6px;right:6px}.qr-img{display:block;width:min(240px,100%);height:auto;aspect-ratio:1;object-fit:contain}.qr-cap{margin:0;color:var(--muted);text-align:center}.lab{position:fixed;inset:auto 0 0 0;z-index:var(--z-lab-nav);display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--lab-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg);background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:saturate(1.5)blur(14px);backdrop-filter:saturate(1.5)blur(14px);border-top:1px solid var(--line);transition:transform .28s ease}.lab[data-hidden=true]{transform:translateY(101%)}.lab a,.lab button{display:grid;place-items:center;border:0;background:0 0;color:var(--muted);font:inherit;text-decoration:none;cursor:pointer}.lab [aria-current]{color:var(--ac);font-weight:600}.modal{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center}.modal-bg{position:absolute;inset:0;background:color-mix(in srgb,var(--line) 20%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.panel{position:relative;background:rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 60px rgb(0 0 0/.25);overscroll-behavior:contain;animation:pop .18s ease-out}@keyframes pop{from{opacity:0;transform:translateY(8px)scale(.98)}}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.panel-search{position:absolute;inset:0;border-radius:0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}.sform{display:flex;align-items:center;gap:8px;height:46px;margin:12px 12px 4px;padding:0 6px 0 16px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted)}.sform:focus-within{border-color:var(--ac)}.sform input{flex:1;min-width:0;height:100%;border:0;border-radius:999px;background:0 0;color:var(--ink);font:inherit;font-size:1rem;-webkit-appearance:none;appearance:none}.sform input:focus{outline:none;border:0}.sform input::-webkit-search-cancel-button{display:none}.sbody{flex:1;overflow-y:auto;padding:8px 10px calc(16px + env(safe-area-inset-bottom,0px))}.shead{display:flex;justify-content:space-between;align-items:center;padding:8px 6px;color:var(--muted);font-size:.85rem}.shead button{border:0;background:0 0;color:var(--ac);font:inherit;cursor:pointer}.schips{display:flex;flex-wrap:wrap;gap:8px;padding:0 6px 8px}.schips button{padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}.schips button:hover{border-color:var(--ac)}.hit{display:block;padding:10px 12px;border-radius:10px;color:inherit;text-decoration:none}.hit:hover,.hit:focus-visible{background:color-mix(in srgb,var(--ac) 10%,transparent)}.hit strong{display:block;font-family:var(--font-serif);font-weight:600}.hit small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted)}.panel-cats{position:absolute;top:0;right:0;bottom:0;width:min(78vw,320px);border-radius:var(--radius)0 0 var(--radius);padding:calc(14px + env(safe-area-inset-top,0px))16px 16px;overflow-y:auto;animation:slide .22s ease-out}@keyframes slide{from{transform:translateX(24px);opacity:0}}.catlist{display:grid}.catlist a{display:flex;justify-content:space-between;padding:12px 6px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.catlist small{color:var(--muted)}.panel-login,.panel-pan{width:min(92vw,400px);padding:18px 20px 20px;display:grid;gap:12px}.fld{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.fld input{width:100%;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:1rem}input[type=text],input[type=password]{width:100%;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:1rem}input:focus{outline:2px solid var(--ac);outline-offset:0;border-color:var(--ac)}.pw{position:relative;display:block}.pw input{padding-right:48px}.eye{position:absolute;right:4px;top:50%;translate:0 -50%;width:40px;height:40px;display:grid;place-items:center;border:0;background:0 0;color:var(--muted);cursor:pointer;border-radius:999px}.eye .i-off,.eye[aria-pressed=true] .i-on{display:none}.eye[aria-pressed=true] .i-off{display:block}.pan-rows{display:grid;gap:10px}.pan-row{display:grid;gap:6px;padding:10px 12px;border-radius:10px;background:var(--bg)}.pan-row small{color:var(--muted)}.pan-val{margin:0;white-space:pre-wrap;word-break:break-all;user-select:all}.pan-row .btn{height:38px;padding:0 16px;justify-self:start}.pan-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.read{max-width:var(--read-max)}.list-head h1,.post-head h1{font-family:var(--font-serif);line-height:1.25;margin:.3em 0 .5em}.list-head h1{font-size:1.6rem}.post-head h1{font-size:clamp(1.6rem,5.2vw,2.3rem)}.post-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;color:var(--muted);font-size:.9rem}.post-tags{display:flex;flex-wrap:wrap;gap:4px 12px;margin:.6em 0 0}.prose{margin-top:1.4em;font-size:1.04rem;line-height:1.9;overflow-wrap:anywhere}.prose h2,.prose h3{font-family:var(--font-serif);line-height:1.4;margin:2em 0 .6em}.prose h2{font-size:1.4rem;padding-top:.8em;border-top:1px solid var(--line)}.prose blockquote{margin:1.2em 0;padding:.1em 1.1em;border-left:2px solid var(--ac);color:var(--muted)}.prose pre{overflow-x:auto;padding:14px;border-radius:10px;background:var(--card);border:1px solid var(--line);font:.88rem/1.6 var(--font-mono)}.prose code{font-family:var(--font-mono);font-size:.9em}.prose :not(pre)>code{padding:.1em .4em;border-radius:6px;background:var(--card);border:1px solid var(--line)}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.prose th,.prose td{padding:6px 12px;border:1px solid var(--line)}.prose img{border-radius:var(--radius-img)}.prose figure{margin:1.2em 0}.prose figcaption{color:var(--muted);font-size:.85rem;text-align:center}.unlock{margin:1.6em 0;padding:18px;border:1px dashed var(--ac);border-radius:var(--radius);background:color-mix(in srgb,var(--ac) 6%,var(--card))}.unlock-form{display:grid;gap:12px}.unlock-hint{margin:0;color:var(--muted);font-size:.9rem}.related{margin-top:3em}.related h2{font:600 1.2rem var(--font-serif)}.chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}.chip{display:inline-block;padding:6px 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);text-decoration:none}.chip small{margin-left:.5em;color:var(--muted)}.chip:hover{border-color:var(--ac)}.empty-page{text-align:center;padding-block:12vh}.empty-page h1{font:700 4rem/1 var(--font-serif);margin:0}.pan-btn{display:flex;margin-left:36px;width:fit-content;align-items:center;text-indent:0;gap:.6em;max-width:100%;padding:.35em 1em .35em .4em;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-weight:600;text-decoration:none;transition:border-color .2s}.pan-btn:hover{border-color:var(--pc,var(--ac))}.pan-btn i{flex:none;width:1.9em;height:1.9em;display:grid;place-items:center;border-radius:50%;background:var(--pc,var(--ac));color:#fff;font:700 .8em var(--font-sans)}.pan-btn small{color:var(--muted);font-weight:400}.band{background:var(--hero-bg);border-bottom:1px solid var(--line);background-color:var(--bg);background-image:var(--hero-glow-img);overflow:hidden}.band-in{padding-block:10px 28px}.band-in h1{margin:0;font:800 clamp(30px,6vw,48px)/1.15 var(--font-serif);letter-spacing:-.02em}.band-in p{margin:8px 0 0;color:var(--muted)}.mono{font-family:var(--font-mono)}.seg{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--bg)}.seg button{height:34px;padding:0 18px;border:0;border-radius:999px;background:0 0;color:var(--muted);font:inherit;cursor:pointer}.seg button[aria-selected=true]{background:var(--ac);color:var(--onac);font-weight:600}.ic .av,.av{width:30px;height:30px;border-radius:50%;object-fit:cover;display:block}.post-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:var(--read-max);margin-inline:auto}.toc{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:1em}.toc summary{cursor:pointer;font-weight:600;font-size:.8rem!important;padding-left:0;margin-bottom:.5em}.toc nav#TableOfContents>ul{counter-reset:toc-h2;list-style:none;padding-left:0;margin:0}.toc nav#TableOfContents>ul>li{counter-increment:toc-h2;position:relative;padding-left:1em;margin:.3em 0}.toc nav#TableOfContents>ul>li::before{content:counter(toc-h2,decimal-leading-zero);position:absolute;left:0;font-size:.7em;line-height:1.7rem;color:var(--ac);opacity:.6}.toc nav#TableOfContents>ul>li>ul{list-style:none;padding-left:.2em;margin:0}.toc nav#TableOfContents>ul>li>ul>li{padding-left:.4em}.toc a{color:var(--muted);text-decoration:none;font-size:.8rem}.toc a:hover{color:var(--ac)}.toc nav#TableOfContents>ul>li>a{font-weight:600}.post-kicker{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.9rem}.post-cats{display:flex;gap:10px;flex-wrap:wrap}.post-cats a{color:var(--ac-ink);text-decoration:none;font-weight:600}.seal{position:relative;flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1.5px solid color-mix(in srgb,var(--ac) 58%,var(--bg))}.seal::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px dashed color-mix(in srgb,var(--ac) 30%,var(--bg));animation:seal-spin 90s linear infinite}.seal i{font:700 .78rem/1 var(--font-mono);color:var(--ac);font-style:normal;letter-spacing:.04em}.seal-lg{width:64px;height:64px}.seal-lg i{font-size:.95rem}@keyframes seal-spin{to{transform:rotate(-360deg)}}.post-head h1{margin:.5em 0 .3em}.callout{--cc:var(--ac);margin:1.2em 0;padding:12px 16px;border:1px solid color-mix(in srgb,var(--cc) 35%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--cc) 9%,var(--card))}.callout summary,.callout-title{margin:0;font-weight:700;color:var(--cc);cursor:default}.callout summary{cursor:pointer}.callout-body>:first-child{margin-top:.4em}.callout-body>:last-child{margin-bottom:0}.post-actions{display:flex;gap:10px;margin:2em 0 0}.act{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 20px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .2s,color .2s}.act:hover{border-color:var(--ac)}.act[aria-pressed=true]{border-color:var(--ac);color:var(--ac);font-weight:600}.sig{display:flex;align-items:center;gap:18px;margin:2.4em 0 0;padding:18px 20px;border-radius:var(--radius);background:var(--hero-bg);border:1px solid var(--line)}.sig p{margin:.2em 0 0;color:var(--muted);font-size:.92rem}.sig span{font-size:.85rem}.pn{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:1.4em}.pn-a{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);text-decoration:none}.pn-a:hover{border-color:var(--ac)}.pn-a small{color:var(--muted)}.pn-a span{font-family:var(--font-serif);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related{max-width:var(--page-max);margin:3em auto 0}.legal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;max-width:var(--read-max);margin-inline:auto}.toc-box{padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);font-size:.92rem}.toc-box ul{margin:.3em 0 0;padding-left:1.1em}.toc-box a{color:var(--muted);text-decoration:none}.legal h2{scroll-margin-top:calc(var(--header-h) + 12px)}.u-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.u-head .av{width:64px;height:64px}.u-head h2{margin:0;font:700 1.4rem var(--font-serif)}.u-head p{margin:0;color:var(--muted)}.u-tabs{margin-bottom:16px}.u-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.u-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.u-item a{flex:1;min-width:0;color:var(--ink);text-decoration:none}.u-item strong{display:block;font-family:var(--font-serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-item small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-item button{border:0;background:0 0;color:var(--muted);font:inherit;cursor:pointer}.u-form{display:grid;gap:14px;max-width:420px}.u-form .row{display:flex;gap:10px;flex-wrap:wrap}.u-cta{text-align:center;padding:40px 0;display:grid;gap:16px;justify-items:center}.u-pay{display:grid;gap:12px}.u-pay h2,.u-pay p{margin:0}.u-pay-amount{font-weight:700}.u-pay-code{display:block;padding:12px;text-align:center;border:1px dashed var(--ac);border-radius:var(--radius);font:700 1.5rem var(--font-mono);letter-spacing:.12em}.u-pay-qr{width:120px;aspect-ratio:1/1;max-width:100%;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius);object-fit:contain;background:#fff}.u-pay-expire{color:var(--muted);font-size:.875rem}.u-pay-ok{color:var(--ac)}.u-pay-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.u-pay-form{display:grid;gap:12px}.u-pay-form .fld{display:grid;gap:5px}.u-pay-form input{font:inherit}@media(min-width:768px){.tit-in.has-toc{max-width:calc(var(--read-max) + 264px + 32px);padding-left:calc(264px + 16px)}.post-grid.has-toc{max-width:calc(var(--read-max) + 264px);grid-template-columns:240px minmax(0,var(--read-max));gap:24px}.post-aside{grid-column:1;grid-row:1;position:sticky;scrollbar-width:thin;scrollbar-color:var(--line)transparent;top:calc(var(--header-h) + 16px);align-self:start;max-height:calc(100dvh - var(--header-h) - 32px);overflow:auto}.post-grid.has-toc .post-main{grid-column:2;grid-row:1}.pn{grid-template-columns:minmax(0,1fr)minmax(0,1fr)}.pn-n{text-align:right;grid-column:2}.legal-grid{max-width:calc(var(--read-max) + 264px);grid-template-columns:minmax(0,var(--read-max))240px}.legal-grid .toc-box{order:2;position:sticky;top:calc(var(--header-h) + 16px);align-self:start}}@media(min-width:768px){:root{--header-h:calc(108px + env(safe-area-inset-top,0px))}body{padding-bottom:0}.m-only,.lab{display:none!important}.d-only{display:flex!important}.hd-main{height:60px;gap:12px}.brand{margin-right:0}.hd-tabs{height:46px}.feed{grid-template-columns:repeat(var(--cols-d,2),minmax(0,1fr));gap:var(--gap-d,16px)}.pager{justify-content:center;gap:12px}.pg-count{display:none}.pg-list{display:flex}.ft-grid{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px}.ft-grid>.ft-brand,.ft-grid>.ft-middle,.ft-grid>.ft-social-end{flex:none;width:fit-content;max-width:100%}.ft-top{padding-bottom:0}.ft-top .totop span{display:none}.totop{position:fixed;right:24px;bottom:24px;width:48px;height:48px;padding:0;opacity:0;pointer-events:none;translate:0 8px;transition:opacity .25s,translate .25s,border-color .2s;box-shadow:0 6px 20px rgb(0 0 0/.15)}.totop[data-show]{opacity:1;pointer-events:auto;translate:0 0}.ft-support{bottom:88px}.panel-search{inset:auto;top:12vh;left:50%;translate:-50% 0;width:min(640px,92vw);max-height:70vh;border-radius:var(--radius);padding-top:0}}.callout[data-type=abstract]{--cc:#06B6D4}.callout[data-type=bug]{--cc:#EF4444}.callout[data-type=caution]{--cc:#EF4444}.callout[data-type=danger]{--cc:#EF4444}.callout[data-type=example]{--cc:#8B5CF6}.callout[data-type=important]{--cc:#A855F7}.callout[data-type=info]{--cc:#3B82F6}.callout[data-type=note]{--cc:#3B82F6}.callout[data-type=question]{--cc:#EAB308}.callout[data-type=quote]{--cc:#9CA3AF}.callout[data-type=success]{--cc:#22C55E}.callout[data-type=tip]{--cc:#10B981}.callout[data-type=warning]{--cc:#F59E0B}@view-transition{navigation:auto}.hd{view-transition-name:hd}.lab{view-transition-name:lab}main.transition-main{transition:opacity .16s ease}html.is-changing main.transition-main{opacity:0}@media(prefers-reduced-motion:reduce){main.transition-main{transition:none}}html{scroll-behavior:auto}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.prose :target{animation:flash 1.6s ease-out}@keyframes flash{from{background:color-mix(in srgb,var(--ac) 18%,transparent)}}.prose p{text-indent:2em;margin-top:0;margin-bottom:1em}.latest{display:flex;align-items:baseline;justify-content:space-between;margin:-3px 0 8px}.latest h2{margin:0 0 4px;padding-bottom:0;display:flex;color:var(--ac);align-items:baseline;gap:10px;font:800 1.35rem/1.2 var(--font-serif);border-bottom:4px solid var(--line);justify-content:space-between;width:100%}.latest span{font:700 .78rem var(--font-sans);letter-spacing:.22em;color:var(--line)}.back{position:fixed;left:0;top:45vh;z-index:99;width:34px;height:54px;display:grid;place-items:center;border:2px solid var(--line);border-left:0;border-radius:0 27px 27px 0;background:0 0;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ink);cursor:pointer;opacity:.85;transition:opacity .2s,color .2s}.back:hover{opacity:1;color:var(--ac);background-color:var(--card)}.toast{position:fixed;left:50%;bottom:calc(var(--lab-h) + env(safe-area-inset-bottom,0px) + 40px);translate:-50% 0;z-index:calc(var(--z-modal) + 20);max-width:calc(100vw - 32px);padding:10px 18px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:.9rem;text-align:center;pointer-events:none;animation:pop .18s ease-out}.worker-loading{position:fixed;top:calc(var(--header-h) + 10px);left:50%;z-index:calc(var(--z-modal) + 10);display:flex;align-items:center;gap:5px;translate:-50% 0;padding:2px 7px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:.78rem;line-height:1.2;pointer-events:none;animation:worker-loading-in .16s ease-out}.worker-loading[hidden]{display:none}.worker-loading .worker-loading__spinner{--s:16px;flex:none}@keyframes worker-loading-in{from{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.worker-loading{animation:none}}.tit-box{position:relative;overflow:hidden;margin-top:calc(-1 * var(--header-h));padding-top:calc(var(--header-h) + 1px);padding-bottom:10px;background:radial-gradient(1100px 520px at 88% 30%,var(--hero-glow),transparent 70%),var(--bg);--line:color-mix(in srgb,var(--ac) 14%,transparent);border-radius:58px}@media(max-width:767px){.tit-box{background:var(--hero-glow-img),var(--bg)}}.tit-box::before{content:"";position:absolute;width:250%;aspect-ratio:1/.7;border-radius:50%;right:-50%;bottom:-1%;z-index:0;pointer-events:none;border:4em solid color-mix(in srgb,var(--ac) 11%,transparent)}.tit-box::after{content:"";position:absolute;width:250%;aspect-ratio:1/.7;border-radius:50%;right:-50%;bottom:-4%;z-index:0;pointer-events:none;border:1.5px dashed color-mix(in srgb,var(--ac) 45%,transparent);transform:scale(.955)}.tit-no{position:absolute;right:max(14px,calc((100% - var(--page-max))/2 + 12px));bottom:-.34em;z-index:0;pointer-events:none;font:800 clamp(5.5rem,22vw,12rem)/.8 var(--font-serif);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--ac) 38%,transparent)}.tit-in{position:relative;z-index:1;max-width:calc(var(--read-max) + 32px)}.tit-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.tit-top{margin-top:10px;font-size:.86rem;color:var(--muted)}.tit-top .post-cats{margin:0;display:flex;gap:10px;flex-wrap:wrap}.tit-top .post-cats a{display:inline-block;padding:3px 22px 3px 8px;border-radius:90px 180px 0 90px;background:var(--ac);color:var(--onac);font-weight:700;text-decoration:none}.tit-read{letter-spacing:.08em;font-variant-numeric:tabular-nums;margin:-8px 0}.tit-box h1{margin:.45em 0 .1em;margin-top:.1em;font:800 clamp(1.8rem,6vw,2.8rem)/1.22 var(--font-serif);letter-spacing:-.015em}.tit-bot{padding-top:2px;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}.byline{display:flex;align-items:center;gap:14px;margin:0}.by-meta{display:grid;gap:2px}.by-meta b{color:var(--ink);font-size:1.02rem;font-weight:700}.by-meta time{color:var(--muted);font-size:.84rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}.byline .seal{width:54px;height:54px;background:var(--card)}.byline .seal::before{inset:-6px}.byline .seal i{font-size:1.32rem}.byline .seal img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.byline .seal img:not([src]),.byline .seal img[src=""]{display:none}.share{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.86rem}.share>span{margin-right:4px;letter-spacing:.14em}.share button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:50%;background:var(--card);color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.share button:hover{background:var(--ac);border-color:var(--ac);color:var(--onac)}.share .ico{width:18px;height:18px}@media(max-width:520px){.share>span{display:none}.byline{gap:10px}.byline .seal{width:72px;height:72px}}.spec{margin:1.3em 0 0;border-radius:var(--radius);overflow:hidden;background:color-mix(in srgb,var(--ac) 8%,var(--card));border:1px solid color-mix(in srgb,var(--ac) 22%,var(--line))}.spec summary{cursor:pointer;padding:10px 16px;color:var(--ac-ink);font-size:.78rem;font-weight:700;letter-spacing:.2em;border-bottom:1px solid color-mix(in srgb,var(--ac) 18%,var(--line))}.spec-grid{margin:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.spec-grid>div{padding:12px;border-left:1px solid color-mix(in srgb,var(--ac) 18%,var(--line))}.spec-grid>div:first-child{border-left:none}.spec-grid dt{color:var(--muted);font-size:.74rem;letter-spacing:.14em}.spec-grid dd{margin:2px 0 0;font:700 1.08rem/1.35 var(--font-serif)}.spec-grid dd small{margin-left:.25em;font:.76rem var(--font-sans);color:var(--muted)}.spec-grid dd time+small{display:block;margin:0}.spec-grid dd a{color:var(--ink);text-decoration:none}.spec-tags{margin:0;padding:12px 16px;display:flex;flex-wrap:wrap;gap:6px 14px;border-top:1px solid color-mix(in srgb,var(--ac) 18%,var(--line));font-size:.9rem}.lede{font-size:1.14rem;line-height:1.75;color:var(--ac);font-family:var(--font-serif);font-weight:500}.post{counter-reset:sec}.prose h2{counter-increment:sec;padding-top:1em}.prose h2::before{content:counter(sec,decimal-leading-zero);display:block;margin-bottom:.35em;font:700 .78rem var(--font-mono);letter-spacing:.24em;color:var(--ac)}.prose>p:first-child{font-size:1.06em}.prose a{text-decoration-thickness:2px;text-decoration-color:color-mix(in srgb,var(--ac) 45%,transparent)}.prose a:hover{text-decoration-color:var(--ac)}.prose blockquote{position:relative;margin:1.4em 0;padding:1em 1.2em 1em 3.2em;border:0;border-radius:var(--radius);background:color-mix(in srgb,var(--ac) 7%,var(--card));color:var(--ink)}.prose blockquote::before{content:"“";position:absolute;left:.45em;top:.05em;font:800 3.4rem/1 var(--font-serif);color:var(--ac)}.prose blockquote>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.toc{background:color-mix(in srgb,var(--ac) 6%,var(--card))}.toc summary{color:var(--ac-ink);font-size:.5rem;letter-spacing:.2em}.act[aria-pressed=true]{background:var(--ac);color:var(--onac);border-color:var(--ac)}.sig{position:relative;overflow:hidden;gap:20px;padding:24px 26px;border:0;background:var(--ac);color:var(--onac)}.sig::before{content:"";position:absolute;width:150%;aspect-ratio:1/.7;border-radius:50%;right:-60%;bottom:-70%;border:3.5em solid color-mix(in srgb,var(--onac) 10%,transparent);pointer-events:none}.sig>*{position:relative}.sig p,.sig span{color:inherit;opacity:.86}.sig strong{font:800 1.25rem var(--font-serif)}.sig .seal{border-color:initial;background:color-mix(in srgb,var(--onac) 14%,transparent)}.sig .seal i{color:currentColor}.sig .seal::before{border-color:color-mix(in srgb,var(--onac) 55%,transparent)}@media(min-width:768px){.spec-grid{grid-template-columns:repeat(4,1fr)}.spec-grid>div{border-left:0}.spec-grid>div:not(:first-child){border-left:1px solid color-mix(in srgb,var(--ac) 18%,var(--line))}}:root{--c-str:color-mix(in srgb,var(--ac) 45%,var(--ink));--c-num:…;--c-fn:…;--c-tag:…}@supports(color:oklch(from red l c h)){:root{--c-str:oklch(from var(--ac) l c calc(h + 110));--c-num:oklch(from var(--ac) l c calc(h + 200));…}}.chroma .k,.chroma .kd,…{color:var(--ac);font-weight:600}.chroma .s,.chroma .s1,.chroma .s2,…{color:var(--c-str)}.chroma .c,.chroma .c1,…{color:var(--muted);font-style:italic}pre{scrollbar-color:var(--line)transparent;scrollbar-width:thin}pre::-webkit-scrollbar{height:8px;width:8px}pre::-webkit-scrollbar-track{background:0 0}pre::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}pre::-webkit-scrollbar-thumb:hover{filter:brightness(1.15)}@media(prefers-reduced-motion:reduce){.seal::before{animation:none!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.pp-group{margin:0 0 32px}.pp-group:last-of-type{min-height:calc(100dvh - var(--header-h) - 12px)}.pp-group>h2{display:flex;align-items:baseline;gap:.6em;margin:0 0 4px;font:800 1.25rem/1.4 var(--font-serif);color:var(--muted)}.pp-group>h2 small{color:var(--muted);font:500 .8rem var(--font-sans)}.pp-list{list-style:none;margin:0;padding:0}.pp-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 0;border-bottom:1px solid var(--line)}.pp-who{flex:0 1 25rem;min-width:0;display:grid;gap:2px}.pp-name{color:var(--ink);font-weight:700;text-decoration:none;overflow-wrap:anywhere}.pp-name:hover{color:var(--ac)}.pp-date{color:var(--muted);font-size:.8rem;font-weight:100}.pp-links{flex:1 1 20rem;min-width:0;display:grid;gap:4px}.pp-links>p{margin:0;overflow-wrap:anywhere}.pp-links a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.pp-links a:hover{color:var(--ac)}@media(max-width:560px){.pp-links{flex-basis:100%}}