:root{color-scheme:light;--fg:#1c1c1e;--fg-muted:#6b6b70;--bg:#ffffff;--bg-subtle:#f7f7f8;--accent:#d0362c;--accent-dark:#a82a22;--accent-tint:#fdecea;--good:#1a7a4c;--good-tint:#eaf7f0;--warn-tint:#fff6e5;--warn-border:#f0d9a8;--border:#e6e6e8;--card-radius:14px;--shadow-sm:0 1px 2px rgba(20,20,20,0.04),0 1px 8px rgba(20,20,20,0.04);--font-mono:"SF Mono","SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}body{margin:0;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:var(--fg);background:var(--bg-subtle);line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}main{max-width:760px;margin:0 auto;padding:32px 16px 80px}.site-header{background:var(--bg);border-bottom:1px solid var(--border);padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.site-header a{text-decoration:none;color:var(--fg);font-weight:800;font-size:1.1rem;letter-spacing:.02em}footer{background:var(--bg);border-top:1px solid var(--border)}article>h1{font-size:1.7rem;line-height:1.4;font-weight:800;letter-spacing:-.01em;margin:0 0 20px}article h2{font-size:1.35rem;font-weight:800;margin:48px 0 16px;padding-top:8px;border-top:4px solid var(--accent)}article h3{font-size:1.1rem;font-weight:700;margin:0}article h4{font-size:1rem;font-weight:700;margin:20px 0 8px}.article-intro{font-size:1rem;color:var(--fg)}.article-intro p{margin:0 0 1em}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--fg)}.section-heading{font-size:1.3rem;font-weight:800;letter-spacing:-.01em;margin:0}.section-heading__meta{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted);white-space:nowrap}.home-hero{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:24px 24px;background-color:var(--bg);border-top:1px solid var(--fg);border-bottom:1px solid var(--fg);padding:48px 0;margin-bottom:36px}.home-hero__inner{max-width:760px;margin:0 auto;padding:0 36px}.home-hero__eyebrow{display:inline-block;font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.04em;background:var(--fg);color:#fff;border-radius:3px;padding:4px 12px;margin-bottom:18px}.home-hero h1{font-size:2.2rem;font-weight:800;letter-spacing:-.01em;line-height:1.2;margin:0 0 14px}.home-hero p{font-size:1rem;color:var(--fg-muted);margin:0;max-width:460px;line-height:1.85}.category-hero{margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--fg)}.category-hero h1{font-size:1.7rem;font-weight:800;letter-spacing:-.01em;line-height:1.3;margin:0 0 10px}.category-hero p{color:var(--fg-muted);margin:0 0 14px;font-size:1rem;line-height:1.85}.category-hero__meta{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted)}.category-list{border:1px solid var(--fg);border-radius:var(--card-radius);overflow:hidden}.category-row{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--fg);background:var(--bg);transition:background-color .15s ease}.category-row:last-child{border-bottom:none}.category-row:hover{background:var(--bg-subtle)}.category-row__code{flex-shrink:0;width:40px;font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--accent)}.category-row__name{flex:1 1;min-width:0}.category-row__name strong{display:block;font-size:1rem;font-weight:700}.category-row__name span{display:block;font-size:.82rem;color:var(--fg-muted);margin-top:2px;line-height:1.6}.category-row__tag{flex-shrink:0;font-size:.68rem;font-weight:700;background:var(--accent-tint);color:var(--accent-dark);border-radius:999px;padding:3px 10px;white-space:nowrap}.article-list{border:1px solid var(--fg);border-radius:var(--card-radius);overflow:hidden}.article-row{display:flex;gap:16px;padding:22px 18px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--fg);background:var(--bg);transition:background-color .15s ease}.article-row:last-child{border-bottom:none}.article-row:hover{background:var(--bg-subtle)}.article-row__code{flex-shrink:0;width:36px;padding-top:2px;font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--accent)}.article-row__body{flex:1 1;min-width:0}.article-row__body h3{font-size:1.05rem;font-weight:700;line-height:1.5;margin:0 0 8px}.article-row__body p{margin:0 0 10px;font-size:.88rem;color:var(--fg-muted);line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-row__date{display:inline-block;font-family:var(--font-mono);font-size:.68rem;font-weight:700;background:var(--bg-subtle);color:var(--fg-muted);border-radius:3px;padding:3px 8px}.empty-state{background:var(--bg);border:1px solid var(--border);border-radius:var(--card-radius);padding:20px;color:var(--fg-muted)}.empty-state code{background:var(--bg-subtle);padding:2px 6px;border-radius:4px;font-size:.85em}.back-link{margin-top:40px;padding-top:20px;border-top:1px solid var(--border)}.back-link a{color:var(--fg-muted);text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.03em}.back-link a:hover{color:var(--accent)}.disclosure--banner{display:flex;flex-direction:column;gap:4px;background:var(--warn-tint);border:1px solid var(--warn-border);border-radius:10px;padding:12px 16px;font-size:.85rem;margin-bottom:28px}.disclosure--banner strong{color:var(--accent-dark)}.disclosure--footer{font-size:.8rem;color:var(--fg-muted);padding:24px 20px;text-align:center;margin:0}.rank-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:1rem;line-height:1}.rank-badge--sm{width:26px;height:26px;font-size:.85rem}.comparison-table-wrap{overflow-x:auto;margin:24px 0;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--bg);box-shadow:var(--shadow-sm)}.comparison-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:640px;table-layout:fixed}.comparison-table__col-rank{width:44px}.comparison-table__col-product{width:220px}.comparison-table__col-price,.comparison-table__col-spec{width:130px}.comparison-table__col-link{width:110px}.comparison-table th{background:var(--bg-subtle);text-align:left;font-weight:700;color:var(--fg-muted);font-size:.78rem;padding:10px 12px;border-bottom:1px solid var(--border)}.comparison-table td{position:relative;padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table tbody tr:hover{background:var(--bg-subtle)}.comparison-table tr.is-top-rank{background:var(--accent-tint)}.comparison-table__rank{text-align:center}.comparison-table__product{display:flex;align-items:center;gap:10px;width:100%;min-width:0}.comparison-table__product img{border-radius:8px;flex-shrink:0}.comparison-table__product-name{min-width:0}.comparison-table__product-name,.comparison-table__spec-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.comparison-table__spec-text{font-size:.8rem;color:var(--fg-muted)}.comparison-table__product-name,.comparison-table__spec-text{cursor:help}.comparison-table__product-name:focus,.comparison-table__product-name:hover,.comparison-table__spec-text:focus,.comparison-table__spec-text:hover{-webkit-line-clamp:unset;overflow:visible;position:absolute;z-index:5;width:max-content;max-width:240px;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;box-shadow:0 4px 16px rgba(0,0,0,.15);outline:none}.comparison-table__price{font-weight:700;white-space:nowrap}.comparison-table .as-of{font-size:.7rem;font-weight:400;color:var(--fg-muted);white-space:normal}.product-review{background:var(--bg);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow-sm);padding:24px;margin:20px 0}.product-review__head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.product-review__head h3{flex:1 1}.best-for-tag{display:inline-block;background:var(--accent-tint);color:var(--accent-dark);border-radius:999px;padding:3px 14px;font-size:.78rem;font-weight:700;margin:4px 0 16px}.product-review__image{border-radius:10px;display:block;margin:0 auto 12px}.product-review__body p{margin:0 0 1em}.product-review__body h4{clear:both}.pros-cons{clear:both;display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:16px 0 20px}.pros-cons>div{border-radius:10px;padding:12px 14px}.pros-cons__pros{background:var(--good-tint)}.pros-cons__cons{background:var(--bg-subtle)}.pros-cons h4{margin:0 0 6px;font-size:.85rem}.pros-cons__pros h4{color:var(--good)}.pros-cons__cons h4{color:var(--fg-muted)}.pros-cons ul{margin:0;padding:0;list-style:none;font-size:.85rem}.pros-cons li{padding-left:1.3em;position:relative;margin-bottom:4px}.pros-cons__pros li:before{content:"✓";position:absolute;left:0;color:var(--good);font-weight:700}.pros-cons__cons li:before{content:"−";position:absolute;left:0;color:var(--fg-muted);font-weight:700}.product-review>.btn-cta{display:table;margin:0 auto}.btn-cta{display:inline-block;background:var(--accent);color:#fff!important;text-decoration:none;font-weight:700;font-size:.9rem;padding:12px 24px;border-radius:999px;transition:background .15s ease}.btn-cta:hover{background:var(--accent-dark)}.btn-cta--sm{padding:7px 16px;font-size:.78rem;white-space:nowrap}.ranking-summary{background:var(--bg);border:1px solid var(--border);border-radius:var(--card-radius);padding:24px;margin:32px 0}.ranking-summary__body p{margin:0 0 1em}.faq-section{margin-top:40px}.faq-item{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:4px 16px;margin-bottom:10px}.faq-item summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"Q. ";color:var(--accent)}.faq-item summary:after{content:"＋";float:right;color:var(--fg-muted);font-weight:400}.faq-item[open] summary:after{content:"－"}.faq-item p{margin:0 0 14px;padding-top:6px;border-top:1px solid var(--border);color:var(--fg-muted);font-size:.92rem}@media (max-width:480px){article>h1{font-size:1.4rem}.pros-cons{grid-template-columns:1fr}.product-review{padding:18px}}