
/* Tech e‑commerce 2025: crisp, neutral, high-clarity UI */
:root{
  --bg:#f5f7fb;--surface:#ffffff;--elev:#fbfdff;--text:#0b1220;--muted:#5f6c8c;--border:rgba(11,18,32,.08);
  --accent:#2563eb;--accent-2:#06b6d4;--ring:rgba(37,99,235,.35);
  --radius:16px;--shadow:0 14px 28px -18px rgba(2,6,23,.18),0 4px 10px rgba(2,6,23,.06);
  --transition:200ms cubic-bezier(.2,.7,.2,1);
  --display-font:'Space Grotesk', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}
@media (prefers-color-scheme: dark){
  :root{--bg:#0b0f1a;--surface:#0f1526;--elev:#0b1220;--text:#e8eeff;--muted:#9aa8c7;--border:rgba(122,162,255,.18);--accent:#7aa2ff;--accent-2:#60a5fa;--ring:rgba(122,162,255,.35)}
}
/* explicit dark override when data-theme="dark" */
[data-theme="dark"]{
  --bg:#0b0f1a;--surface:#0f1526;--elev:#0b1220;--text:#e8eeff;--muted:#9aa8c7;--border:rgba(122,162,255,.18);--accent:#7aa2ff;--accent-2:#60a5fa;--ring:rgba(122,162,255,.35)
}
*{box-sizing:border-box}
html,body{padding:0;margin:0}
body{
  min-height:100dvh;background:
    radial-gradient(900px 340px at 0% -18%, color-mix(in oklab, var(--accent) 8%, transparent), transparent 60%),
    radial-gradient(900px 340px at 100% -22%, color-mix(in oklab, var(--accent-2) 8%, transparent), transparent 60%),
    var(--bg);
  color:var(--text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing:antialiased;moz-osx-font-smoothing:grayscale
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:24px}
header.site-header{position:sticky;top:0;background:color-mix(in oklab, var(--surface) 86%, transparent);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--border);z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--text)}
.brand .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 12%, transparent)}
.nav nav{display:flex;align-items:center;gap:14px}
.icon-btn{border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--elev));border-radius:10px;padding:8px 10px;cursor:pointer;box-shadow:var(--shadow);transition:transform var(--transition)}
.icon-btn:hover{transform:translateY(-1px)}
.hero{padding:104px 0 68px;position:relative}
.hero::before{content:"";position:absolute;inset:-8% -8% auto -8%;height:320px;background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 20%, transparent), color-mix(in oklab, var(--accent-2) 16%, transparent));filter:blur(42px);opacity:.85;z-index:-1;border-radius:50%}
.hero h1{font-family:var(--display-font);letter-spacing:-0.01em;font-weight:700;font-size:clamp(40px,5.4vw,58px);line-height:1.04;margin:0 0 12px;color:var(--text)}
.hero p{color:var(--muted);font-size:17px;max-width:760px}
.hero .container{max-width:960px}
.search{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.search-input{flex:1;min-width:260px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--elev));border-radius:12px;padding:12px 14px;color:var(--text);outline:2px solid transparent;outline-offset:2px;transition:border-color var(--transition), box-shadow var(--transition)}
.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 6px var(--ring)}
.cta{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow);transition:.2s transform ease,.2s box-shadow ease}
.btn.primary{background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 76%, #fff), color-mix(in oklab, var(--accent-2) 58%, #fff));color:#fff;border-color:transparent}
.btn:hover{transform:translateY(-1px)}
.btn.secondary{background:var(--surface)}
.section-title{display:flex;align-items:center;gap:10px;margin:32px 0 16px;color:var(--muted);font-weight:600}
.section-title .bar{width:8px;height:8px;border-radius:2px;background:linear-gradient(135deg,var(--accent),var(--accent-2))}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;animation:fadeUp .5s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.card{background:linear-gradient(180deg,var(--surface),var(--elev));border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 20px 40px -20px rgba(15,23,42,.25),0 6px 16px rgba(15,23,42,.1)}
.card .thumb{aspect-ratio:4/3;background:color-mix(in oklab, var(--text) 4%, var(--surface));display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .thumb img{max-height:92%;max-width:92%;object-fit:contain;transition:transform var(--transition)}
.card:hover .thumb img{transform:scale(1.03)}
.card .body{padding:16px}
.card .title{font-size:17px;font-weight:800;margin:0 0 8px}
.card .title a{color:var(--text)}
.card .title a:hover{color:var(--text);text-decoration:underline}
.card .meta{color:var(--muted);font-size:13px;margin-bottom:12px;display:flex;justify-content:space-between;gap:8px;align-items:center}
.card .brief{color:color-mix(in oklab, var(--text) 80%, var(--muted));font-size:14px;line-height:1.6;height:72px;overflow:hidden}
.card .actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.price{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg, color-mix(in oklab,var(--accent) 18%, var(--surface)), color-mix(in oklab,var(--accent-2) 16%, var(--surface)));color:color-mix(in oklab, var(--text) 90%, #fff);font-weight:800;border:1px solid var(--border)}
footer.site-footer{margin-top:40px;border-top:1px solid var(--border);color:var(--muted)}
.product{display:grid;gap:28px;grid-template-columns:1fr}
@media(min-width:960px){.product{grid-template-columns:420px 1fr}}
.product .image{background:linear-gradient(180deg,var(--surface),var(--elev));border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;padding:22px;box-shadow:var(--shadow);position:sticky;top:96px;height:fit-content}
.product .image img{max-width:100%;max-height:420px;object-fit:contain}
.product .content{background:linear-gradient(180deg,var(--surface),var(--elev));border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.product h1.title{margin:0 0 10px}
.product .title a{color:var(--text)}
.product .title a:hover{color:var(--text);text-decoration:underline}
.product h2{margin:14px 0 10px}
.badge{display:inline-block;background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 12%, var(--surface)), color-mix(in oklab, var(--accent-2) 10%, var(--surface)));border:1px solid color-mix(in oklab, var(--accent) 30%, var(--border));color:color-mix(in oklab, var(--text) 85%, #fff);padding:4px 10px;border-radius:999px;font-size:12px}
/* buy block */
.buy-block{margin-top:22px;background:linear-gradient(180deg,var(--surface),var(--elev));border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.buy-block h3{margin:0 0 8px}
.buy-block p.note{margin:6px 0 12px;color:var(--muted)}
.buy-list{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted)}
img.placeholder{object-fit:contain;opacity:.9;filter:saturate(.9)}
