/* Repetitor.tech reviews network — общая тема, акцент подставляется на <body> */

*,*::before,*::after{box-sizing:border-box}
:root{
  --bg:#fff; --bg-soft:#f6f7fb; --bg-card:#fff;
  --fg:#15181f; --fg-muted:#5f6673; --line:#e5e8ef;
  --accent:#2F6BFF; --accent-dark:#7FA6FF; --accent-fg:#fff;
  --ok:#0f9d74; --star:#f0a92c;
  --radius:14px; --wrap:1120px;
  --shadow:0 1px 2px rgba(16,20,30,.05),0 8px 24px rgba(16,20,30,.06);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","Inter","Helvetica Neue",Arial,sans-serif;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0f1218; --bg-soft:#151922; --bg-card:#171b24;
    --fg:#e8ebf2; --fg-muted:#98a1b3; --line:#252b38;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.3);
  }
}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--font); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-color-scheme:dark){ body{ --accent:var(--accent-dark); --accent-fg:#0f1218 } }

img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;letter-spacing:-.01em;font-weight:650}
h1{font-size:clamp(1.85rem,1.2rem + 2.2vw,2.9rem)}
h2{font-size:clamp(1.35rem,1.05rem + 1.1vw,1.9rem);margin-top:1.6em}
h3{font-size:1.15rem;margin-top:1.4em}
p{margin:0 0 1em}
ul,ol{padding-left:1.3em}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
code{background:var(--bg-soft);padding:.15em .4em;border-radius:6px;font-size:.9em}
pre{background:var(--bg-soft);padding:1rem;border-radius:var(--radius);overflow-x:auto;border:1px solid var(--line)}
pre code{background:none;padding:0}
blockquote{margin:1.5rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:3px solid var(--accent);color:var(--fg-muted)}
.table-wrap{overflow-x:auto;margin:1.5rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:650;background:var(--bg-soft)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.muted{color:var(--fg-muted)}
.plain{list-style:none;padding:0;margin:0}
.plain li{margin:.35em 0}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--accent);color:var(--accent-fg);padding:.6em 1em;border-radius:8px;z-index:99}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:1.2rem;min-height:62px}
.logo{display:flex;align-items:center;gap:.55rem;color:var(--fg);font-weight:650;flex:0 0 auto}
.logo:hover{text-decoration:none}
.logo-mark{width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#fff));flex:0 0 auto}
.logo-text{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:15em}
.nav{display:flex;gap:1.35rem;margin-left:auto;font-size:.95rem}
.nav a{color:var(--fg-muted)}
.nav a:hover{color:var(--fg);text-decoration:none}
.header-cta{flex:0 0 auto}
.burger{display:none;background:none;border:0;padding:.5rem;cursor:pointer;flex-direction:column;gap:4px}
.burger span{display:block;width:20px;height:2px;background:var(--fg);border-radius:2px}
.mobile-nav{display:none;flex-direction:column;gap:.2rem;padding:.6rem 20px 1.1rem;border-top:1px solid var(--line)}
.mobile-nav a{padding:.55rem 0;color:var(--fg)}
.mobile-nav .btn{margin-top:.6rem;text-align:center}
@media (max-width:860px){
  .nav,.header-cta{display:none}
  .burger{display:flex;margin-left:auto}
  .mobile-nav:not([hidden]){display:flex}
}

.disclosure-bar{background:var(--bg-soft);border-bottom:1px solid var(--line);font-size:.83rem;color:var(--fg-muted)}
.disclosure-bar .wrap{padding-top:.5rem;padding-bottom:.5rem}

.breadcrumbs{font-size:.85rem;color:var(--fg-muted);padding:.9rem 0 0}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0}
.breadcrumbs li+li::before{content:"/";margin-right:.4rem;color:var(--line)}
.breadcrumbs a{color:var(--fg-muted)}

/* buttons + chips */
.btn{display:inline-block;background:var(--accent);color:var(--accent-fg);padding:.7em 1.25em;border-radius:10px;font-weight:600;font-size:.95rem;border:0;cursor:pointer;transition:filter .15s}
.btn:hover{filter:brightness(1.08);text-decoration:none}
.btn-sm{padding:.5em .95em;font-size:.87rem}
.btn-lg{padding:.85em 1.7em;font-size:1.02rem}
.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
.chip{display:inline-block;font-size:.78rem;padding:.28em .7em;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}
.chip:hover{text-decoration:none;background:color-mix(in srgb,var(--accent) 20%,transparent)}
.chip-quiet{background:var(--bg-soft);color:var(--fg-muted);border-color:var(--line)}
.chip-ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}

