/* Racing Verdict — design tokens and components. Source of truth: docs/product/design/README.md
   and the `.rv` / `.rv.dark` blocks in docs/product/design/source/*.dc.html.
   Theme: `.rv` light, `.rv.dark` dark (cookie rv_theme), `.rv.auto` follows prefers-color-scheme. */
.rv{--bg:#F5F2EA;--surface:#FFFFFF;--surface2:#EEEAE0;--ink:#16211C;--ink2:#46514B;--ink3:#5F6862;--line:#DCD6C7;--accent:#0E4A37;--accent-ink:#FFFFFF;--accent2:#E3EEE7;--gold:#865000;--gold2:#FBEFD9;--blue:#1F4E8C;--blue2:#E4ECF7;--neg:#9E3320;--neg2:#F7E3DC;--suit2:#8DC0A6;--suit0:#E9B46C;color-scheme:light}
.rv.dark{--bg:#0F1512;--surface:#161E1A;--surface2:#1E2823;--ink:#EDEAE2;--ink2:#BAC0BA;--ink3:#9AA19B;--line:#2C3731;--accent:#6CCBA3;--accent-ink:#0B1A14;--accent2:#1A3228;--gold:#F2BC62;--gold2:#3A2C12;--blue:#93B8EE;--blue2:#1B2A40;--neg:#F29478;--neg2:#3B1F18;--suit2:#2F6B53;--suit0:#8A5A1E;color-scheme:dark}
@media (prefers-color-scheme:dark){
.rv.auto{--bg:#0F1512;--surface:#161E1A;--surface2:#1E2823;--ink:#EDEAE2;--ink2:#BAC0BA;--ink3:#9AA19B;--line:#2C3731;--accent:#6CCBA3;--accent-ink:#0B1A14;--accent2:#1A3228;--gold:#F2BC62;--gold2:#3A2C12;--blue:#93B8EE;--blue2:#1B2A40;--neg:#F29478;--neg2:#3B1F18;--suit2:#2F6B53;--suit0:#8A5A1E;color-scheme:dark}
}

/* base */
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;overflow-x:clip;display:flex;flex-direction:column;font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg)}
.rv *,.rv *::before,.rv *::after{box-sizing:border-box}
.rv a{color:var(--accent)}.rv a:hover{color:var(--ink)}
/* ссылки на профили (лошадь, жокей, тренер, ипподром) — цветом текста, акцент при наведении */
.rv a.ent,.rv a.meeting-link{color:inherit;text-decoration:none}.rv a.ent:hover,.rv a.meeting-link:hover{color:var(--accent);text-decoration:underline}
h1,h2,h3,h4{margin:0;line-height:1.15}
p{margin:0}
.serif{font-family:'Fraunces',Georgia,serif;letter-spacing:-0.01em}
.num{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px}
.muted{color:var(--ink3)}
.grow{flex-grow:1}
.skip{position:absolute;left:-999px;top:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.skip:focus{left:8px;z-index:100}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* buttons, badges, chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:10px;font:600 15px 'IBM Plex Sans',sans-serif;text-decoration:none;border:1px solid var(--line);background:var(--surface);cursor:pointer}
.rv a.btn,.rv button.btn{color:var(--ink)}
.rv a.btn.primary,.rv button.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn.icon{width:44px;padding:0}
.linkish{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline}
.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none}
.b-gold{background:var(--gold2);color:var(--gold)}.b-green{background:var(--accent2);color:var(--accent)}.b-blue{background:var(--blue2);color:var(--blue)}.b-grey{background:var(--surface2);color:var(--ink2)}.b-neg{background:var(--neg2);color:var(--neg)}
.rv a.b-gold{color:var(--gold)}.rv a.b-green{color:var(--accent)}.rv a.b-blue{color:var(--blue)}.rv a.b-grey{color:var(--ink2)}.rv a.b-neg{color:var(--neg)}
.seg-ctl{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}
.seg-ctl a,.seg-ctl button{min-height:40px;padding:0 16px;border:0;background:none;font:500 14px 'IBM Plex Sans',sans-serif;color:var(--ink2);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.seg-ctl .on{background:var(--accent);color:var(--accent-ink)}
.filter,.chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font:500 14px 'IBM Plex Sans',sans-serif;color:var(--ink2);cursor:pointer;text-decoration:none;white-space:nowrap}
.filter.on,.chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent2)}
.rv a.filter-lock{color:var(--gold);border-style:dashed}

/* confidence, experts, probabilities */
.conf{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.meter{display:inline-flex;gap:3px}.seg{display:inline-block;width:18px;height:8px;border-radius:2px;background:var(--surface2)}.seg.on{background:var(--accent)}
.dots{display:inline-flex;gap:4px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--gold)}.dot.on{background:var(--gold)}
.bars{display:flex;flex-direction:column;gap:4px;min-width:120px}
.bar{display:block;height:8px;border-radius:4px;background:var(--surface2);position:relative;overflow:hidden}.bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px}
.bar i.ours{background:var(--accent)}.bar i.mkt{background:var(--ink3)}

/* form and suitability */
.form{display:inline-flex;gap:3px}.fc{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;font:500 12px 'IBM Plex Mono',monospace;font-style:normal}
.f1{background:var(--accent);color:var(--accent-ink)}.f2{background:var(--accent2);color:var(--accent)}.f0{background:var(--surface2);color:var(--ink3)}
.suits{display:inline-flex;gap:10px}.suit{display:inline-flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:var(--ink3)}
.sq{display:inline-block;width:18px;height:18px;border-radius:4px}.s3{background:var(--accent)}.s2{background:var(--suit2)}.s1{background:var(--surface2)}.s0{background:var(--suit0)}
.price-back,.price-lay{display:inline-block;border-radius:4px;padding:3px 6px}.price-back{background:var(--blue2)}.price-lay{background:var(--neg2)}

