:root{
  --bg:#07111f;
  --bg-soft:#0c1a2e;
  --card:#101f36;
  --card-border:#1c2f4d;
  --text:#eaf1fb;
  --text-dim:#9fb3cc;
  --accent:#7c9fff;
  --accent-soft:#2a3d63;
  --accent2:#ffb173;
  --live:#5fe3a1;
  --radius:16px;
  --maxw:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(circle at 20% -10%, #132546 0%, var(--bg) 45%);
  color:var(--text);
  line-height:1.55;
  transition:background-color .2s ease,color .2s ease;
}

/* light theme */
html[data-theme="light"]{
  --bg:#f4f7fc;
  --bg-soft:#e8eef9;
  --card:#ffffff;
  --card-border:#dde5f3;
  --text:#111c30;
  --text-dim:#5a6a86;
  --accent:#3d5fdb;
  --accent-soft:#dfe7ff;
  --accent2:#d9691f;
  --live:#1a9a63;
}
html[data-theme="light"] body{
  background:radial-gradient(circle at 20% -10%, #e2eaf9 0%, var(--bg) 45%);
}
html[data-theme="light"] header.site{background:rgba(244,247,252,.9)}
html[data-theme="light"] .badge{color:#1d3a8a}
html[data-theme="light"] .ad-zone{border-color:#c7d5ee;color:#6b7ea3}
html[data-theme="light"] button.btn,html[data-theme="light"] .calc-tab.active{color:#ffffff}
html[data-theme="light"] button.btn.ghost{color:var(--text)}
.noise-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text);font-weight:700}
html[data-theme="light"] article.guide p,html[data-theme="light"] article.guide ul,html[data-theme="light"] article.guide li{color:#33425c}
html[data-theme="light"] .callout{color:#1a2c55}
html[data-theme="light"] .result-row .meta{color:var(--text-dim)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* header */
header.site{
  border-bottom:1px solid var(--card-border);
  background:rgba(7,17,31,.85);
  backdrop-filter:blur(6px);
  position:sticky;top:0;z-index:50;
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.25rem;letter-spacing:.2px}
.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent2);box-shadow:0 0 10px var(--accent2)}
.brand small{display:block;font-size:.62rem;font-weight:500;color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase}
nav.links{display:flex;gap:22px;font-size:.92rem}
nav.links a{color:var(--text-dim);transition:color .15s}
nav.links a:hover,nav.links a.active{color:var(--text)}
.nav-toggle{display:none}

.lang-switch{display:flex;gap:2px;font-size:.72rem;letter-spacing:.5px;flex-wrap:wrap}
.lang-switch a{
  color:var(--text-dim);padding:4px 7px;border-radius:6px;font-weight:600;
}
.lang-switch a:hover{color:var(--text);background:var(--bg-soft)}
.lang-switch a.active{color:var(--accent2);background:var(--accent-soft)}

.header-actions{display:flex;align-items:center;gap:10px}
.theme-toggle{
  background:var(--bg-soft);border:1px solid var(--card-border);color:var(--text);
  width:34px;height:34px;min-width:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.95rem;line-height:1;cursor:pointer;padding:0;
  transition:border-color .15s,transform .15s;
}
.theme-toggle:hover{border-color:var(--accent);transform:scale(1.06)}

html[dir="rtl"] .lang-switch,html[dir="rtl"] nav.links{direction:ltr}
html[dir="rtl"] .breadcrumb{direction:rtl}
html[dir="rtl"] .result-row,html[dir="rtl"] .cta-inline,html[dir="rtl"] .time-input-row{direction:rtl}

@media(max-width:900px){
  .nav{flex-wrap:wrap;gap:10px}
  nav.links{order:3;width:100%;gap:14px;flex-wrap:wrap}
}

/* hero */
.hero{padding:56px 0 28px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--accent-soft);color:#cfe0ff;
  padding:6px 14px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase;
  margin-bottom:18px;
}
.badge .pulse{width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.12;margin:0 0 14px;font-weight:800}
.lead{color:var(--text-dim);font-size:1.08rem;max-width:640px;margin:0 0 30px}

/* ad zones */
.ad-zone{
  border:1px dashed #2a3f63;border-radius:12px;
  color:#5f7ba3;
  font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;
  min-height:90px;margin:26px 0;background:rgba(255,255,255,.02);
}
.ad-zone.tall{min-height:250px}
.ad-zone.wide{min-height:120px}

/* card grid */
.section{padding:34px 0}
.section h2{font-size:1.5rem;margin:0 0 6px}
.section .sub{color:var(--text-dim);font-size:.95rem;margin:0 0 22px}
.grid{display:grid;gap:16px}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.grid.cols-5{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.grid.cols-3,.grid.cols-4,.grid.cols-5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid.cols-2,.grid.cols-3,.grid.cols-4,.grid.cols-5{grid-template-columns:1fr}}

.card{
  background:linear-gradient(180deg,var(--card),var(--bg-soft));
  border:1px solid var(--card-border);border-radius:var(--radius);
  padding:22px;transition:transform .15s,border-color .15s;
}
.card:hover{transform:translateY(-3px);border-color:var(--accent)}
.card .icon{font-size:1.6rem;margin-bottom:10px}
.card h3{margin:0 0 8px;font-size:1.05rem}
.card p{margin:0;color:var(--text-dim);font-size:.9rem}

.tool-card{cursor:pointer;display:block}

/* calculator */
.calc-box{
  background:linear-gradient(180deg,var(--card),var(--bg-soft));
  border:1px solid var(--card-border);border-radius:20px;padding:28px;
}
.calc-tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.calc-tab{
  padding:9px 16px;border-radius:999px;background:var(--bg-soft);
  border:1px solid var(--card-border);color:var(--text-dim);font-size:.88rem;cursor:pointer;
}
.calc-tab.active{background:var(--accent);color:#0b1428;border-color:var(--accent);font-weight:700}
.time-input-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.time-input-row label{font-size:.85rem;color:var(--text-dim);display:block;margin-bottom:8px}
input[type=time],select{
  background:var(--bg);border:1px solid var(--card-border);color:var(--text);
  padding:12px 14px;border-radius:10px;font-size:1.1rem;font-family:inherit;
}
button.btn{
  background:var(--accent);color:#0b1428;border:none;font-weight:700;
  padding:13px 26px;border-radius:12px;font-size:.98rem;cursor:pointer;
}
button.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;border:1px solid var(--card-border);color:var(--text)}

.results{margin-top:26px;display:grid;gap:10px}
.result-row{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--bg-soft);border:1px solid var(--card-border);
  border-radius:12px;padding:14px 18px;
}
.result-row .time{font-size:1.35rem;font-weight:800;color:var(--accent2)}
.result-row .meta{color:var(--text-dim);font-size:.82rem}
.result-row.best{border-color:var(--live)}
.result-row.best .time{color:var(--live)}

/* guide article */
article.guide{padding:20px 0 60px}
article.guide h1{margin-bottom:10px}
article.guide .meta{color:var(--text-dim);font-size:.85rem;margin-bottom:30px}
article.guide h2{font-size:1.4rem;margin:34px 0 12px}
article.guide p{color:#d3ddef;margin:0 0 16px}
article.guide ul,article.guide ol{color:#d3ddef;padding-left:22px}
article.guide li{margin-bottom:8px}
.callout{
  background:var(--accent-soft);border-left:4px solid var(--accent);
  padding:16px 20px;border-radius:10px;margin:22px 0;color:#e2ebff;font-size:.95rem;
}

/* faq */
.faq-item{border-bottom:1px solid var(--card-border);padding:16px 0}
.faq-item h3{margin:0 0 8px;font-size:1rem}
.faq-item p{margin:0;color:var(--text-dim);font-size:.92rem}

/* footer */
footer.site{border-top:1px solid var(--card-border);padding:40px 0;margin-top:40px;color:var(--text-dim);font-size:.85rem}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;margin-bottom:26px}
footer.site h4{color:var(--text);font-size:.85rem;margin:0 0 12px}
footer.site ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
footer.site a:hover{color:var(--text)}
.bottom-bar{border-top:1px solid var(--card-border);padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media(max-width:760px){footer.site .cols{grid-template-columns:1fr 1fr}}

.breadcrumb{font-size:.8rem;color:var(--text-dim);margin:16px 0}
.breadcrumb a:hover{color:var(--text)}

.pill-list{display:flex;flex-wrap:wrap;gap:8px}
.pill-list a{
  background:var(--bg-soft);border:1px solid var(--card-border);border-radius:999px;
  padding:7px 14px;font-size:.82rem;color:var(--text-dim);
}
.pill-list a:hover{color:var(--text);border-color:var(--accent)}

.cta-inline{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  background:linear-gradient(120deg,var(--accent-soft),var(--card));
  border:1px solid var(--card-border);border-radius:16px;padding:24px 28px;margin:30px 0;
}
.cta-inline h3{margin:0 0 4px}
.cta-inline p{margin:0;color:var(--text-dim);font-size:.9rem}

/* affiliate product picks */
.product-picks{margin:30px 0}
.product-picks h2{font-size:1.3rem;margin:0 0 14px}
.product-card{display:flex;flex-direction:column;gap:10px}
.product-card h3{margin:0;font-size:1.02rem;line-height:1.35}
.product-card p{flex:1}
.product-card .cta-amazon{
  align-self:flex-start;text-decoration:none;display:inline-block;
  padding:9px 18px;font-size:.85rem;margin-top:2px;
}
.disclosure-note{color:var(--text-dim);font-size:.76rem;font-style:italic;margin:16px 0 0}

/* comparison table */
.compare-table-wrap{overflow-x:auto;margin:18px 0 30px;border:1px solid var(--card-border);border-radius:var(--radius)}
table.compare-table{width:100%;border-collapse:collapse;background:linear-gradient(180deg,var(--card),var(--bg-soft));min-width:560px}
table.compare-table th,table.compare-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--card-border);font-size:.9rem;color:var(--text)}
html[dir="rtl"] table.compare-table th,html[dir="rtl"] table.compare-table td{text-align:right}
table.compare-table thead th{color:var(--text-dim);font-size:.76rem;text-transform:uppercase;letter-spacing:.5px;font-weight:700;background:rgba(255,255,255,.02)}
table.compare-table tbody tr:last-child td{border-bottom:none}
table.compare-table tbody tr:hover{background:rgba(255,255,255,.03)}
table.compare-table .cta-amazon{padding:8px 16px;font-size:.82rem;white-space:nowrap}
html[data-theme="light"] table.compare-table thead th{background:rgba(0,0,0,.02)}
html[data-theme="light"] table.compare-table tbody tr:hover{background:rgba(0,0,0,.03)}
html[data-theme="light"] table.compare-table th,html[data-theme="light"] table.compare-table td{color:#1a2c47}
@media(max-width:640px){table.compare-table{min-width:520px}}
