:root{--bg:#f5f7fb;--ink:#172033;--muted:#607086;--line:#d9e2ec;--accent:#2563eb;--surface:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:14px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,a{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);padding:7px 12px}button:hover{border-color:#9aabc0;background:#f7f9fc}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a9c5ff;outline-offset:2px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}header{padding:22px 28px 19px;display:flex;justify-content:space-between;align-items:center;background:white;gap:24px}.brand{display:flex;align-items:center;gap:14px}.logo{background:var(--ink);color:white;width:43px;height:43px;font-size:25px;display:grid;place-items:center;border-radius:7px}h1{font-size:25px;line-height:1.3;letter-spacing:-.5px;margin:0 0 5px}header p{margin:0;color:var(--muted);font-size:13px}.head-actions{display:flex;gap:18px;align-items:center}.toolbar{position:sticky;top:0;z-index:10;padding:11px 28px 0;background:rgba(255,255,255,.98);border-top:1px solid #eef1f5;border-bottom:1px solid var(--line);box-shadow:0 3px 10px #17203305}.toolrow{display:flex;align-items:center;justify-content:space-between;gap:16px}.toolrow nav{display:flex;background:#f0f3f8;border-radius:6px;padding:3px;gap:2px;white-space:nowrap}.toolrow nav button{background:transparent;border:0;padding:7px 15px;color:var(--muted)}.toolrow nav button.active{background:white;color:var(--ink);box-shadow:0 1px 4px #17203316;font-weight:600}#selectedCount{background:#dfe7f4;padding:0 5px;border-radius:4px;margin-left:3px}.filters{display:flex;gap:8px;align-items:center}input,select{background:white;border:1px solid var(--line);border-radius:5px;padding:8px 10px;color:var(--ink)}input{width:255px}select{max-width:220px}.subrow{min-height:56px}.page-tabs{display:flex;gap:22px}.page-tabs button{border:0;border-bottom:3px solid transparent;padding:15px 0 11px;border-radius:0;color:var(--muted);background:none}.page-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.page-tabs i{font-style:normal;font-variant-numeric:tabular-nums;font-size:11px;margin-right:6px;opacity:.65}.view-hint{display:flex;gap:20px;align-items:center;color:var(--muted);font-size:12px}#columns{padding:3px 7px}#selection{border-top:1px solid #eef1f5;padding:9px 0;display:flex;align-items:center;gap:8px;min-height:47px}#selection[hidden]{display:none}.selected-chip{background:#eaf1ff;border-color:#c6d8fb;color:#1f54b2;padding:4px 9px;font-size:12px}.selection-label{color:var(--muted);font-size:12px;margin-right:4px}.link-button{border:0;background:transparent;color:var(--accent);padding:4px 8px}main{padding:22px 28px 40px;min-height:66vh}.gallery{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:24px 20px}.entry{min-width:0}.entry-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.entry-title{font-weight:650;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.star{color:var(--muted);font-size:12px;white-space:nowrap}.preview-wrap{position:relative;background:#e9edf3;border:1px solid var(--line);border-radius:5px;overflow:hidden;aspect-ratio:16/9;cursor:zoom-in}.preview-wrap img{display:block;width:100%;height:100%;object-fit:contain;background:white}.preview-wrap:hover{outline:2px solid #b2caff;outline-offset:1px}.pick{position:absolute;top:8px;right:8px;box-shadow:0 1px 8px #17203333;background:rgba(255,255,255,.96);font-size:12px;padding:5px 9px;z-index:1}.pick.selected{background:var(--accent);color:white;border-color:var(--accent)}.zoom-hint{position:absolute;bottom:7px;right:9px;font-size:11px;background:#172033c9;color:#fff;padding:2px 7px;border-radius:3px;opacity:0;pointer-events:none}.preview-wrap:hover .zoom-hint{opacity:1}.entry-bottom{display:flex;align-items:center;gap:8px;margin-top:9px;justify-content:space-between}.route-badge{font-size:11px;color:#455b76;background:#e9eef5;padding:2px 6px;border-radius:3px;white-space:nowrap}.entry-bottom p{margin:0;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.entry-links{display:flex;gap:9px;font-size:11px;white-space:nowrap}.compare-grid{display:grid;grid-template-columns:repeat(var(--compare-cols,2),minmax(0,1fr));gap:26px 22px}.compare-grid.solo{grid-template-columns:minmax(0,1100px);justify-content:center}.compare-detail{border-top:1px solid var(--line);margin-top:14px;padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:12px;color:var(--muted);font-size:12px}.compare-detail b{display:block;font-size:12px;color:var(--ink);margin-bottom:4px}.compare-detail ul{margin:0;padding-left:17px}.empty{padding:60px 20px;text-align:center;background:white;border:1px dashed var(--line);border-radius:6px}.empty h2{font-size:22px}.empty p{color:var(--muted)}.recommend{display:flex;justify-content:center;gap:10px;margin-top:24px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:6px}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#edf2f8;color:#52667f;padding:13px 12px;white-space:nowrap}td{padding:14px 12px;border-top:1px solid #e8edf3;vertical-align:top;min-width:95px}td:first-child{min-width:190px;font-weight:600}tbody tr:hover{background:#f6f9ff}td small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.cell-value{display:inline-flex;gap:5px;align-items:flex-start}.state-dot{width:6px;height:6px;border-radius:50%;background:#8190a4;flex:none;margin-top:6px}.supported .state-dot{background:#17815c}.partial .state-dot{background:#be8423}.unsupported .state-dot{background:#98a5b5}footer{display:flex;justify-content:space-between;gap:20px;padding:17px 28px;color:var(--muted);font-size:12px;border-top:1px solid var(--line);background:white}footer button{border:0;padding:0;color:var(--accent);font-size:12px}dialog{border:1px solid #a8b6c8;border-radius:8px;padding:0;color:var(--ink);box-shadow:0 16px 80px #07142d50}dialog::backdrop{background:#10182bbd;backdrop-filter:blur(3px)}#viewer{width:96vw;max-width:1920px;height:94vh;max-height:1100px;background:#e9edf3}.viewer-head{height:57px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;background:white;border-bottom:1px solid var(--line)}#viewerName{font-size:16px}#viewerMeta{font-size:12px;color:var(--muted);margin-left:15px}.viewer-actions{display:flex;gap:18px;align-items:center;font-size:12px}.viewer-actions button{border:0;font-size:21px;padding:0 5px}.viewer-canvas{height:calc(100% - 150px);display:flex;align-items:center;justify-content:center;padding:12px 0;gap:12px}.viewer-canvas img{max-width:calc(100% - 110px);max-height:100%;object-fit:contain;box-shadow:0 4px 18px #17203326}.arrow{font-size:34px;border:0;background:transparent;width:35px;flex:none;padding:0;color:#5b6d84}.viewer-bottom{height:92px;display:flex;align-items:center;justify-content:space-between;padding:8px 22px;gap:16px}.viewer-bottom>span{font-size:11px;color:var(--muted)}#viewerThumbs{display:flex;gap:9px}#viewerThumbs button{padding:3px;border:2px solid transparent;display:flex;align-items:center;gap:7px;font-size:11px;background:transparent}#viewerThumbs button.active{border-color:var(--accent);background:#fff}#viewerThumbs img{height:58px;aspect-ratio:16/9;object-fit:contain}#infoDialog{max-width:820px;width:75vw;max-height:84vh;padding:32px 38px}#infoDialog h2{font-size:25px;margin:0 0 18px}#infoDialog h3{font-size:17px;margin:22px 0 8px}#infoDialog p,#infoDialog li{color:#4c5f77;line-height:1.8}.close-info{position:absolute;right:12px;top:9px;border:0;font-size:22px}#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#172033;color:white;padding:10px 18px;border-radius:6px;z-index:100;opacity:0;pointer-events:none;transition:opacity .15s}#toast.visible{opacity:1}.muted{color:var(--muted)}.rank{color:#93a0b1;font-weight:400;font-size:12px;margin-right:8px}.file-count{font-size:11px;color:var(--muted)}

.compare-grid:not(.solo) .compare-detail{grid-template-columns:1fr}.table-wrap table{min-width:1760px}.table-wrap th:first-child,.table-wrap td:first-child{position:sticky;left:0;z-index:1;background:#fff}.table-wrap th:first-child{background:#edf2f8}

.design-library-link{display:inline-flex;align-items:center;color:#2563eb;font-size:13px;font-weight:600;padding:9px 12px;border-radius:6px;background:#edf3ff;white-space:nowrap}