/* paywall, skeleton, tips */
.blur{filter:blur(6px);user-select:none;pointer-events:none}
.sk{background:var(--surface2);border-radius:6px}
.lock{position:relative;overflow:hidden;min-height:280px;border-radius:14px}
.lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}
.lock-card{padding:22px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;max-width:320px}
.lock-sub{font-size:13px}
.tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border-radius:50%;border:1px solid var(--ink3);background:none;color:var(--ink3);font:600 10px 'IBM Plex Sans',sans-serif;margin-left:4px;vertical-align:1px;cursor:help}
.tipbox{position:absolute;z-index:20;margin-top:22px;max-width:300px;padding:12px 14px;border-radius:14px;font-size:13.5px;line-height:1.5;background:var(--ink);color:var(--bg);box-shadow:0 12px 30px -12px rgba(0,0,0,.45)}

/* verdict card */
.verdict{padding:22px;display:flex;flex-direction:column;gap:14px}
.verdict-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.verdict-meta{font-size:11px}
.verdict-line{font-size:24px;line-height:1.2;font-weight:600}
.verdict-odds{font-size:14px;color:var(--ink2)}
.verdict-reason{font-size:14px;color:var(--ink2);line-height:1.5}
.flags{display:flex;gap:6px;flex-wrap:wrap}

/* header */
.hdr{display:flex;align-items:center;gap:28px;height:72px;padding:0 80px;border-bottom:1px solid var(--line);background:var(--bg)}
.hdr-app{height:64px;padding:0 40px;gap:26px;background:var(--surface)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.rv a.brand{color:var(--ink)}
.brand-name{font-size:21px;font-weight:600}
.hdr-nav{display:flex;gap:26px}
.nav{text-decoration:none;font-weight:500;font-size:15px}
.rv a.nav{color:var(--ink2)}
.hdr .nav{padding:22px 0;border-bottom:2px solid transparent}
.rv .hdr a.nav.on{color:var(--ink);border-bottom-color:var(--accent)}
.search{margin:0}
.search-box{display:flex;align-items:center;gap:8px;width:280px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink3)}
.search-box input{border:0;background:none;outline:none;font:14px 'IBM Plex Sans',sans-serif;color:var(--ink);width:100%;min-width:0}
.plan-badge{height:32px}
.avatar{display:inline-flex;width:36px;height:36px;border-radius:50%;background:var(--surface2);align-items:center;justify-content:center;font-weight:600;font-size:14px;text-decoration:none}
.rv a.avatar{color:var(--ink)}
.search-btn{display:none}
.hdr-cta .s{display:none}

