:root{
  --bg:#0A0B0A; --card:#121412; --line:#1F231F; --line2:#262A26; --text:#F2F5F2; --text2:#C9D1C9; --muted:#9AA39A;
  --accent:#3DFF7A; --on-accent:#0A0B0A; --gain:#3DFF7A; --loss:#FF8A7A; --chip:#1A211B; --avatar:#1E261F;
  --r:18px; --mono:'JetBrains Mono',ui-monospace,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:'Archivo',system-ui,sans-serif;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
a{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.gain{color:var(--gain)} .loss{color:var(--loss)} .muted{color:var(--muted)} .t2{color:var(--text2)}

/* top bar */
.topbar{position:sticky;top:0;z-index:20;background:rgba(10,11,10,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;padding:12px max(16px,calc((100% - 720px)/2 + 16px))}
.logo{font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:0}
.logo span{color:var(--accent)}
.logo em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:1px;color:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:2px 6px;margin-left:8px}
#topRight{display:flex;gap:8px;align-items:center}

main{max-width:720px;margin:0 auto;padding:16px 16px 120px}
.loading{color:var(--muted);padding:40px 0;text-align:center}

/* tab bar */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--bg);border-top:1px solid var(--line);
  display:flex;justify-content:space-around;align-items:center;height:72px;padding:0 8px env(safe-area-inset-bottom)}
.tabbar a{flex:1;max-width:160px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  color:var(--muted);text-decoration:none;font-size:11px;font-weight:600}
.tabbar a.on{color:var(--accent)}
.tabbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tab-main span{width:40px;height:40px;border-radius:20px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center}
.tab-main span svg{stroke-width:2.6}
.tabbar a.tab-main.on{color:var(--accent)}