/* hero */
.hero{padding:3.2rem 0 2.4rem;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent)}
.hero h1{margin-bottom:.4em;max-width:16ch}
.hero-lead{font-size:1.12rem;color:var(--fg-muted);max-width:56ch;margin-bottom:1.6rem}
.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.hero-stats{display:flex;gap:2.2rem;flex-wrap:wrap;margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.hero-stat b{display:block;font-size:1.7rem;line-height:1.2;font-weight:680}
.hero-stat span{font-size:.87rem;color:var(--fg-muted)}

section.band{padding:2.8rem 0}
section.band-soft{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.section-head h2{margin:0}

/* grids + cards */
.grid{display:grid;gap:1rem}
.grid-3{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow)}
.card h3{margin-top:0;font-size:1.05rem}
.card-top{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:.5rem}

.review-card{display:flex;flex-direction:column;gap:.55rem}
.review-head{display:flex;justify-content:space-between;align-items:center;font-size:.82rem}
.review-title{margin:0;font-size:1.05rem}
.review-body{margin:0;font-size:.96rem;color:var(--fg)}
.review-meta{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;font-size:.85rem;margin-top:auto;padding-top:.3rem}
.review-meta .author{font-weight:600}
.review-feats{display:flex;gap:.4rem;flex-wrap:wrap}
.stars{color:var(--star);letter-spacing:1px;font-size:.95rem}
.stars-off{color:var(--line)}

/* rating summary */
.rating-summary{display:flex;gap:2.5rem;align-items:center;flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.6rem;box-shadow:var(--shadow)}
.rating-value{font-size:3rem;font-weight:700;line-height:1}
.rating-big{text-align:center}
.rating-dist{flex:1;min-width:240px;display:flex;flex-direction:column;gap:.3rem}
.dist-row{display:flex;align-items:center;gap:.7rem;font-size:.85rem}
.dist-label{width:2.6em;color:var(--fg-muted)}
.dist-bar{flex:1;height:8px;background:var(--bg-soft);border-radius:99px;overflow:hidden}
.dist-bar span{display:block;height:100%;background:var(--star);border-radius:99px}
.dist-n{width:3em;text-align:right}

/* filters */
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.2rem 0 1.6rem;align-items:center}
.filters input[type=search],.filters select{font:inherit;font-size:.9rem;padding:.5em .8em;border:1px solid var(--line);border-radius:10px;background:var(--bg-card);color:var(--fg)}
.filters input[type=search]{min-width:min(320px,100%)}
.filter-empty{padding:2rem 0;color:var(--fg-muted)}

/* article */
.article{max-width:760px;margin:0 auto;padding:1.5rem 0 3rem}
.article-header{margin-bottom:1.6rem}
.article-meta{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.87rem;color:var(--fg-muted);margin-top:.7rem}
.article-summary{background:var(--bg-soft);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);padding:1rem 1.2rem;margin:1.6rem 0 2rem;font-size:1rem}
.article-summary strong{display:block;margin-bottom:.3em;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted)}
.article-body h2{scroll-margin-top:80px}
.article-body h3{scroll-margin-top:80px}
.toc{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem;margin:0 0 2rem;font-size:.93rem}
.toc-h{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin-bottom:.5em}
.toc ol{margin:0;padding-left:1.2em}
.toc li{margin:.25em 0}
.article-footer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1rem}

/* service page */
.service-hero{padding:2.6rem 0 1.6rem}
.feature-list{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:1.4rem 0}
.feature-item{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}
.feature-item h3{margin:0 0 .3em;font-size:1rem}
.feature-item p{margin:0;font-size:.9rem;color:var(--fg-muted)}

/* cta */
.cta{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,transparent),color-mix(in srgb,var(--accent) 4%,transparent));border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:var(--radius);padding:1.8rem;margin:2.5rem 0;text-align:center}
.cta h2{margin-top:0}
.cta p{max-width:52ch;margin:0 auto 1.2rem;color:var(--fg-muted)}

/* pagination */
.pagination{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center;margin:2.5rem 0 1rem}
.pg{min-width:2.4em;text-align:center;padding:.5em .7em;border:1px solid var(--line);border-radius:9px;font-size:.9rem;color:var(--fg-muted);background:var(--bg-card)}
.pg:hover{text-decoration:none;border-color:var(--accent);color:var(--accent)}
.pg-cur{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.pg-gap{border:0;background:none}
.pg-nav{min-width:auto}

/* footer */
.site-footer{background:var(--bg-soft);border-top:1px solid var(--line);margin-top:4rem;padding:2.6rem 0 1.6rem;font-size:.92rem}
.footer-grid{display:grid;gap:2rem;grid-template-columns:2fr 1fr 1fr 1fr}
.footer-about .logo-text{font-weight:650;margin-bottom:.5rem;max-width:none}
.footer-about p{font-size:.85rem;line-height:1.55}
.footer-h{font-size:.83rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin-bottom:.7em}
.site-footer a{color:var(--fg-muted)}
.site-footer a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--fg-muted)}
@media (max-width:860px){ .footer-grid{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .footer-grid{grid-template-columns:1fr} .hero{padding-top:2.2rem} body{font-size:16px} }

@media print{ .site-header,.site-footer,.cta,.disclosure-bar,.pagination{display:none} }