/* main and footer */
.page{flex-grow:1;width:100%;max-width:1440px;margin:0 auto;padding:32px 80px}
.page-app{padding:28px 40px}
.confirm-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--gold2);color:var(--gold);font-size:14px;font-weight:500;text-align:center}
.confirm-bar form{margin:0}
.linkbtn{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.ftr{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:36px 80px;border-top:1px solid var(--line);font-size:13px;color:var(--ink3)}
.ftr-left{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.ftr-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.rv .ftr a{color:var(--ink3)}
.ftr .theme-toggle{color:var(--ink3);text-decoration:none;min-height:44px}

/* mobile tab bar */
.tabbar{display:none;position:sticky;bottom:0;z-index:30;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border-top:1px solid var(--line);padding:4px 8px calc(8px + env(safe-area-inset-bottom))}
.tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;text-decoration:none;min-height:52px;justify-content:center}
.rv a.tab{color:var(--ink3)}.rv a.tab.on{color:var(--accent)}

/* error pages */
.err{max-width:560px;padding:64px 0;display:flex;flex-direction:column;gap:14px}
.err h1{font-size:44px;font-weight:600}
.actions{display:flex;gap:10px;flex-wrap:wrap}

/* auth — макет `Auth` */
.auth{display:grid;grid-template-columns:minmax(0,560px) minmax(0,480px);min-height:calc(100vh - 110px);margin:-32px -80px}
.auth-aside{background:var(--accent);color:var(--accent-ink);padding:56px;display:flex;flex-direction:column;gap:28px}
.rv a.auth-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--accent-ink);font-size:23px;font-weight:600}
.auth-title{margin-top:40px;font-size:48px;font-weight:600;line-height:1.08}
.auth-lead{font-size:18px;line-height:1.55;opacity:.9}
.auth-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:16px}
.auth-small{margin-top:auto;font-size:13px;opacity:.8}
.auth-main{padding:72px 48px;display:flex;flex-direction:column;gap:20px;background:var(--surface);border-right:1px solid var(--line)}
.auth-form{display:flex;flex-direction:column;gap:20px}
.auth-h{font-size:30px;font-weight:600}
.auth-foot{font-size:13px;text-align:center}
.auth-card{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.auth-card h2{font-size:24px;font-weight:600}.auth-card p{color:var(--ink2);line-height:1.55}
.auth-card-on{border:2px solid var(--accent)}.auth-card .badge{align-self:flex-start}
.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tabs a{display:flex;align-items:center;justify-content:center;min-height:44px;font-weight:600;text-decoration:none}
.rv .tabs a{color:var(--ink2)}.rv .tabs a.on{background:var(--accent);color:var(--accent-ink)}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font-size:14px;font-weight:600}
.fld input{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:10px;font:15px 'IBM Plex Sans',sans-serif;background:var(--bg);color:var(--ink)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--accent);margin-top:1px;flex-shrink:0}
.alert{padding:12px 14px;border-radius:10px;background:var(--neg2);color:var(--neg);font-size:14px;font-weight:600}
.notice{padding:12px 14px;border-radius:10px;background:var(--accent2);color:var(--accent);font-size:14px}
.rv button.btn.danger{background:var(--neg);color:#fff;border-color:var(--neg)}
.narrow{max-width:640px;display:flex;flex-direction:column;gap:16px}.narrow h1{font-size:36px;font-weight:600}
.pad{padding:24px}

/* account — макет `Account` */
.small{font-size:13px}.block{display:block}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding:10px 20px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px 20px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .r{text-align:right;white-space:nowrap}
.acct-head{display:flex;gap:24px;align-items:end;flex-wrap:wrap;margin-bottom:24px}
.acct-head h1{font-size:40px;font-weight:600}
.acct-nav{display:flex;gap:20px;font-size:15px;padding-bottom:6px}
.rv .acct-nav a.on{font-weight:600;color:var(--ink)}
.acct-grid{display:grid;grid-template-columns:480px minmax(0,1fr);gap:24px;align-items:start;margin:16px 0 24px}
.acct-col{display:flex;flex-direction:column;gap:24px}
.acct-card{padding:24px;display:flex;flex-direction:column;gap:14px}
.acct-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.acct-plan{font-size:28px;font-weight:600}
.acct-until{display:flex;flex-direction:column;gap:6px}
.acct-bar{height:8px;border-radius:4px;background:var(--surface2);overflow:hidden}.acct-bar div{height:100%;background:var(--accent)}
.acct-renew label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:10px;background:var(--bg);cursor:pointer;min-height:44px}
.acct-renew input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}
.acct-balance{font-size:44px;font-weight:600}
.acct-buy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.acct-buy .btn{width:100%}
.acct-buy .btn:disabled{opacity:.55;cursor:not-allowed}
.opt{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:52px;padding:6px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font:500 15px 'IBM Plex Sans',sans-serif;color:var(--ink);text-align:left}
.rv a.opt{color:var(--ink);text-decoration:none}.opt .muted{font-size:13px}
.opt.on{border:2px solid var(--accent);background:var(--accent2)}
.opt.off{opacity:.55;cursor:not-allowed}
.step{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:600 13px 'IBM Plex Mono',monospace;flex-shrink:0}
.topup{padding:28px;display:flex;flex-direction:column;gap:22px}
.topup-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.topup-h h2{font-size:26px;font-weight:600}
.topup-guide summary{cursor:pointer}.topup-guide ol{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.topup-step{display:flex;flex-direction:column;gap:10px}.topup-step-h{display:flex;gap:10px;align-items:center}
.topup-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-left:36px}.topup-opts.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.topup-send{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding-left:36px;align-items:center}
.topup-qr{width:180px;height:180px;border-radius:12px;background:#fff;padding:8px;box-sizing:border-box}.topup-qr svg{width:100%;height:100%;display:block}
.topup-addr{display:flex;flex-direction:column;gap:12px}.topup-copy{display:flex;gap:8px;align-items:center}
.topup-copy code{flex-grow:1;font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);word-break:break-all}
.topup-warn{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--gold2);color:var(--gold);font-size:14px;line-height:1.45}.topup-warn svg{flex-shrink:0}
.topup-pending{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:12px;background:var(--blue2);color:var(--blue)}
.topup-pending .acct-row b,.rv .topup-pending a{color:var(--blue)}.topup-pending .acct-bar{background:var(--surface)}.topup-pending .acct-bar div{background:var(--blue)}
.acct-history{overflow:hidden}.acct-history-h{padding:16px 20px}.acct-history-h h2{font-size:18px}
.acct-foot{display:flex;gap:20px;align-items:center;margin-top:24px}

/* referrals — макет `Referrals` */
.gain{color:var(--accent);font-weight:600}
.ref-hero{padding:36px;display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:48px;align-items:center;background:var(--accent2);border-color:var(--accent2);margin-bottom:24px}
.ref-pitch{display:flex;flex-direction:column;gap:14px}.rv .ref-pitch .eyebrow{color:var(--accent)}
.ref-pitch h2{font-size:40px;font-weight:600;line-height:1.1}.ref-pitch p{margin:0;font-size:17px;color:var(--ink2);line-height:1.55}
.ref-share{display:flex;flex-direction:column;gap:12px}.ref-share label{font-weight:600;font-size:14px}
.ref-copy{display:flex;gap:8px}.ref-copy input{flex-grow:1;min-width:0;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:15px;color:var(--ink)}
.ref-copy .btn{min-height:48px}
.ref-btns{display:flex;gap:8px;flex-wrap:wrap}
.ref-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.ref-stat{padding:18px 20px}.ref-stat .serif{font-size:32px;font-weight:600}
.ref-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start}
.ref-how{padding:24px;display:flex;flex-direction:column;gap:12px}.ref-how h2{font-size:18px}
.ref-how ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;color:var(--ink2);line-height:1.5}
.auth-invite{align-self:flex-start}

