:root{color-scheme:light;--ink:#17201c;--muted:#68736d;--line:#dfe5e1;--soft:#f5f7f5;--green:#176b55;--green-dark:#0d5945;--green-soft:#e8f4ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;line-height:1.5}main{max-width:1180px;margin:auto;padding:0 12px}a{color:var(--green);text-underline-offset:3px}button,input,textarea{font:inherit}button{border:0;border-radius:8px;background:var(--green);color:#fff;font-size:13px;font-weight:700;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #e2a62d;outline-offset:2px}.topbar{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;min-height:52px;border-bottom:1px solid var(--line);background:#fffffff2;backdrop-filter:blur(10px)}.brand{color:var(--ink);font-size:13px;font-weight:800;text-decoration:none}.compare-open{min-width:76px;min-height:36px;padding:7px 11px;background:#fff;color:var(--green-dark);border:1px solid var(--green)}.compare-open span{display:inline-grid;min-width:19px;height:19px;margin-left:3px;padding:0 5px;place-items:center;border-radius:10px;background:var(--soft);font-size:11px}.compare-open.has-items span{background:var(--green);color:#fff}header{padding:20px 0 13px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:3px;font-size:25px;line-height:1.25;letter-spacing:-.025em}h2{margin-bottom:0;font-size:19px}h3{margin:0;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.small{font-size:11px;color:var(--muted)}header p{margin:0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:9px}.tabs button{min-height:40px;background:var(--soft);color:var(--ink)}.tabs button[aria-pressed=true]{background:var(--ink);color:#fff}.year-picker{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px 10px;margin-bottom:9px;padding:9px;border:1px solid var(--line);border-radius:9px}.year-picker>span{font-size:11px;font-weight:800}.year-picker>div{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.year-picker button{min-height:34px;padding:5px;background:var(--soft);color:var(--ink);font-size:11px}.year-picker button[aria-pressed=true]{background:var(--green);color:#fff}.year-picker>small{grid-column:1/-1;color:var(--muted);font-size:9px;text-align:right}.filter-panel,.estimate-settings{margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.filter-heading{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:13px}.filter-heading::-webkit-details-marker{display:none}.filter-heading:after{content:'＋';margin-left:auto}.filter-panel[open]>.filter-heading:after{content:'−'}.filter-heading span{font-size:10px;color:var(--muted)}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.reset{display:block;min-height:32px;margin:8px 0 0 auto;padding:4px 9px;font-size:10px}.filter-grid{display:grid;gap:15px;margin-top:12px}fieldset{min-width:0;margin:0;padding:0;border:0}legend{margin-bottom:5px;font-size:11px;font-weight:800}.range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:5px}.range label{font-size:9px;color:var(--muted)}input,textarea{width:100%;min-height:39px;border:1px solid #cbd3ce;border-radius:7px;background:#fff;padding:8px;color:var(--ink)}.range input{margin-top:2px;font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{position:relative;display:inline-flex;cursor:pointer}.chip input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}.chip span{padding:5px 8px;border:1px solid var(--line);border-radius:7px;font-size:10px}.chip input:checked+span{border-color:var(--green);background:var(--green-soft);color:var(--green-dark);font-weight:700}.estimate-settings summary,.data-note summary{cursor:pointer;font-size:12px;font-weight:800}.settings{max-width:190px;margin-top:9px}.settings label,.cost-fields label,.note{font-size:10px;font-weight:700}.estimate-settings p{margin:8px 0 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.photo{position:relative;display:grid;aspect-ratio:1/1;overflow:hidden;place-items:center;background:var(--soft);color:var(--muted);font-size:10px;text-decoration:none}.photo img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.photo>span{position:absolute;right:5px;bottom:5px;display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#fffffff0;color:#4e5953;font-size:10px}.change-badge{position:absolute!important;left:6px;right:auto!important;top:6px;bottom:auto!important;width:auto!important;height:auto!important;padding:3px 6px!important;border-radius:5px!important;background:#fff2cf!important;color:#6b4d00!important;font-size:9px!important;font-weight:800}.change-badge.new,.change-badge.down{background:#e5f3ec!important;color:#0d5945!important}.product-body{display:flex;flex-direction:column;gap:5px;padding:9px}.product-meta{font-size:9px;color:var(--muted)}.spec-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;color:#556159;font-size:9px}.spec-row>span+span:before{content:'·';margin-right:4px;color:#a0aaa4}.spec-row .warranty{padding:2px 4px;border-radius:4px;background:var(--soft);font-weight:700}.spec-row .warranty:before{content:none}.spec-row .warranty.premium{background:#fff2cf;color:#6b4d00}.price{margin:1px 0 0;font-size:17px;font-weight:850;letter-spacing:-.02em}.horizon-primary{display:flex;align-items:end;justify-content:space-between;gap:5px;padding:6px 7px;border-radius:7px;background:var(--green-soft);color:var(--green-dark)}.horizon-primary small{font-size:9px;font-weight:700}.horizon-primary strong{font-size:15px;white-space:nowrap}.horizon-others{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.horizon-others span{min-width:0;text-align:center}.horizon-others small,.horizon-others strong{display:block;white-space:nowrap}.horizon-others small{font-size:8px;color:var(--muted)}.horizon-others strong{font-size:9px}.basis{display:flex;align-items:center;justify-content:space-between;gap:4px}.basis small{font-size:8px;color:var(--muted)}.badge{display:inline-block;padding:2px 4px;border-radius:4px;background:#f2eee4;color:#6b5727;font-size:8px}.badge.good{background:var(--soft);color:#536059}.card-detail{font-size:9px;color:var(--muted)}.card-detail summary{font-weight:500;cursor:pointer}.card-detail p{margin:5px 0}.compare-add{align-self:flex-end;position:relative;min-width:63px;min-height:32px;margin-top:auto;padding:5px 9px;background:#fff;color:var(--green-dark);border:1px solid var(--green);font-size:10px}.compare-add:after{content:'';position:absolute;inset:-6px}.compare-add.selected{border-color:var(--line);background:var(--soft);color:#57625c}#count{margin:13px 0 7px;color:var(--muted);font-size:10px}.empty{grid-column:1/-1;padding:18px;border-radius:8px;background:var(--soft);color:var(--muted)}.data-note{margin:24px 0;padding:12px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:10px}.data-note p{margin:8px 0 0}footer{padding:0 0 24px;color:var(--muted);font-size:9px}#status{position:fixed;z-index:60;left:50%;bottom:18px;display:none;width:max-content;max-width:calc(100% - 24px);align-items:center;gap:10px;padding:9px 10px;border:1px solid #cfe4d9;border-radius:9px;background:#f0f8f4;box-shadow:0 7px 24px #0002;font-size:11px;transform:translateX(-50%)}#status.visible{display:flex}#status button{min-height:32px;padding:5px 9px;white-space:nowrap;font-size:10px}dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:#fff;color:var(--ink)}dialog::backdrop{background:#0004}.dialog-shell{max-width:920px;min-height:100%;margin:auto;padding:0 12px 28px}.dialog-head{position:sticky;z-index:5;top:0;display:flex;align-items:center;justify-content:space-between;padding:12px 0;background:#fffffff2;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.dialog-head h2{font-size:19px}.dialog-head button{min-height:36px;padding:6px 12px}.dialog-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0}.dialog-tools p{margin:0;color:var(--muted);font-size:10px}.text-button{padding:5px;background:transparent;color:#8a3b33;font-size:10px}.comparison{margin-bottom:10px;padding:11px;border:1px solid var(--line);border-radius:10px}.comparison-top{display:grid;grid-template-columns:54px 1fr 32px;gap:9px;align-items:start}.comparison-top img{width:54px;height:54px;object-fit:contain;border-radius:6px;background:var(--soft)}.comparison-top p{margin:3px 0 0;color:var(--muted);font-size:9px}.eyebrow{color:var(--muted);font-size:9px}.remove{width:32px;height:32px;background:#fff;color:var(--muted);border:1px solid var(--line);font-size:18px}.comparison-cost{margin-top:10px}.cost-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.source-note{margin:8px 0}.note{display:block}.note textarea{margin-top:3px;resize:vertical}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:700px){main{padding:0 24px}.topbar{min-height:58px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.product-body{padding:12px}.filter-grid{grid-template-columns:repeat(2,1fr)}.year-picker{grid-template-columns:auto minmax(280px,420px) 1fr}.year-picker>small{grid-column:auto;text-align:right}.photo{aspect-ratio:4/3}.cost-fields{grid-template-columns:repeat(3,1fr)}.dialog-shell{padding:0 24px 40px}}
@media(min-width:1050px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(3,1fr)}}

