:root{--bg:#0B151E;--panel:#111F2B;--panel-2:#16283A;--line:#21364A;--line-soft:#1A2C3D;--ink:#E6EDF0;--muted:#8FA3AF;--faint:#5F7686;--cyan:#38D3CF;--cyan-soft:rgba(56,211,207,.12);--gold:#E3B341;--gold-soft:rgba(227,179,65,.13);--coral:#F2645A;--coral-soft:rgba(242,100,90,.13);--plate:#E8EDEF;--green:var(--cyan);--mint:var(--cyan-soft);--dark:var(--cyan);--amber:var(--gold);--canvas:var(--bg);--radius:12px;font-family:'IBM Plex Sans',Segoe UI,system-ui,sans-serif;font-synthesis:none;color:var(--ink);background:var(--bg);color-scheme:dark}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--line);outline-offset:3px}button{color:inherit}button:disabled{opacity:.5;cursor:wait}svg{display:block}button svg,a svg{flex-shrink:0}button svg{pointer-events:none}.skip{position:fixed;top:-80px;z-index:100;background:var(--panel);padding:15px}.skip:focus{top:0}.loading{display:grid;place-content:center;min-height:100vh;font-size:40px;font-weight:750;letter-spacing:-2px}.loading span{font-size:14px;letter-spacing:0;margin-top:15px;color:var(--muted)}
.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:var(--panel);border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:28px;font-weight:780;letter-spacing:-1.4px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--dark);color:var(--faint);font-weight:850;font-size:23px;letter-spacing:-3px;padding-right:3px}.brand-dot{color:var(--muted)}.brand-tag{font-size:11px;color:var(--muted);margin:12px 0 40px 2px}.nav-label{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin:0 13px 13px;font-weight:700}.nav{display:flex;flex-direction:column;gap:6px}.nav a{display:flex;gap:11px;align-items:center;text-decoration:none;padding:13px;border-radius:9px;font-size:13px;color:var(--muted);font-weight:550}.nav a:hover{background:var(--panel)}.nav a.active{background:var(--panel-2);color:var(--ink);font-weight:700}.nav-count{margin-left:auto;display:grid;place-items:center;font-size:10px;width:20px;height:20px;background:var(--panel);border-radius:6px}.sidebar-bottom{margin-top:auto}.manifesto{background:linear-gradient(135deg,var(--panel-2),var(--panel-2));padding:17px 14px;border:1px solid var(--line);border-radius:12px;margin-top:28px}.manifesto svg{color:var(--ink);margin-bottom:12px}.manifesto strong{display:block;font-size:12px;line-height:1.6}.manifesto p{font-size:11px;line-height:1.8;color:var(--muted);margin:6px 0 14px}.manifesto button{border:0;background:none;padding:0;color:var(--ink);font-weight:650;font-size:11px;display:flex;gap:8px;align-items:center}.sidebar-foot{margin:20px 3px 0;color:var(--faint);font-family:Consolas,monospace;font-size:10px;letter-spacing:.5px}
.shell{margin-left:226px}.topbar{display:flex;align-items:center;gap:18px;padding:22px 40px;background:var(--panel);border-bottom:1px solid var(--line);min-height:88px}.search-wrap{position:relative;display:flex;align-items:center;flex:1;max-width:550px}.search-wrap>svg{position:absolute;left:14px;color:var(--muted)}.search-wrap input{width:100%;background:var(--panel-2);border:1px solid var(--panel-2);border-radius:9px;height:42px;padding:0 39px 0 43px;font-size:12px;color:var(--ink)}.search-wrap input::placeholder{color:var(--muted)}.clear-search{position:absolute;right:10px;background:none;border:0;padding:4px;color:var(--muted)}.locale{display:flex;gap:15px;margin-left:auto;align-items:center}.locale label{display:flex;align-items:center;gap:8px;color:var(--muted)}.locale select{border:0;background:transparent;padding:7px 4px;font-size:12px;color:var(--ink);max-width:205px}.language{border-left:1px solid var(--line);padding-left:12px}.mobile-logo{display:none}.main{max-width:1510px;padding:26px 40px 0;margin:0 auto;min-height:calc(100vh - 88px)}
.notice{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-size:11px;line-height:1.6;border-radius:8px;display:flex;align-items:center;gap:9px;padding:9px 12px}.notice.live{background:var(--panel-2);border-color:var(--line);color:var(--ink)}.mode-switch{display:inline-flex;gap:3px;border:1px solid var(--line);border-radius:8px;padding:3px;background:var(--panel);flex-shrink:0}.mode-switch button{font-size:10px;border:0;border-radius:5px;padding:6px 9px;background:transparent;color:var(--muted)}.mode-switch button.active{color:var(--ink);background:var(--panel-2);font-weight:650}.notice>span{flex:1}.hero{display:grid;grid-template-columns:1.22fr 1fr;gap:36px;padding:39px 0 31px;align-items:center}.eyebrow{font:10px Consolas,monospace;letter-spacing:1.8px;color:var(--muted);display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--line);box-shadow:0 0 0 4px var(--panel-2)}.hero h1{font-size:clamp(34px,3vw,47px);font-weight:730;line-height:1.13;letter-spacing:-2px;margin:17px 0}.hero h1 span{display:block;color:var(--muted)}.hero p{font-size:13px;line-height:1.8;color:var(--muted);max-width:430px;margin:0 0 20px}.hero-trust{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.hero-trust span{display:flex;align-items:center;gap:5px}.market-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:22px 23px 17px;box-shadow:0 4px 14px rgba(0,0,0,.35);position:relative;overflow:hidden}.market-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.market-top h2{font-size:13px;margin:0 0 6px;font-weight:650}.market-top p{font-size:10px;margin:0;color:var(--muted)}.tiny-pill{display:inline-flex;align-items:center;gap:4px;font-size:9px;line-height:1.3;padding:5px 7px;border:1px solid var(--line);background:var(--panel);border-radius:5px;color:var(--muted);white-space:nowrap}.market-chart{height:104px;margin-top:15px}.market-chart svg{width:100%;height:100%;overflow:visible}.market-legend{display:flex;gap:20px;font-size:10px;color:var(--muted);margin-top:10px}.market-legend span{display:flex;align-items:center;gap:5px}.market-legend i{width:6px;height:6px;border-radius:50%;background:var(--color)}.market-note{font-size:9px;color:var(--muted);margin-top:12px}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font:9px Consolas,monospace;margin-top:2px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin-bottom:33px}.stat{display:flex;align-items:center;gap:13px;padding:0 25px;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}.stat-icon{border:1px solid var(--line);border-radius:9px;background:var(--panel-2);color:var(--muted);width:38px;height:38px;display:grid;place-items:center}.stat strong{font-size:21px;font-weight:650;letter-spacing:-.7px}.stat small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.stat .stat-note{font:9px Consolas,monospace;color:var(--muted);margin-left:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:23px}.section-heading h2{font-size:20px;letter-spacing:-.5px;font-weight:650;margin:0 0 7px}.section-heading p{margin:0;font-size:11px;color:var(--muted)}.section-heading .text-btn{white-space:nowrap}.category-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px;overflow-x:auto}.category-tabs button{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--panel);border:1px solid var(--line);color:var(--muted);padding:11px 15px;border-radius:8px}.category-tabs button.active{background:var(--cyan);color:var(--bg);border-color:var(--cyan)}.category-tabs .count{font:9px Consolas,monospace;opacity:.6;margin-left:6px}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 18px;font-size:11px;color:var(--muted)}.filters select,.filters input[type=number]{border:1px solid var(--line);border-radius:6px;padding:9px 10px;background:var(--panel);font-size:11px;color:var(--muted);min-width:135px}.filters input[type=number]{width:125px;min-width:0}.filters .stock-label{display:flex;align-items:center;gap:6px;cursor:pointer}.filters input[type=checkbox]{accent-color:var(--green)}.filter-sort{margin-left:auto;display:flex;align-items:center;gap:8px}.result-bar{display:flex;justify-content:space-between;align-items:center;margin:21px 0 16px;font-size:11px;color:var(--muted)}.result-bar strong{color:var(--ink)}.text-btn{border:0;background:none;display:inline-flex;align-items:center;gap:7px;padding:0;text-decoration:none;font-size:11px;color:var(--muted);cursor:pointer}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .18s,box-shadow .18s}.product-card:hover{transform:translateY(-3px);box-shadow:0 9px 24px rgba(0,0,0,.35)}.product-visual{position:relative;background:var(--panel-2);height:128px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--panel-2)}.product-visual.ssd{background:var(--panel-2)}.product-visual.gpu{background:var(--panel-2)}.product-visual:before{content:'';position:absolute;width:150px;height:150px;background:radial-gradient(ellipse,transparent,transparent 68%);transform:scaleX(1.8)}.hardware{height:90px;width:215px;filter:drop-shadow(0 10px 6px rgba(0,0,0,.35));position:relative}.category-label{position:absolute;left:13px;top:12px;font:8px Consolas,monospace;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.watch-btn{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:29px;height:29px;background:var(--panel);position:absolute;right:12px;top:11px;color:var(--muted)}.watch-btn.saved{background:var(--line);color:var(--ink);border-color:var(--line)}.watch-btn.saved svg{fill:currentColor}.product-body{padding:17px 17px 14px}.product-brand{font-size:9px;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.product-name{font-size:15px;font-weight:680;letter-spacing:-.4px;margin:0 0 6px}.product-spec{font-size:10px;color:var(--muted);line-height:1.6;min-height:17px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.product-reference{font:8px Consolas,monospace;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.price-area{display:flex;justify-content:space-between;gap:8px;align-items:flex-end;margin:19px 0 3px}.from{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}.product-price{font-size:23px;font-weight:700;letter-spacing:-1px;color:var(--ink)}.price-trend{font-size:10px;padding:5px 7px;border-radius:5px;background:var(--panel-2);color:var(--ink);white-space:nowrap;display:flex;align-items:center;gap:3px}.price-trend.up{background:var(--panel-2);color:var(--muted)}.price-trend.none{background:var(--panel-2);color:var(--muted);font-size:8px}.price-caption{color:var(--muted);font-size:8px;line-height:1.5;min-height:14px}.spark-wrap{display:flex;align-items:center;gap:14px;margin:10px 0 13px}.spark{height:26px;flex:1;min-width:0}.spark svg{width:100%;height:100%;overflow:visible}.spark-wrap>span{font:8px Consolas,monospace;color:var(--muted);white-space:nowrap}.product-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--panel-2);padding-top:12px;gap:5px}.merchant-dots{display:flex;align-items:center}.merchant-dot{border:2px solid var(--panel);background:var(--panel-2);display:grid;place-items:center;width:21px;height:21px;border-radius:50%;font:8px Consolas,monospace;color:var(--muted);margin-left:-5px}.merchant-dot:first-child{margin-left:0}.offer-count{color:var(--muted);font-size:9px;margin-left:5px}.offer-btn{border:0;background:var(--panel-2);color:var(--ink);font-size:9px;font-weight:650;padding:8px 9px;border-radius:6px;display:flex;align-items:center;gap:6px}.target-row{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:flex;gap:7px;align-items:center}.target-row input{min-width:0;width:100%;padding:8px;border:1px solid var(--line);border-radius:6px;font-size:11px}.target-row button{border:0;background:var(--dark);color:var(--bg);padding:9px;border-radius:6px;font-size:10px}.target-badge{font-size:10px;color:var(--green);margin-top:7px}.empty{padding:60px 24px;background:var(--panel);border:1px dashed var(--line);text-align:center;border-radius:14px;grid-column:1/-1}.empty>svg{margin:0 auto 18px;color:var(--muted)}.empty h2{font-size:20px;letter-spacing:-.5px;margin:0 0 12px}.empty p{font-size:12px;color:var(--muted);max-width:500px;margin:0 auto 22px;line-height:1.8}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid var(--cyan);background:var(--cyan);color:var(--bg);font-size:12px;padding:11px 15px;border-radius:7px;font-weight:600}.btn.secondary{background:var(--panel);color:var(--ink);border-color:var(--line)}.footer{margin-top:35px;padding:20px 0 26px;border-top:1px solid var(--line)}.disclosure{font-size:10px;color:var(--muted);line-height:1.8;max-width:850px;margin:0 0 17px;display:flex;gap:8px;align-items:flex-start}.footer-bottom{display:flex;gap:18px;align-items:center;justify-content:space-between;font:9px Consolas,monospace;color:var(--muted)}.footer-links{display:flex;gap:17px}
.page-title{padding:39px 0 26px}.page-title h1{font-size:35px;font-weight:700;letter-spacing:-1.5px;margin:13px 0}.page-title p{max-width:700px;font-size:13px;line-height:1.8;color:var(--muted)}.panels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:24px}.panel h2{font-size:17px;letter-spacing:-.4px;margin:0 0 13px}.panel h3{font-size:13px;margin:14px 0 9px}.panel p,.prose{font-size:12px;line-height:1.9;color:var(--muted)}.source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0 24px}.source-card{background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:10px}.source-card .merchant-logo{font-size:16px;font-weight:750;letter-spacing:-.6px;margin-bottom:13px}.source-card p{font-size:10px;line-height:1.6;color:var(--muted)}.source-card span{font-size:9px;color:var(--muted);background:var(--panel-2);display:inline-flex;padding:5px;border-radius:4px}.source-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.source-row:last-child{border-bottom:0}.source-row small{font-size:10px;color:var(--muted);display:block;margin-top:7px}.source-state{font-size:10px;border-radius:5px;padding:6px 8px;background:var(--panel-2);color:var(--ink)}.source-state.error{background:var(--panel-2);color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--muted);min-width:0}.form-field.full,.form-check.full{grid-column:1/-1}.form-field input,.form-field select{width:100%;border:1px solid var(--line);padding:10px;border-radius:6px;background:var(--panel);color:var(--ink);font-size:12px}.form-field select[multiple]{height:100px}.form-check{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--muted);line-height:1.7}.form-check input{accent-color:var(--green);margin-top:3px;flex-shrink:0}.form-hint{font-size:10px;color:var(--muted);line-height:1.8;margin:13px 0}.form-result{font-size:12px;color:var(--green);line-height:1.8;min-height:20px}.form-result.error{color:var(--muted)}.log-wrap{overflow-x:auto}.log{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}.log th{text-align:left;font-size:9px;color:var(--muted);font-weight:500;padding:12px 10px;border-bottom:1px solid var(--line)}.log td{padding:13px 10px;border-bottom:1px solid var(--panel-2);color:var(--muted)}.wide{grid-column:1/-1}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.principles .panel>svg{color:var(--muted);margin-bottom:24px}.principles h2{font-size:16px}.calculator-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;margin-top:22px}.calc-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calc-results{background:var(--panel-2);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:20px}.calc-results strong{font-size:30px;letter-spacing:-1px;font-weight:650}.calc-results span{font-size:11px;color:var(--muted);display:block;margin-bottom:7px}.calc-results .small strong{font-size:20px}.small-note{font-size:10px;color:var(--muted);line-height:1.9}.skeleton{background:linear-gradient(90deg,var(--panel-2),var(--panel),var(--panel-2));height:300px;border-radius:12px}
dialog{border:1px solid var(--line);border-radius:18px;padding:0;max-width:930px;width:calc(100% - 40px);max-height:90vh;color:var(--ink);box-shadow:0 25px 100px rgba(0,0,0,.35);background:var(--panel)}dialog::backdrop{background:var(--cyan);backdrop-filter:blur(4px)}.modal-head{padding:25px 28px 20px;display:flex;justify-content:space-between;align-items:flex-start;background:var(--panel);border-bottom:1px solid var(--line)}.modal-head h2{font-size:25px;letter-spacing:-.8px;margin:5px 0 8px}.modal-head p{font-size:11px;color:var(--muted);margin:0;line-height:1.8}.close-btn{display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line);border-radius:50%;width:32px;height:32px;flex-shrink:0}.modal-body{padding:24px 28px}.modal-history{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.modal-history h3{font-size:13px;margin:0}.modal-history .history-top{display:flex;justify-content:space-between;align-items:center}.period{display:flex;gap:4px}.period button{border:0;border-radius:4px;padding:5px 7px;font-size:10px;background:var(--panel-2);color:var(--muted)}.period button.active{background:var(--line);color:var(--ink)}.big-chart{height:155px;margin:25px 0 10px}.big-chart svg{width:100%;height:100%;overflow:visible}.history-metrics{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-top:14px}.history-metrics strong{color:var(--ink);font-size:16px;letter-spacing:-.4px}.history-note{font-size:9px;color:var(--muted);line-height:1.8;margin-top:12px}.offers-table{margin-top:22px}.offers-table h3{font-size:14px;margin:0 0 15px}.offer-row{background:var(--panel);border:1px solid var(--line);border-radius:9px;margin-bottom:9px;padding:16px;display:grid;grid-template-columns:1.3fr 1fr .8fr .8fr auto;gap:14px;align-items:center}.offer-row .seller-name{font-size:13px;font-weight:650;display:flex;align-items:center;gap:8px}.flag{font:8px Consolas,monospace;border:1px solid var(--line);padding:2px 4px;border-radius:3px;color:var(--muted)}.offer-meta{font-size:9px;color:var(--muted);line-height:1.8;margin-top:6px}.offer-label{display:block;font-size:8px;color:var(--muted);margin-bottom:5px}.offer-value{font-size:13px;font-weight:550}.offer-total{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.4px}.offer-row .btn{font-size:10px;padding:10px 12px}.offer-row.stale{opacity:.65}.offer-row .unavailable{font-size:10px;color:var(--muted)}.info-dialog{padding:30px;max-width:700px}.info-dialog h2{font-size:24px;letter-spacing:-.7px}.info-dialog p{font-size:13px;line-height:2;color:var(--muted)}.info-dialog .close-btn{float:right}.badge-local{font:9px Consolas,monospace;color:var(--muted);display:inline-block;margin-top:10px}.guide-link{margin:20px 0 0;display:inline-flex}.target-inline{display:flex;gap:5px;align-items:center}.target-inline label{font-size:10px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);padding:13px 22px;background:var(--cyan);color:var(--bg);font-size:12px;border-radius:9px;box-shadow:0 5px 30px rgba(0,0,0,.35);opacity:0;transition:.2s;pointer-events:none;z-index:100;max-width:90vw;line-height:1.6}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1650px){.main{padding-left:60px;padding-right:60px}.topbar{padding-left:60px;padding-right:60px}.product-visual{height:150px}.hero h1{font-size:51px}.hero{gap:70px}}
@media(max-width:1200px){.sidebar{width:202px;padding:28px 14px}.shell{margin-left:202px}.main{padding:22px 25px 0}.topbar{padding:18px 25px}.hero{gap:20px}.hero h1{font-size:36px}.hero p{font-size:12px}.hero-trust{font-size:9px;gap:8px}.product-grid{gap:12px}.product-body{padding:15px 13px}.product-name{font-size:14px}.product-bottom{flex-wrap:wrap;row-gap:10px}.offer-btn{margin-left:auto}.source-grid{grid-template-columns:repeat(2,1fr)}.locale{gap:8px}.locale select{max-width:155px}.panels{grid-template-columns:1fr}.principles{gap:12px}.panel{padding:20px}.stat .stat-note{display:none}.filter-sort{margin-left:0}}
@media(max-width:980px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero h1{font-size:42px}.hero p{max-width:550px}.market-card{display:none}.topbar{gap:10px}.search-wrap{min-width:80px}.search-wrap input{font-size:11px}.locale label>svg{display:none}.principles{grid-template-columns:1fr}.principles .panel{display:grid;grid-template-columns:30px 1fr;column-gap:15px}.principles .panel>svg{grid-row:1/3;margin:0}.principles .panel h2{margin:0 0 6px}.principles .panel p{margin:0}.offer-row{grid-template-columns:1.2fr 1fr 1fr}.offer-row .offer-shipping{display:none}.offer-row .btn,.offer-row .unavailable{grid-column:3}.offer-row>div:nth-child(4){grid-column:2;grid-row:1}.offer-row>div:nth-child(2){grid-column:1;grid-row:2}.offer-row>div:nth-child(1){grid-column:1;grid-row:1}.offer-row>a{grid-row:1/3}.calculator-grid{gap:20px}}
@media(max-width:700px){.sidebar{inset:0 0 auto;width:100%;height:62px;padding:12px 16px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:23px}.brand-mark{width:30px;height:30px;font-size:20px}.brand-tag,.nav-label,.sidebar-bottom{display:none}.nav{margin-left:auto;flex-direction:row;gap:3px}.nav a{padding:10px;gap:4px}.nav a span:not(.nav-count){display:none}.nav-count{position:absolute;transform:translate(13px,-10px);width:15px;height:15px;font-size:8px;border:1px solid var(--line)}.shell{margin:62px 0 0}.topbar{padding:12px 16px;gap:10px;flex-wrap:wrap;min-height:0}.search-wrap{flex-basis:100%;max-width:none;order:2}.search-wrap input{height:39px;font-size:12px}.locale{margin-left:0;justify-content:space-between;width:100%}.locale label>svg{display:block}.locale select{max-width:240px;font-size:11px;padding:4px}.main{padding:15px 16px 0}.notice{font-size:10px;flex-wrap:wrap;padding:10px;gap:7px}.notice>svg{align-self:flex-start;margin-top:2px}.notice>span{flex-basis:calc(100% - 35px)}.mode-switch{margin:1px 0 0 22px}.hero{padding:29px 0 25px}.eyebrow{font-size:8px;letter-spacing:1.2px}.hero h1{font-size:38px;letter-spacing:-1.5px;margin:16px 0}.hero p{font-size:12px;max-width:400px}.hero-trust{font-size:9px;gap:10px}.stats{padding:16px 0;margin-bottom:26px}.stat{gap:8px;padding:0 12px}.stat-icon{width:29px;height:29px;border-radius:7px}.stat-icon svg{width:15px}.stat strong{font-size:17px}.stat small{font-size:8px;line-height:1.5}.section-heading{margin-bottom:18px}.section-heading h2{font-size:19px}.section-heading p{font-size:10px;line-height:1.6}.category-tabs{gap:7px;margin-right:-16px}.category-tabs button{padding:10px 12px;font-size:10px}.category-tabs .count{display:none}.filters{gap:8px;font-size:10px}.filters select{font-size:10px;min-width:125px}.filters input[type=number]{font-size:10px;width:120px}.stock-label{margin-right:auto}.filter-sort{width:100%;justify-content:flex-end}.filter-sort select{flex:1;max-width:185px}.result-bar{margin-top:14px}.product-grid{gap:11px}.product-body{padding:13px 11px}.product-visual{height:109px}.hardware{width:155px;height:75px}.category-label{font-size:7px;left:9px}.watch-btn{width:26px;height:26px;right:9px;top:9px}.product-brand{font-size:8px}.product-name{font-size:13px;min-height:30px;line-height:1.25;letter-spacing:-.2px}.product-spec{font-size:8px;white-space:normal;min-height:26px;line-height:1.6}.product-reference{display:none}.product-price{font-size:20px}.price-area{flex-wrap:wrap;gap:5px;margin-top:12px}.price-trend{font-size:8px;padding:4px}.price-trend svg{width:10px;height:10px}.price-caption{font-size:7px;min-height:22px}.spark-wrap{gap:5px}.spark-wrap>span{font-size:6px}.product-bottom{display:block;padding-top:9px}.merchant-dots{margin-bottom:8px}.merchant-dot{width:18px;height:18px;font-size:7px}.offer-count{font-size:8px}.offer-btn{width:100%;justify-content:space-between;font-size:8px;padding:9px 7px}.footer-bottom{flex-wrap:wrap;font-size:8px;line-height:1.6}.footer-links{gap:13px}.disclosure{font-size:9px}.page-title{padding:26px 0 20px}.page-title h1{font-size:29px;letter-spacing:-1px}.page-title p{font-size:12px}.panel{padding:18px}.form-grid{gap:12px}.form-field{font-size:10px}.form-field.full{grid-column:1/-1}.source-grid{gap:10px}.source-card{padding:14px}.source-card .merchant-logo{font-size:14px}.source-card p{font-size:9px}.source-card span{font-size:8px}.calculator-grid{grid-template-columns:1fr}.calc-results{gap:18px}.calc-inputs{gap:12px}.target-row{flex-wrap:wrap}.target-row input{width:100%;font-size:10px}.target-row button{width:100%;font-size:9px}.target-badge{font-size:8px}.modal-head{padding:21px 17px}.modal-head h2{font-size:20px}.modal-body{padding:16px 12px}dialog{width:calc(100% - 18px);border-radius:12px;max-height:94vh}.modal-history{padding:16px}.modal-history h3{font-size:11px}.offer-row{padding:12px;gap:8px;grid-template-columns:1.2fr .8fr auto}.offer-row .seller-name{font-size:11px;gap:5px}.offer-row .btn{font-size:8px;padding:9px 8px}.offer-value{font-size:11px}.offer-total{font-size:15px}.offer-meta{font-size:8px}.offer-label{font-size:7px}.source-row{font-size:11px}.form-check{font-size:10px}.big-chart{height:135px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.form-field textarea{width:100%;border:1px solid var(--line);padding:12px;border-radius:7px;background:var(--panel);color:var(--ink);resize:vertical;font:12px Consolas,monospace;line-height:1.8}.history-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px 15px 12px;color:var(--muted)}.history-pending strong{font-size:17px;font-weight:600}.history-pending p{font-size:11px;text-align:center;line-height:1.8;color:var(--muted);margin:0;max-width:280px}

.product-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}.product-card .product-spec{max-width:100%}
.modal-history:has(.big-chart .prose) .big-chart{height:auto;margin:18px 0}.modal-history:has(.big-chart .prose) .chart-labels{display:none}