/* today — макеты `Today`/`TodayM` */
.only-m{display:none}
.accent{color:var(--accent)}
.today-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.today-head h1{margin:6px 0 0;font-size:40px;font-weight:600}
.today-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.tile{padding:18px 20px}.tile-n{font-size:32px;font-weight:600;margin-top:4px}
.rv a.hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;padding:24px 28px;text-decoration:none;color:var(--ink);border:2px solid var(--gold2);margin-bottom:24px}
.hero-main{display:flex;flex-direction:column;gap:10px}.hero-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.hero-line{font-size:28px;font-weight:600;line-height:1.2}.hero-text{color:var(--ink2);line-height:1.5}
.hero-side{display:flex;flex-direction:column;gap:8px;justify-content:center;border-left:1px solid var(--line);padding-left:28px}
.hero-kv{display:flex;justify-content:space-between;align-items:center;gap:12px}
.today-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
.today-sep{width:1px;height:24px;background:var(--line);margin:0 6px}
.today-lock{display:flex;gap:16px;align-items:center;padding:18px 24px;margin-bottom:24px;background:var(--accent2);border-color:var(--accent2)}
.empty{display:flex;flex-direction:column;gap:12px}.empty h2{font-size:24px;font-weight:600;margin:0}.empty p{margin:0}
.meeting{overflow:hidden;margin-bottom:24px}
.meeting-h{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 24px}
.meeting-h h2{margin:0;font-size:24px;font-weight:600}
.meeting-weather{display:inline-flex;align-items:center;gap:6px}
.trow{display:grid;grid-template-columns:72px minmax(0,1fr) 110px 250px 100px 230px;gap:16px;align-items:center;padding:14px 24px;border-top:1px solid var(--line);text-decoration:none;min-height:44px}
.rv a.trow{color:var(--ink)}.rv a.trow:hover{background:var(--bg);color:var(--ink)}
.trow.rotd,.rv a.trow.rotd:hover{background:var(--gold2)}
.trow-h{padding-top:8px;padding-bottom:8px;font-size:12px;color:var(--ink3);font-weight:600;background:var(--bg)}
.trow-tags{display:contents}
.trow-time{font-size:17px;font-weight:500}.trow-name{font-weight:600}
.trow-analyst{font-size:14px}.trow-status{font-size:14px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pick{font-weight:600;color:var(--accent)}
.locked{display:inline-flex;align-items:center;gap:6px;color:var(--ink3)}

/* race card — макеты `RacePro`/`RaceM`/`RaceFree` */
.crumbs{margin-bottom:16px}
.race-head{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:24px}
.race-title{display:flex;flex-direction:column;gap:12px}
.race-kicker{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.race-when{font-size:15px;font-weight:600}
.race-title h1{font-size:42px;font-weight:600}
.race-chips{display:flex;gap:8px;flex-wrap:wrap}
.race-off{padding:16px 20px;display:flex;gap:24px;align-items:center;flex-shrink:0}.race-count{font-size:30px;font-weight:600}
.race-grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:24px;align-items:start;margin-bottom:24px}
.race-main{display:flex;flex-direction:column;gap:24px;min-width:0}
.side-lock .lock{min-height:300px}
.race-side{display:flex;flex-direction:column;gap:24px}
.race-lock{display:flex;flex-direction:column;gap:12px}.race-lock .lock{min-height:420px}.race-lock .lock .verdict{min-height:420px}
.race-rotd-link{font-weight:600;font-size:14px;align-self:center}
.verdict-full{padding:32px;gap:22px}
.verdict-big{font-size:36px;line-height:1.15}
.verdict-kv{display:flex;gap:40px;align-items:flex-start;flex-wrap:wrap}
.kv-n{font-size:28px;font-weight:600}.kv-sub{font-size:15px;color:var(--ink3);font-family:'IBM Plex Sans',sans-serif;font-weight:400}
.kv-conf{font-size:17px;margin-top:6px}
.verdict-scenario{background:var(--surface2);border-radius:10px;padding:18px 20px;font-size:16px;line-height:1.6}.verdict-scenario .eyebrow{display:block;margin-bottom:6px}
.contenders{display:flex;flex-direction:column}
.ct{display:grid;grid-template-columns:28px minmax(0,1fr) 220px 110px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.ct:last-child{border-bottom:0}.ct-h{font-size:12px;color:var(--ink3);font-weight:600;padding:0 0 10px}
.ct-rank{font-weight:600;font-size:16px}.ct-horse{font-size:16px}.ct-line{color:var(--ink2);font-size:14px;margin-top:2px}
.r{text-align:right}
.flags-block{display:flex;flex-direction:column;gap:10px}
.verdict-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px}
.alert-form{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.alert-price{width:84px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:15px 'IBM Plex Sans',sans-serif}
.side-card{padding:24px;display:flex;flex-direction:column;gap:14px}
.side-card h2{font-size:17px}
.side-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.side-note{font-size:12.5px;line-height:1.5}
.side-btn{align-self:flex-start}
.exp-grid{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:10px 12px;align-items:center;font-size:14px}
.agree{background:var(--accent2);color:var(--accent);border-radius:10px;padding:12px 14px;font-size:14px;font-weight:600}
.agree.agree-no{background:var(--gold2);color:var(--gold)}
.ex-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 56px 56px;gap:10px;align-items:center;font-size:14px}
.ex-h{font-size:12px;font-weight:600;color:var(--ink3)}
.ex-spark{color:var(--accent);line-height:0}
.bias-grid{display:grid;grid-template-columns:90px repeat(3,minmax(0,1fr));gap:4px;font-size:13px;text-align:center}.bias-grid .l{text-align:left}
.bias-c{padding:8px 0;border-radius:4px}.bias-c.s3{background:var(--accent);color:var(--accent-ink)}.bias-c.s2{background:var(--suit2)}.bias-c.s1{background:var(--surface2)}.bias-c.s0{background:var(--suit0)}
.race-result{overflow:hidden;margin-bottom:24px}.race-main .race-result{margin-bottom:0}
.pad-h{padding:18px 20px}.pad-h h2{font-size:24px;font-weight:600}
.res-win{background:var(--accent2)}
.how{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-top:1px solid var(--line)}
.how-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.runners{overflow:hidden;margin-bottom:24px}
.runners-h{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px}
.runners-h h2{font-size:24px;font-weight:600}
.runners-legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.rr{display:grid;grid-template-columns:64px minmax(0,1fr) 164px 150px 150px 84px 124px 118px 28px;gap:12px;align-items:center;padding:10px 20px;border-top:1px solid var(--line);font-size:14px;min-height:44px}
.rr-h{font-size:12px;font-weight:600;color:var(--ink3);background:var(--bg);padding-top:8px;padding-bottom:8px;min-height:0}
.rr-d>summary{list-style:none;cursor:pointer}.rr-d>summary::-webkit-details-marker{display:none}
.rr-d>summary:hover{background:var(--bg)}
.rr-pick>summary,.rr-pick>summary:hover,.rr-pick .rr-more{background:var(--accent2)}.rr-pick>summary{border-top:2px solid var(--accent)}
.rr-more-btn::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:6px;color:var(--ink3);font-weight:600}
.rr-d[open] .rr-more-btn::before{content:"−"}
.rr-horse{display:flex;gap:10px;align-items:center}
.silk{display:inline-block;width:26px;height:26px;border-radius:6px 6px 10px 10px;flex-shrink:0;background:var(--surface2);border:1px solid var(--line)}
.rr-nr{color:var(--ink3)}
.rr-more{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;padding:16px 20px 20px 96px;font-size:14px}
.tbl-mini th,.tbl-mini td{padding:6px 8px}
.rr-facts{display:flex;flex-direction:column;gap:8px;color:var(--ink2);line-height:1.5}.rr-facts b{color:var(--ink)}
.rv .rr-facts a{color:var(--ink3)}
.runners-cta{display:flex;gap:16px;align-items:center;padding:20px;background:var(--gold2);color:var(--gold);font-weight:600;flex-wrap:wrap}
/* раскрытие бегуна для всех: Pro-ячейки и Pro-часть раскрытия у Free — замок без данных */
.rr-locked{display:inline-flex;gap:6px;align-items:center;color:var(--ink3)}.rr-locked .blur{filter:blur(4px);user-select:none}
.rr-lock{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;padding:10px 12px;border-radius:10px;background:var(--gold2);color:var(--gold);font-size:13.5px;line-height:1.45}.rr-lock svg{flex-shrink:0;margin-top:3px}
.rv .rr-facts .rr-lock a{color:var(--gold);font-weight:600}
.runners-suit{display:inline-flex;gap:6px;align-items:center}.runners-suit .sq{width:12px;height:12px}

