:root{color-scheme:light;--bg: #f7f4ef;--surface: #ffffff;--surface-soft: #efe9df;--text: #1d1d1b;--muted: #68635b;--line: #ddd5c8;--accent: #0f7b6c;--accent-strong: #0a5f53;--gold: #b47616;--shadow: 0 18px 45px rgba(63, 51, 35, .12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #171715;--surface: #24231f;--surface-soft: #302e28;--text: #f4efe7;--muted: #bcb4a7;--line: #454137;--accent: #62c3b3;--accent-strong: #94dfd2;--gold: #e4b35d;--shadow: 0 18px 45px rgba(0, 0, 0, .28)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,.primary-button,.button-link,.file-button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:0 14px;cursor:pointer}button:hover,.primary-button:hover,.file-button:hover{border-color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:3px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px clamp(18px,5vw,64px);background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{font-weight:800;font-size:20px}.desktop-nav{display:flex;gap:18px;color:var(--muted)}.desktop-nav span{color:var(--accent)}.icon-button{width:42px;padding:0}main{padding-bottom:88px}.hero,.page-head,.detail{max-width:1160px;margin:0 auto;padding:clamp(42px,8vw,92px) clamp(18px,5vw,36px) 28px}.hero h1,.page-head h1,.detail h1{margin:0;font-size:clamp(42px,8vw,86px);line-height:.95;letter-spacing:0}.page-head h1,.detail h1{font-size:clamp(34px,6vw,62px)}.eyebrow{margin:0 0 14px;color:var(--accent);font-weight:700}.tagline,.page-head p,.detail-hero p{color:var(--muted);font-size:18px;line-height:1.65;max-width:760px}.search-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;max-width:900px;margin:28px 0 14px}.search-form input,.filters select{min-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:0 14px}.search-form button:first-of-type,.primary-button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.engine-row,.history,.filters,.actions,.tag-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.engine-row button,.history button,.tag-row span{min-height:34px;border-radius:999px;padding:0 12px;color:var(--muted)}.engine-row .active{background:var(--text);color:var(--bg)}.history span{color:var(--muted)}.section{max-width:1160px;margin:0 auto;padding:24px clamp(18px,5vw,36px)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.section-head h2{margin:0;font-size:24px}.section-head p,.site-card p,.category-card p,.sub-card p,small{color:var(--muted)}.category-grid,.site-grid,.sub-grid,.score-grid,.metrics,.detail-grid{display:grid;gap:14px}.category-grid,.site-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sub-grid,.metrics,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.category-card,.site-card,.sub-card,.metrics>div,.detail-grid>div,.score-grid>div,.empty{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.category-card,.sub-card,.detail-grid>div,.score-grid>div,.empty{padding:18px}.category-card span{font-weight:800;font-size:20px}.category-card strong{float:right;color:var(--gold)}.site-card{overflow:hidden}.ai-card .ai-reason{display:block;margin-top:4px;font-size:11px;color:var(--accent);font-style:italic}.ai-card .card-foot .ai-score{font-size:11px;color:var(--accent);font-weight:600}.site-card a{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:12px}.site-card img,.detail-hero img{width:32px;height:32px;border-radius:6px;background:var(--surface-soft)}.site-card h3{margin:0 0 4px;font-size:13px}.site-card p{margin:0 0 6px;line-height:1.4;font-size:12px}.site-card .reason{margin:0 12px 8px;color:var(--muted);font-size:11px}.card-tags{padding:0 12px 8px}.card-foot{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-top:1px solid var(--line)}.card-foot span{color:var(--gold);font-weight:800}.card-foot button{width:40px;min-height:36px;padding:0}.back-link{display:inline-flex;margin-bottom:18px;color:var(--accent);font-weight:700}.filters{margin-top:18px}.filters label{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.detail-hero{display:grid;grid-template-columns:86px minmax(0,1fr);gap:22px}.detail-hero img{width:86px;height:86px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0}.metrics>div{padding:20px}.metrics strong{display:block;font-size:32px;color:var(--accent)}dl{margin:0}dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}.score-grid strong{float:right;color:var(--gold)}.file-button{display:inline-flex;align-items:center}.file-button input{display:none}.reason-box{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:var(--shadow)}.bare{padding-top:0;padding-bottom:0}.random-panel{display:grid;gap:14px;max-width:520px}.compare-picker{display:grid;grid-template-columns:minmax(0,360px) auto;align-items:start;gap:12px;margin-top:24px}.compare-picker select{min-height:220px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:10px}.compare-table{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.compare-row{display:grid;grid-template-columns:160px repeat(5,minmax(180px,1fr));min-width:760px;border-bottom:1px solid var(--line)}.compare-row:last-child{border-bottom:0}.compare-row>div{padding:14px;border-right:1px solid var(--line);line-height:1.5}.compare-row>div:last-child{border-right:0}.compare-head{font-weight:800;background:var(--surface-soft)}.compare-head img{width:28px;height:28px;vertical-align:middle;margin-right:8px;border-radius:6px}.mobile-nav{display:none}@media(max-width:900px){.desktop-nav{display:none}.category-grid,.site-grid,.sub-grid,.detail-grid,.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-form{grid-template-columns:1fr}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--line)}.mobile-nav a{min-height:58px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}}@media(max-width:620px){.topbar{padding:12px 16px}.hero,.page-head,.detail,.section{padding-left:16px;padding-right:16px}.category-grid,.site-grid,.sub-grid,.metrics,.detail-grid,.score-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column;gap:4px}.detail-hero{grid-template-columns:1fr}dl div{grid-template-columns:1fr;gap:4px}.compare-picker{grid-template-columns:1fr}}.layout{display:grid;grid-template-columns:repeat(3,1fr);gap:0;min-height:calc(100vh - 56px)}.left-panel{background:#0f1117;border-right:1px solid var(--border,#2a2d35);padding:0;position:sticky;top:0;height:100vh;overflow-y:scroll}.left-panel::-webkit-scrollbar{width:6px}.left-panel::-webkit-scrollbar-thumb{background:#22c55e;border-radius:3px}.left-panel::-webkit-scrollbar-track{background:transparent}.left-section{padding:0 6px;margin-bottom:10px}.left-title{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:6px;padding:2px 4px;border-bottom:1px solid var(--border,#2a2d35)}.left-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 6px}.left-card{display:flex;align-items:center;padding:6px 8px;background:var(--surface);border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--text);transition:all .15s}.left-card:hover{background:var(--surface-soft);border-color:var(--accent)}.left-card .site-icon{width:26px;height:26px;flex-shrink:0;border-radius:4px;background:var(--surface-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:11px}.left-card .site-icon img{width:100%;height:100%;object-fit:contain;padding:2px}.left-card .site-info{min-width:0;overflow:hidden;margin-left:8px}.left-card .site-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.cc{display:inline-block;margin-left:6px;padding:1px 4px;border-radius:3px;font-size:8px;font-weight:700;background:var(--accent-dim,rgba(108,140,255,0.15));color:var(--accent);white-space:nowrap;vertical-align:middle}.right-panel{grid-column:2 / span 2}.cat-subs{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.cat-sub{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;background:var(--surface-soft);color:var(--muted);border:1px solid var(--line)}.cat-sub:hover{color:var(--accent);border-color:var(--accent)}.category-card{display:flex;flex-direction:column}.category-card p{flex-grow:1}.category-card .cat-subs{margin-top:auto;padding-top:10px}.section-head a{color:var(--accent);font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none}.section-head a:hover{text-decoration:underline}.site-grid{gap:16px}.category-grid{gap:16px}

.category-card{border-top:3px solid var(--cat-color,#999)}.category-card span{color:var(--cat-color)}.category-card strong{color:var(--cat-color)}.category-card:hover{border-color:var(--cat-color);box-shadow:0 4px 14px color-mix(in srgb,var(--cat-color) 25%,transparent)}.category-card .cat-sub{border-color:color-mix(in srgb,var(--cat-color) 45%,var(--line));background:color-mix(in srgb,var(--cat-color) 8%,var(--surface))}

.sub-card{padding:9px;border-radius:6px}.sub-card h3{margin:0 0 2px;font-size:12px;line-height:1.25}.sub-card p{margin:0 0 4px;font-size:11px;line-height:1.35}.sub-card .tag-row{gap:4px}.sub-card .tag-row span{min-height:20px;padding:0 8px;font-size:10px}.sub-grid{gap:8px}

.page-head~.section .site-card a{grid-template-columns:20px minmax(0,1fr);gap:6px;padding:3px 5px}.page-head~.section .site-card img{width:20px;height:20px;border-radius:4px}.page-head~.section .site-card a>div{display:flex;flex-direction:column;gap:1px}.page-head~.section .site-card h3{margin:0;font-size:14px;line-height:1.4}.page-head~.section .site-card p{margin:0;font-size:13px;line-height:1.4;color:var(--muted)}.page-head~.section .site-card .reason{display:none}.page-head~.section .site-card .card-tags{padding:1px 5px 2px;font-size:9px;display:flex;gap:3px}.page-head~.section .site-card .card-tags span{min-height:16px;padding:0 6px;font-size:9px;line-height:1.6}.page-head~.section .site-card .card-foot{padding:2px 5px;font-size:11px;line-height:1.4}.page-head~.section .site-card .card-foot button{min-height:24px;width:30px}.page-head~.section .site-grid{gap:5px}

.site-card .site-ext{display:inline-block;color:var(--accent);font-size:11px;font-weight:600;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;line-height:1.4}.site-card .site-ext:hover{color:var(--accent-strong);text-decoration:underline}.page-head~.section .site-card .card-foot{display:flex;align-items:center;gap:6px}.page-head~.section .site-card .card-foot>span{flex:1;text-align:right;min-width:0}.page-head~.section .site-card .site-ext{max-width:140px;font-size:12px}

/* ---- URL on top of site card (patched 09-04) ---- */

.site-card a.site-ext{display:block;padding:10px 12px 0;font-size:14px;font-weight:700;color:var(--accent);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none;line-height:1.5}

.site-card a.site-ext:hover{text-decoration:underline;color:var(--accent-strong)}

.page-head~.section .site-card a.site-ext{padding:6px 6px 0;font-size:15px;display:block}

.site-card a.site-main{grid-template-columns:32px minmax(0,1fr)}

.page-head~.section .site-card a.site-main{grid-template-columns:20px minmax(0,1fr)}


/* ---- icon double size on category pages (09-04 v2) ---- */
.page-head~.section .site-card img{width:40px;height:40px;border-radius:8px}
.page-head~.section .site-card a.site-main{grid-template-columns:40px minmax(0,1fr)}
.page-head~.section .site-card a.site-main>div{gap:2px}

/* ==== 右栏卡片缩小1/3 (09-13) ==== */
/* 首页/常规 site-card */
.site-card a{grid-template-columns:21px minmax(0,1fr);gap:7px;padding:8px}
.site-card img{width:21px;height:21px;border-radius:4px}
.site-card h3{margin:0 0 3px;font-size:10px}
.site-card p{margin:0 0 4px;line-height:1.3;font-size:9px}
.site-card a.site-ext{padding:7px 8px 0;font-size:11px}
.site-card a.site-main{grid-template-columns:21px minmax(0,1fr)}
.site-card .reason{margin:0 8px 5px;font-size:9px}
.site-card .card-tags{padding:2px 8px 5px;font-size:8px}
.site-card .card-tags span{min-height:13px;padding:0 5px;font-size:8px;line-height:1.5}
.site-card .card-foot{padding:4px 8px;font-size:9px}
.site-card .card-foot button{min-height:20px;width:24px}
/* 分类入口卡片 */
.category-card{padding:12px}
.category-card span{font-size:13px}
.category-card p{font-size:11px}
.category-card .cat-subs{padding-top:6px}
.category-card .cat-sub{font-size:10px;padding:3px 6px}
/* 分类详情页 site-card（覆盖09-04的40px） */
.page-head~.section .site-card a{grid-template-columns:27px minmax(0,1fr);gap:4px;padding:2px 3px}
.page-head~.section .site-card img{width:27px;height:27px;border-radius:5px}
.page-head~.section .site-card a.site-main{grid-template-columns:27px minmax(0,1fr)}
.page-head~.section .site-card h3{font-size:10px}
.page-head~.section .site-card p{font-size:9px}
.page-head~.section .site-card a.site-ext{padding:4px 4px 0;font-size:10px}
.page-head~.section .site-card .card-tags{font-size:7px}
.page-head~.section .site-card .card-tags span{min-height:12px;padding:0 5px;font-size:7px}
.page-head~.section .site-card .card-foot{font-size:8px}
.page-head~.section .site-card .card-foot button{min-height:18px;width:22px}
