:root{--surface-base:#0b0f17;--surface-raised:#141a26;--surface-overlay:#1c2435;--border-subtle:#283245;--border-strong:#3a465e;--text-primary:#edf0f6;--text-secondary:#b4becd;--text-muted:#8a95a8;--accent-info:#5b9bff;--accent-info-strong:#8fb8ff;--accent-attention:#f2b63d;--accent-attention-strong:#f6c96a;--focus-ring:#8fb8ff;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", "Hiragino Sans GB", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Noto Sans Mono CJK TC", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--maxw:1120px}*,:before,:after{box-sizing:border-box}html{color-scheme:dark;-webkit-text-size-adjust:100%}body{background:var(--surface-base);min-height:100vh;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3{color:var(--text-primary);text-wrap:balance;margin:0;font-weight:650;line-height:1.25}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0}a{color:var(--accent-info-strong);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[hidden]{display:none!important}.skip-link{left:var(--space-3);z-index:100;min-height:44px;padding:var(--space-2) var(--space-4);background:var(--surface-overlay);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);align-items:center;transition:top .15s;display:inline-flex;position:absolute;top:-200px}.skip-link:focus{top:var(--space-3);text-decoration:none}.shell{width:100%;max-width:var(--maxw);padding-inline:var(--space-4);margin-inline:auto}.site-header{z-index:50;background:color-mix(in srgb, var(--surface-base) 92%, transparent);border-bottom:1px solid var(--border-subtle);position:sticky;top:0}.header-row{align-items:center;gap:var(--space-3) var(--space-4);padding-block:var(--space-3);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-2);min-height:44px;color:var(--text-primary);font-weight:650;font-size:var(--text-lg);display:inline-flex}.brand:hover{text-decoration:none}.brand .mark{color:var(--accent-info);flex:none}.env-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-inline-start:auto;display:inline-flex}.primary-nav ul{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.navlink{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid #0000;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.navlink:hover{color:var(--text-primary);background:var(--surface-overlay);text-decoration:none}.navlink[aria-current=page]{color:var(--text-primary);border-color:var(--border-strong);background:var(--surface-overlay)}.navlink .glyph{color:var(--accent-info);flex:none}main{display:block}.hero{padding-block:var(--space-7) var(--space-5)}.hero p.lede{margin-top:var(--space-3);max-width:60ch;color:var(--text-secondary);font-size:var(--text-lg)}.notice{margin-top:var(--space-5);align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border-subtle);border-inline-start:3px solid var(--accent-attention);border-radius:var(--radius-md);color:var(--text-secondary);display:flex}.notice .glyph{color:var(--accent-attention-strong);flex:none;margin-top:2px}.section-head{align-items:baseline;gap:var(--space-3);padding-block:var(--space-4) var(--space-2);display:flex}.section-head .kicker{color:var(--text-muted);font-size:var(--text-sm)}.panel-grid{gap:var(--space-4);padding-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));display:grid}.panel{gap:var(--space-3);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);flex-direction:column;min-width:0;display:flex}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.panel-head h3{align-items:center;gap:var(--space-2);display:inline-flex}.panel-head .glyph{color:var(--accent-info);flex:none}.panel p{color:var(--text-secondary);font-size:var(--text-sm)}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);white-space:nowrap;font-weight:600;display:inline-flex}.badge.is-synthetic{color:var(--accent-info-strong);border-color:color-mix(in srgb, var(--accent-info) 45%, var(--border-subtle))}.badge.is-empty{color:var(--accent-attention-strong);border-color:color-mix(in srgb, var(--accent-attention) 45%, var(--border-subtle))}.badge .glyph{flex:none}.placeholder{gap:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--border-subtle);margin-top:auto;display:grid}.placeholder .row{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-sm);display:flex}.placeholder .row .val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);letter-spacing:.05em}.site-footer{border-top:1px solid var(--border-subtle);margin-top:var(--space-7)}.footer-row{gap:var(--space-2) var(--space-4);padding-block:var(--space-5);color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cta-row{gap:var(--space-3);padding-block:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.cta{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-weight:600;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.cta:hover{border-color:var(--accent-info);text-decoration:none}.item-card{gap:var(--space-3);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);flex-direction:column;min-width:0;display:flex}.item-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.item-cat{font-size:var(--text-xs);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}.item-title{margin:0}.item-link{min-height:44px;color:var(--text-primary);font-size:var(--text-lg);align-items:center;font-weight:650;line-height:1.3;display:inline-flex}.item-link:hover{color:var(--accent-info-strong)}.item-summary{color:var(--text-secondary);font-size:var(--text-sm)}.item-meta{gap:var(--space-2);padding-top:var(--space-3);border-top:1px dashed var(--border-subtle);margin:auto 0 0;display:grid}.item-meta>div{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.item-meta dt{color:var(--text-muted);font-size:var(--text-xs)}.item-meta dd{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.page-head{padding-block:var(--space-6) var(--space-4)}.page-head .lede{margin-top:var(--space-3);max-width:60ch;color:var(--text-secondary);font-size:var(--text-lg)}.crumbs{align-items:center;gap:var(--space-1) var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.crumb{min-height:44px;padding-inline:var(--space-1);color:var(--accent-info-strong);align-items:center;display:inline-flex}.crumb-sep{color:var(--text-muted)}.crumb-current{min-height:44px;color:var(--text-muted);align-items:center;display:inline-flex}.filters{padding-block:var(--space-2) var(--space-3)}.filter-row{align-items:flex-end;gap:var(--space-4) var(--space-5);flex-wrap:wrap;display:flex}.cat-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.cat-tab{min-height:44px;padding:var(--space-2) var(--space-4);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.cat-tab:hover{color:var(--text-primary);background:var(--surface-overlay);text-decoration:none}.cat-tab[aria-current=page]{color:var(--text-primary);background:var(--surface-overlay);border-color:var(--border-strong)}.date-filter{gap:var(--space-1);flex-direction:column;display:flex}.date-filter label{font-size:var(--text-sm);color:var(--text-secondary)}.date-filter select{min-width:220px;min-height:44px;padding:var(--space-2) var(--space-3);color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base)}.result-count{margin-top:var(--space-4);color:var(--text-muted);font-size:var(--text-sm)}.result-count #cp3-count{color:var(--text-primary);font-weight:650}.empty-state{margin-top:var(--space-4);padding:var(--space-5);color:var(--text-secondary);background:var(--surface-raised);border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.detail{padding-block:var(--space-6) var(--space-7);max-width:76ch}.detail-head{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;display:flex}.detail-head .lede{color:var(--text-secondary);font-size:var(--text-lg);max-width:60ch}.detail .notice{margin-top:var(--space-5)}.detail-body{margin-top:var(--space-5);color:var(--text-secondary);line-height:1.75}.detail-meta-wrap{margin-top:var(--space-6)}.detail-meta{margin:var(--space-4) 0 0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:0;display:grid;overflow:hidden}.detail-meta .meta-row{gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);background:var(--surface-raised);flex-wrap:wrap;display:flex}.detail-meta .meta-row:first-child{border-top:0}.detail-meta dt{color:var(--text-muted);font-size:var(--text-sm);flex:0 0 14rem}.detail-meta dd{color:var(--text-primary);font-size:var(--text-sm);flex:12rem;margin:0}.back{margin-top:var(--space-6)}.lib-controls{gap:var(--space-4);padding:var(--space-5);margin-top:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:end;display:grid}.lib-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.lib-field-search{grid-column:1/-1}.lib-field label{font-size:var(--text-sm);color:var(--text-secondary)}.lib-field input[type=search],.lib-field select{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base)}.lib-field input[type=search]::placeholder{color:var(--text-muted)}.lib-field-actions{justify-content:flex-end}.lib-reset{justify-content:center;align-items:center;gap:var(--space-2);min-width:44px;min-height:44px;padding:var(--space-2) var(--space-4);color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);cursor:pointer;font-weight:600;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.lib-reset:hover{border-color:var(--accent-info)}.lib-reset .glyph{color:var(--accent-attention-strong);flex:none}.lib-item{min-width:0;display:flex}.lib-item>.item-card{flex:auto}.library-entry{padding-bottom:var(--space-6)}.cmp-controls{gap:var(--space-4);padding:var(--space-5);margin-top:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);grid-template-columns:1fr;align-items:end;display:grid}@media (width>=720px){.cmp-controls{grid-template-columns:1fr auto 1fr auto}}.cmp-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.cmp-field label{font-size:var(--text-sm);color:var(--text-secondary)}.cmp-field select{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base)}.cmp-field-swap,.cmp-field-reset{justify-content:flex-end}.cmp-action{justify-content:center;align-items:center;gap:var(--space-2);min-width:44px;min-height:44px;padding:var(--space-2) var(--space-4);color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);cursor:pointer;font-weight:600;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.cmp-action:hover{border-color:var(--accent-info)}.cmp-action .glyph{color:var(--accent-attention-strong);flex:none}.cmp-table{margin-top:var(--space-5);table-layout:fixed;border-collapse:collapse;border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);overflow:hidden}.cmp-table th,.cmp-table td{padding:var(--space-3) var(--space-3);border:1px solid var(--border-subtle);text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:break-word}.cmp-table thead th{background:var(--surface-overlay);color:var(--text-primary)}.cmp-table tbody th[scope=row]{background:var(--surface-raised);width:30%;color:var(--text-muted);font-weight:600}.cmp-table .cmp-corner{width:30%;color:var(--text-muted)}.cmp-field-alias{white-space:nowrap}@media (width<=480px){.cmp-field-alias{display:none}}.cmp-val{color:var(--text-primary);background:var(--surface-raised)}.cmp-detail-link{min-height:44px;color:var(--accent-info-strong);align-items:center;font-weight:650;line-height:1.3;display:inline-flex}.cmp-detail-link:hover{color:var(--accent-info)}.compare-entry{margin-top:var(--space-4)}