/* layout: 1440 → 390 */
@media (max-width:1100px){
.hdr,.ftr,.page{padding-left:32px;padding-right:32px}
.hdr-app,.page-app{padding-left:24px;padding-right:24px}
.hdr{gap:18px}.hdr-nav{gap:18px}
.search-box{width:200px}
.ref-hero{grid-template-columns:1fr}.ref-grid{grid-template-columns:1fr}
.auth{margin:-32px -32px;grid-template-columns:minmax(0,1fr) minmax(0,480px)}
.race-grid{grid-template-columns:1fr}
.rr{grid-template-columns:56px minmax(0,1fr) 150px 120px 120px 84px 110px 100px 28px}
}
@media (max-width:720px){
.hdr{height:60px;padding:0 16px;gap:10px;background:var(--surface)}
.hdr-nav,.hdr-link,.search,.hdr-login{display:none}
.brand-name{font-size:19px}
.search-btn{display:inline-flex}
.hdr-cta{min-height:40px;padding:0 14px;font-size:14px}
.hdr-cta .l{display:none}.hdr-cta .s{display:inline}
.page,.page-app{padding:18px 16px 24px}
.ftr{flex-direction:column;align-items:flex-start;padding:20px 16px 24px;gap:10px;font-size:12px}
.tabbar{display:grid}
.verdict{padding:16px}.verdict-line{font-size:21px}
.err{padding:32px 0}.err h1{font-size:32px}
.auth{grid-template-columns:1fr;margin:-18px -16px -24px}
.auth-aside{padding:24px 16px;gap:12px}.auth-title{margin-top:8px;font-size:30px}.auth-lead{font-size:16px}.auth-points,.auth-small{display:none}
.auth-main{padding:24px 16px;border-right:0}
.seg{width:14px;height:7px}
.acct-grid{grid-template-columns:1fr}.acct-head h1{font-size:32px}
.acct-buy{grid-template-columns:1fr}.acct-balance{font-size:36px}
.topup{padding:20px}.topup-opts,.topup-opts.n3{grid-template-columns:1fr;padding-left:0}.topup-send{grid-template-columns:1fr;padding-left:0;justify-items:start}
.tbl th,.tbl td{padding:10px 12px}
.only-d{display:none}.only-m{display:inline}
.today-head h1{font-size:30px}.today-head .seg-ctl a{flex:1}.today-head{flex-direction:column;align-items:stretch;margin-bottom:16px}
.today-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.tile{padding:12px 14px}.tile-n{font-size:24px}
.today-tiles .tile .small:last-child{display:none}
.rv a.hero{grid-template-columns:1fr;gap:10px;padding:16px;margin-bottom:16px}.hero-line{font-size:21px}.hero-text{display:none}
.hero-side{justify-content:flex-start;border-left:0;padding-left:0;flex-direction:row;flex-wrap:wrap;gap:6px 14px;font-size:13px}.hero-kv{gap:6px}
.today-filters{flex-wrap:nowrap;overflow-x:auto;gap:8px;margin-bottom:16px;padding-bottom:4px}.today-sep{flex-shrink:0}
.today-lock{flex-wrap:wrap;padding:14px 16px}
.meeting{margin-bottom:16px}.meeting-h{padding:14px 16px;gap:6px}.meeting-h h2{font-size:21px;width:100%}.meeting-weather svg{display:none}
.trow{grid-template-columns:52px minmax(0,1fr);gap:10px;padding:12px 16px;align-items:start}
.trow-time{font-size:16px}
.trow-tags{grid-column:2;display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12.5px}
.trow-tags .trow-analyst,.trow-tags .trow-status{font-size:12.5px}
.ref-hero{grid-template-columns:1fr;gap:20px;padding:20px}.ref-pitch h2{font-size:28px}
.ref-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ref-grid{grid-template-columns:1fr}
.ref-copy{flex-direction:column}
.rr{grid-template-columns:44px minmax(0,1fr) auto;gap:6px 10px;padding:12px 16px}
.rr-horse{grid-column:2}.rr-px{grid-column:3;grid-row:1;text-align:right}
.rr-form,.rr-person,.rr-exp,.rr-prob{grid-column:2/-1;font-size:13px}
.rr-more-btn{display:none}
.rr-locked{display:none}
.rr-more{grid-template-columns:1fr;gap:12px;padding:12px 16px 16px}
.race-head{flex-direction:column;gap:14px;margin-bottom:16px}.race-title h1{font-size:28px}.race-off{width:100%;justify-content:space-between;padding:12px 16px}.race-count{font-size:24px}
.race-grid{grid-template-columns:1fr;gap:16px;margin-bottom:16px}.race-main{gap:16px}
.verdict-full{padding:18px;gap:16px}.verdict-big{font-size:24px}
.verdict-kv{gap:14px 24px}.kv-n{font-size:22px}
.verdict-scenario{padding:14px;font-size:15px}
.ct{grid-template-columns:24px minmax(0,1fr) auto;gap:4px 10px}.ct .bars{display:none}
.side-card{padding:18px}
.runners-h{padding:14px 16px}
.race-lock .lock{min-height:360px}
}

