:root{--fg:#14161a;--muted:#5b6472;--bg:#ffffff;--card:#f7f8fa;--border:#e3e6ea;--accent:#1f6feb;--ok:#146c43;--warn:#9a6700;--danger:#b42318;--anchor-offset:92px}@media (prefers-color-scheme:dark){:root{--fg:#e6e8eb;--muted:#9aa4b2;--bg:#0f1115;--card:#171a20;--border:#262b33;--accent:#6cb0ff;--ok:#6ee7a8;--warn:#f5c451;--danger:#ff8a80}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Noto Sans SC,sans-serif;line-height:1.6}.wrap{max-width:1100px;margin:0 auto;padding:18px 16px 64px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.topbar{-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}}@supports not (background:color-mix(in srgb,red 50%,transparent)){.topbar{background:var(--bg)}}.topbar-inner{max-width:1100px;margin:0 auto;padding:14px 60px 6px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;min-height:44px}.site-title{margin:0;font-size:.98rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}@media (max-width:620px){.site-title .title-suffix{display:none}}.category-nav{flex:1 1 100%;display:flex;align-items:center;gap:6px;min-width:0;padding:2px 0;overflow-x:auto;scrollbar-width:none}.category-nav::-webkit-scrollbar{display:none}@media (hover:hover) and (pointer:fine){.category-nav{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--fg) 22%,transparent) transparent;cursor:-webkit-grab;cursor:grab}.category-nav::-webkit-scrollbar{display:block;height:6px}.category-nav::-webkit-scrollbar-track{background:transparent}.category-nav::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--fg) 22%,transparent)}.category-nav::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--fg) 38%,transparent)}}.category-nav[data-dragging=true]{cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.category-nav[data-dragging=true] a{pointer-events:none}.category-nav[data-overflow=end]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),transparent)}.category-nav[data-overflow=start]{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px);mask-image:linear-gradient(90deg,transparent 0,#000 18px)}.category-nav[data-overflow=middle]{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 22px),transparent)}.category-nav a{flex:0 0 auto;padding:3px 8px;border:1px solid var(--border);border-radius:999px;color:var(--fg);text-decoration:none;font-size:.78rem;line-height:1.5;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.category-nav a .count{margin-left:5px;color:var(--muted);font-size:.72rem}.category-nav a:hover,.category-nav a[aria-current=true]{border-color:var(--accent);color:var(--accent)}.category-nav a[aria-current=true]{background:color-mix(in srgb,var(--accent) 12%,transparent)}@media (prefers-reduced-motion:reduce){.category-nav a{transition:none}}@media (max-width:1200px){.category-nav a .count{display:none}}@media (max-width:480px){.topbar-inner{padding-right:52px}}.topbar-tools{position:fixed;top:8px;right:12px;z-index:60;display:flex;align-items:center;gap:6px}.locale-switch{display:inline-flex;align-items:center;gap:6px;margin:0}.locale-select{padding:4px 6px 4px 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--fg);font-family:inherit;font-size:.78rem;line-height:1.5;cursor:pointer}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.locale-select{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@supports not (background:color-mix(in srgb,red 50%,transparent)){.locale-select{background:var(--bg)}}.locale-select:hover{border-color:var(--accent);color:var(--accent)}.locale-submit{padding:4px 10px;border:1px solid var(--accent);border-radius:999px;background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--accent);font-family:inherit;font-size:.78rem;line-height:1.5;cursor:pointer}@media (max-width:480px){.locale-select,.locale-submit{font-size:.72rem;padding:3px 5px 3px 8px}}.feedback-btn{position:relative;display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border:1px solid var(--accent);border-radius:999px;background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--accent);font-size:.78rem;line-height:1.5;cursor:pointer;transition:background-color .15s ease}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.feedback-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@supports not (background:color-mix(in srgb,red 50%,transparent)){.feedback-btn{background:var(--bg)}}.feedback-btn-label{display:none}.feedback-btn:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.feedback-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:76px 16px 24px;background:rgba(0,0,0,.45);overflow-y:auto}.feedback-modal{width:min(560px,100%);background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:0 12px 40px rgba(0,0,0,.28)}.feedback-modal h2{margin:0 0 10px;font-size:1.05rem}.feedback-label{display:block;margin-bottom:6px;font-size:.85rem;color:var(--muted)}.feedback-modal textarea{width:100%;min-height:140px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--fg);font:inherit;resize:vertical}.feedback-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.feedback-buttons{display:inline-flex;gap:8px}.feedback-counter,.feedback-note{font-size:.78rem;color:var(--muted)}.feedback-note{margin:8px 0 0}.feedback-modal button{padding:5px 13px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--fg);font:inherit;font-size:.85rem;cursor:pointer}.feedback-modal button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.feedback-modal button:disabled{opacity:.5;cursor:not-allowed}.feedback-issue{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:var(--accent)}.section{margin-top:32px;scroll-margin-top:var(--anchor-offset)}.section h2{margin:0 0 4px;font-size:1.2rem}.section .section-desc{margin:0 0 12px;color:var(--muted);font-size:.9rem}.cards{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr;margin:0;padding:0;list-style:none}@media (min-width:640px){.cards{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.cards{grid-template-columns:repeat(3,1fr)}}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px}.card a.title{color:var(--accent);font-weight:600;text-decoration:none;font-size:1.02rem}.card a.title:hover{text-decoration:underline}.card .desc{margin:0;color:var(--fg);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.badge{align-self:flex-start;font-size:.78rem;border-radius:6px;padding:2px 8px;border:1px solid transparent}.badge-active{color:var(--ok);border-color:var(--ok)}.badge-expiring{color:var(--warn);border-color:var(--warn);font-weight:600}.badge-evergreen{color:var(--accent);border-color:var(--accent)}.badge-upcoming{color:var(--muted);border-color:var(--border)}.notice{margin-top:40px;padding:20px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.notice h2{margin-top:0}