:root{--red:#d01012;--yellow:#ffcf00;--ink:#1c1c1e;--ink-soft:#6b6b70;--bg:#f6f6f4;--card:#fff;--line:#e7e6e2;--shadow:0 1px 2px #1c1c1e0f, 0 4px 12px #1c1c1e0d;--shadow-lift:0 2px 4px #1c1c1e14, 0 10px 24px #1c1c1e1a;--radius:12px}*{box-sizing:border-box}html{scroll-padding-top:84px}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.45}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0;box-shadow:0 0 0 3px #d0101200}.topbar:after{content:"";background:linear-gradient(90deg, var(--red) 0 60%, var(--yellow) 60% 80%, var(--ink) 80% 100%);height:3px;display:block}.topbar-inner{flex-wrap:wrap;align-items:center;gap:16px;max-width:1280px;margin:0 auto;padding:12px 24px;display:flex}.brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.search{flex:260px;max-width:520px;position:relative}.search-icon{color:var(--ink-soft);pointer-events:none;position:absolute;top:50%;left:14px;translate:0 -50%}.search input{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:999px;outline:none;padding:10px 38px 10px 40px;transition:border-color .15s,box-shadow .15s}.search input:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 3px #d010121f}.search input::-webkit-search-cancel-button{display:none}.search-clear{background:var(--line);width:26px;height:26px;color:var(--ink-soft);cursor:pointer;border:0;border-radius:50%;font-size:16px;line-height:1;position:absolute;top:50%;right:8px;translate:0 -50%}.search-clear:hover{color:var(--ink);background:#dcdbd6}.count{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.jump{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;max-width:220px;padding:8px 12px;font-size:13px}main{max-width:1280px;margin:0 auto;padding:8px 24px 48px}.series{margin-top:36px}.series-head{border-bottom:2px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.series-head h2{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800}.series-anchor{color:var(--line);margin-left:8px;font-weight:600;text-decoration:none;transition:color .15s}.series-head h2:hover .series-anchor,.series-anchor:focus{color:var(--red)}.series-meta{color:var(--ink-soft);font-size:13px}.series-meta code{background:var(--line);border-radius:4px;padding:1px 6px;font-size:12px}.series-meta a{color:var(--ink-soft);text-underline-offset:2px}.series-meta a:hover{color:var(--red)}.grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;display:grid}.card{font:inherit;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;flex-direction:column;align-items:stretch;gap:0;padding:0 0 12px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.card-active{border-color:var(--red);box-shadow:0 0 0 2px #d0101240, var(--shadow-lift)}.card-img{aspect-ratio:1;background:#fff;padding:10px;display:block}.card-img img{object-fit:contain;width:100%;height:100%}.card-text{flex-direction:column;align-items:center;margin-top:auto;padding-top:4px;display:flex}.card-name{padding:0 10px 2px;font-size:13.5px;font-weight:600;line-height:1.25}.card-badges{align-items:center;gap:6px;margin-top:4px;display:flex}.card-code{background:var(--yellow);color:#4a3b00;border-radius:999px;padding:1px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:600}.card-set{color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.detail{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--radius);box-shadow:var(--shadow-lift);grid-column:1/-1;grid-template-columns:minmax(220px,320px) 1fr;gap:28px;padding:24px;scroll-margin-top:96px;animation:.18s detail-in;display:grid;position:relative}@keyframes detail-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.detail-close{background:var(--bg);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border:0;border-radius:50%;font-size:20px;line-height:1;position:absolute;top:12px;right:12px}.detail-close:hover{background:var(--line);color:var(--ink)}.detail-media{min-width:0}.detail-photo{aspect-ratio:1;object-fit:contain;border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%}.detail-thumbs{gap:8px;margin-top:10px;display:flex}.thumb{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:56px;height:56px;padding:4px}.thumb img{object-fit:contain;width:100%;height:100%}.thumb-active{border-color:var(--red);box-shadow:0 0 0 2px #d0101233}.detail-body{min-width:0}.detail-title{flex-wrap:wrap;align-items:center;gap:12px;padding-right:36px;display:flex}.detail-title h3{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:800}.detail-sub{color:var(--ink-soft);margin:6px 0 12px}.detail-links{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.pill{border:1px solid var(--line);color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-block}.pill:hover{border-color:var(--ink)}.pill-bl{color:#1e5aa8;border-color:#1e5aa8}.pill-bl:hover{background:#eef4fb;border-color:#1e5aa8}.pill-pab{border-color:var(--red);color:var(--red)}.pill-pab:hover{border-color:var(--red);background:#fdeeee}.pill-bs{color:#9a7104;border-color:#d8a012}.pill-bs:hover{background:#fdf6e3;border-color:#d8a012}.parts-block{margin-top:8px}.parts-block h4{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);align-items:center;gap:8px;margin:18px 0 8px;font-size:13px;font-weight:700;display:flex}.parts-count{background:var(--line);color:var(--ink);border-radius:999px;padding:0 7px;font-size:11.5px}.badge-extra{background:var(--yellow);text-transform:none;letter-spacing:0;color:#4a3b00;border-radius:999px;padding:1px 8px;font-size:11px}.parts{border-collapse:collapse;width:100%}.parts td{border-top:1px solid var(--line);vertical-align:middle;padding:8px 10px}.parts tr:hover td{background:#fafaf8}.part-img-cell{width:56px;padding-left:0}.part-img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:8px;width:48px;height:48px}.part-img-none{background:var(--bg);display:inline-block}.part-name{font-size:13.5px;font-weight:500;line-height:1.3;display:block}.part-num{color:var(--ink-soft);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:block}.part-color-cell{white-space:nowrap;width:1%;font-size:13px}.swatch{vertical-align:-2px;border:1px solid #00000026;border-radius:4px;width:14px;height:14px;margin-right:6px;display:inline-block}.part-qty{white-space:nowrap;font-variant-numeric:tabular-nums;width:1%;font-size:13px;font-weight:600}.part-links{text-align:right;width:1%;padding-right:0}.part-links .pill{margin-left:6px;padding:3px 10px;font-size:11.5px}.part-links .pill+.pill{margin-top:6px}.detail-note{color:var(--ink-soft);margin:16px 0 0;font-size:12px}.empty{text-align:center;color:var(--ink-soft);margin:80px auto}.empty button{font:inherit;color:#fff;background:var(--red);cursor:pointer;border:0;border-radius:999px;margin-top:8px;padding:8px 18px;font-weight:600}.footer{border-top:1px solid var(--line);text-align:center;color:var(--ink-soft);padding:20px 24px 32px;font-size:12.5px}.footer a{color:inherit}.footer-legal{opacity:.7;margin-top:8px;max-width:640px;margin-inline:auto;font-size:11px}@media (width<=900px){.detail{grid-template-columns:1fr;gap:16px}.detail-photo{max-width:320px;margin:0 auto;display:block}.detail-media{text-align:center}.detail-thumbs{justify-content:center}}@media (width<=640px){.topbar-inner{gap:10px;padding:10px 14px}.brand span,.count{display:none}.jump{max-width:150px}main{padding:0 14px 40px}.grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px}.detail{padding:16px}.part-color-cell{display:none}.part-links .pill{margin-left:4px;padding:3px 8px}}
