.abr{background:var(--abr-bg);color:var(--abr-fg);overflow:hidden}
.abr__wrap{max-width:1240px;margin:0 auto;padding:52px 16px 20px}
.abr__top{display:grid;gap:22px;align-items:end}
.abr__score{display:flex;align-items:center;gap:16px;background:var(--abr-card);color:var(--abr-card-fg);border-radius:22px;padding:18px 20px}
.abr__num{font-family:var(--font-heading--family);font-size:52px;font-weight:800;letter-spacing:-.04em;line-height:1}
.abr__meta{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.35}
.abr__meta strong{font-size:14px}
.abr__src{color:var(--abr-muted-card)}
.ab-stars{position:relative;display:inline-block;font-size:18px;letter-spacing:2px;line-height:1;color:rgb(0 0 0/.18)}
.ab-stars::before{content:"★★★★★"}
.ab-stars>span{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap;color:var(--abr-star);width:0;animation:abr-fill 1.2s .2s cubic-bezier(.2,.7,.2,1) forwards}
.ab-stars>span::before{content:"★★★★★"}
.abr__bars{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:12.5px}
.abr__bars li{display:grid;grid-template-columns:28px 1fr 38px;gap:10px;align-items:center}
.abr__bar{height:7px;border-radius:7px;background:rgb(255 255 255/.14);overflow:hidden}
.abr__bar>span{display:block;height:100%;border-radius:7px;background:var(--abr-star);width:0;animation:abr-bar 1.4s .3s cubic-bezier(.2,.7,.2,1) forwards}
.abr__bars em{font-style:normal;opacity:.75;text-align:right}
.abr__rows{display:grid;gap:14px;padding:26px 0 52px}
.abr__row{display:flex;width:max-content;gap:14px;animation:ab-marquee var(--abr-speed,60s) linear infinite}
.abr__row--rev{animation-direction:reverse}
.abr__rows:hover .abr__row{animation-play-state:paused}
.abr__card{flex:0 0 280px;background:var(--abr-card);color:var(--abr-card-fg);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}
.abr__card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgb(0 0 0/.18)}
.abr__img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.abr__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px}
.abr__head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.abr__head .ab-stars{font-size:14px}
.abr__date{font-size:11.5px;color:var(--abr-muted-card)}
.abr__text{margin:0;font-size:14px;line-height:1.5}
.abr__who{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700}
.abr__ok{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:#2e8c5a}
.abr__ok .ab-icon{width:13px;height:13px;stroke-width:2.6}
.abr__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:26px 16px 52px;max-width:1240px;margin:0 auto}
.abr__grid .abr__card{flex:none}
.abr__note{max-width:1240px;margin:-36px auto 0;padding:0 16px 40px;font-size:11.5px;opacity:.7}
@keyframes abr-fill{to{width:var(--abr-pct)}}
@keyframes abr-bar{to{width:var(--w)}}
@keyframes ab-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (min-width:990px){.abr__wrap{padding:88px 32px 24px}.abr__top{grid-template-columns:1.2fr 1fr 1fr;gap:40px}.abr__card{flex-basis:320px}}
@media (prefers-reduced-motion:reduce){.abr__row{animation:none;flex-wrap:wrap;width:auto;padding:0 16px}.ab-stars>span{animation:none;width:var(--abr-pct)}.abr__bar>span{animation:none;width:var(--w)}}
.abp__rate{display:flex;align-items:center;gap:8px;font-size:13px;text-decoration:none;color:inherit;flex-wrap:wrap}
.abp__rate .ab-stars{font-size:16px;--abr-star:#e0a422}
.abp__rate strong{font-weight:800}
.abp__rate span.abp__rate-src{color:var(--abp-muted)}