/* Sumate — Entrena Sur. Sporty editorial: Barlow Condensed (display) + DM Sans (body), self-hosted. */
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:italic;font-weight:800;font-display:swap;src:url(/fonts/barlow-condensed-800i.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-var.woff2) format("woff2")}

:root{
  --paper:#f2efe8;--card:#fff;--ink:#121518;--ink2:#2b3138;--muted:#626a73;--line:#e0dbcf;--line2:#ece8df;
  --night:#0e1820;--night2:#16242e;--volt:#d4f53c;--celeste:#75aadb;--link:#1d5d96;--alert:#d9412b;--ok:#1d7a46;--star:#f2a516;
  --display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;--body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:16px;--r-sm:10px;--shadow:0 1px 0 rgba(18,21,24,.04),0 8px 24px -16px rgba(18,21,24,.25);
  --header:60px;
}
[hidden]{display:none!important}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 12px)}
body{margin:0;font:16px/1.5 var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--link);text-underline-offset:2px}img{max-width:100%}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--celeste);outline-offset:2px}
.i{width:1.1em;height:1.1em;flex:none;vertical-align:-.17em}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding-left:16px;padding-right:16px}
.narrow{max-width:720px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Header */
header.top{background:var(--night);color:#fff;position:sticky;top:0;z-index:20;height:var(--header);border-bottom:3px solid var(--volt)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:100%;gap:12px}
.logo{color:#fff;text-decoration:none;display:flex;align-items:baseline;gap:8px;line-height:1}
.logo b{font:italic 800 1.75rem/1 var(--display);letter-spacing:.01em;text-transform:uppercase}
.logo b span{color:var(--volt)}
.logo small{font:600 .72rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#9fb0bc}
.me-link{display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;border:1px solid rgba(255,255,255,.22);padding:6px 12px;border-radius:999px;max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-link:hover{border-color:var(--volt)}

/* Layout */
main.wrap{flex:1;padding-top:20px;padding-bottom:48px}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.05;letter-spacing:.005em;margin:0}
h1{font-size:2.1rem;text-transform:uppercase}
h2{font-size:1.45rem;text-transform:uppercase;margin:28px 0 12px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:28px 0 12px}
.section-head h2{margin:0}
.kicker{font:700 .78rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.muted{color:var(--muted)}.small{font-size:.88rem}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--night);color:#fff;border-radius:var(--r);padding:28px 22px 24px;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-40% -30% auto auto;width:70%;height:180%;transform:rotate(18deg);z-index:-1;
  background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.05) 22px 24px)}
.hero::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:6px;background:linear-gradient(90deg,var(--volt) 0 35%,var(--celeste) 35% 70%,#fff 70%)}
.hero h1{font:italic 800 clamp(2.5rem,9vw,4.4rem)/.92 var(--display);text-transform:uppercase;letter-spacing:-.005em}
.hero h1 em{font-style:inherit;color:var(--volt)}
.hero p{color:#c6d2da;max-width:46ch;margin:14px 0 20px;font-size:1.02rem}
.hero .sports{display:flex;gap:14px;color:#8fa3b1;margin-top:22px;font-size:1.35rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 20px;font:700 .98rem/1 var(--body);cursor:pointer;text-decoration:none;background:var(--ink);color:#fff;min-height:46px;white-space:nowrap;transition:transform .08s,background .15s}
.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.volt{background:var(--volt);color:var(--ink)}.btn.volt:hover{background:#e1ff5a}
.btn.sec{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.on-dark{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.btn.ghost{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.btn.danger{background:transparent;color:var(--alert);box-shadow:inset 0 0 0 1.5px var(--alert)}
.btn.small{padding:8px 14px;min-height:36px;font-size:.88rem}.btn.block{width:100%}
.linkbtn{background:none;border:0;color:var(--muted);cursor:pointer;font-size:.84rem;padding:6px;display:inline-flex;gap:4px;align-items:center}
.linkbtn:hover{color:var(--ink)}

/* Chips */
.chip-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px;margin:0 -16px;padding-left:16px;padding-right:16px;scroll-snap-type:x proximity}
.chip-row::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px;min-height:40px;cursor:pointer;font-weight:600;font-size:.92rem;color:var(--ink2);scroll-snap-align:start;white-space:nowrap}
.chip:hover{border-color:var(--ink2)}
.chip[aria-pressed=true],.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip[aria-pressed=true] .i{color:var(--volt)}
.chip:disabled{opacity:.35;cursor:not-allowed}
.chip.day{flex-direction:column;gap:0;border-radius:12px;min-width:62px;padding:8px 10px;line-height:1.1}
.chip.day small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.75}
.chip.day b{font:700 1.35rem/1 var(--display)}

/* Filters */
.filters{display:grid;gap:10px;margin-bottom:16px}
.filters .selects{display:grid;grid-template-columns:1fr 1fr;gap:8px}
select,input,textarea{font:inherit;width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);min-height:46px}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23626a73' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
input:focus,select:focus,textarea:focus{border-color:var(--ink2);outline:none}
textarea{resize:vertical;min-height:84px}

/* Salida cards */
.grid{display:grid;gap:12px}
.scard{display:grid;grid-template-columns:64px 1fr;gap:14px;background:var(--card);border-radius:var(--r);padding:14px;text-decoration:none;color:inherit;box-shadow:var(--shadow);border:1px solid var(--line2);position:relative;overflow:hidden;transition:transform .12s,box-shadow .12s}
.scard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--sc,var(--ink))}
.scard:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(18,21,24,.45)}
.date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper);border-radius:12px;padding:8px 4px;text-align:center;line-height:1}
.date small{font:700 .7rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.date b{font:700 2rem/1 var(--display);margin:3px 0 2px}
.date span{font:700 .95rem/1 var(--display);color:var(--ink2)}
.sport-label{display:flex;align-items:center;gap:6px;font:700 .78rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--sc,var(--ink))}
.scard .title{font:700 1.6rem/1.05 var(--display);text-transform:uppercase;margin:4px 0 6px}
.meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:.88rem}
.meta span{display:inline-flex;align-items:center;gap:5px}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pill{display:inline-flex;align-items:center;gap:5px;font:700 .74rem/1 var(--body);letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:6px;background:var(--paper);color:var(--ink2)}
.pill.lvl-basico{background:#e3f3e2;color:#24622a}.pill.lvl-medio{background:#fff0cc;color:#7a5200}.pill.lvl-avanzado{background:#fde2dc;color:#9a2a17}
.pill.ok{background:var(--volt);color:var(--ink)}.pill.full{background:#e9e6df;color:#6b6b6b}.pill.dark{background:var(--ink);color:#fff}

/* Generic cards */
.card{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);margin-bottom:12px}
.banner{display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:var(--r);padding:14px 16px;margin:16px 0;text-decoration:none}
.banner .i{color:var(--volt);width:26px;height:26px}
.banner strong{display:block;font:700 1.15rem/1.1 var(--display);text-transform:uppercase}
.banner span{color:#c6d2da;font-size:.88rem}
.banner .go{margin-left:auto;color:var(--volt)}
.empty{text-align:center;padding:36px 20px;background:var(--card);border:1.5px dashed var(--line);border-radius:var(--r)}
.empty .ill{width:72px;height:72px;border-radius:50%;background:var(--paper);display:grid;place-items:center;margin:0 auto 14px;color:var(--ink2)}
.empty .ill .i{width:34px;height:34px}
.empty h3{font-size:1.5rem;text-transform:uppercase;margin-bottom:6px}
.empty p{color:var(--muted);margin:0 auto 18px;max-width:36ch}
.notice{display:flex;gap:10px;align-items:flex-start;background:#fbf6e6;border:1px solid #eedfae;border-radius:12px;padding:12px 14px;font-size:.88rem;margin:14px 0;color:#5a4a1a}
.notice .i{margin-top:2px;color:#a07a12}
.notice.good{background:#eef9d0;border-color:#cfe68a;color:#3c4d0b}.notice.good .i{color:#5c7a00}
.err{color:var(--alert);font-weight:600;margin:10px 0;font-size:.92rem}.err:empty{display:none}

/* Detail */
.detail-grid{display:grid;gap:16px}
.dhead{background:var(--night);color:#fff;border-radius:var(--r);padding:22px 20px 20px;position:relative;overflow:hidden;isolation:isolate}
.dhead::after{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:var(--sc,var(--volt))}
.dhead .sport-label{color:var(--sc-light,var(--volt))}
.dhead h1{font:italic 800 clamp(2.6rem,10vw,3.8rem)/.95 var(--display);margin:8px 0 14px}
.dhead .facts{display:grid;gap:8px;color:#dbe4ea}
.dhead .facts div{display:flex;gap:10px;align-items:flex-start}.dhead .facts .i{color:var(--volt);margin-top:3px}
.dhead .facts small{display:block;color:#93a6b3;font-size:.82rem}
.dhead .pills .pill{background:rgba(255,255,255,.1);color:#fff}
.dhead .pills .pill.lvl-basico{background:#2f6b35}.dhead .pills .pill.lvl-medio{background:#8a6200}.dhead .pills .pill.lvl-avanzado{background:#a5301c}
.note{border-left:3px solid var(--volt);padding:2px 0 2px 12px;margin:16px 0 0;color:#e6edf1;white-space:pre-wrap}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.actions .btn{flex:1 1 140px}
.people{list-style:none;padding:0;margin:0}
.people li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line2)}
.people li:last-child{border:0}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:700 1.1rem/1 var(--display);background:var(--paper);color:var(--ink2);flex:none;text-transform:uppercase}
.people .who{flex:1;min-width:0}
.people .who a{color:var(--ink);font-weight:700;text-decoration:none}.people .who a:hover{text-decoration:underline}
.people .sub{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:2px}
.rep{display:inline-flex;align-items:center;gap:3px;font-size:.78rem;font-weight:700;color:var(--ink2)}
.rep .i{color:var(--star);fill:var(--star);width:.95em;height:.95em}
.rep.new{color:var(--muted);font-weight:600}
.tag{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:5px;background:var(--paper);color:var(--muted)}
.tag.me{background:var(--volt);color:var(--ink)}

/* Ratings */
.rate-card{border:1.5px solid var(--ink);border-radius:var(--r);padding:16px;margin-bottom:12px;background:var(--card)}
.rate-card h3{font-size:1.3rem;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.q{margin-top:14px}.q>span{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px}
.stars{display:flex;gap:4px}
.stars button{background:none;border:0;padding:4px;cursor:pointer;color:#c9c3b5}
.stars button .i{width:32px;height:32px}
.stars button.on{color:var(--star)}.stars button.on .i{fill:var(--star)}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.rated{display:flex;align-items:center;gap:8px;color:var(--ok);font-weight:700;padding:8px 0}

/* Chat */
.chat-box{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}
.chat-box .head{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line2)}
.chat-box .head h2{margin:0;font-size:1.25rem}
.chat-box .head .live{margin-left:auto;font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:6px}
.chat-box .head .live::before{content:"";width:7px;height:7px;border-radius:50%;background:#3cb371}
.chat{display:flex;flex-direction:column;gap:10px;height:min(52vh,460px);overflow-y:auto;padding:16px;background:linear-gradient(var(--paper),var(--paper)) padding-box;background:#faf8f3}
.msg{max-width:82%;align-self:flex-start}
.msg .bubble{background:#fff;border:1px solid var(--line2);border-radius:14px 14px 14px 4px;padding:8px 12px;white-space:pre-wrap;word-wrap:break-word}
.msg .who{display:flex;gap:8px;align-items:center;font-size:.75rem;color:var(--muted);margin:0 4px 3px}
.msg .who b{color:var(--ink2)}
.msg .who button{background:none;border:0;color:var(--muted);cursor:pointer;padding:0;display:inline-flex;opacity:.7}
.msg .who button:hover{opacity:1;color:var(--alert)}
.msg.mine{align-self:flex-end}.msg.mine .who{justify-content:flex-end}
.msg.mine .bubble{background:var(--ink);color:#fff;border-color:var(--ink);border-radius:14px 14px 4px 14px}
.composer{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--line2);background:#fff}
.composer textarea{flex:1;resize:none;overflow-y:hidden;min-height:46px;max-height:140px;height:46px;border-radius:23px;padding:11px 16px;line-height:1.4;border-color:var(--line)}
.composer .send{width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;flex:none;background:var(--ink);color:var(--volt)}
.composer .send .i{width:20px;height:20px}
.composer-hint{display:flex;justify-content:space-between;gap:8px;padding:0 16px 10px;font-size:.78rem;color:var(--muted);background:#fff}
.locked{display:flex;gap:12px;align-items:center;padding:18px}
.locked .i{width:28px;height:28px;color:var(--muted)}

/* Form */
.step{margin-top:26px}
.step>.lbl{display:flex;align-items:center;gap:10px;margin-bottom:10px;font:700 1.25rem/1 var(--display);text-transform:uppercase}
.step>.lbl .n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--volt);font-size:.95rem}
.step>.lbl small{font:500 .82rem var(--body);text-transform:none;color:var(--muted)}
.sport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sport-tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:12px;cursor:pointer;font-weight:700;font-size:.88rem;text-align:left;line-height:1.15;min-height:84px}
.sport-tile .i{width:26px;height:26px;color:var(--sc)}
.sport-tile[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}
.sport-tile[aria-pressed=true] .i{color:var(--volt)}
.hint{font-size:.84rem;color:var(--muted);margin-top:6px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.submit-bar{position:sticky;bottom:0;padding:12px 0 14px;background:linear-gradient(transparent,var(--paper) 30%);margin-top:20px}

/* Profile */
.phead{display:flex;align-items:center;gap:16px}
.phead .avatar{width:68px;height:68px;font-size:2rem;background:var(--ink);color:var(--volt)}
.phead h1{font:italic 800 2.4rem/1 var(--display)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.stat{background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:14px 12px;box-shadow:var(--shadow)}
.stat b{display:block;font:700 2rem/1 var(--display)}
.stat span{font-size:.78rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}

/* Dialogs, toast, footer, tables */
dialog{border:0;border-radius:var(--r);padding:22px;max-width:440px;width:calc(100% - 32px);box-shadow:0 30px 80px -20px rgba(0,0,0,.5)}
dialog::backdrop{background:rgba(14,24,32,.6);backdrop-filter:blur(2px)}
dialog h2{margin:0 0 6px;font-size:1.6rem}
label.f{display:block;font-weight:700;margin:16px 0 6px;font-size:.92rem}
.radios label{display:flex;gap:10px;align-items:center;padding:8px 0;font-weight:500}.radios input{width:auto;min-height:0;accent-color:var(--ink)}
.row{display:flex;gap:10px}.row>*{flex:1}
.copy{display:flex;gap:6px}.copy input{font-size:.8rem}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:.92rem;z-index:50;max-width:92%;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);border-bottom:2px solid var(--volt)}
footer.bottom{background:var(--night);color:#9fb0bc;padding:32px 0 36px;font-size:.88rem;margin-top:auto}
footer.bottom .brand{font:italic 800 1.5rem/1 var(--display);color:#fff;text-transform:uppercase}
footer.bottom .brand span{color:var(--volt)}
footer.bottom a{color:#fff}
footer.bottom .links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0}
footer.bottom p{max-width:70ch;margin:8px 0}
footer.bottom .safety{display:flex;gap:10px;border-top:1px solid #23343f;padding-top:14px;margin-top:14px}
footer.bottom .safety .i{color:var(--volt);margin-top:3px}
table{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line2);vertical-align:top}
th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--line2)}
.flag{display:inline-block;background:#fde2dc;color:#9a2a17;font-size:.75rem;font-weight:700;border-radius:5px;padding:2px 6px;margin:2px 2px 0 0}
.prose li{margin:8px 0}.prose{max-width:70ch}

/* Block 2: photos, profile editor, toggles */
img.avatar{object-fit:cover;background:var(--paper);padding:0}
.avatar.xs{width:24px;height:24px;font-size:.8rem}
.avatar.lg{width:96px;height:96px;font-size:2.6rem;background:var(--ink);color:var(--volt)}
.btn.google{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:700}
.btn.google:hover{box-shadow:inset 0 0 0 1.5px var(--ink2)}
.btn.google .i{width:20px;height:20px}
.ed-section{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);margin-bottom:14px}
.ed-section>h2{margin:0 0 4px;font-size:1.35rem}
.ed-section>.sub{color:var(--muted);font-size:.86rem;margin:0 0 12px}
.photo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.photo-row .btns{display:flex;flex-wrap:wrap;gap:8px}
.chips-wrap{display:flex;flex-wrap:wrap;gap:8px}
.sport-level{display:grid;gap:8px;margin-top:10px}
.sport-level .row-sl{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;background:var(--paper);border-radius:10px}
.sport-level .row-sl b{display:flex;align-items:center;gap:6px;font-size:.92rem}
.mini-seg{display:flex;gap:4px}
.mini-seg button{border:1.5px solid var(--line);background:#fff;border-radius:8px;padding:5px 9px;font-size:.8rem;font-weight:700;cursor:pointer}
.mini-seg button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.toggle{display:flex;gap:14px;align-items:flex-start;cursor:pointer}
.toggle input{position:absolute;opacity:0;width:1px;height:1px}
.toggle .sw{flex:none;width:48px;height:28px;border-radius:999px;background:#cfc9bb;position:relative;transition:background .15s;margin-top:2px}
.toggle .sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.toggle input:checked+.sw{background:var(--ink)}.toggle input:checked+.sw::after{transform:translateX(20px);background:var(--volt)}
.toggle input:focus-visible+.sw{outline:3px solid var(--celeste)}
.toggle input:disabled+.sw{opacity:.4}
.promo{display:flex;gap:14px;align-items:center;background:var(--night);color:#fff;border-radius:var(--r);padding:16px 18px;margin:14px 0;text-decoration:none}
.promo .i{width:30px;height:30px;color:var(--volt)}
.promo strong{font:700 1.15rem/1.1 var(--display);text-transform:uppercase;display:block}
.promo span{color:#c6d2da;font-size:.86rem}
.private{display:flex;gap:8px;align-items:flex-start;font-size:.84rem;color:var(--muted);margin-top:8px}
.private .i{margin-top:2px}
.pp-head{display:flex;gap:18px;align-items:center}
.pp-head h1{font:italic 800 2.6rem/1 var(--display)}
.chips-static{display:flex;flex-wrap:wrap;gap:6px}
.chip-s{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:.86rem;font-weight:600}
.chip-s .i{color:var(--sc,var(--ink2))}
.chip-s small{color:var(--muted);font-weight:600}
.bio{font-size:1.05rem;margin:14px 0 4px;white-space:pre-wrap}
.social{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.pp-block{margin-top:18px}.pp-block h3{font-size:1.05rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:8px}
.save-bar{position:sticky;bottom:0;padding:12px 0 14px;background:linear-gradient(transparent,var(--paper) 30%);z-index:5}

@media(min-width:700px){
  h1{font-size:2.6rem}
  .hero{padding:44px 40px 40px}
  .grid.cards{grid-template-columns:1fr 1fr}
  .filters .selects{grid-template-columns:1fr 1fr;max-width:560px}
  .chip-row{margin:0;padding-left:2px;padding-right:2px;flex-wrap:wrap;overflow:visible}
  .sport-grid{grid-template-columns:repeat(6,1fr)}
}
@media(min-width:980px){
  .detail-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start}
  .detail-grid .side{position:sticky;top:calc(var(--header) + 16px)}
  .grid.cards{grid-template-columns:1fr 1fr 1fr}
  .home-top{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:stretch}
}
