:root{--max:1360px}
.shell{width:min(calc(100% - 128px),var(--max))}
.header-content{min-height:80px}.brand{font-size:20px}.brand img{width:40px;height:40px}.nav{gap:36px;font-size:20px;font-weight:600}.nav a[aria-current=page]{color:var(--cyber-ui);text-decoration:underline;text-underline-offset:27px;text-decoration-thickness:2px}
body{background-image:repeating-radial-gradient(ellipse 700px 470px at 84% 38%,transparent 0 50px,color-mix(in srgb,var(--ink) 2%,transparent) 51px 52px,transparent 53px 100px)}
.library{padding-top:54px}.library h1{max-width:none;font-size:64px;line-height:1.2;letter-spacing:-.035em;margin:0 0 12px}.intro{font-size:24px;color:var(--muted);line-height:1.6;margin:0}
.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:36px 0 30px}.filters{display:flex;gap:16px;flex-wrap:wrap}.filters button{font:inherit;font-size:18px;font-weight:650;min-height:42px;padding:7px 26px;border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--ink);cursor:pointer}.filters button[aria-pressed=true]{background:var(--cyber);border-color:var(--cyber);color:#fff}.filters button:hover{border-color:var(--cyber-ui)}button:focus-visible{outline:3px solid var(--cyber-ui);outline-offset:4px}.count{color:var(--muted);font-size:16px;margin:0;white-space:nowrap}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.content-card{position:relative;display:flex;flex-direction:column;min-height:296px;padding:28px 30px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--raised) 76%,transparent);transition:border-color .15s,background .15s}.content-card:hover{border-color:var(--cyber-ui);background:var(--raised)}.content-card[hidden]{display:none}.card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:16px;line-height:1.4;margin-bottom:20px}.topic{color:var(--cyber-ui);font-weight:700}.card-meta time{color:var(--muted);white-space:nowrap}.content-card h2{font-size:30px;line-height:1.35;font-weight:750;letter-spacing:-.025em;text-wrap:initial;max-width:15ch;margin:0 0 16px}.content-card p{font-size:18px;line-height:1.65;color:var(--muted);margin:0 0 22px}.read-link{margin-top:auto;color:var(--cyber-ui);font-weight:650;font-size:18px;text-decoration:none}.read-link:after{content:"";position:absolute;inset:0;border-radius:18px}.read-link:focus-visible{outline:none}.content-card:focus-within{outline:3px solid var(--cyber-ui);outline-offset:4px}.arrow{margin-left:12px}
.library-footer{text-align:center;padding:36px 24px;color:var(--muted);font-size:15px}.reading{width:min(calc(100% - 48px),760px);margin:0 auto;padding:48px 0 0}.back-link{display:inline-block;color:var(--cyber-ui);font-size:16px;text-decoration:none;margin-bottom:40px}.article-head{border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:36px}.article-head h1{font-size:44px;max-width:none;line-height:1.3;letter-spacing:-.035em;margin:20px 0}.article-meta{font-size:15px;line-height:1.8;color:var(--muted);margin:0}.article-body{font-size:20px;line-height:1.95;overflow-wrap:anywhere}.article-body p{margin:0 0 24px}.article-body pre{font-size:16px;line-height:1.7;white-space:pre-wrap;background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:22px;overflow-wrap:anywhere}.source-note{margin-top:44px;border-top:1px solid var(--line);padding-top:24px;color:var(--muted);font-size:15px;line-height:1.8}.source-note h2{font-size:18px;letter-spacing:0;margin:0 0 10px}.source-note ul{padding-left:20px}.source-note a{color:var(--cyber-ui)}.source-note p{margin-bottom:12px}.article-end{margin-top:30px}.article-end .back-link{margin-bottom:10px}
@media(min-width:1440px){.content-card{min-height:296px}.library{padding-top:52px}.filter-bar{margin-top:36px;margin-bottom:30px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{gap:20px;font-size:16px}.library h1{font-size:56px}.content-card h2{font-size:28px}}
@media(max-width:700px){.shell{width:calc(100% - 40px)}.header-content{min-height:72px;gap:10px}.brand{font-size:16px;gap:7px}.brand img{width:31px;height:31px}.nav{gap:10px;font-size:14px}.nav a[aria-current=page]{text-underline-offset:5px}.library{padding-top:36px}.library h1{font-size:44px}.intro{font-size:18px;line-height:1.65}.filter-bar{align-items:flex-start;flex-direction:column;gap:18px;margin:26px 0 24px}.filters{gap:8px}.filters button{padding:8px 16px;font-size:15px;min-height:44px}.card-grid{grid-template-columns:minmax(0,1fr);gap:16px}.content-card{padding:24px;min-height:268px}.content-card h2{font-size:26px;max-width:none}.content-card p{font-size:17px}.card-meta{font-size:14px;margin-bottom:18px}.reading{padding-top:28px}.back-link{margin-bottom:28px}.article-head h1{font-size:34px}.article-body{font-size:18px;line-height:1.9}.article-meta{font-size:14px}.library-footer{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* 中文卡片的桌面换行与已选真源对应；窄屏交回自然排版。 */
.content-card h2{font-weight:700;font-size:30px;line-height:1.35;max-width:none}.content-card p{margin-bottom:18px}.content-card:nth-child(n+4){min-height:282px}.card-grid{column-gap:20px}.theme-picker summary{width:54px;height:54px}.theme-picker img{width:24px;height:24px}.library-footer{padding-top:34px}.library .content-card{background:color-mix(in srgb,var(--raised) 68%,transparent)}
@media(min-width:701px){.content-card{padding-top:27px;padding-bottom:27px}}
@media(max-width:1100px){.content-card p br{display:none}.content-card h2{font-size:28px}}
@media(max-width:700px){.content-card h2{font-size:26px}.content-card h2 br{display:none}.content-card:nth-child(n+4){min-height:268px}.theme-picker summary{width:44px;height:44px}.theme-picker img{width:20px;height:20px}}