/* профили — макеты `Horse`, `Trainer`, `Course` */
.prof-head{margin-bottom:24px}.prof-head h1{font-size:42px;font-weight:600;margin:6px 0 8px}
.prof-summary{font-size:18px;line-height:1.5;max-width:820px;margin:12px 0 0}
.prof-actions{margin-top:16px}.prof-actions form{display:flex;gap:10px;align-items:center;margin:0}
.prof-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:24px}
.prof-lock .lock{min-height:320px}
.prof-next{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.prof>section,.prof>.prof-lock{margin-bottom:24px}.prof .pad h2,.prof .card>h2{font-size:19px;font-weight:600;margin:0 0 12px}
.prof .pad{padding:20px 24px}
.suit-table{display:flex;flex-direction:column;gap:10px}
.suit-row{display:grid;grid-template-columns:100px repeat(6,minmax(0,1fr));gap:8px;align-items:center;font-size:14px}
.suit-cell{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.suit-legend{display:flex;gap:16px;margin-top:14px;flex-wrap:wrap}
.suit-legend .sq{width:12px;height:12px;vertical-align:-2px}
.chart{width:100%;height:auto;display:block}
.prof-axis{display:flex;justify-content:space-between}
.prof-views{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;line-height:1.5}
.course-top{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}
.course-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-content:start}
.schematic{width:100%;max-width:320px;height:auto;display:block}
.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.course-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bias-grid.bias-4{grid-template-columns:90px repeat(4,minmax(0,1fr))}
.rr-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}
.pf{font-size:12px;color:var(--ink3)}.pf.hot{color:var(--accent);font-weight:600}.pf.cold{color:var(--neg)}
@media (max-width:720px){
.prof-head h1{font-size:30px}.prof-summary{font-size:16px}
.prof-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.suit-row{grid-template-columns:repeat(3,minmax(0,1fr))}.suit-dim{grid-column:1/-1}
.course-top,.course-grid,.course-grid-3,.course-facts{grid-template-columns:1fr}
}

