.admin-shell[data-v-24c019e9]{min-height:100vh}.passkey-login[data-v-24c019e9]{width:100%;margin-top:16px}.security-proof[data-v-24c019e9]{margin:24px 0}.security-status[data-v-24c019e9]{color:var(--muted);margin-left:12px;font-size:12px;font-weight:400}.totp-qr[data-v-24c019e9]{width:200px;height:200px;margin:20px 0;display:block}.key-row[data-v-24c019e9]{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:16px;display:flex}.recovery-codes[data-v-24c019e9]{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);padding:16px;font-size:13px}.admin-top[data-v-24c019e9]{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 40px;display:flex}.admin-brand[data-v-24c019e9]{align-items:center;gap:20px;font-size:20px;font-weight:700;display:flex}.admin-brand span[data-v-24c019e9]{color:var(--muted);border-left:1px solid var(--line-strong);padding-left:20px;font-size:12px;font-weight:400}.top-actions[data-v-24c019e9],.buttons[data-v-24c019e9]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.top-actions[data-v-24c019e9]{font-size:13px}button[data-v-24c019e9],.upload-button[data-v-24c019e9]{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:9px 16px;font-size:13px}button[data-v-24c019e9]:hover{border-color:var(--accent)}button[data-v-24c019e9]:disabled{opacity:.45;cursor:wait}.primary[data-v-24c019e9]{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}.danger[data-v-24c019e9]{color:#d15c5c}.admin-layout[data-v-24c019e9]{grid-template-columns:220px 1fr;max-width:1500px;margin:auto;display:grid}.admin-nav[data-v-24c019e9]{border-right:1px solid var(--line);padding:48px 24px}.eyebrow[data-v-24c019e9]{color:var(--faint);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.admin-nav>button[data-v-24c019e9]{text-align:left;background:0 0;border:0;justify-content:space-between;width:100%;margin:10px 0;padding:14px;display:flex}.admin-nav>button span[data-v-24c019e9]{opacity:0}.admin-nav>button.selected[data-v-24c019e9]{background:var(--accent-soft);color:var(--accent)}.admin-nav>button.selected span[data-v-24c019e9]{opacity:1}.nav-note[data-v-24c019e9]{color:var(--faint);margin-top:40px;font-size:12px;line-height:1.9}.admin-main[data-v-24c019e9]{min-width:0;padding:48px clamp(24px,4vw,64px)}fieldset[data-v-24c019e9]{border:0;min-width:0;margin:0;padding:0}.section-head[data-v-24c019e9]{justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px;display:flex}h1[data-v-24c019e9]{letter-spacing:-.025em;margin:8px 0 0;font-size:32px}h2[data-v-24c019e9]{font-size:18px}.subtle[data-v-24c019e9]{color:var(--muted);margin:8px 0 20px;font-size:14px}.form-grid[data-v-24c019e9]{grid-template-columns:1fr 1fr;gap:24px;display:grid}label[data-v-24c019e9]{color:var(--text-2);flex-direction:column;gap:8px;font-size:13px;display:flex}.wide[data-v-24c019e9]{grid-column:1/-1}input[data-v-24c019e9],textarea[data-v-24c019e9],select[data-v-24c019e9]{width:100%;font:inherit;border:1px solid var(--line-strong);background:var(--bg);color:var(--text);border-radius:8px;padding:11px 13px;font-size:15px}textarea[data-v-24c019e9]{resize:vertical}input[data-v-24c019e9]:read-only{color:var(--muted)}.field-hint[data-v-24c019e9]{color:var(--muted);font-size:12px;line-height:1.7}.edit-card[data-v-24c019e9]{border-top:1px solid var(--line);padding:24px 0 32px}.card-head[data-v-24c019e9]{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.checkbox[data-v-24c019e9]{flex-direction:row;align-items:center;margin-top:18px}.checkbox input[data-v-24c019e9]{width:16px;height:16px;accent-color:var(--accent)}.sync-panel[data-v-24c019e9]{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;padding:24px;display:flex}.sync-panel p[data-v-24c019e9]{margin:8px 0}.sync-error[data-v-24c019e9]{color:#d15c5c;font-size:13px}.hidden-repos[data-v-24c019e9]{max-width:500px}.group-title[data-v-24c019e9]{margin-top:36px}.feedback[data-v-24c019e9]{border-radius:8px;margin:16px 40px 0;padding:14px 24px;font-size:14px}.error[data-v-24c019e9]{color:#d15c5c;background:#d15c5c14}.success[data-v-24c019e9]{color:var(--accent);background:var(--accent-soft)}.login-panel[data-v-24c019e9]{max-width:440px;margin:12vh auto;padding:0 24px}.login-panel h1[data-v-24c019e9]{font-size:40px}.login-panel label[data-v-24c019e9]{margin-top:24px}.login-panel .primary[data-v-24c019e9]{width:100%;margin-top:28px;padding:13px}.login-hint[data-v-24c019e9]{color:var(--faint);margin-top:24px;font-size:12px}.writing-layout[data-v-24c019e9]{grid-template-columns:210px 1fr;gap:36px;display:grid}.article-sidebar[data-v-24c019e9]{border-right:1px solid var(--line);padding-right:20px}.article-sidebar button[data-v-24c019e9]{text-align:left;background:0 0;border:0;border-radius:0;width:100%;margin-bottom:8px;padding:14px 10px}.article-sidebar button.selected[data-v-24c019e9]{background:var(--accent-soft)}.article-sidebar strong[data-v-24c019e9]{overflow-wrap:anywhere;font-size:14px;font-weight:500;display:block}.article-sidebar span[data-v-24c019e9]{color:var(--muted);margin-top:6px;font-size:11px;display:block}.editor[data-v-24c019e9]{min-width:0}.editor>label[data-v-24c019e9]{margin-bottom:20px}.editor-status[data-v-24c019e9]{color:var(--muted);gap:20px;margin-bottom:24px;font-size:12px;display:flex}.markdown-tools[data-v-24c019e9]{justify-content:space-between;align-items:center;margin:28px 0 12px;display:flex}.upload-button[data-v-24c019e9]{display:block;position:relative;overflow:hidden}.upload-button input[data-v-24c019e9]{opacity:0;cursor:pointer;position:absolute;inset:0}.markdown-input[data-v-24c019e9]{font-family:var(--font-mono);font-size:14px;line-height:1.8}.editor-actions[data-v-24c019e9]{flex-wrap:wrap;align-items:center;gap:12px;margin:28px 0 14px;display:flex}.editor-actions>a[data-v-24c019e9]{color:var(--accent);font-size:13px}.preview-panel[data-v-24c019e9]{border:1px solid var(--line);border-radius:12px;margin-top:28px;padding:24px}.preview-panel h2[data-v-24c019e9]{margin-bottom:24px}@media (width<=1050px){.writing-layout[data-v-24c019e9]{grid-template-columns:1fr}.article-sidebar[data-v-24c019e9]{border-right:0;border-bottom:1px solid var(--line);max-height:220px;overflow:auto}.admin-layout[data-v-24c019e9]{grid-template-columns:180px 1fr}}@media (width<=700px){.admin-top[data-v-24c019e9]{padding:16px 20px}.admin-brand span[data-v-24c019e9]{display:none}.admin-layout[data-v-24c019e9]{grid-template-columns:1fr}.admin-nav[data-v-24c019e9]{border-right:0;gap:6px;padding:16px 20px;display:flex;overflow:auto}.admin-nav>.eyebrow[data-v-24c019e9],.nav-note[data-v-24c019e9]{display:none}.admin-nav>button[data-v-24c019e9]{white-space:nowrap;width:auto;margin:0;padding:10px 12px}.admin-nav>button span[data-v-24c019e9]{display:none}.admin-main[data-v-24c019e9]{padding:24px 20px}.form-grid[data-v-24c019e9]{grid-template-columns:1fr}.section-head[data-v-24c019e9],.sync-panel[data-v-24c019e9]{flex-direction:column;align-items:flex-start}.feedback[data-v-24c019e9]{margin:16px 20px 0}.card-head[data-v-24c019e9]{flex-wrap:wrap}}.draw[data-v-071775c5]{fill:none;stroke:#fff;stroke-width:56px;stroke-dasharray:1;stroke-dashoffset:0;animation:1.5s cubic-bezier(.65,0,.2,1) .35s backwards draw-071775c5}.draw-l[data-v-071775c5]{animation-duration:1.1s;animation-delay:1.05s}@keyframes draw-071775c5{0%{stroke-dashoffset:1px}}.hero[data-v-fc3b789d]{--px:0;--py:0;min-height:min(92svh,820px);padding-top:var(--header-h);background:linear-gradient(120deg, var(--bg) 35%, var(--bg-tint));align-items:center;display:flex;position:relative;overflow:hidden}.hero[data-v-fc3b789d]:after{content:"";background:linear-gradient(transparent, var(--bg));pointer-events:none;height:38%;position:absolute;inset:auto 0 0}.copy[data-v-fc3b789d]{z-index:1;max-width:560px;position:relative}.greeting[data-v-fc3b789d]{color:var(--faint);letter-spacing:.08em;font-size:clamp(1.05rem,2vw,1.3rem)}.title[data-v-fc3b789d]{letter-spacing:-.035em;margin-top:8px;font-size:clamp(3.25rem,9vw,5.75rem);font-weight:800;line-height:1.05}.line[data-v-fc3b789d]{white-space:pre;margin-block:-.1em -.18em;padding-block:.1em .18em;display:block;overflow:hidden}.char[data-v-fc3b789d]{animation:char-up-fc3b789d 1s var(--ease) both;animation-delay:calc(var(--c) * 45ms + .16s);display:inline-block}@keyframes char-up-fc3b789d{0%{transform:translateY(115%)rotate(6deg)}}.roles[data-v-fc3b789d]{color:var(--muted);letter-spacing:.01em;margin-top:16px;font-size:clamp(1.1rem,2.4vw,1.5rem)}.sep[data-v-fc3b789d]{color:var(--faint);margin-inline:.7em}.intro[data-v-fc3b789d]{max-width:22em;color:var(--text-2);margin-top:28px;font-size:clamp(1.05rem,2vw,1.25rem)}.actions[data-v-fc3b789d]{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.btn[data-v-fc3b789d]{background:var(--surface);box-shadow:0 0 0 1px var(--line), 0 4px 14px -6px #11182729;transition:transform .3s var(--ease), box-shadow .3s var(--ease);border-radius:10px;align-items:center;gap:10px;padding:13px 26px;font-size:16px;font-weight:500;display:inline-flex}.btn[data-v-fc3b789d]:hover{box-shadow:0 0 0 1px var(--line), 0 12px 24px -10px #11182747;transform:translateY(-2px)}.btn[data-v-fc3b789d]:active{transform:translateY(0)}.btn.primary[data-v-fc3b789d]{background:var(--btn-bg);color:var(--btn-fg)}.arrow[data-v-fc3b789d]{width:18px;height:18px;transition:transform .4s var(--ease);transform:rotate(45deg)}.btn:hover .arrow[data-v-fc3b789d]{transform:rotate(45deg)translate(2px,-2px)}.cue[data-v-fc3b789d]{z-index:1;width:21px;height:52px;margin-left:-10px;animation:1s 2.6s backwards fade-fc3b789d;position:absolute;bottom:28px;left:50%}.cue[data-v-fc3b789d]:before{content:"";background:linear-gradient(var(--line-strong), transparent);position:absolute;inset:0 10px}.cue span[data-v-fc3b789d]{background:var(--accent);border-radius:1px;width:5px;height:5px;animation:2.4s cubic-bezier(.65,0,.2,1) 3s infinite cue-drop-fc3b789d;position:absolute;top:0;left:8px}@keyframes cue-drop-fc3b789d{0%{opacity:0;transform:translateY(0)}20%{opacity:1}80%,to{opacity:0;transform:translateY(44px)}}@media (height<=640px){.cue[data-v-fc3b789d]{display:none}}.rise[data-v-fc3b789d]{animation:rise-fc3b789d 1s var(--ease) both;animation-delay:calc(var(--i) * .11s + 80ms)}@keyframes rise-fc3b789d{0%{opacity:0;transform:translateY(26px)}}.art[data-v-fc3b789d]{top:50%;right:max(var(--gutter), calc((100vw - var(--content)) / 2));aspect-ratio:1;pointer-events:none;width:min(44vw,460px);position:absolute;translate:0 -46%}.art-scroll[data-v-fc3b789d]{position:absolute;inset:0}@supports (animation-timeline:scroll()){.art-scroll[data-v-fc3b789d]{animation:linear both art-out-fc3b789d;animation-timeline:scroll(root);animation-range:0 70vh}@keyframes art-out-fc3b789d{to{opacity:0;transform:translateY(-70px)scale(.94)}}}.grid-lines[data-v-fc3b789d]{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);translate:calc(var(--px) * -6px) calc(var(--py) * -6px);background-size:64px 64px;animation:1.8s .2s both fade-fc3b789d;position:absolute;inset:-22%;-webkit-mask-image:radial-gradient(closest-side,#000 20%,#0000);mask-image:radial-gradient(closest-side,#000 20%,#0000)}.grid-glow[data-v-fc3b789d]{--grid-line:var(--accent);-webkit-mask-image:radial-gradient(170px circle at var(--gx,50%) var(--gy,50%), #000, transparent);-webkit-mask-image:radial-gradient(170px circle at var(--gx,50%) var(--gy,50%), #000, transparent);mask-image:radial-gradient(170px circle at var(--gx,50%) var(--gy,50%), #000, transparent);opacity:0;transition:opacity .5s;animation:none}.is-pointing .grid-glow[data-v-fc3b789d]{opacity:.55}@keyframes fade-fc3b789d{0%{opacity:0}}.tilt[data-v-fc3b789d]{transform:perspective(900px) rotateY(calc(var(--px) * 7deg)) rotateX(calc(var(--py) * -7deg));translate:calc(var(--px) * 10px) calc(var(--py) * 10px);position:absolute;inset:12% 6% auto}.mark[data-v-fc3b789d]{width:100%;color:var(--mark);animation:9s ease-in-out 2.4s infinite alternate float-fc3b789d;display:block}@keyframes float-fc3b789d{to{transform:translateY(-10px)}}.front[data-v-fc3b789d]{translate:calc(var(--px) * 22px) calc(var(--py) * 22px);position:absolute;inset:0}.rule[data-v-fc3b789d]{position:absolute}.rule-v[data-v-fc3b789d]{background:linear-gradient(transparent, var(--accent) 30%, transparent 75%);opacity:.5;transform-origin:top;width:1px;animation:grow-y-fc3b789d 1.4s var(--ease) 1.5s backwards;top:-10%;bottom:-10%;left:68%}.rule-h[data-v-fc3b789d]{background:linear-gradient(90deg, transparent, var(--accent) 35%, transparent 80%);opacity:.3;transform-origin:0;height:1px;animation:grow-x-fc3b789d 1.4s var(--ease) 1.7s backwards;top:86%;left:-10%;right:-10%}@keyframes grow-y-fc3b789d{0%{transform:scaleY(0)}}@keyframes grow-x-fc3b789d{0%{transform:scaleX(0)}}.node[data-v-fc3b789d]{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 5px var(--accent-soft);animation:pop-fc3b789d .7s var(--ease) backwards,pulse-fc3b789d 3.6s ease-in-out 3s infinite;border-radius:2px;margin:-4px 0 0 -4px;position:absolute}.node-a[data-v-fc3b789d]{animation-delay:2s,3s;top:10%;left:68%}.node-b[data-v-fc3b789d]{animation-delay:2.2s,4.2s;top:86%;left:30%}.node-c[data-v-fc3b789d]{opacity:.35;animation-delay:2.4s,5.4s;top:16%;left:14%}@keyframes pop-fc3b789d{0%{opacity:0;transform:scale(0)}}@keyframes pulse-fc3b789d{50%{box-shadow:0 0 0 10px #0000}}@media (width<=859px){.art[data-v-fc3b789d]{opacity:.5;width:72vw;top:auto;bottom:-6%;right:-14%;translate:none}}.portal[data-v-7137d236]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color .3s ease, transform .4s var(--ease);flex-direction:column;padding:24px;display:flex;position:relative;overflow:hidden}.portal[data-v-7137d236]:before{content:"";background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);-webkit-mask-image:radial-gradient(180px circle at var(--mx,50%) var(--my,50%), #000, transparent);-webkit-mask-image:radial-gradient(180px circle at var(--mx,50%) var(--my,50%), #000, transparent);mask-image:radial-gradient(180px circle at var(--mx,50%) var(--my,50%), #000, transparent);opacity:0;pointer-events:none;background-size:28px 28px;transition:opacity .4s;position:absolute;inset:0}.art[data-v-7137d236]{fill:none;width:132px;height:132px;stroke:var(--line-strong);stroke-width:1.2px;pointer-events:none;position:absolute;top:0;right:0}.draw[data-v-7137d236],.hot[data-v-7137d236]{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.3s cubic-bezier(.65,0,.2,1);transition-delay:calc(var(--d,0) * .13s + .25s)}.has-revealed .draw[data-v-7137d236]{stroke-dashoffset:0}.has-revealed .writing[data-v-7137d236]{stroke-dashoffset:.4px}.hot[data-v-7137d236]{stroke:var(--accent);stroke-width:1.6px;transition-duration:.9s;transition-delay:0s}.node[data-v-7137d236]{fill:var(--accent);stroke:none;opacity:0;transition:opacity .5s ease .9s, transform .9s var(--ease)}.has-revealed .node[data-v-7137d236]{opacity:1}.dot[data-v-7137d236]{fill:var(--surface);opacity:0;transition:opacity .5s .9s}.has-revealed .dot[data-v-7137d236]{opacity:1}.orbit[data-v-7137d236]{transform-box:view-box;transform-origin:100% 0;transition:transform 1.2s var(--ease)}.icon[data-v-7137d236]{width:24px;height:24px;position:relative}.name[data-v-7137d236]{letter-spacing:-.01em;margin-top:40px;font-size:1.25rem;font-weight:700;position:relative}.desc[data-v-7137d236]{color:var(--muted);margin-top:4px;font-size:15px;position:relative}.foot[data-v-7137d236]{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex;position:relative}.hint[data-v-7137d236]{color:var(--faint);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:12.5px}.arrow[data-v-7137d236]{width:18px;height:18px;color:var(--faint);transition:transform .4s var(--ease), color .3s ease;flex:none}@media (hover:hover){.portal[data-v-7137d236]:hover{border-color:var(--line-strong);transform:translateY(-2px)}.portal[data-v-7137d236]:hover:before{opacity:1}.portal:hover .arrow[data-v-7137d236]{color:var(--accent);transform:translate(2px,-2px)}.portal:hover .orbit[data-v-7137d236]{transform:rotate(-32deg)}.portal:hover .writing[data-v-7137d236]{stroke-dashoffset:0;transition-duration:.9s;transition-delay:0s}.portal:hover .caret[data-v-7137d236]{transform:translate(24px)}.portal:hover .hot[data-v-7137d236]{stroke-dashoffset:0}}.grid[data-v-9f55ba7a]{gap:16px;display:grid}@media (width>=768px){.grid[data-v-9f55ba7a]{grid-template-columns:repeat(3,1fr)}}.name[data-v-0d1bbd88]{width:240px;font-family:var(--font-mono);overflow-wrap:anywhere;transition:transform .4s var(--ease);flex:none;font-size:14.5px;font-weight:600}.desc[data-v-0d1bbd88]{min-width:0;color:var(--muted);overflow-wrap:anywhere;flex:1;font-size:14.5px}.meta[data-v-0d1bbd88]{width:150px;color:var(--faint);flex:none;justify-content:flex-end;align-items:center;gap:16px;font-size:13px;display:inline-flex}.lang[data-v-0d1bbd88],.stars[data-v-0d1bbd88]{align-items:center;gap:6px;display:inline-flex}.dot[data-v-0d1bbd88]{border-radius:50%;width:8px;height:8px}.stars svg[data-v-0d1bbd88]{width:12px;height:12px}@media (hover:hover){.repo:hover .name[data-v-0d1bbd88]{transform:translate(6px)}}@media (width<=767px){.repo[data-v-0d1bbd88]{flex-wrap:wrap}.name[data-v-0d1bbd88]{flex:1;width:auto}.meta[data-v-0d1bbd88]{width:auto}.desc[data-v-0d1bbd88]{flex:none;order:3;width:100%}.desc[data-v-0d1bbd88]:empty,.repo .row-arrow[data-v-0d1bbd88]{display:none}}.count[data-v-410dab1b]{color:var(--faint);font-family:var(--font-mono);letter-spacing:0;vertical-align:super;margin-left:6px;font-size:13px;font-weight:500}.langs[data-v-410dab1b]{margin-bottom:48px}.bar[data-v-410dab1b]{clip-path:inset(0 100% 0 0 round 3px);gap:3px;height:6px;transition:clip-path 1.4s cubic-bezier(.65,0,.2,1) .2s;display:flex}.has-revealed .bar[data-v-410dab1b]{clip-path:inset(0 round 3px)}.bar span[data-v-410dab1b]{border-radius:3px;min-width:6px}.legend[data-v-410dab1b]{color:var(--muted);flex-wrap:wrap;gap:6px 20px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.legend li[data-v-410dab1b]{align-items:center;gap:6px;display:inline-flex}.legend i[data-v-410dab1b]{border-radius:50%;width:8px;height:8px}.legend span[data-v-410dab1b]{color:var(--faint);font-family:var(--font-mono);font-size:12px}.group+.group[data-v-410dab1b]{margin-top:48px}.group-head[data-v-410dab1b]{flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:12px;display:flex}.group-desc[data-v-410dab1b]{color:var(--faint);font-size:13px}.note[data-v-410dab1b]{color:var(--muted);margin-top:24px;font-size:14px}.note a[data-v-410dab1b]{color:var(--accent)}.note a[data-v-410dab1b]:hover{text-decoration:underline}.footer[data-v-5a7833a2]{border-top:1px solid var(--line);color:var(--faint);margin-top:clamp(24px,4vw,48px);font-size:13px}.main[data-v-5a7833a2]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;padding-block:36px 28px;display:flex}.brand[data-v-5a7833a2]{color:var(--text);transition:transform .5s var(--ease);display:inline-flex}.brand[data-v-5a7833a2]:hover{transform:translateY(-3px)}.logo[data-v-5a7833a2]{width:34px;height:auto}.links[data-v-5a7833a2]{color:var(--muted);flex-wrap:wrap;gap:8px 28px;font-size:14px;display:flex}.links a[data-v-5a7833a2],.beian a[data-v-5a7833a2]{transition:color .2s}.links a[data-v-5a7833a2]:hover,.beian a[data-v-5a7833a2]:hover{color:var(--text)}.top span[data-v-5a7833a2]{transition:transform .4s var(--ease);display:inline-block}.top:hover span[data-v-5a7833a2]{transform:translateY(-3px)}.legal[data-v-5a7833a2]{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:0 28px;display:flex}.beian[data-v-5a7833a2]{flex-wrap:wrap;gap:8px 20px;display:flex}.header[data-v-99d65f71]{z-index:10;height:var(--header-h);border-bottom:1px solid #0000;transition:background-color .4s,border-color .4s;position:fixed;inset:0 0 auto}.header.scrolled[data-v-99d65f71]{background:var(--header-bg);border-bottom-color:var(--line);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px)}.bar[data-v-99d65f71]{justify-content:space-between;align-items:center;height:100%;display:flex}.brand[data-v-99d65f71]{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}.logo[data-v-99d65f71]{width:30px;height:auto}.nav[data-v-99d65f71]{height:100%;color:var(--muted);align-items:stretch;gap:clamp(16px,4vw,40px);font-size:14px;display:flex}.nav a[data-v-99d65f71]{align-items:center;transition:color .2s;display:inline-flex;position:relative}.nav a[data-v-99d65f71]:after{content:"";background:var(--accent);height:2px;transition:transform .4s var(--ease);border-radius:2px;position:absolute;inset:auto 0 14px;transform:scaleX(0)}.nav a[data-v-99d65f71]:hover,.nav a.active[data-v-99d65f71]{color:var(--text)}.nav a.active[data-v-99d65f71]:after{transform:scaleX(1)}.theme[data-v-99d65f71]{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-self:center;place-items:center;margin-right:-8px;padding:0;transition:color .2s,background-color .2s;display:inline-grid}.theme[data-v-99d65f71]:hover{background:var(--line);color:var(--text)}.theme svg[data-v-99d65f71]{width:20px;height:20px}@media (width<=479px){.nav[data-v-99d65f71]{gap:12px}.brand[data-v-99d65f71]{font-size:16px}.brand span[data-v-99d65f71],.nav .home[data-v-99d65f71]{display:none}}@media (width<=760px){.nav .service-link[data-v-99d65f71]{display:none}.nav[data-v-99d65f71]{gap:16px}}@media (width<=379px){.brand span[data-v-99d65f71]{display:none}}.heading[data-v-9c1d8e0a]{justify-content:space-between;align-items:baseline;display:flex}.heading>a[data-v-9c1d8e0a]{color:var(--muted);font-size:14px}.article[data-v-9c1d8e0a]{align-items:center}.article time[data-v-9c1d8e0a]{width:120px;color:var(--faint);font:13px var(--font-mono);flex:none}.article>span[data-v-9c1d8e0a]:nth-child(2){flex:1}.article strong[data-v-9c1d8e0a]{font-size:19px;font-weight:500}.article p[data-v-9c1d8e0a]{color:var(--muted);margin-top:6px;font-size:14px}.arrow[data-v-9c1d8e0a]{color:var(--accent)}.empty[data-v-9c1d8e0a]{color:var(--muted);padding:24px 0}@media (width<=600px){.article[data-v-9c1d8e0a]{flex-wrap:wrap}.article time[data-v-9c1d8e0a]{width:100%}}.select-field[data-v-af781ef7]{min-width:0}label[data-v-af781ef7]{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.select-trigger[data-v-af781ef7]{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:14px var(--font);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;transition:border-color .3s,box-shadow .3s,background .3s;display:flex}.select-trigger[data-v-af781ef7] [data-slot=value],.select-trigger>span[data-v-af781ef7]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-trigger[data-v-af781ef7]:hover{border-color:var(--line-strong)}.select-trigger[data-state=open][data-v-af781ef7]{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}svg[data-v-af781ef7]{fill:none;width:18px;height:18px;stroke:var(--muted);stroke-width:1.5px;transition:transform .35s var(--ease),stroke .3s;flex:none}[data-state=open] svg[data-v-af781ef7]{stroke:var(--accent);transform:rotate(180deg)}.select-menu{z-index:9;width:var(--reka-select-trigger-width);max-height:min(320px,var(--reka-select-content-available-height));border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transform-origin:var(--reka-select-content-transform-origin);overflow:hidden;box-shadow:0 16px 40px -12px #0003}.select-viewport{padding:6px}.select-option[data-v-af781ef7]{min-height:40px;color:var(--text-2);cursor:pointer;overflow-wrap:anywhere;border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;font-size:13px;transition:background .18s,color .18s;display:flex}.select-option[data-highlighted][data-v-af781ef7]{background:var(--accent-soft);color:var(--accent)}.select-option[data-state=checked][data-v-af781ef7]{color:var(--accent)}.select-menu[data-state=open]{animation:menu-in-af781ef7 .3s var(--ease)}.select-menu[data-state=closed]{animation:.18s menu-out-af781ef7}@keyframes menu-in-af781ef7{0%{opacity:0;transform:translateY(-6px)scale(.97)}}@keyframes menu-out-af781ef7{to{opacity:0;transform:translateY(-4px)scale(.98)}}.full[data-v-7eee50b7]{min-height:90vh;padding-top:0}.scut-heading[data-v-7eee50b7],.scut-intro[data-v-7eee50b7],.list-toolbar[data-v-7eee50b7],.pagination[data-v-7eee50b7]{justify-content:space-between;align-items:center;gap:20px;display:flex}.scut-heading .label[data-v-7eee50b7]{margin-bottom:12px}.scut-heading .section-title[data-v-7eee50b7]{margin:0}.scut-heading h1[data-v-7eee50b7]{font-size:clamp(2rem,4vw,3rem)}.section-title span[data-v-7eee50b7]{color:var(--accent)}.all-link[data-v-7eee50b7]{color:var(--accent);white-space:nowrap;font-size:14px}.scut-intro[data-v-7eee50b7]{color:var(--text-2);margin:24px 0;font-size:14px}.scut-intro p:first-child span[data-v-7eee50b7]{color:var(--muted);margin-top:4px;display:block}.unread-count[data-v-7eee50b7]{white-space:nowrap;color:var(--muted)}.unread-count strong[data-v-7eee50b7]{color:var(--text);margin-right:6px;font-size:32px;font-weight:500}.school-links[data-v-7eee50b7]{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.school-links a[data-v-7eee50b7]{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .3s,transform .4s var(--ease),box-shadow .4s;padding:24px;position:relative;overflow:hidden}.school-links a[data-v-7eee50b7]:before{content:"";background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);-webkit-mask-image:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),#000,transparent);mask-image:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),#000,transparent);opacity:0;pointer-events:none;background-size:28px 28px;transition:opacity .4s;position:absolute;inset:0}.school-links a[data-v-7eee50b7]:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:0 12px 24px -18px #0003}.school-links a[data-v-7eee50b7]:hover:before{opacity:1}.school-links span[data-v-7eee50b7]{color:var(--accent);font-family:var(--font-mono);margin-right:10px;font-size:12px}.school-links small[data-v-7eee50b7]{color:var(--muted);margin:8px 0 0 26px;display:block}.filters[data-v-7eee50b7]{grid-template-columns:1fr 1.6fr 1.6fr 1fr;gap:12px;margin-bottom:20px;display:grid}.filters label[data-v-7eee50b7]{min-width:0;color:var(--muted);font-size:12px}.search label[data-v-7eee50b7]{display:block}.search-control[data-v-7eee50b7]{position:relative}.filters .search input[data-v-7eee50b7]{min-height:48px;padding-right:38px}.search input[data-v-7eee50b7]::-webkit-search-cancel-button{appearance:none}.search-clear[data-v-7eee50b7]{width:32px;height:36px;color:var(--muted);border-radius:8px;font-size:22px;position:absolute;top:5px;right:8px}.search-clear[data-v-7eee50b7]:hover{background:var(--accent-soft);color:var(--accent)}.filters input[data-v-7eee50b7]{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--surface);font:14px var(--font);margin-top:8px;padding:13px 16px;transition:border-color .3s,box-shadow .3s;display:block}.filters input[data-v-7eee50b7]:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:0}.filters[data-v-7eee50b7]{z-index:2;position:relative}.list-toolbar[data-v-7eee50b7]{color:var(--muted);border-bottom:1px solid var(--line-strong);flex-wrap:wrap;justify-content:flex-start;gap:16px;padding-bottom:14px;font-size:13px}.checkbox[data-v-7eee50b7]{color:var(--text-2);align-items:center;gap:6px;display:flex}.checkbox input[data-v-7eee50b7]{appearance:none;border:1px solid var(--line-strong);cursor:pointer;border-radius:5px;width:17px;height:17px;margin:0;transition:background .25s,border-color .25s}.checkbox input[data-v-7eee50b7]:checked{background:var(--accent);border-color:var(--accent)}.checkbox input[data-v-7eee50b7]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;display:block;transform:translate(5px,1px)rotate(45deg)}button[data-v-7eee50b7]{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0}button[data-v-7eee50b7]:disabled{opacity:.45;cursor:default}.refresh[data-v-7eee50b7]{margin-left:auto}.notice-list[data-v-7eee50b7]{margin:0;padding:0;list-style:none}.notice-list li[data-v-7eee50b7]{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:24px 0;transition:opacity .3s,background .3s;display:flex}@media (hover:hover){.notice-list:hover li[data-v-7eee50b7]{opacity:.5}.notice-list li[data-v-7eee50b7]:hover{opacity:1}.notice-list li:hover .jump[data-v-7eee50b7]{color:var(--accent);transform:translate(3px,-3px)}}.notice-main[data-v-7eee50b7]{min-width:0}.notice-main a[data-v-7eee50b7]{overflow-wrap:anywhere;font-size:15px;line-height:1.8}.notice-main a[data-v-7eee50b7]:hover{color:var(--accent)}.notice-main p[data-v-7eee50b7]{color:var(--muted);margin-top:6px;font-size:12px}.unread .notice-main a[data-v-7eee50b7]{font-weight:600}.unread-dot[data-v-7eee50b7]{background:var(--accent);border-radius:50%;width:6px;height:6px;margin:0 8px 2px 0;display:inline-block}.jump[data-v-7eee50b7]{color:var(--faint);transition:transform .4s var(--ease),color .3s;margin-left:8px;font-size:13px;display:inline-block}.notice-meta[data-v-7eee50b7]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;font-size:12px;display:flex}.notice-meta time[data-v-7eee50b7]{color:var(--muted);font-family:var(--font-mono);font-size:12px}.notice-meta button[data-v-7eee50b7]{color:var(--muted)}.notice-meta button[data-v-7eee50b7]:hover{color:var(--accent)}.empty[data-v-7eee50b7]{color:var(--muted);padding:40px 0;font-size:14px}.notice-message[data-v-7eee50b7]{background:var(--accent-soft);margin-top:12px;padding:12px;font-size:13px}.pagination[data-v-7eee50b7]{justify-content:center;margin-top:24px;font-size:14px}.sync-status[data-v-7eee50b7]{color:var(--muted);margin-top:28px;font-size:12px}.sync-status summary[data-v-7eee50b7]{cursor:pointer;padding:8px 0}.sync-status p[data-v-7eee50b7]{margin:8px 0 16px}.sync-status ul[data-v-7eee50b7]{margin:0;padding:0;list-style:none}.sync-status li[data-v-7eee50b7]{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px 20px;padding:10px 0;display:flex}.sync-status li a[data-v-7eee50b7]{color:var(--text-2);min-width:240px}.sync-error[data-v-7eee50b7]{color:var(--text)}@media (width<=760px){.filters[data-v-7eee50b7]{grid-template-columns:1fr 1fr}.school-links[data-v-7eee50b7]{gap:8px}.school-links a[data-v-7eee50b7]{padding:14px 12px;font-size:13px}.school-links span[data-v-7eee50b7]{display:none}.school-links small[data-v-7eee50b7]{margin-left:0;font-size:11px}}@media (width<=480px){.scut-heading[data-v-7eee50b7]{gap:12px}.scut-heading .section-title[data-v-7eee50b7]{font-size:24px}.scut-heading .all-link[data-v-7eee50b7]{font-size:12px}.school-links[data-v-7eee50b7]{grid-template-columns:1fr}.school-links a[data-v-7eee50b7]{justify-content:space-between;align-items:center;display:flex}.school-links small[data-v-7eee50b7]{margin:0}.notice-list li[data-v-7eee50b7]{flex-direction:column;gap:10px}.notice-meta[data-v-7eee50b7]{flex-direction:row;justify-content:space-between}.scut-intro[data-v-7eee50b7]{gap:12px}.scut-intro p:first-child span[data-v-7eee50b7]{font-size:12px}.sync-status li a[data-v-7eee50b7]{min-width:100%}.full[data-v-7eee50b7]{padding-top:0}}.content-loading[data-v-d4efe4cd]{min-height:100vh;padding-top:25vh}.content-loading h1[data-v-d4efe4cd]{margin:20px 0;font-size:2.4rem}.content-loading p[data-v-d4efe4cd]{color:var(--muted)}.content-loading button[data-v-d4efe4cd],.content-banner button[data-v-d4efe4cd]{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;margin-top:16px}.content-banner[data-v-d4efe4cd]{z-index:11;background:var(--surface);border-bottom:1px solid var(--line);width:100%;margin:0;padding:8px 24px;font-size:13px;position:fixed;top:64px}.content-banner button[data-v-d4efe4cd]{margin:0 0 0 12px}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fcfcfd;--bg-tint:#eef2fb;--surface:#fff;--text:#111114;--text-2:#4b5563;--muted:#6b7280;--faint:#9ca3af;--line:#11182714;--line-strong:#11182747;--accent:#3b6ef5;--accent-soft:#3b6ef51a;--header-bg:#fcfcfdc2;--btn-bg:#1c1c20;--btn-fg:#fff;--mark:#e2e5ec;--grid-line:#3b6ef517;--radius:16px;--radius-sm:12px;--gutter:24px;--content:1120px;--header-h:64px;--ease:cubic-bezier(.2, .8, .2, 1);--scrollbar-thumb:var(--line-strong);--scrollbar-track:transparent;--scrollbar-hover:var(--muted);--scrollbar-active:var(--accent);--font:"Outfit Variable", -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0d10;--bg-tint:#121829;--surface:#14161b;--text:#f3f4f6;--text-2:#b6bcc8;--muted:#9097a3;--faint:#656c78;--line:#ffffff17;--line-strong:#ffffff4d;--accent:#6d93ff;--accent-soft:#6d93ff29;--header-bg:#0c0d10b8;--btn-bg:#f3f4f6;--btn-fg:#111114;--mark:#1c1f27;--grid-line:#6d93ff1a}*,:before,:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}::-webkit-scrollbar-thumb:active{background:var(--scrollbar-active)}@media (forced-colors:active){*{scrollbar-color:auto}}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-gutter:stable}::selection{background:var(--accent-soft)}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:.7s cubic-bezier(.65,0,.2,1) theme-reveal}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--vt-x) var(--vt-y))}to{clip-path:circle(150vmax at var(--vt-x) var(--vt-y))}}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.container{width:100%;max-width:var(--content);padding-inline:var(--gutter);margin-inline:auto}.page-heading{isolation:isolate;padding:calc(var(--header-h) + 64px) 0 52px;background:linear-gradient(120deg,var(--bg) 35%,var(--bg-tint));position:relative}.page-heading:after{content:"";background:linear-gradient(transparent,var(--bg));z-index:-1;height:45%;position:absolute;inset:auto 0 0}.page-heading-content{position:relative}.page-title{letter-spacing:-.035em;overflow-wrap:anywhere;margin:16px 0 22px;font-size:clamp(3.25rem,7vw,5.75rem);font-weight:800;line-height:1.08}.page-intro{max-width:660px;color:var(--text-2);font-size:clamp(1rem,2vw,1.25rem)}.page-intro span{color:var(--muted);margin-top:8px;font-size:14px;display:block}.page-back{top:50px;right:var(--gutter);color:var(--muted);font-size:14px;transition:color .3s;position:absolute}.page-back span{transition:transform .4s var(--ease);display:inline-block}.page-back:hover{color:var(--accent)}.page-back:hover span{transform:translate(3px,-3px)}.page-grid{z-index:-1;top:var(--header-h);right:max(var(--gutter),calc((100vw - var(--content)) / 2));background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);width:min(45vw,480px);height:300px;animation:page-grid-in 1.5s var(--ease) both;background-size:48px 48px;position:absolute;-webkit-mask-image:radial-gradient(#000 10%,#0000 70%);mask-image:radial-gradient(#000 10%,#0000 70%)}.page-grid span{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 5px var(--accent-soft);animation:page-node-pop .7s var(--ease) .9s backwards,page-node-pulse 3.6s ease-in-out 2s infinite;border-radius:2px;position:absolute;top:96px;left:48%}.page-grid:before,.page-grid:after{content:"";pointer-events:none;position:absolute}.page-grid:before{background:linear-gradient(transparent,var(--accent) 35%,transparent 80%);opacity:.45;transform-origin:top;width:1px;animation:page-grow-y 1.4s var(--ease) .5s backwards;top:-20%;bottom:-10%;left:calc(48% + 4px)}.page-grid:after{background:linear-gradient(90deg,transparent,var(--accent) 40%,transparent 85%);opacity:.28;transform-origin:0;height:1px;animation:page-grow-x 1.4s var(--ease) .7s backwards;top:192px;left:-10%;right:-10%}.page-grid i{background:var(--accent);opacity:.4;width:8px;height:8px;box-shadow:0 0 0 5px var(--accent-soft);animation:page-node-pop .7s var(--ease) 1.1s backwards,page-node-pulse 3.6s ease-in-out 3.2s infinite;border-radius:2px;position:absolute;top:188px;left:20%}@keyframes page-grid-in{0%{opacity:0;transform:translateY(16px)}}@keyframes page-grow-y{0%{transform:scaleY(0)}}@keyframes page-grow-x{0%{transform:scaleX(0)}}@keyframes page-node-pop{0%{opacity:0;transform:scale(0)}}@keyframes page-node-pulse{50%{box-shadow:0 0 0 10px #0000}}.page-title .char{animation:page-char-up 1s var(--ease) both;animation-delay:calc(var(--c) * 45ms + .12s);display:inline-block}@keyframes page-char-up{0%{opacity:0;filter:blur(6px);transform:translateY(60%)rotate(4deg)}}@media (width<=600px){.page-heading{padding-top:calc(var(--header-h) + 40px);padding-bottom:32px}.page-back{margin-top:24px;display:inline-block;position:static}.page-grid{opacity:.6;width:70vw}}.section{padding-block:clamp(48px,7vw,88px)}.section+.section{padding-top:0}.section-title{letter-spacing:-.02em;margin-bottom:24px;font-size:1.75rem;font-weight:700;line-height:1.2}.label{color:var(--faint);letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:500}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--line);align-items:baseline;gap:8px 24px;padding:16px 0;display:flex}.row-arrow{width:16px;height:16px;color:var(--faint);opacity:0;transition:opacity .3s ease, transform .4s var(--ease);flex:none;align-self:center;transform:translate(-4px,4px)}.row{transition:opacity .3s}@media (hover:hover){.rows:hover .row{opacity:.5}.rows .row:hover{opacity:1}.row:hover .row-arrow{opacity:1;color:var(--accent);transform:none}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease), transform .8s var(--ease)!important;transition-delay:var(--reveal-delay,0s)!important}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.reading-header{z-index:10;height:var(--header-h);border-bottom:1px solid #0000;transition:background-color .4s,border-color .4s;position:fixed;inset:0 0 auto}.reading-header.scrolled{background:var(--header-bg);border-bottom-color:var(--line);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px)}.reading-bar{justify-content:space-between;align-items:center;height:100%;display:flex}.reading-brand{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}.reading-logo{flex:none;width:30px;height:auto}.reading-header nav{height:100%;color:var(--muted);align-items:stretch;gap:clamp(16px,4vw,40px);font-size:14px;display:flex}.reading-header nav a{align-items:center;transition:color .2s;display:inline-flex;position:relative}.reading-header nav a:after{content:"";background:var(--accent);height:2px;transition:transform .4s var(--ease);border-radius:2px;position:absolute;inset:auto 0 14px;transform:scaleX(0)}.reading-header a:hover,.reading-header a.active{color:var(--text)}.reading-header .active:after{transform:scaleX(1)}#theme-toggle{width:36px;height:36px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-self:center;place-items:center;margin-right:-8px;padding:0;transition:color .2s,background .2s;display:inline-grid}#theme-toggle:hover{background:var(--line);color:var(--text)}#theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}#theme-toggle .moon,[data-theme=dark] #theme-toggle .sun{display:none}[data-theme=dark] #theme-toggle .moon{display:block}.reading-progress{pointer-events:none;height:2px;position:absolute;inset:auto 0 -1px}.reading-progress span{background:linear-gradient(90deg,var(--accent-soft),var(--accent));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.reading-main{min-height:calc(100svh - 180px)}.reading-list-content{padding-top:16px;padding-bottom:64px}.article-total{color:var(--faint);letter-spacing:0;vertical-align:super;margin-left:18px;font-size:16px;font-weight:500;animation:.8s .7s backwards reading-fade;display:inline-block}.post-list{border-top:1px solid var(--line)}.post-item{isolation:isolate;border-radius:var(--radius-sm);grid-template-columns:104px 1fr 24px;gap:24px;margin-inline:-16px;padding:28px 16px;transition:opacity .3s,background-color .4s;display:grid;position:relative}.post-item:before{content:"";z-index:-1;border-radius:inherit;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);-webkit-mask-image:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),#000,transparent);-webkit-mask-image:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),#000,transparent);mask-image:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),#000,transparent);opacity:0;pointer-events:none;background-size:28px 28px;transition:opacity .4s;position:absolute;inset:0}.post-item:after{content:"";background:var(--line);height:1px;position:absolute;bottom:0;left:16px;right:16px}.post-item time,.article-meta{color:var(--muted);font-size:13px;font-family:var(--font-mono)}.post-item time{padding-top:6px}.post-item h2{letter-spacing:-.02em;margin:0 0 8px;font-size:23px;font-weight:500;transition:color .3s}.post-item p{color:var(--muted)}.post-item>span{color:var(--faint);transition:color .3s,transform .4s var(--ease)}@media (hover:hover){.post-list:hover .post-item{opacity:.5}.post-list .post-item:hover,.post-item:hover:before{opacity:1}.post-item:hover h2,.post-item:hover>span{color:var(--accent)}.post-item:hover>span{transform:translate(3px,-3px)}}.empty-posts{color:var(--muted);padding:40px 0 56px;position:relative}.empty-posts h2{color:var(--text);letter-spacing:-.02em;margin:16px 0 8px;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:500}.empty-posts a{color:var(--accent);gap:12px;margin-top:24px;font-size:14px;display:inline-flex}.empty-posts a span{transition:transform .4s var(--ease)}.empty-posts a:hover span{transform:translate(3px,-3px)}.page-intro a{color:var(--accent)}.article-heading{padding-bottom:40px}.article-heading .page-grid{opacity:.75}.article-heading-content{max-width:calc(860px + var(--gutter) * 2)}.back-link{color:var(--muted);gap:6px;margin-bottom:28px;font-size:14px;transition:color .3s;display:inline-flex}.back-link span{transition:transform .4s var(--ease)}.back-link:hover{color:var(--accent)}.back-link:hover span{transform:translate(-4px)}.article-meta{flex-wrap:wrap;gap:6px 0;display:flex}.article-meta>*+:before{content:"·";color:var(--faint);margin-inline:10px}.reading-title{letter-spacing:-.035em;overflow-wrap:anywhere;margin:18px 0;font-size:clamp(2rem,5vw,3.6rem);font-weight:800;line-height:1.14}.reading-intro{max-width:720px;color:var(--text-2);font-size:clamp(1rem,2vw,1.15rem)}.reading-article{grid-template-columns:minmax(0,860px);justify-content:center;gap:64px;padding-top:8px;padding-bottom:72px;display:grid}.article-cover{object-fit:cover;border-radius:var(--radius-sm);width:100%;max-height:480px;margin-bottom:40px}.prose{overflow-wrap:anywhere;font-size:17px;line-height:1.95}.prose p,.prose ul,.prose ol,.prose .code-block,.prose pre,.prose blockquote,.prose table{margin:0 0 1.5em}.prose h1,.prose h2,.prose h3,.prose h4{scroll-margin-top:calc(var(--header-h) + 24px);margin:1.8em 0 .7em;line-height:1.3;position:relative}.prose h2{letter-spacing:-.02em;font-size:1.6rem}.prose h3{font-size:1.25rem}.heading-anchor{color:var(--faint);opacity:0;margin-left:10px;font-weight:400;transition:opacity .2s,color .2s}.prose :is(h2,h3):hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.heading-anchor:hover{color:var(--accent)}.prose a:not(.heading-anchor){color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:3px;transition:text-decoration-color .3s}.prose a:not(.heading-anchor):hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose img{border-radius:8px;max-width:100%;height:auto;transition:opacity .6s,filter .6s;display:block}.prose img.img-pending{opacity:0;filter:blur(8px)}.prose hr{background:linear-gradient(90deg,transparent,var(--line-strong),transparent);border:0;height:1px;margin:3em 0}.prose pre{background:var(--bg-tint);border-radius:10px;padding:20px;font-size:14px;line-height:1.7;overflow:auto}.prose :not(pre)>code{background:var(--accent-soft);color:var(--text);border-radius:6px;padding:.15em .4em;font-size:.88em}.prose code{font-family:var(--font-mono)}.code-block{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-tint);overflow:hidden}.code-block pre{background:0 0;border-radius:0;margin:0}.code-bar{border-bottom:1px solid var(--line);font:12px var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;padding:6px 10px 6px 20px;display:flex}.code-bar button{color:var(--muted);font:12px var(--font);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 10px;transition:background .2s,color .2s}.code-bar button:hover{background:var(--accent-soft);color:var(--accent)}.prose>:first-child{margin-top:0}.prose blockquote>:last-child{margin-bottom:0}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-2);background:linear-gradient(90deg,var(--accent-soft),transparent 60%);padding:12px 0 12px 20px}.prose table{border-collapse:collapse;display:block;overflow:auto}.prose th,.prose td{border:1px solid var(--line-strong);padding:8px 14px}.article-end{justify-content:center;margin:56px 0 0;display:flex}.article-end span{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 5px var(--accent-soft);border-radius:2px}.article-toc{top:calc(var(--header-h) + 32px);max-height:calc(100svh - var(--header-h) - 64px);align-self:start;font-size:13px;position:sticky;overflow:auto}.article-toc ol{border-left:1px solid var(--line);margin:14px 0 0;padding:0;list-style:none}.article-toc a{color:var(--muted);padding:6px 0 6px 16px;line-height:1.5;transition:color .3s;display:block;position:relative}.article-toc .sub a{padding-left:28px;font-size:12px}.article-toc a:before{content:"";background:var(--accent);width:2px;transition:transform .4s var(--ease);border-radius:2px;position:absolute;top:8px;bottom:8px;left:-1px;transform:scaleY(0)}.article-toc a:hover,.article-toc a.active{color:var(--text)}.article-toc a.active:before{transform:scaleY(1)}@media (width>=1180px){.reading-article:has(.article-toc:not([hidden])){grid-template-columns:minmax(0,760px) 200px}.article-heading-content{max-width:calc(1024px + var(--gutter) * 2)}}@media (width<=1179px){.article-toc{display:none}}.article-pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;display:grid}.article-pager a,.not-found-links a{isolation:isolate;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .3s,transform .4s var(--ease),box-shadow .4s;position:relative;overflow:hidden}.article-pager a{flex-direction:column;gap:8px;padding:22px 24px;display:flex}.article-pager .newer{text-align:right;grid-column:2}.article-pager strong{font-weight:500;transition:color .3s}.article-pager a:before,.not-found-links a:before{content:"";z-index:-1;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);-webkit-mask-image:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),#000,transparent);-webkit-mask-image:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),#000,transparent);mask-image:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),#000,transparent);opacity:0;pointer-events:none;background-size:28px 28px;transition:opacity .4s;position:absolute;inset:0}.article-pager a:hover,.not-found-links a:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:0 12px 24px -18px #0003}.article-pager a:hover:before,.not-found-links a:hover:before{opacity:1}.article-pager a:hover strong{color:var(--accent)}.update-notice{border-radius:var(--radius-sm);background:var(--accent-soft);margin-top:32px;padding:16px}.update-notice button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0}.not-found{min-height:calc(100svh - 160px)}.not-found .page-title{font-size:clamp(5rem,16vw,10rem)}.not-found .page-title .char:nth-child(2){color:var(--accent)}.not-found-links{flex-wrap:wrap;gap:12px;margin-top:40px;display:flex}.not-found-links a{gap:10px;padding:14px 20px;font-size:14px;display:inline-flex}.not-found-links a span{color:var(--accent);transition:transform .4s var(--ease)}.not-found-links a:hover span{transform:translate(3px,-3px)}.reading-footer{border-top:1px solid var(--line);color:var(--faint);font-size:13px}.reading-footer-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;padding-block:36px 28px;display:flex}.reading-footer .reading-brand{color:var(--text);transition:transform .5s var(--ease)}.reading-footer .reading-brand:hover{transform:translateY(-3px)}.reading-footer .reading-logo{width:34px}.reading-footer nav{color:var(--muted);flex-wrap:wrap;gap:8px 28px;font-size:14px;display:flex}.reading-footer a{transition:color .2s}.reading-footer a:hover{color:var(--text)}.reading-footer .to-top span{transition:transform .4s var(--ease);display:inline-block}.reading-footer .to-top:hover span{transform:translateY(-3px)}.reading-legal{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-bottom:28px;display:flex}.reading-beian{flex-wrap:wrap;gap:8px 20px;display:flex}.float-top{z-index:9;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--header-bg);width:44px;height:44px;color:var(--muted);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity .4s,transform .4s var(--ease),visibility .4s,color .2s,border-color .2s;place-items:center;display:grid;position:fixed;bottom:24px;right:24px;transform:translateY(12px)}.float-top.shown{opacity:1;visibility:visible;transform:none}.float-top:hover{color:var(--accent);border-color:var(--line-strong)}.float-top svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.reading-rise{animation:reading-rise .85s var(--ease) var(--delay,0s) both}@keyframes reading-rise{0%{opacity:0;transform:translateY(20px)}}@keyframes reading-fade{0%{opacity:0}}.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease) var(--reveal-delay,0s),transform .8s var(--ease) var(--reveal-delay,0s),background-color .4s;transform:translateY(20px)}.js [data-reveal].is-visible{opacity:1;transform:none}@media (hover:hover){.js .post-list:hover [data-reveal].is-visible{opacity:.5;transition-delay:0s}.js .post-list [data-reveal].is-visible:hover{opacity:1}}@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none}.reading-progress{display:none}}@media (width<=760px){.reading-header .service-link{display:none}.reading-header nav{gap:16px}}@media (width<=600px){.article-heading .page-grid{opacity:.3}.post-item{grid-template-columns:1fr 20px;gap:10px}.post-item time{grid-column:1/-1;padding:0}.article-pager{grid-template-columns:1fr}.article-pager .newer{grid-column:auto}.float-top{bottom:16px;right:16px}}@media (width<=479px){.reading-header nav{gap:12px}.reading-header .reading-brand span,.reading-header .home{display:none}}