/* Favorites */
.compare-open{min-width:0}.compare-open>span{display:inline;margin:0 3px 0 0;padding:0;background:none;color:#b8c2bd;font-size:15px}.compare-open b{display:inline-grid;min-width:19px;height:19px;margin-left:3px;padding:0 5px;place-items:center;border-radius:10px;background:var(--soft);font-size:11px}.compare-open.has-items>span{background:none;color:#d33851}.compare-open.has-items b{background:var(--green);color:#fff}.product{position:relative}.favorite-add{position:absolute;z-index:3;top:7px;right:7px;display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid #d8dfdb;border-radius:50%;background:#fffffff2;color:#526059;box-shadow:0 2px 8px #0002;font-size:22px;line-height:1}.favorite-add.selected{border-color:#edbdc5;background:#fff5f6;color:#d33851}.favorite-add:after{content:'';position:absolute;inset:-5px}.favorite-settings{display:grid;gap:9px;padding:12px 0 5px;border-bottom:1px solid var(--line)}.favorite-years{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.favorite-years button{min-height:36px;background:var(--soft);color:var(--ink)}.favorite-years button[aria-pressed=true]{background:var(--green);color:#fff}.favorite-settings>label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:700}.favorite-settings>label span{display:flex;align-items:center;gap:5px}.favorite-settings input{width:82px;min-height:34px;padding:5px}.comparison.is-removed{background:#fafafa;color:#626b66}.favorite-badges{min-height:18px}.favorite-badges .change-badge{position:static!important;display:inline-block}.favorite-state{display:inline-block;padding:3px 6px;border-radius:5px;background:#eceeed;color:#626b66;font-size:9px;font-weight:800}.remove{background:#fff5f6;color:#d33851;border-color:#edbdc5;font-size:17px}.favorite-total{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-top:10px;padding:9px 10px;border-radius:8px;background:var(--green-soft);color:var(--green-dark)}.favorite-total small,.favorite-total strong{display:block}.favorite-total small{font-size:9px}.favorite-total strong{font-size:20px;line-height:1.2}.difference{font-size:9px;color:#536059;text-align:right}.difference.best{font-weight:800;color:var(--green-dark)}.favorite-detail{margin-top:8px;border-top:1px solid var(--line);padding-top:7px}.favorite-detail>summary{cursor:pointer;color:var(--green-dark);font-size:10px;font-weight:700}
.comparison-top{grid-template-columns:72px 1fr 34px;align-items:center}.comparison-top img{width:72px;height:72px}.favorite-specs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.favorite-specs>span{min-width:0;padding:7px 8px;border-radius:7px;background:var(--soft);font-size:11px;font-weight:700}.favorite-specs small{display:block;margin-bottom:1px;color:var(--muted);font-size:8px;font-weight:500}.favorite-specs .dimensions{grid-column:1/-1}.favorite-breakdown{display:grid;grid-template-columns:repeat(3,1fr);margin:7px 0;border:1px solid var(--line);border-radius:8px}.favorite-breakdown>span{min-width:0;padding:7px 4px;text-align:center}.favorite-breakdown>span+span{border-left:1px solid var(--line)}.favorite-breakdown small,.favorite-breakdown strong{display:block}.favorite-breakdown small{color:var(--muted);font-size:8px}.favorite-breakdown strong{margin-top:2px;font-size:11px;white-space:nowrap}.favorite-shop{display:flex;min-height:43px;align-items:center;justify-content:center;gap:6px;border-radius:8px;background:var(--green);color:#fff;font-size:12px;font-weight:800;text-decoration:none}.favorite-shop:active{background:var(--green-dark)}.favorite-note{display:block;margin-top:10px;color:var(--ink);font-size:10px;font-weight:800}.favorite-note textarea{min-height:62px;margin-top:4px;padding:9px;font-size:12px;resize:vertical}.favorite-detail{margin-top:10px}.favorite-detail>summary{padding:3px 0}
.spec-row .power,.spec-row .power.power-200{padding:0;border-radius:0;background:transparent;color:inherit;font-weight:400}.spec-row .power:before{content:none}.favorite-power.power-200{background:var(--soft);color:inherit}.power-notice{display:grid;gap:2px;margin:8px 0 0;padding:8px 9px;border:1px solid #ead7ab;border-radius:8px;background:#fff9e9;color:#5d4a20}.power-notice strong{font-size:11px}.power-notice span{font-size:9px;line-height:1.45}
.card-dimensions{display:grid;gap:1px;margin:0;color:#4f5b54;font-size:9px;line-height:1.35}.card-dimensions span{color:var(--muted);font-size:8px}
.product-name{font-size:13px}.product-name span{font-weight:700}.product-model{color:var(--muted);font-size:9px}.product .price{display:grid;gap:0}.product .price small{color:var(--muted);font-size:8px;font-weight:600;letter-spacing:0}.product .price strong{font-size:17px}.product .spec-row .warranty,.product .spec-row .warranty.premium{padding:0;background:transparent;color:inherit;font-weight:400}
.grid{grid-template-columns:1fr}.card-specs{padding-top:7px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.card-specs p{margin:0 0 4px}.card-specs a{display:inline-block;margin-top:1px}@media(min-width:700px){.grid{grid-template-columns:1fr}.product{display:grid;grid-template-columns:minmax(260px,38%) 1fr;position:relative}.product>.photo{height:100%;min-height:330px;aspect-ratio:auto}.product>.favorite-add{position:absolute}.product-body{padding:16px}.product-name{font-size:17px}.product-model{font-size:11px}.spec-row,.card-dimensions{font-size:11px}.product .price strong{font-size:22px}}
.product>.photo{height:220px;aspect-ratio:auto}.product-body{gap:7px;padding:13px}.product-name{font-size:17px}.product-model{font-size:11px}.spec-row{font-size:12px}.card-dimensions{font-size:11px;line-height:1.5}.card-dimensions span,.product .price small{font-size:10px}.product .price strong{font-size:22px}.horizon-primary{padding:9px 10px}.horizon-primary small{font-size:11px}.horizon-primary strong{font-size:19px}.horizon-others small{font-size:10px}.horizon-others strong{font-size:12px}.basis small,.badge{font-size:10px}.card-specs{font-size:11px;line-height:1.55}.card-specs p{margin-bottom:6px}@media(min-width:700px){.product>.photo{height:100%;min-height:330px}.product-body{padding:18px}.product-name{font-size:19px}.product-model,.spec-row,.card-dimensions,.card-specs{font-size:12px}}
@media(min-width:700px){.comparison{padding:15px}.comparison-top{grid-template-columns:88px 1fr 36px}.comparison-top img{width:88px;height:88px}.favorite-specs{grid-template-columns:repeat(3,1fr)}.favorite-specs .dimensions{grid-column:auto}.favorite-shop{max-width:320px;margin-left:auto}.favorite-note textarea{min-height:70px}}
.product>.photo{padding:8px;background:var(--soft)}.product>.photo img{width:auto;height:auto;max-width:calc(100% - 16px);max-height:204px;object-fit:contain;background:transparent}@media(min-width:700px){.product>.photo img{max-height:314px}}
.product-model{color:var(--ink);font-size:17px;font-weight:800;line-height:1.35}@media(min-width:700px){.product-model{font-size:19px}}
.product .spec-row{font-size:15px;font-weight:400}.product .card-dimensions{font-size:14px;font-weight:400;line-height:1.5}.product .card-dimensions span{font-size:11px;font-weight:400}@media(min-width:700px){.product .spec-row{font-size:15px}.product .card-dimensions{font-size:14px}}
.product-name{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.product-capacity{font-weight:700}.product-warranty{font-size:.78em;font-weight:400;color:var(--muted)}.product-model{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.product-model-label{padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:11px;font-weight:400;line-height:1.4}.product-model-separator{color:var(--muted);font-weight:400}.product .card-dimensions strong{color:var(--ink);font-size:15px;font-weight:600;line-height:1.45}@media(min-width:700px){.product .card-dimensions strong{font-size:15px}}