/* buttons */
.btn{height:44px;padding:0 18px;border-radius:22px;border:1px solid var(--line2);background:transparent;color:var(--text2);
  font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:#3A403A;color:var(--text)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:800}
.btn.primary:hover{filter:brightness(1.06)}
.btn.small{height:34px;padding:0 14px;font-size:13px;border-radius:17px}
.btn.outline-accent{border-color:var(--accent);color:var(--accent)}
.btn.block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.linkbtn{background:none;border:none;color:var(--accent);cursor:pointer;padding:6px 0;font-weight:600;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.linkbtn.muted{color:var(--muted)}
.iconbtn{width:44px;height:44px;border-radius:22px;border:1px solid var(--line2);background:var(--card);color:var(--text2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.iconbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.iconbtn.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.iconbtn.plain{background:transparent;border:none;width:36px;height:36px}

/* cards & forms */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.stack{display:flex;flex-direction:column;gap:14px}
.row{display:flex;gap:10px;align-items:center}
.wrap{flex-wrap:wrap}
.between{justify-content:space-between}
h1,h2,h3{margin:0;letter-spacing:-.4px}
h1{font-size:30px;font-weight:900;line-height:1.08}
h2{font-size:21px;font-weight:800}
h3{font-size:16px;font-weight:700}
p{margin:0;line-height:1.5;color:var(--text2)}
label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--text2)}
.input,select.input,textarea.input{width:100%;min-height:48px;border-radius:12px;border:1px solid #2F352F;background:var(--bg);color:var(--text);padding:12px 14px;font-size:16px}
textarea.input{resize:vertical;min-height:90px;line-height:1.45}
.input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.hint{font-size:12px;color:var(--muted);font-weight:500}
.err{color:var(--loss);font-size:14px;font-weight:600}
.okmsg{color:var(--gain);font-size:14px;font-weight:600}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--text2);cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--accent);margin:1px 0 0;flex:none}
.seg{display:flex;gap:8px}
.chip{height:36px;padding:0 16px;border-radius:18px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--line2);background:transparent;color:var(--text2)}
.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;background:var(--chip);color:var(--text2);font-size:11px;font-weight:700;letter-spacing:.4px}
.tag.accent{background:var(--accent);color:var(--on-accent)}
.tag.warn{background:#2A1F1C;color:var(--loss)}
.notice{border:1px solid var(--line2);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--text2);background:var(--chip);line-height:1.45}
.notice.warn{border-color:#4A2E28;background:#1C1412;color:#FFC2B8}
.notice ul{margin:6px 0 0;padding-left:18px}

/* auth */
.hero{padding:20px 0 6px}
.hero h1{font-size:clamp(32px,8vw,48px)}
.hero h1 span{color:var(--accent)}
.tabs2{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border:1px solid var(--line2);border-radius:22px;padding:3px}
.tabs2 button{height:38px;border-radius:19px;border:none;background:transparent;color:var(--text2);font-weight:700;cursor:pointer}
.tabs2 button.on{background:var(--accent);color:var(--on-accent)}

/* avatar */
.av{width:40px;height:40px;border-radius:20px;background:var(--avatar);color:var(--accent);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex:none;text-transform:uppercase}
.av.lg{width:72px;height:72px;border-radius:36px;font-size:26px}
.av.xs{width:24px;height:24px;border-radius:12px;font-size:10px;border:2px solid var(--card)}
.avstack{display:flex}
.avstack .av+.av{margin-left:-8px}

/* post */
.post{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:14px;min-width:0}
.post-head{display:flex;gap:10px;align-items:center}
.post-head .who{flex:1;min-width:0}
.post-head .name{font-weight:700;font-size:15px;color:var(--text);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-head .meta{font-size:12px;color:var(--muted);margin-top:2px}
.post-title{display:flex;gap:10px;align-items:flex-start}
.post-title svg{width:22px;height:22px;flex:none;margin-top:3px;color:var(--accent)}
.post-title h3{font-size:20px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.post-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}
.bigstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.bigstats>div{padding:0 10px;border-left:1px solid var(--line2);min-width:0}
.bigstats>div:first-child{padding-left:0;border-left:none}
.bigstats .lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;line-height:1.25;min-height:2.5em;display:flex;align-items:flex-end}
.bigstats .val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(17px,5vw,24px);font-weight:700;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smallstats{font-size:12.5px;color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;line-height:1.6}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:14px;overflow:hidden;margin:0 -4px}
.gallery .map{grid-column:1/-1;background:#0D0F0D;position:relative}
.gallery .map svg{display:block;width:100%;height:auto}
.gallery .m{position:relative;aspect-ratio:1/1;background:#0D0F0D;cursor:zoom-in;overflow:hidden;border:none;padding:0}
.gallery .m img,.gallery .m video{width:100%;height:100%;object-fit:cover;display:block}
.gallery .m.solo{grid-column:1/-1;aspect-ratio:16/10}
.gallery .m .play{position:absolute;inset:auto auto 8px 8px;background:rgba(0,0,0,.6);border-radius:10px;padding:3px 8px;font-size:11px;color:#fff}
.post-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.post-foot .counts{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.post-foot .counts button{background:none;border:none;color:var(--muted);cursor:pointer;padding:0;font-size:13px}
.menu{position:relative}
.menu .pop{position:absolute;right:0;top:46px;z-index:15;background:#161916;border:1px solid var(--line2);border-radius:14px;min-width:220px;padding:6px;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.menu .pop button{display:block;width:100%;text-align:left;background:none;border:none;padding:12px;border-radius:10px;cursor:pointer;font-size:15px;color:var(--text)}
.menu .pop button:hover{background:var(--chip)}
.menu .pop button.danger{color:var(--loss)}
.comments{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.cmt{display:flex;gap:10px}
.cmt .body{flex:1;min-width:0;font-size:14px;line-height:1.45;color:var(--text2);overflow-wrap:anywhere}
.cmt .body b{color:var(--text);margin-right:6px}
.cmt .body small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.sample-ribbon{align-self:flex-start}

/* feed */
.feedhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.feed{display:flex;flex-direction:column;gap:14px}
.people{display:flex;flex-direction:column;gap:10px}
.person{display:flex;align-items:center;gap:10px}
.person .who{flex:1;min-width:0}
.person .who a{color:var(--text);font-weight:700;text-decoration:none}
.person .who div{font-size:12px;color:var(--muted)}

/* upload */
.drop{border:1.5px dashed #2F352F;border-radius:var(--r);padding:28px 16px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;background:var(--card)}
.drop.over{border-color:var(--accent);background:#111811}
.drop svg{width:34px;height:34px;color:var(--accent);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.days{display:flex;flex-direction:column;gap:8px}
.day{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 14px;border:1px solid var(--line2);border-radius:14px;background:var(--card);cursor:pointer;text-align:left;width:100%}
.day.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.day .d{font-weight:700}
.day .n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700;text-align:right}
.day .s{font-size:12.5px;color:var(--muted);font-family:var(--mono);grid-column:1/-1}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;max-width:100%}
table.trades{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums;min-width:600px}
table.trades th,table.trades td{padding:9px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}
table.trades th{color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;background:#0F110F}
table.trades td{font-family:var(--mono)}
table.trades th:nth-child(-n+4),table.trades td:nth-child(-n+4){text-align:left}
table.trades tr:last-child td{border-bottom:none}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.thumb{position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#0D0F0D;border:1px solid var(--line2)}
.thumb img,.thumb video{width:100%;height:100%;object-fit:cover}
.thumb button{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:14px;border:none;background:rgba(0,0,0,.7);color:#fff;cursor:pointer;font-size:16px;line-height:1}
.thumb .kept{position:absolute;left:4px;bottom:4px;font-size:10px;background:rgba(0,0,0,.7);padding:2px 6px;border-radius:6px}
.maprow{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:560px){.maprow{grid-template-columns:1fr 1fr}}

/* profile */
.prof-head{display:flex;gap:14px;align-items:center}
.prof-head .who{flex:1;min-width:0}
.prof-head h2{overflow-wrap:anywhere}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tile{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 8px;text-align:center;min-width:0}
.tile .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}
.tile .l{font-size:10.5px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.3px;line-height:1.2}
.cal{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px;width:100%}
.cal i{display:block;aspect-ratio:1/1;border-radius:3px;background:#161A16}
.calwrap{display:flex;flex-direction:column;gap:8px}
.legend{display:flex;gap:12px;font-size:12px;color:var(--muted);align-items:center}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}

/* toast & lightbox */
#toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);z-index:60;background:#1A211B;border:1px solid var(--line2);color:var(--text);
  padding:12px 16px;border-radius:14px;font-size:14px;max-width:calc(100% - 32px);box-shadow:0 10px 30px rgba(0,0,0,.5)}
#toast.bad{border-color:#5A2E28;color:#FFC2B8}
#lightbox{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;padding:16px}
#lightbox img,#lightbox video{max-width:100%;max-height:100%;border-radius:8px}
#lightbox .x{position:absolute;top:14px;right:14px}
.modal{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:16px}
.modal .card{max-width:420px;width:100%}
.empty{text-align:center;padding:28px 16px;color:var(--muted)}
.sep{height:1px;background:var(--line);margin:4px 0}
@media(min-width:720px){main{padding-top:24px}}

.bell{position:relative}
.badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--loss);color:#0A0B0A;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:var(--mono)}
.notif.new{border-color:#2E5A3A;background:#111A13}
#topRight{gap:6px}
@media(max-width:380px){.logo em{display:none}}

/* ===== avatar con foto ===== */
.av{overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover;display:block}

/* ===== feed stile Strava ===== */
select.input.feedsel{width:auto;min-height:40px;height:40px;padding:0 36px 0 14px;font-size:15px;font-weight:600;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239AA39A' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.feedmore{text-align:center;padding:22px 0 8px;min-height:40px}
.side{display:none}
.dash{display:block}
.sidecard{display:flex;flex-direction:column;gap:14px}
.sidehead{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.sidehead h3{font-size:19px;overflow-wrap:anywhere}
.counts3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}
.counts3 a{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--text);border-left:1px solid var(--line)}
.counts3 a:first-child{border-left:none}
.counts3 span{font-size:11.5px;color:var(--muted)}
.counts3 b{font-family:var(--mono);font-size:19px;font-variant-numeric:tabular-nums}
.sidesec{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line);padding-bottom:14px}
.lastses{color:var(--text);text-decoration:none;font-size:14px;line-height:1.4}
.lastses:hover b{color:var(--accent)}
.streak{display:flex;align-items:center;gap:10px}
.flame{width:54px;flex:none;display:flex;flex-direction:column;align-items:center;gap:1px}
.flame b{width:40px;height:40px;border-radius:20px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:16px}
.flame span{font-size:10px;color:var(--muted)}
.weekdots{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;flex:1}
.weekdots>div{display:flex;flex-direction:column;align-items:center;gap:4px}
.weekdots .dl{font-size:10.5px;color:var(--muted);font-weight:700}
.weekdots .dd{width:24px;height:24px;border-radius:12px;background:#1A1E1A;color:var(--text2);font-size:11px;font-family:var(--mono);display:flex;align-items:center;justify-content:center}
.weekdots .dd.g{background:var(--accent);color:var(--on-accent);font-weight:700}
.weekdots .dd.r{background:var(--loss);color:#0A0B0A;font-weight:700}
.weekdots .dd.today{box-shadow:0 0 0 2px var(--text) inset}
.weekdots .dd.fut{opacity:.4}
.wkstats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}
.wkstats b{display:block;font-family:var(--mono);font-size:18px;font-variant-numeric:tabular-nums}
.wkstats span{font-size:11px;color:var(--muted)}
.sidelink{font-size:14px;font-weight:600;text-decoration:none}
@media(min-width:1024px){
  body.wide main{max-width:1240px}
  body.wide .topbar{padding-left:max(16px,calc((100% - 1240px)/2 + 16px));padding-right:max(16px,calc((100% - 1240px)/2 + 16px))}
  body.wide .dash{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;gap:24px;align-items:start}
  body.wide .side{display:flex;flex-direction:column;gap:16px;position:sticky;top:80px}
  body.wide .center{max-width:640px;width:100%;margin:0 auto}
  body.wide .hide-wide{display:none}
}
.avedit{position:relative;cursor:pointer;display:inline-block;flex:none}
.avedit .cam{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;border-radius:14px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:14px;border:2px solid var(--card)}
.avedit:hover .av{filter:brightness(1.15)}

/* settori e club (22/10/2026) */
.sectabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sectabs::-webkit-scrollbar{display:none}
.sectabs .chip{flex:none;height:34px;padding:0 14px;font-size:13px}
.sectabs .chip.pin{padding:0 12px;font-size:16px}
.sectabs .chip.pin.on{background:transparent;color:var(--accent);border-color:var(--accent)}
.clubgrid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:720px){.clubgrid{grid-template-columns:1fr 1fr}}
.clubcard{display:flex;flex-direction:column;gap:10px;min-width:0}
.clubhead{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;min-width:0}
.clubhead .who{flex:1;min-width:0}
.clubhead b{color:var(--text);font-size:16px;overflow-wrap:anywhere}
.clubhead h1{overflow-wrap:anywhere}
.badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}
.clubdesc{font-size:14px;overflow-wrap:anywhere}
.clubav{width:44px;height:44px;border-radius:12px;background:var(--avatar);color:var(--accent);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;flex:none;text-transform:uppercase;border:1px solid var(--line2)}
.clubav.prop{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.clubtop .clubav{width:56px;height:56px;font-size:19px;border-radius:14px}
.tag .ico{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.4;margin-right:4px}
a.chip{display:inline-flex;align-items:center;text-decoration:none}
.board td.trader a{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:700;text-decoration:none;font-family:Archivo,sans-serif}
.board .av.xs{border:none}
.board tr.meRow td{background:#132015}
.btn.danger-outline{border-color:#4A2E28;color:var(--loss)}
.person .row .btn{flex:none}
@media(max-width:480px){.card.person{flex-wrap:wrap}.card.person>.row{width:100%;justify-content:flex-start!important}}
table.trades.board{min-width:0}
@media(max-width:560px){table.board th,table.board td{padding:8px 6px;font-size:12px}table.board th:nth-child(4),table.board td:nth-child(4){display:none}table.board td .hint{display:none}}

/* ============ PROFILO stile atleta (23/10/2026) ============ */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pf{gap:20px}
.pf-cover{display:grid;gap:4px;height:180px;border-radius:var(--r);overflow:hidden;grid-template-columns:repeat(4,minmax(0,1fr))}
.pf-cover.n1{grid-template-columns:1fr}.pf-cover.n2{grid-template-columns:1fr 1fr}.pf-cover.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pf-cover.empty{display:flex;align-items:flex-end;padding:14px;background:linear-gradient(135deg,#121412,#1A211B);border:1px solid var(--line);color:var(--muted);font-size:13px}
.pf-pic{border:0;padding:0;margin:0;background:#121412;cursor:zoom-in;min-width:0}
.pf-pic img{width:100%;height:100%;object-fit:cover;display:block}
.pf-head{display:flex;flex-direction:column;gap:20px;padding:0 4px}
.pf-id{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.pf-id .avedit,.pf-id>.pf-av{margin-top:-62px}
.pf-av.av.lg{width:104px;height:104px;border-radius:52px;font-size:36px;border:4px solid var(--bg);background:var(--avatar)}
.pf-name{margin:4px 0 0;font-size:28px;font-weight:800;letter-spacing:-.4px;overflow-wrap:anywhere}
.pf-tags{display:flex;gap:6px;flex-wrap:wrap}
.pf-four{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.pf-total{text-align:center;min-width:120px}
.pf-total .v{font-size:64px;font-weight:700;line-height:1;color:var(--accent);margin:6px 0}
.pf-total .l{font-size:12px;color:var(--muted);font-weight:600}
.pf-cal{flex:1;min-width:230px;max-width:320px}
.pf-week,.pf-grid4{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;align-items:center}
.pf-week{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:6px}
.pf-grid4{row-gap:12px}
.pf-d{display:inline-block;width:6px;height:6px;border-radius:50%;background:#3A403A}
.pf-d.fut{background:transparent}
.pf-d.in{width:18px;height:18px;background:var(--accent);box-shadow:0 0 10px rgba(61,255,122,.45)}
.pf-d.out{width:16px;height:16px;background:transparent;border:3px solid #FF9F43}
.pf-d.ses{width:14px;height:14px;background:transparent;border:2px solid var(--accent)}
.pf-d.istoday{outline:2px solid var(--text);outline-offset:3px}
.pf-d.today{width:auto;height:auto;background:transparent;border-radius:0;font-family:var(--mono);font-size:13px;font-weight:700;color:var(--text);border-bottom:3px solid var(--accent);padding:0 2px}
.pf-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:11.5px;color:var(--muted)}
.pf-legend span{display:inline-flex;align-items:center;gap:6px}
.pf-legend .pf-d{width:10px;height:10px;box-shadow:none}
.pf-legend .pf-d.out{width:10px;height:10px;border-width:2px}
.pf-legend .pf-d.ses{width:10px;height:10px}
.pf-lbl{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.4px}
.pf-bar{margin-bottom:10px;font-size:13px}
.pf-track{height:8px;border-radius:4px;background:#1A1E1A;margin-top:4px;overflow:hidden}
.pf-track i{display:block;height:100%;border-radius:4px;background:var(--accent)}
.pf-body{display:flex;flex-direction:column;gap:24px}
.pf-trophies{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px}
.pf-trophy{text-align:center}
.pf-trophy:not(.ok) .pf-hex{opacity:.6}
.pf-trophy:not(.ok) .pf-tname{color:var(--muted)}
.pf-hex{width:84px;height:94px;margin:0 auto;display:flex;align-items:center;justify-content:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#232823}
.pf-trophy.ok .pf-hex{background:var(--accent)}
.pf-hex span{font-family:var(--mono);font-size:24px;font-weight:700;color:var(--text2)}
.pf-trophy.ok .pf-hex span{color:var(--on-accent)}
.pf-tname{margin-top:10px;font-size:13.5px;font-weight:700;color:var(--text);line-height:1.25}
.pf-tsub{margin-top:3px;font-size:12px;color:var(--muted);font-family:var(--mono)}
.pf-rec{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.pf-rec .t{flex:1;min-width:0;color:var(--text2)}
.pf-rec b{color:var(--accent);font-size:13.5px;text-align:right}
.pf-medal{width:32px;height:32px;border-radius:16px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;flex:none}
.pf-medal.alt{background:var(--text);color:var(--bg)}
.pf-box{border-top:1px solid var(--line);padding-top:16px}
.pf-box h3{margin:0 0 12px;font-size:18px}
.pf-clubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}
.pf-clubs a{display:flex;text-decoration:none;min-height:44px}
.pf-social{display:flex;gap:28px}
.pf-social span{display:block;font-size:12px;color:var(--muted)}
.pf-social b{display:block;font-size:28px;font-weight:600;color:var(--accent);font-family:var(--mono)}
.pf-stats{width:100%;border-collapse:collapse;font-size:13.5px}
.pf-stats th,.pf-stats td{padding:9px 6px;border-bottom:1px solid var(--line);text-align:right}
.pf-stats th[scope=row]{text-align:left;font-weight:500;color:var(--text2)}
.pf-stats thead th{font-size:11.5px;color:var(--muted);font-weight:700;background:#141814}
.pf-stats td{color:var(--accent);white-space:nowrap}
@media(min-width:720px){
  .pf-cover{height:220px}
  .pf-head{flex-direction:row;flex-wrap:wrap;align-items:flex-start}
  .pf-id{flex:1 1 220px;min-width:0}
  .pf-four{flex:2 1 380px;padding-top:12px}
  .pf-sectors{flex:1 1 220px;padding-top:12px}
}
@media(min-width:1024px){
  body.wide .pf-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}
  body.wide .pf-cover{height:260px}
}

.pf .calwrap .cal{max-width:560px}