/* v1.2 — buying aids, price index, automatic catalogue */
.product-chips{display:flex;flex-wrap:wrap;gap:5px;min-height:22px;margin:6px 0 2px}
.chip{font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--dark);background:var(--mint);border-radius:999px;padding:3px 8px;white-space:nowrap}
.deal{font-size:10.5px;font-weight:700;border-radius:999px;padding:4px 9px;white-space:nowrap;align-self:center}
.deal.low{background:var(--line);color:var(--ink)}
.deal.normal{background:var(--panel-2);color:var(--ink)}
.deal.high{background:var(--line);color:var(--ink)}
.deal.none{background:transparent;color:var(--muted);font-weight:500;border:1px dashed var(--line)}
.price-caption strong{color:var(--ink);font-weight:600}
.index-rows{display:flex;flex-direction:column;gap:2px;margin-top:12px}
.index-row{display:grid;grid-template-columns:minmax(0,1.4fr) auto 90px 64px;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.index-row:last-child{border-bottom:0}
.index-name{display:flex;flex-direction:column;font-weight:600;color:var(--ink)}
.index-name small{font-weight:400;color:var(--muted);font-size:11px}
.index-gb{font-variant-numeric:tabular-nums;font-weight:600;color:var(--dark)}
.index-spark svg{width:90px;height:24px;display:block}
.index-row .price-trend{justify-self:end}
.more-wrap{display:flex;justify-content:center;margin:22px 0 6px}
.advice{display:flex;align-items:center;gap:10px;margin:12px 0 4px;font-size:12.5px;color:var(--muted);line-height:1.5}
@media(max-width:700px){.index-row{grid-template-columns:minmax(0,1fr) auto 56px}.index-spark{display:none}}
/* v1.2 — shop photos */
.product-visual .product-photo{position:absolute;inset:14px 18px 10px;width:calc(100% - 36px);height:calc(100% - 24px);object-fit:contain;background:var(--panel);border-radius:10px;padding:6px;box-sizing:border-box}
.product-visual:has(.product-photo){background:var(--panel)}
.modal-head{gap:20px}
.modal-gallery{flex:0 0 220px;display:flex;flex-direction:column;gap:8px}
.gallery-main{width:220px;height:180px;background:var(--panel);border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gallery-main img{max-width:100%;max-height:100%;object-fit:contain}
.gallery-thumbs{display:flex;gap:6px}
.gallery-thumbs button{width:64px;height:52px;padding:3px;background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.gallery-thumbs button.active{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.gallery-thumbs img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:700px){.modal-head{flex-wrap:wrap}.modal-gallery{flex-basis:100%}.gallery-main{width:100%}}
.product-visual{position:relative}.product-visual .watch-btn,.product-visual .category-label{z-index:2}
/* HW Radar wordmark */
.brand{white-space:nowrap;font-size:24px;letter-spacing:-.03em;gap:8px}
.brand .brand-mark{display:inline-flex;align-items:center;justify-content:center}
.brand .brand-mark svg{display:block}
.brand .brand-dot{font-size:.55em;letter-spacing:0;margin-left:1px;align-self:flex-end;margin-bottom:.35em}
@media(max-width:700px){.brand{font-size:20px}}
/* Legal pages */
.legal{max-width:820px;line-height:1.7;font-size:14px;color:var(--ink)}
.legal h2{font-size:16px;margin:22px 0 6px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:var(--ink)}
.legal ul{padding-left:20px}
.legal a{color:var(--green)}
.manifesto-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--green);text-decoration:none;margin-top:8px}

/* ==== HW Radar — dark "circuit board" theme ========================================
   Solder-mask navy surfaces, silkscreen text, gold pads for prices, cyan for signal.
   One expressive element: the price-index radar scope. Everything else stays quiet. */
body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
::selection{background:var(--cyan);color:var(--bg)}
h1,h2,h3,.brand,.product-name,.product-price,.offer-total,.stat strong,.index-gb,.calc-results strong,.history-metrics strong{font-family:'Barlow Semi Condensed','IBM Plex Sans',sans-serif}
.hero h1,.page-title h1,.section-heading h2,.panel h2,.modal-head h2,.empty h2,.info-dialog h2{letter-spacing:0;font-weight:700}
.hero h1{font-size:clamp(40px,3.6vw,58px);line-height:1.02;margin:16px 0 18px}
.hero h1 span{color:var(--muted);font-weight:600}
.hero p{color:var(--muted);font-size:14px}
.page-title h1{font-size:40px}
.section-heading h2{font-size:26px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.eyebrow,.chart-labels,.sidebar-foot,.category-label,.product-reference,.footer-bottom,.flag,.merchant-dot,.spark-wrap>span,.stat .stat-note,.category-tabs .count,.badge-local{font-family:'IBM Plex Sans',sans-serif}
.eyebrow{letter-spacing:.06em;color:var(--cyan);font-size:11px;font-weight:500}
.status-dot{background:var(--cyan);box-shadow:0 0 0 4px var(--cyan-soft),0 0 12px var(--cyan)}

/* ---- Frame: sidebar and top bar ---- */
.sidebar{background:#0E1B26;border-right:1px solid var(--line)}
.brand{color:var(--ink);font-size:25px;font-weight:700;letter-spacing:.01em}
.brand .brand-mark{width:38px;height:38px;background:none;border-radius:0;padding:0}
.brand .brand-mark svg{width:38px;height:38px}
.brand .brand-dot{color:var(--gold);font-family:'IBM Plex Sans',sans-serif;font-weight:600}
.brand-tag{color:var(--faint)}
.nav-label{color:var(--faint);letter-spacing:.08em}
.nav a{color:var(--muted);border:1px solid transparent}
.nav a:hover{background:var(--panel);color:var(--ink)}
.nav a.active{background:var(--cyan-soft);color:var(--cyan);border-color:rgba(56,211,207,.25)}
.manifesto{background:var(--panel);border:1px solid var(--line)}
.manifesto svg{color:var(--gold)}
.manifesto p{color:var(--muted)}
.manifesto-link{color:var(--cyan)}
.topbar{background:rgba(11,21,30,.82);backdrop-filter:blur(10px);position:sticky;top:0;z-index:15}
.search-wrap input{background:var(--panel);border-color:var(--line);color:var(--ink)}
.search-wrap input::placeholder{color:var(--faint)}
.search-wrap input:focus{border-color:var(--cyan)}
.locale select{color:var(--ink);background:transparent}
.locale select option,.filters select option{background:var(--panel);color:var(--ink)}
.notice.live{background:var(--panel);border-color:var(--line);color:var(--muted)}
.notice.live svg{color:var(--cyan)}
.tiny-pill{background:transparent;border-color:var(--line);color:var(--faint)}

/* ---- The one bold element: the radar scope behind the price index ---- */
.market-card{background:radial-gradient(circle at 78% 50%,rgba(56,211,207,.08),transparent 62%),var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);isolation:isolate}
.market-card:before{content:'';position:absolute;right:-90px;top:50%;width:360px;height:360px;transform:translateY(-50%);border-radius:50%;z-index:-1;
  background:repeating-radial-gradient(circle,transparent 0 44px,rgba(56,211,207,.13) 44px 45px),linear-gradient(rgba(56,211,207,.08),rgba(56,211,207,.08)) center/1px 100% no-repeat,linear-gradient(rgba(56,211,207,.08),rgba(56,211,207,.08)) center/100% 1px no-repeat}
.market-card:after{content:'';position:absolute;right:-90px;top:50%;width:360px;height:360px;margin-top:-180px;border-radius:50%;z-index:-1;
  background:conic-gradient(from 0deg,rgba(56,211,207,.32),rgba(56,211,207,.05) 55deg,transparent 70deg);animation:sweep 6s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.market-top h2{font-size:18px;font-weight:700}
.market-top p{color:var(--muted);font-size:12px}
.index-row{border-bottom:1px solid var(--line-soft);font-size:13px}
.index-name{color:var(--ink)}
.index-name small{color:var(--faint)}
.index-gb{color:var(--gold);font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}
.market-note{color:var(--faint)}

/* ---- Stats strip ---- */
.stats{border-color:var(--line)}
.stat{border-color:var(--line)}
.stat-icon{background:var(--panel);border-color:var(--line);color:var(--cyan)}
.stat strong{font-size:26px;font-weight:700;letter-spacing:0}
.stat small,.stat .stat-note{color:var(--faint)}

/* ---- Filters ---- */
.category-tabs{border-color:var(--line)}
.category-tabs button{background:var(--panel);border-color:var(--line);color:var(--muted)}
.category-tabs button:hover{color:var(--ink);border-color:#2E4A61}
.category-tabs button.active{background:var(--cyan);border-color:var(--cyan);color:#06222A}
.filters{color:var(--muted)}
.filters select,.filters input[type=number]{background:var(--panel);border-color:var(--line);color:var(--ink)}
.filters input[type=checkbox],.form-check input{accent-color:var(--cyan)}
.result-bar{color:var(--faint)}
.result-bar strong{color:var(--ink)}
.text-btn{color:var(--cyan)}

/* ---- Product cards ---- */
.product-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;transition:border-color .15s}
.product-card{cursor:pointer}
.product-card:hover{transform:none;box-shadow:none;border-color:#33536C}
.product-card:hover .product-name{color:var(--cyan)}
.product-card:hover .offer-btn{background:var(--cyan);color:#06222A}
.product-visual,.product-visual.ssd,.product-visual.gpu{background:#0E1B26;border-bottom:1px solid var(--line)}
.product-visual:before{background:radial-gradient(ellipse,rgba(56,211,207,.07),transparent 68%)}
.product-visual:has(.product-photo){background:#0E1B26}
.product-visual .product-photo{background:var(--plate);border-radius:8px}
.category-label{color:var(--faint);background:rgba(11,21,30,.75);padding:3px 6px;border-radius:4px;font-size:9px;letter-spacing:.04em}
.watch-btn{background:rgba(11,21,30,.75);border-color:var(--line);color:var(--muted)}
.watch-btn.saved{background:var(--gold-soft);border-color:rgba(227,179,65,.45);color:var(--gold)}
.product-brand{color:var(--faint);letter-spacing:.04em;text-transform:none;font-size:11px;font-weight:500}
.product-name{color:var(--ink);font-size:17px;font-weight:600;letter-spacing:0;line-height:1.2}
.chip{background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:4px;font-weight:500}
.product-reference{color:var(--faint);font-size:10px}
.from{color:var(--faint)}
.product-price{color:var(--gold);font-size:28px;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}
.price-caption{color:var(--faint);font-size:10px}
.price-caption strong{color:var(--ink)}
.spark-wrap>span{color:var(--faint);font-size:10px}
.product-bottom{border-color:var(--line-soft)}
.merchant-dot{background:var(--panel-2);border-color:var(--panel);color:var(--muted)}
.offer-count{color:var(--muted);font-size:13px;margin-left:0}
.offer-count strong{color:var(--ink);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:700px){.offer-count{font-size:12px}.offer-count strong{font-size:14px}}
.offer-btn{background:var(--cyan-soft);color:var(--cyan);border:1px solid rgba(56,211,207,.25);font-size:11px}
.offer-btn:hover{background:var(--cyan);color:#06222A}

/* ---- Price signals ---- */
.deal{border-radius:4px;font-weight:600}
.deal.low{background:var(--cyan-soft);color:var(--cyan)}
.deal.normal{background:var(--panel-2);color:var(--muted)}
.deal.high{background:var(--coral-soft);color:var(--coral)}
.deal.none{color:var(--faint);border:1px dashed var(--line)}
.price-trend{background:var(--cyan-soft);color:var(--cyan);border-radius:4px}
.price-trend.up{background:var(--coral-soft);color:var(--coral)}
.price-trend.none{background:transparent;color:var(--faint)}

/* ---- Buttons, panels, forms ---- */
.btn{background:var(--cyan);border-color:var(--cyan);color:#06222A;font-weight:600}
.btn:hover{background:#5BE0DC}
.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.secondary:hover{border-color:var(--cyan);color:var(--cyan)}
.panel,.source-card,.empty,.modal-history,.offer-row{background:var(--panel);border-color:var(--line)}
.panel p,.prose,.page-title p,.source-card p,.empty p{color:var(--muted)}
.form-field input,.form-field select,.form-field textarea,.target-row input{background:var(--bg);border-color:var(--line);color:var(--ink)}
.target-row button{background:var(--gold);color:#241A02}
.target-badge{color:var(--gold)}
.calc-results{background:var(--panel-2)}
.source-state{background:var(--cyan-soft);color:var(--cyan)}
.source-state.error{background:var(--coral-soft);color:var(--coral)}
.source-card span{background:var(--gold-soft);color:var(--gold)}
.log td{border-color:var(--line-soft);color:var(--muted)}
.legal p,.legal li{color:var(--muted)}
.legal a,.panel a{color:var(--cyan)}

/* ---- Product dialog ---- */
dialog{background:var(--bg);border:1px solid var(--line);color:var(--ink);box-shadow:0 40px 120px rgba(0,0,0,.6)}
dialog::backdrop{background:rgba(3,8,12,.72)}
.modal-head{background:var(--panel);border-color:var(--line)}
.modal-head p{color:var(--muted)}
.close-btn{background:var(--panel-2);border-color:var(--line);color:var(--ink)}
.gallery-main,.gallery-thumbs button{background:var(--plate);border-color:var(--line)}
.gallery-thumbs button.active{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}
.period button{background:var(--panel-2);color:var(--muted)}
.period button.active{background:var(--cyan-soft);color:var(--cyan)}
.history-metrics{color:var(--faint)}
.history-metrics strong{color:var(--gold);font-size:18px}
.offer-row .seller-name{color:var(--ink)}
.offer-total{color:var(--gold);font-size:20px}
.offer-meta,.offer-label{color:var(--faint)}
.flag{border-color:var(--line);color:var(--muted)}
.advice{color:var(--muted)}

/* ---- Footer, toast ---- */
.footer{border-color:var(--line)}
.disclosure,.footer-bottom{color:var(--faint)}
.footer-links a{color:var(--muted)}
#toast{background:var(--panel-2);color:var(--ink);border:1px solid var(--line)}
.loading{color:var(--ink);background:var(--bg)}

/* ---- Amazon line: link only, no price, never ranked ---- */
.offer-row.amazon-row{grid-template-columns:1.3fr 2.4fr auto;border-style:dashed}
.amazon-note{font-size:12px;color:var(--muted)}
@media(max-width:980px){.offer-row.amazon-row{grid-template-columns:1fr auto}.offer-row.amazon-row .amazon-note{grid-column:1/-1;grid-row:2}.offer-row.amazon-row>a{grid-row:1;grid-column:2}}
/* ---- Cut-out product photos: the part floats on the board ---- */
.product-visual.cutout{background:radial-gradient(ellipse 60% 55% at 50% 58%,rgba(56,211,207,.10),transparent 70%),#0E1B26;height:150px}
.product-visual.cutout:before{display:none}
.product-visual.cutout .product-photo{background:none;padding:14px 22px 10px;inset:6px 8px;width:calc(100% - 16px);height:calc(100% - 12px);
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.55)) drop-shadow(0 0 1px rgba(230,237,240,.35))}
.modal-gallery.cutout .gallery-main,.modal-gallery.cutout .gallery-thumbs button{background:radial-gradient(ellipse at 50% 60%,rgba(56,211,207,.12),transparent 70%),#0E1B26}
.modal-gallery.cutout .gallery-main img{filter:drop-shadow(0 10px 14px rgba(0,0,0,.55)) drop-shadow(0 0 1px rgba(230,237,240,.35));padding:10px}
.history-metrics{flex-wrap:wrap;gap:10px 22px;justify-content:flex-start}
.history-metrics span{white-space:nowrap}
.advice{flex-wrap:wrap}
@media(max-width:700px){.history-metrics{gap:8px 16px}.history-metrics strong{font-size:16px}.modal-head .close-btn{position:absolute;right:14px;top:14px}.modal-head{position:relative}}
@media(max-width:700px){.sidebar{background:#0E1B26}.brand .brand-mark,.brand .brand-mark svg{width:30px;height:30px}.hero h1{font-size:40px}.product-price{font-size:22px}}
/* Public product pages and catalogue: full content is usable without JavaScript. */
.product-name a{color:inherit;text-decoration:none}.product-name a:hover{color:var(--cyan)}
a.offer-btn{text-decoration:none}.seo-page [hidden]{display:none!important}
.seo-header,.seo-main,.seo-footer{width:min(1160px,calc(100% - 40px));margin:0 auto}
.seo-header{padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
.seo-header .brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:24px;font-weight:700}
.seo-header .brand span{color:var(--gold);font-size:15px}.seo-header nav,.seo-footer nav,.seo-languages{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.seo-header nav a,.seo-footer a,.seo-pagination a,.seo-list a{color:var(--cyan);text-decoration:none}
.seo-header nav a:hover,.seo-footer a:hover,.seo-list a:hover{text-decoration:underline}
.seo-main{padding:28px 0 40px}.seo-main h1{font-size:clamp(30px,4vw,46px);line-height:1.12;overflow-wrap:anywhere}
.seo-main h2{font-size:25px}.seo-main p{line-height:1.7}.seo-languages{justify-content:flex-end;margin:0 0 26px}
.seo-languages a{padding:6px 12px;border:1px solid var(--line);border-radius:6px;color:var(--muted);text-decoration:none}
.seo-languages [aria-current=page]{color:var(--cyan);border-color:var(--cyan)}
.seo-product-head{display:grid;gap:34px;align-items:start;margin-bottom:24px}.seo-product-head:has(.seo-gallery){grid-template-columns:minmax(230px,1fr) minmax(0,1.5fr)}
.seo-gallery{display:flex;flex-wrap:wrap;gap:10px}.seo-gallery img{background:var(--panel);border:1px solid var(--line);border-radius:12px;object-fit:contain;width:calc(50% - 5px);height:140px;padding:14px}
.seo-gallery img:first-child{width:100%;height:auto;max-height:340px;aspect-ratio:4/3}
.seo-specs{display:grid;gap:10px;margin:20px 0}.seo-specs>div{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:16px;border-bottom:1px solid var(--line-soft);padding-bottom:8px}
.seo-specs dt{color:var(--muted)}.seo-specs dd{margin:0;overflow-wrap:anywhere}.seo-price{font-size:32px;font-weight:700;color:var(--gold);font-family:'Barlow Semi Condensed',sans-serif}
.seo-main .panel{margin-top:24px}.seo-description{max-width:85ch;color:var(--muted);overflow-wrap:anywhere}
.seo-warning{padding:14px;border:1px solid var(--gold);border-radius:8px;color:var(--gold)}
.seo-table{overflow-x:auto}.seo-main table{width:100%;border-collapse:collapse;font-size:13px}.seo-table table{min-width:850px}
.seo-main th,.seo-main td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.seo-main thead th{color:var(--muted);font-weight:500}
.seo-main td .btn{white-space:nowrap;font-size:12px}.seo-main .btn:not(.secondary){color:#06222A}.seo-stale{color:var(--muted)}.seo-main time{white-space:nowrap;font-size:12px}
.seo-main details{margin:18px 0}.seo-main summary{cursor:pointer;color:var(--cyan)}.seo-main .big-chart{margin:12px 0}
.seo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.seo-list .panel{padding:22px}.seo-list h2{font-size:22px;overflow-wrap:anywhere}.seo-list p{overflow-wrap:anywhere}
.seo-pagination{display:flex;justify-content:space-between;gap:20px;margin-top:30px}.seo-footer{padding:24px 0 32px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
@media(max-width:800px){.seo-product-head:has(.seo-gallery){grid-template-columns:1fr}.seo-gallery{max-width:460px}.seo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-header{flex-wrap:wrap}.seo-header nav{font-size:13px}}
@media(max-width:520px){.seo-list{grid-template-columns:1fr}.seo-header,.seo-main,.seo-footer{width:calc(100% - 28px)}.seo-main .panel{padding:18px}.seo-specs>div{grid-template-columns:1fr 1.3fr}.seo-header nav{gap:12px}}

/* ---- Owner statistics (/gestion/stats) ---- */
.stats-period{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px}
.stats-period button{border:1px solid var(--line);border-radius:6px;padding:7px 12px;font-size:12px;cursor:pointer}
.skpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.skpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.skpi strong{font-family:'Barlow Semi Condensed',sans-serif;font-size:30px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px}
.skpi span{font-size:12px;color:var(--muted)}
.skpi small{font-size:11px;color:var(--faint)}
.slive{width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px var(--cyan-soft);animation:livepulse 2s ease-in-out infinite}
@keyframes livepulse{50%{box-shadow:0 0 0 7px rgba(56,211,207,.05)}}
.schart{padding:14px 16px;margin-bottom:14px}
.schart svg{width:100%;height:auto;display:block}
.schart text{fill:var(--faint);font-size:10px;font-family:'IBM Plex Sans',sans-serif}
.slegend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-bottom:6px}
.slegend .dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.dot.cyan{background:var(--cyan)}.dot.gold{background:var(--gold)}
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.spanel{padding:14px 16px;min-width:0}
.spanel h2{font-size:15px;margin:0 0 8px}
.srow{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(40px,1fr) auto;gap:10px;align-items:center;font-size:12px;padding:4px 0;border-bottom:1px solid var(--line-soft)}
.srow:last-child{border-bottom:0}
.srow span{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow em{font-style:normal;color:var(--faint);font-size:10px}
.srow em.szero{color:var(--coral)}
.srow b{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}
.sbar{height:6px;background:var(--panel-2);border-radius:3px;overflow:hidden}
.sbar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),rgba(56,211,207,.55));border-radius:3px}
.snote,.sempty{font-size:11px;color:var(--faint);margin:0 0 8px}
.sfoot{margin-top:16px}
.shours{display:grid;grid-template-columns:repeat(24,1fr);gap:3px;height:110px;align-items:end}
.shours div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}
.shours i{display:block;width:100%;background:var(--gold);opacity:.75;border-radius:2px 2px 0 0}
.shours span{font-size:9px;color:var(--faint);height:11px}
@media(max-width:1100px){.sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.skpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sgrid{grid-template-columns:1fr}.skpi strong{font-size:24px}}

.sindexnow{margin-top:12px}.sindexnow .srow{grid-template-columns:minmax(0,1fr) 0 auto}.sindexnow b.sok{color:var(--cyan)}

/* ---- Owner collection activity (/gestion/collecte) ---- */
.dot.coral{background:var(--coral)}
.skpi.kok strong{color:var(--cyan)}.skpi.kwarn strong{color:var(--gold)}
.cdown{color:var(--cyan)}.cup{color:var(--coral)}
.ctable{padding:14px 16px;margin-bottom:14px}
.ctable h2{font-size:15px;margin:0 0 4px}
.chead,.crow>summary{display:grid;grid-template-columns:150px minmax(0,1.6fr) repeat(6,minmax(64px,.7fr));gap:10px;align-items:center}
.chead{font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.05em;padding:8px 10px;border-bottom:1px solid var(--line)}
.crow{border-bottom:1px solid var(--line-soft)}
.crow>summary{list-style:none;cursor:pointer;padding:9px 10px;font-size:12px;border-radius:6px}
.crow>summary::-webkit-details-marker{display:none}
.crow>summary:hover{background:var(--panel-2)}
.crow[open]>summary{background:var(--panel-2)}
.cname{color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cname em{font-style:normal;color:var(--faint);font-weight:400;font-size:10px;margin-left:4px}
.cnum{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.cnum.cerrn{color:var(--coral);font-weight:600}
.cchip{font-size:10px;font-weight:600;padding:3px 7px;border-radius:4px;white-space:nowrap;justify-self:start}
.cchip.cok{background:var(--cyan-soft);color:var(--cyan)}
.cchip.cwarn{background:var(--gold-soft);color:var(--gold)}
.cchip.cbad{background:var(--coral-soft);color:var(--coral)}
.cchip.cpause{background:rgba(157,180,255,.13);color:#9DB4FF}
.cchip.cidle{background:var(--panel-2);color:var(--faint)}
.cdetail{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:10px 14px 16px 170px;font-size:12px}
.cdetail ul{margin:0;padding:0;list-style:none}
.cdetail li{padding:3px 0;color:var(--muted)}
.cdetail li b{color:var(--ink);display:inline-block;min-width:44px;font-variant-numeric:tabular-nums}
.cdetail li.cerr b{color:var(--coral)}.cdetail li.charm{color:var(--faint)}
.cdetail dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.cdetail dt{color:var(--faint);font-size:10px}.cdetail dd{margin:0;color:var(--ink)}
.cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.srow.cev{grid-template-columns:minmax(0,1fr) auto}
.srow.cev span{white-space:normal}
.srow.cev a{color:var(--cyan);font-size:11px;text-decoration:none}
@media(max-width:1100px){.chead{display:none}.crow>summary{grid-template-columns:110px minmax(0,1fr) auto auto}.crow>summary .cnum:nth-of-type(n+5){display:none}.cdetail{padding-left:14px;grid-template-columns:1fr}.cgrid{grid-template-columns:1fr}}

/* ---- PC configurator (build.js) ---- */
.build-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start;margin-top:8px}
.build-slots{display:flex;flex-direction:column;gap:12px}
.slot{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.slot.empty-slot{border-style:dashed}
.slot.conflict{border-color:var(--coral)}
.slot-name{display:flex;align-items:center;gap:10px;color:var(--cyan);font-family:'Barlow Semi Condensed',sans-serif;font-weight:700;font-size:17px;letter-spacing:.02em}
.slot-name span{display:flex;flex-direction:column;color:var(--ink)}
.slot-name small{color:var(--faint);font:400 12px 'IBM Plex Sans',sans-serif;letter-spacing:0}
.slot-body{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;min-width:0}
.empty-slot .slot-body{display:block}
.slot-thumb{width:72px;height:56px;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px}
.slot-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.slot-thumb svg.hardware{width:100%;height:100%}
.slot-info{min-width:0;display:flex;flex-direction:column;gap:6px}
.slot-title{color:var(--ink);font-weight:600;line-height:1.3;overflow-wrap:anywhere;text-decoration:none}
.slot-title:hover{color:var(--cyan)}
.slot-price{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;white-space:nowrap}
.slot-price strong{font-family:'Barlow Semi Condensed',sans-serif;font-size:22px;color:var(--gold)}
.slot-price small{color:var(--muted);font-size:12px}
.slot-price .btn{padding:6px 10px;font-size:12px}
.slot-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.fit{display:inline-block;align-self:flex-start;font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fit.ok{color:var(--cyan);background:var(--cyan-soft);border-color:transparent}
.fit.bad{color:var(--coral);background:var(--coral-soft);border-color:transparent}
.fit.check{color:var(--gold);background:var(--gold-soft);border-color:transparent}
.build-summary{position:sticky;top:18px;display:flex;flex-direction:column;gap:12px}
.build-total{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.build-total span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.build-total strong{font-family:'Barlow Semi Condensed',sans-serif;font-size:40px;line-height:1.1;color:var(--gold)}
.build-total small{color:var(--faint);font-size:12px}
.build-line{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--ink)}
.build-line svg{flex:none;margin-top:2px;color:var(--muted)}
.build-line small{display:block;color:var(--faint);font-size:12px}
.build-line.bad,.build-line.bad svg{color:var(--coral)}
.build-line.check svg{color:var(--gold)}
.build-line.ok svg{color:var(--cyan)}
.build-shops{border-top:1px solid var(--line);padding-top:12px}
.build-shops h3{font-size:15px;margin:0 0 8px}
.build-shops div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px}
.build-shops strong{color:var(--gold)}
.build-buttons{display:flex;flex-direction:column;gap:8px}
.build-buttons .btn{justify-content:center}
.build-buttons .btn[disabled]{opacity:.45;cursor:not-allowed}
dialog.picker-dialog{width:min(980px,96vw);max-height:90vh;padding:0;overflow:auto}
.picker-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 6px}
.picker-head h2{margin:0;font-size:24px}
.picker-filters{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;padding:6px 22px 4px}
.picker-filters input[type=search]{flex:1 1 260px;min-width:0}
#pick-list{padding:4px 22px 22px;display:flex;flex-direction:column;gap:8px}
.pick-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel)}
.pick-row strong{overflow-wrap:anywhere}
@media(max-width:1100px){.build-layout{grid-template-columns:1fr}.build-summary{position:static}}
@media(max-width:760px){.slot{grid-template-columns:1fr;gap:10px}.slot-actions{flex-direction:row;justify-content:flex-end}.slot-body{grid-template-columns:60px minmax(0,1fr)}.slot-body .slot-price{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}.pick-row{grid-template-columns:56px minmax(0,1fr)}.pick-row .slot-price{grid-column:1/-1;flex-direction:row;justify-content:space-between}.pick-row .btn{grid-column:1/-1}}

/* ---- TTC / HTVA switch ---- */
.vat-switch select{font-weight:600}
.vat-note{display:block;color:var(--faint);font-size:11px;margin-top:2px;white-space:nowrap}
.history-top h3 small{color:var(--faint);font-weight:400;font-size:12px}
