/* One player masthead, with the portrait and statistics in the same composition. */
.dashboard-main{--muted:#496385;padding-top:22px}
.profile-topline{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.profile-topline>a{font-size:12px;color:var(--blue);font-weight:600;padding:8px 0}
.profile-hero{position:relative;isolation:isolate;overflow:hidden;min-height:320px;border:1px solid #d9e7fc;border-radius:22px;background:radial-gradient(ellipse at 92% 20%,#b8ddff 0,transparent 57%),linear-gradient(110deg,#fff 30%,#eff7ff);padding:34px 40px;color:var(--deep)}
.profile-hero:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#ffffff 0%,#ffffffed 36%,#ffffff4d 60%,transparent 78%)}
.profile-hero:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(125deg,transparent 0 36px,#ffffff5c 37px 38px,transparent 39px 90px)}
.profile-copy{position:relative;z-index:2;max-width:65%;min-width:0}
.profile-identity{font-size:11px;font-weight:500;letter-spacing:.4px;margin:0 0 13px;color:var(--muted)}
.profile-identity>span{margin:0 8px}
.profile-title{font:700 clamp(38px,4.8vw,68px)/1.05 var(--display);letter-spacing:-2.7px;margin:0 0 14px;text-wrap:pretty;overflow-wrap:anywhere}
.profile-rank{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:600}
.profile-rank-mark{color:var(--blue);font-size:22px;line-height:1}
.profile-rank-scope{font-size:11px;font-weight:400;color:var(--muted);padding-left:11px;margin-left:3px;border-left:1px solid #b8ccea}
.profile-rating{display:flex;align-items:center;gap:28px;margin-top:27px;font-variant-numeric:tabular-nums}
.profile-rating>div{display:grid;gap:5px}
.profile-rating strong{font:700 46px/1 var(--display);letter-spacing:-1.8px;color:var(--blue)}
.profile-rating span{font-size:11px;color:var(--muted)}
.profile-rating .profile-peak{border-left:1px solid #cbdcf4;padding-left:27px}
.profile-peak strong{font-size:24px;letter-spacing:-.7px;color:var(--deep)}
.profile-art{position:absolute;z-index:0;inset:0 1% 0 auto;width:46%;max-width:540px;pointer-events:none;mask-image:linear-gradient(0deg,transparent,#000 19%,#000 92%,transparent)}
.profile-art img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 24%;user-select:none}
.profile-legend-caption{position:absolute;z-index:2;right:28px;bottom:22px;max-width:42%;display:grid;gap:4px;text-align:right;padding:12px 16px;background:#fffffff0;border:1px solid #e0ecfa;border-radius:10px;backdrop-filter:blur(9px)}
.profile-legend-caption strong{font:700 22px/1.1 var(--display);letter-spacing:-.6px;overflow-wrap:anywhere}
.profile-legend-caption span{font-size:10px;color:var(--muted)}
.profile-no-art .profile-legend-caption{font-size:12px;color:var(--muted);max-width:30%;line-height:1.6;text-align:left}
.profile-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:17px 0}
.tracking-preview-note{display:inline-flex;align-items:center;min-height:42px;font-size:11px;line-height:1.5;color:var(--muted);padding-right:12px}
.profile-actions .btn{min-height:42px;padding:12px 16px;font-size:11px}
.profile-refresh{margin-left:auto;min-height:42px;background:transparent;border:0;color:var(--muted);font-size:11px;font-weight:600;padding:10px 0 10px 16px}
.profile-refresh:hover{color:var(--blue)}
.profile-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;padding:22px 0;background:#fff}
.profile-totals article{display:grid;gap:9px;padding:0 25px;min-width:0}
.profile-totals article+article{border-left:1px solid var(--line)}
.profile-totals article>span{font-size:11px;font-weight:500;color:var(--muted)}
.profile-totals strong{font:600 32px/1.1 var(--display);letter-spacing:-1px;font-variant-numeric:tabular-nums;color:var(--deep)}
.profile-totals small{font-size:10px;line-height:1.5;color:var(--muted)}
.dashboard-main .personal-overview{margin:34px 0 26px}
.dashboard-main .personal-overview,.profile-history{scroll-margin-top:120px}
.dashboard-main .personal-section-heading{margin-bottom:16px}
.dashboard-main .personal-section-heading h2{font-size:27px}
.dashboard-main .personal-provenance{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0;margin:0 0 16px;font-size:11px}
.dashboard-main .personal-provenance>div{display:flex;flex-wrap:wrap;column-gap:15px}
.dashboard-main .personal-podium{grid-template-columns:1.15fr 1fr 1fr;gap:16px}
.dashboard-main .personal-podium:has(>.winner-card:only-child){grid-template-columns:1fr}
.dashboard-main .personal-podium:has(>.winner-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-main .personal-podium .winner-card{grid-row:auto;min-height:280px;padding:22px}
.dashboard-main .personal-podium:has(>.winner-card:only-child) .winner-card{min-height:260px}
.dashboard-main .winner-card .winner-copy{margin-top:auto;padding:0;max-width:85%}
.dashboard-main .winner-card .winner-copy h3{font-size:28px}
.dashboard-main .winner-card .winner-total{font-size:58px;letter-spacing:-2.5px;margin:10px 0}
.dashboard-main .winner-card .winner-total>span{font-size:13px}
.dashboard-main .winner-card .winner-copy p{font-size:11px;max-width:250px}
.dashboard-main .winner-illustrated>.personal-portrait:has(img){inset:5% -12% auto auto;width:78%;height:100%}
.dashboard-main .personal-podium:has(>.winner-card:only-child) .personal-portrait:has(img){width:48%;max-width:420px;right:2%;top:0;height:110%}
.dashboard-main .winner-illustrated:before{background:linear-gradient(90deg,#fff 0%,#ffffffeb 22%,#ffffff8a 45%,transparent 82%),linear-gradient(0deg,#f4f9ff 0%,transparent 70%)}
.dashboard-main .personal-podium:has(>.winner-card:only-child) .winner-copy{max-width:57%}
.dashboard-main .personal-lead{padding:15px 0;gap:10px}
.dashboard-main .personal-story-link{padding:16px 0}
.profile-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}
.profile-side{position:static;inset:auto;width:auto;height:auto;padding:0;background:none;color:var(--ink);display:grid;gap:18px;min-width:0}
.profile-side>.panel{margin:0}
.profile-side .goal-panel{display:block;padding:26px}
.profile-side .goal-panel h2{font-size:23px}
.profile-side .goal-panel form{margin-top:20px;max-width:none}
.profile-history .panel-head{align-items:center;gap:20px}
.profile-history .panel-head h2{margin-top:8px;font-size:26px}
.profile-change{font-size:19px;font-weight:600;white-space:nowrap;color:var(--blue);text-align:right;font-variant-numeric:tabular-nums}
.profile-change small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:5px}
.profile-history .history-meta{flex-wrap:wrap}
.profile-history .chart line[stroke="#427d58"]{stroke:var(--blue)}
.profile-history .chart circle{fill:var(--blue)}
.profile-history .chart text{fill:var(--muted);font-size:11px}
.profile-context{margin:24px 0 0;background:#f5f9ff;border-color:#deebfb}
.profile-context p{font-size:12px}
.profile-warning{margin:0 0 16px}
/* A grid item's intrinsic image height must not stretch the illustration frame. */
.winner-illustrated>.personal-portrait:has(img){display:block}
.winner-illustrated>.personal-portrait img{position:absolute;inset:0;min-width:0;min-height:0;width:100%;height:100%}
body[data-design=brutal] .profile-hero,body[data-design=brutal] .profile-totals{border-radius:0;border-color:var(--blue)}
body[data-design=toy] .profile-hero{border-radius:30px}
@media(max-width:900px){
  .profile-hero{padding:30px;min-height:300px}.profile-art{width:50%;right:-3%}.profile-totals article{padding:0 18px}
  .dashboard-main .personal-podium{grid-template-columns:1fr 1fr}.dashboard-main .personal-podium>.winner-0:not(:only-child){grid-column:1/-1;min-height:240px}
  .dashboard-main .personal-podium>.winner-0:not(:only-child)>.personal-portrait:has(img){width:50%;max-width:380px;right:0;top:0}
  .profile-detail-grid{grid-template-columns:1fr}.profile-side{grid-template-columns:1fr 1fr}.profile-side .goal-panel{min-width:0}
}
@media(max-width:650px){
  .dashboard-main{padding-top:15px}.profile-topline{margin-bottom:12px;gap:8px}.profile-topline .eyebrow{font-size:8px;letter-spacing:1.2px}.profile-topline>a{font-size:10px}
  .profile-hero{min-height:285px;padding:24px 21px;border-radius:18px}.profile-copy{max-width:72%}.profile-title{font-size:clamp(32px,10vw,46px);letter-spacing:-1.6px;margin-bottom:12px}
  .profile-identity{font-size:9px;letter-spacing:0;margin-bottom:14px}.profile-identity>span{margin:0 4px}
  .profile-rank{gap:5px;font-size:11px}.profile-rank-scope{font-size:9px;padding-left:7px;margin-left:1px}
  .profile-rating{gap:16px;margin-top:30px}.profile-rating strong{font-size:40px}.profile-rating span{font-size:9px}.profile-rating .profile-peak{padding-left:15px}.profile-peak strong{font-size:20px}
  .profile-art{width:66%;right:-18%;top:30px;bottom:0;mask-image:linear-gradient(90deg,transparent,#000 25%)}
  .profile-hero:before{background:linear-gradient(90deg,#fff 0%,#fffffff5 27%,#ffffffa6 51%,#ffffff12 78%)}
  .profile-legend-caption{right:12px;bottom:12px;max-width:42%;padding:8px 10px;gap:3px}.profile-legend-caption strong{font-size:16px}.profile-legend-caption span{font-size:8px;line-height:1.3}.profile-legend-caption span:last-child{display:none}
  .profile-no-art .profile-legend-caption{position:relative;inset:auto;display:grid;max-width:100%;margin-top:22px}.profile-no-art .profile-copy{max-width:100%}
  .profile-actions{gap:8px;padding:13px 0}.profile-actions .btn{font-size:10px;padding:10px 12px}.profile-refresh{font-size:10px;padding-left:4px;margin-left:0}
  .profile-totals{grid-template-columns:1fr 1fr;padding:0;border-radius:12px}.profile-totals article{padding:17px 15px;gap:7px}.profile-totals article:nth-child(3){border-left:0}.profile-totals article:nth-child(n+3){border-top:1px solid var(--line)}
  .profile-totals article>span{font-size:10px}.profile-totals strong{font-size:29px}.profile-totals small{font-size:9px;max-width:130px}
  .dashboard-main .personal-overview{margin-top:27px}.dashboard-main .personal-section-heading{gap:14px}.dashboard-main .personal-section-heading h2{font-size:25px;max-width:290px}.dashboard-main .personal-section-heading p{font-size:11px}
  .dashboard-main .personal-scope{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-main .personal-scope select{width:auto;flex:1;max-width:210px;min-width:0;font-size:11px}
  .dashboard-main .personal-provenance{gap:5px}.dashboard-main .personal-provenance>div{display:grid;gap:2px;font-size:10px}.dashboard-main .personal-provenance summary{min-height:30px;font-size:10px}
  .dashboard-main .personal-podium,.dashboard-main .personal-podium:has(>.winner-card:nth-child(2):last-child){grid-template-columns:1fr;gap:12px}
  .dashboard-main .personal-podium .winner-card,.dashboard-main .personal-podium:has(>.winner-card:only-child) .winner-card{min-height:240px;padding:20px}
  .dashboard-main .winner-card .winner-copy h3{font-size:27px}.dashboard-main .winner-card .winner-total{font-size:58px}
  .dashboard-main .personal-podium .winner-illustrated>.personal-portrait:has(img),.dashboard-main .personal-podium>.winner-0:not(:only-child)>.personal-portrait:has(img),.dashboard-main .personal-podium:has(>.winner-card:only-child) .personal-portrait:has(img){width:69%;max-width:280px;right:-12%;height:105%;top:2%}
  .dashboard-main .personal-podium:has(>.winner-card:only-child) .winner-copy{max-width:78%}.dashboard-main .winner-copy p{max-width:180px!important}
  .profile-side{grid-template-columns:1fr}.profile-detail-grid{gap:18px}.profile-history{padding:22px}.profile-history .panel-head h2{font-size:24px}.profile-history .panel-head{gap:10px}.profile-history .eyebrow{font-size:8px;letter-spacing:1px}.profile-change{font-size:17px}.profile-change small{font-size:8px}
  .profile-side .goal-panel{padding:22px}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body:not(.motion-off) .profile-art img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}body:not(.motion-off) .profile-hero:hover .profile-art img{transform:translateY(-4px) scale(1.015)}}
@media(prefers-reduced-motion:reduce){.profile-art img{transition:none}}
.motion-off .profile-art img{transition:none}