/* журнал и сводная статистика — макеты `Record`, `Stats` */
.neg{color:var(--neg)}
.rec>section,.hub>section{margin-bottom:24px}
.rec h2,.hub h2{font-size:18px;font-weight:600;margin:0}
.rec .pad,.hub .pad{padding:20px 24px}
.rec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.rec-head h1{font-size:44px;font-weight:600;margin:8px 0 12px;max-width:820px}
.rec-lead{margin:0;font-size:18px;color:var(--ink2);line-height:1.55;max-width:760px}
.rec-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.rec-grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:24px}
.rec-grid2{display:grid;grid-template-columns:420px minmax(0,1fr);gap:24px}
.rec-chart-h,.rec-latest-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.rec-latest-h{margin-bottom:0}.rec-latest-h a{font-size:14px;font-weight:600}
.rec-legend{display:flex;gap:14px}.rec-legend i{display:inline-block;width:14px;height:3px;vertical-align:middle}
.lg-sp{background:var(--accent)}.lg-bsp{background:var(--blue)}
.rec-cal{display:flex;flex-direction:column;gap:10px}
.rec-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:28px;background:var(--surface2)}
.rec-method h3{margin:0 0 8px;font-size:20px;font-weight:600}.rec-method p{margin:0;color:var(--ink2);line-height:1.55}
.rec-verify{display:flex;flex-direction:column;gap:14px}
.rec-kv{display:grid;grid-template-columns:160px minmax(0,1fr);gap:6px 16px;margin:0;font-size:13px}
.rec-kv dt{color:var(--ink3)}.rec-kv dd{margin:0;word-break:break-all}
.rec-json{white-space:pre-wrap;word-break:break-all;font:12.5px/1.5 'IBM Plex Mono',ui-monospace,monospace;background:var(--surface2);padding:14px;border-radius:10px;margin:0;max-height:420px;overflow:auto}
.hub-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.hub-head h1{font-size:40px;font-weight:600;margin:6px 0 0}
.hub-ctl{display:flex;gap:12px;flex-wrap:wrap}
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.hub-note{margin:12px 24px 18px;font-size:13px}
.fav-cell{font-size:13.5px}
.today-tiles.has-record{grid-template-columns:repeat(4,minmax(0,1fr))}
.rv a.tile-link{text-decoration:none;color:var(--ink)}
@media (max-width:1100px){
.rec-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.rec-grid,.rec-grid2,.hub-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
.rec-head h1{font-size:30px}.rec-lead{font-size:16px}
.rec-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rec-method{grid-template-columns:1fr;gap:18px;padding:20px}
.rec-kv{grid-template-columns:1fr}
.hub-head h1{font-size:30px}
.today-tiles.has-record{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* public pages — макеты `Main`/`LandingM`, `Pricing`, `Festival` (Task 14) */
.btn-lg{min-height:52px;padding:0 26px;font-size:16px}
.land>section,.pricing>section,.fest>section{margin-bottom:56px}
.land-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:start;padding-top:40px}
.land-lead{display:flex;flex-direction:column;gap:26px;padding-top:24px}
.land-lead h1{font-size:64px;line-height:1.02;font-weight:600}
.land-sub{font-size:20px;line-height:1.55;color:var(--ink2);max-width:560px}
.land-points{list-style:none;margin:0;padding:0;display:flex;gap:24px;flex-wrap:wrap;font-size:14px;color:var(--ink3)}
.land-points li{display:flex;align-items:center;gap:8px}
.land-verdict{padding:28px;display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 60px -30px rgba(14,74,55,.35)}
.land-badges{display:flex;align-items:center;gap:10px}
.land-headline{font-size:30px;line-height:1.18;font-weight:600;margin-top:10px}
.land-odds{margin-top:12px;font-size:15px;color:var(--ink2)}.land-odds b{color:var(--ink)}
.land-verdict .conf{margin-top:10px}
.land-sk1{height:14px;width:60%}.land-sk2{height:10px;width:85%;margin-top:6px}
.land-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.land-feature{padding:28px;display:flex;flex-direction:column;gap:14px}.land-feature h3{font-size:22px;font-weight:600}.land-feature p{color:var(--ink2);line-height:1.55}
.land-how{padding:64px 80px;margin:0 -80px;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.land-how h2,.land-record h2,.land-pricing h2{font-size:44px;font-weight:600;margin:12px 0 36px;line-height:1.1}
.land-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.land-steps>div{display:flex;flex-direction:column;gap:12px}.land-steps p{color:var(--ink2);line-height:1.55}
.land-step{font-size:44px;color:var(--accent)}
.land-record{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}
.land-record-text{display:flex;flex-direction:column;gap:18px;align-items:flex-start}.land-record-text p{font-size:18px;color:var(--ink2);line-height:1.6}.land-record-text p.small{font-size:13px}
.land-record h2{margin:0}
.land-cal-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.land-pricing-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.land-plans,.pricing-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pricing-plans{grid-template-columns:repeat(4,minmax(0,1fr))}
.plan{padding:26px;display:flex;flex-direction:column;gap:12px}.plan p{color:var(--ink2);line-height:1.55}
.plan-on{border:2px solid var(--accent)}
.plan-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.plan-price{font-size:36px;font-weight:600}.plan-per{font-size:15px;color:var(--ink3);font-family:'IBM Plex Sans',sans-serif}
.plan-list{list-style:none;margin:0 0 auto;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.pricing-head{max-width:760px;display:flex;flex-direction:column;gap:14px;padding-top:24px}.pricing-head h1{font-size:48px;font-weight:600}.pricing-head p{font-size:18px;color:var(--ink2)}
.tbl .c{text-align:center}.yes{color:var(--accent);font-weight:600}
.land-faq h2{font-size:36px;font-weight:600;margin-bottom:20px}
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:600;font-size:17px;min-height:28px}.faq p{margin-top:10px;color:var(--ink2);line-height:1.6;max-width:820px}
.crumbs{margin-bottom:16px}
.fest-top{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:48px;align-items:start}
.fest-head{display:flex;flex-direction:column;gap:16px}.fest-head h1{font-size:48px;font-weight:600;line-height:1.08}
.fest-lead{font-size:18px;line-height:1.6;color:var(--ink2);max-width:760px}
.fest-sub{display:flex;flex-direction:column;gap:14px}.fest-sub h2{font-size:24px;font-weight:600}
.fest-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.rv a.fest-item{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink)}.fest-item h2{font-size:24px;font-weight:600}.fest-item p{color:var(--ink2);line-height:1.55}
.fest-races{list-style:none;margin:0;padding:0}
.fest-races li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 24px;border-top:1px solid var(--line)}
.fest-time{font-weight:600}
.fest-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.fest-sections h2{font-size:22px;font-weight:600;margin-bottom:10px}.fest-sections p{color:var(--ink2);line-height:1.6}
.course-list{list-style:none;margin:0;padding:0;columns:3;column-gap:32px}.course-list li{padding:6px 0;break-inside:avoid}
.course-cta{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.course-cta p{color:var(--ink2);max-width:760px}
.glossary{margin:0;display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px 24px}.glossary dt{font-weight:600}.glossary dd{margin:0;color:var(--ink2);line-height:1.55}
.legal{max-width:760px;display:flex;flex-direction:column;gap:14px;padding-bottom:40px}.legal h1{font-size:42px;font-weight:600}.legal h2{font-size:20px;font-weight:600;margin-top:14px}.legal p,.legal li{line-height:1.65;color:var(--ink2)}.legal ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:760px;margin:0 auto;display:flex;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 20px 40px -20px rgba(0,0,0,.35);font-size:14px;line-height:1.5}
.consent-actions{display:flex;gap:8px;flex-shrink:0}
@media (max-width:1100px){
.land-hero,.land-record,.fest-top{grid-template-columns:1fr;gap:32px}
.land-features{grid-template-columns:repeat(2,minmax(0,1fr))}
.pricing-plans{grid-template-columns:repeat(2,minmax(0,1fr))}
.land-how{padding:48px 40px;margin:0 -40px}
}
@media (max-width:720px){
.land-lead h1{font-size:40px}.land-sub{font-size:17px}
.land-features,.land-plans,.pricing-plans,.land-steps,.fest-sections{grid-template-columns:1fr}
.land-how{padding:40px 20px;margin:0 -20px}
.land-how h2,.land-record h2,.land-pricing h2,.pricing-head h1,.fest-head h1{font-size:30px}
.land-headline{font-size:24px}.land-verdict{padding:20px}
.fest-races li{grid-template-columns:1fr;gap:4px;padding:12px 20px}
.course-list{columns:1}.glossary{grid-template-columns:1fr;gap:4px}.glossary dd{margin-bottom:10px}
.consent{flex-direction:column;align-items:stretch;left:8px;right:8px;bottom:72px}.consent-actions .btn{flex:1}
}
/* Обратная связь (макет `Feedback`) и быстрый «Report» */
.fb-grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:24px;align-items:start}
.fb-form{padding:28px;display:flex;flex-direction:column;gap:20px}
.fb-form h1{margin:6px 0;font-size:34px;font-weight:600}
.fb-form p{margin:0;line-height:1.5}
.fb-fields{display:flex;flex-direction:column;gap:18px}
.fb-cats{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fb-cats legend{font-size:14px;font-weight:600;margin-bottom:8px;padding:0}
.cat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--surface)}
.cat input{position:absolute;opacity:0;pointer-events:none}
.cat:has(input:checked){border-color:var(--accent);background:var(--accent2)}
.cat:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.fb-attached{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:10px;background:var(--surface2);font-size:14px}
.btn-sm{min-height:34px;padding:0 12px;font-size:13px}
.fld select,.fld textarea,.rp-form textarea{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:15px 'IBM Plex Sans',sans-serif;background:var(--bg);color:var(--ink)}
.fld select{min-height:48px}
.fb-shot{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.fb-file{font-size:13px;max-width:100%}
.fb-shot-l{font-size:14px;font-weight:600}
.fb-actions{display:flex;gap:10px}
.fb-mine{padding:24px;display:flex;flex-direction:column;gap:14px}
.fb-mine h2{margin:0;font-size:18px}
.fb-msg{display:flex;flex-direction:column;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.fb-msg:last-child{border-bottom:0;padding-bottom:0}
.fb-msg-h{display:flex;justify-content:space-between;align-items:center}
.fb-text{font-size:14px;color:var(--ink2);white-space:pre-line}
.fb-reply{background:var(--accent2);border-radius:8px;padding:10px 12px;font-size:13.5px;white-space:pre-line}
.fb-reply-planned{background:var(--blue2)}
.rp-dialog{padding:18px;width:min(420px,calc(100vw - 32px));color:var(--ink);box-shadow:0 20px 50px -24px rgba(22,33,28,.4)}
.rp-dialog::backdrop{background:rgba(15,21,18,.45)}
.rp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.rp-head form{margin:0}
.rp-close{width:32px;height:32px;border:0;background:none;color:var(--ink3);font-size:18px;cursor:pointer}
.rp-form{display:flex;flex-direction:column;gap:12px}
.rp-chips{display:flex;gap:6px;flex-wrap:wrap}
.rp-chip input{position:absolute;opacity:0;pointer-events:none}
.rp-chip .badge{height:32px;cursor:pointer;background:var(--surface2);color:var(--ink2)}
.rp-chip input:checked+.badge{background:var(--accent2);color:var(--accent)}
.rp-chip input:focus-visible+.badge{outline:2px solid var(--accent);outline-offset:2px}
.rp-page{max-width:560px;margin:0 auto;padding:28px;display:flex;flex-direction:column;gap:14px}
.rp-page h1{margin:0;font-size:28px}
.toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);z-index:50;display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--ink);color:var(--bg);font-size:14px;max-width:calc(100vw - 32px)}
.toast a{color:inherit;font-weight:600}
@media (max-width:900px){.fb-grid{grid-template-columns:1fr}.fb-cats{grid-template-columns:1fr}.fb-form{padding:20px}.fb-form h1{font-size:28px}}
/* опрос ухода на /app/account (Task 19) */
.exit-survey{display:flex;flex-direction:column;gap:12px;margin:0 0 16px;padding:16px}
.exit-survey fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.survey-opt{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:10px;background:var(--bg);cursor:pointer}
.exit-survey textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:15px 'IBM Plex Sans',sans-serif}
.search-page{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.search-page .search-box{width:min(420px,100%)}
