.jpc-app{--ink:#222222;--muted:#606060;--accent:#d11e3c;--line:#dddddd;font:16px/1.5 Cabin,Helvetica,Arial,sans-serif;color:var(--ink);background:#f7f7f7;padding:clamp(16px,4vw,48px);max-width:1250px;margin:auto;box-sizing:border-box}
.jpc-app *{box-sizing:border-box}
.jpc-app button,.jpc-app input,.jpc-app select{font:inherit}
.jpc-app button,.jpc-app select{cursor:pointer}
.jpc-app button:focus-visible,.jpc-app a:focus-visible,.jpc-app select:focus-visible,.jpc-app input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.jpc-app .jpc-note{background:#f1f1f1;padding:12px 18px;border-left:4px solid var(--accent);font-size:.9em;margin-bottom:26px}
.jpc-app .jpc-kicker{color:var(--accent);text-transform:uppercase;font-size:.76em;letter-spacing:.14em;font-weight:750}
.jpc-app h1{font-size:clamp(1.8em,4vw,2.8em);line-height:1.15;margin:9px 0}
.jpc-app h2{font-size:1.35em;margin:6px 0 18px}
.jpc-app p{margin:8px 0}
.jpc-app .jpc-muted{color:var(--muted);font-size:.9em}
.jpc-app .jpc-nav,.jpc-app .jpc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.jpc-app button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 16px;border-radius:7px;font-weight:650}
.jpc-app button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.jpc-app button:disabled{opacity:.45;cursor:default}
.jpc-app .jpc-controls{display:flex;gap:24px;align-items:end;flex-wrap:wrap;margin:28px 0 8px}
.jpc-app label{display:block;font-size:.82em;font-weight:700}
.jpc-app select,.jpc-app input{display:block;border:1px solid #aaaaaa;border-radius:6px;padding:10px 12px;min-height:44px;margin-top:5px;color:var(--ink);background:#fff}
.jpc-app input{width:min(360px,100%)}
.jpc-app .jpc-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.jpc-app .jpc-card{background:white;border:1px solid var(--line);border-radius:10px;padding:20px}
.jpc-app .jpc-card:first-child{border-top:4px solid var(--accent)}
.jpc-app .jpc-card strong{display:block;font-size:1.2em;margin:6px 0;overflow-wrap:anywhere}
.jpc-app .jpc-rank{color:var(--accent);font-weight:800;font-size:.85em}
.jpc-app .jpc-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.jpc-app table{border-collapse:collapse;width:100%;text-align:left}
.jpc-app caption{padding:18px;text-align:left;font-weight:750;font-size:1.1em}
.jpc-app th{font-size:.75em;letter-spacing:.04em;text-transform:uppercase;background:#f1f1f1;color:var(--muted)}
.jpc-app th,.jpc-app td{padding:13px 18px;border-bottom:1px solid var(--line)}
.jpc-app tr:last-child td{border-bottom:0}
.jpc-app td:nth-child(3){font-variant-numeric:tabular-nums;font-weight:700}
.jpc-app .jpc-source{display:block;color:var(--muted);font-size:.75em;margin-top:2px}
.jpc-app .jpc-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:18px 0;font-size:.85em}
.jpc-app .jpc-pagination{display:flex;gap:8px}
.jpc-app .jpc-empty{padding:32px;background:white;border:1px solid var(--line);border-radius:10px}
.jpc-app .jpc-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:20px 0}
.jpc-app a{color:var(--accent);text-underline-offset:3px}
.jpc-app .jpc-block{margin-top:32px}
.jpc-app .jpc-badge{font-size:.75em;font-weight:650;background:#f1f1f1;padding:3px 7px;border-radius:4px;display:inline-block;margin-top:6px}
.jpc-app .jpc-search{flex:1;min-width:200px}
.jpc-app .jpc-table-wrap small{display:block}
.jpc-app .jpc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.jpc-app{padding:18px 12px}
.jpc-app .jpc-podium{grid-template-columns:1fr}
.jpc-app .jpc-card{padding:14px}
.jpc-app .jpc-podium .jpc-card strong{display:inline;margin:0 10px}
.jpc-app th,.jpc-app td{padding:11px 10px}
.jpc-app .jpc-controls{gap:14px}
.jpc-app .jpc-tabs button{padding:9px 12px}
.jpc-app .jpc-source{max-width:200px;overflow-wrap:anywhere}}@media(prefers-reduced-motion:no-preference){.jpc-app button{transition:background .15s}}
.jpc-app .jpc-intro{max-width:82ch;margin:14px 0 22px}
.jpc-app .jpc-nav{background:#000;padding:8px;border-radius:9px}
.jpc-app .jpc-nav button{background:transparent;border-color:#444;color:#fff}
.jpc-app .jpc-nav button[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}
.jpc-app .jpc-card{position:relative}
.jpc-app .jpc-record-rank{position:absolute;right:14px;top:14px;border-radius:6px;background:#000;color:#fff;font-weight:800;font-size:.9em;padding:5px 9px;line-height:1.4}
.jpc-app .jpc-record-rank+.jpc-kicker{display:block;max-width:calc(100% - 45px)}
.jpc-app .jpc-badge{background:#fcebed;color:#a81730;text-decoration:underline}
.jpc-app details{margin-top:20px}
.jpc-app summary{cursor:pointer;font-weight:700;padding:12px 0}
.jpc-app [id^="jpc-identities-"]{scroll-margin-top:24px}

.jpc-app .jpc-palmares{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.jpc-app .jpc-title-detail{font-size:.93em;line-height:1.65;margin-top:12px}
.jpc-app .jpc-title-detail b{font-weight:750}
.jpc-app .jpc-title-detail span{color:var(--muted)}
.jpc-app .jpc-search{position:relative}
.jpc-app .jpc-suggestions{position:absolute;z-index:10;top:100%;left:0;width:min(360px,100%);max-height:250px;overflow-y:auto;background:#fff;border:1px solid #aaa;border-radius:6px;box-shadow:0 8px 20px #0002;margin-top:4px;font-size:1em;font-weight:400}
.jpc-app .jpc-suggestions[hidden]{display:none}
.jpc-app .jpc-suggestions button{display:block;width:100%;text-align:left;border:0;border-radius:0;font-weight:400;padding:10px 12px}
.jpc-app .jpc-suggestions button:hover,.jpc-app .jpc-suggestions button[aria-selected=true]{background:#fcebed;color:#a81730}
.jpc-app .jpc-suggestion-empty{padding:12px;color:var(--muted)}

/* Bound the viewer to its container and keep theme typography outside it. */
.jpc-app{width:100%;min-width:0;padding:20px; font-size:16px;line-height:1.5;text-align:left;letter-spacing:normal}
.jpc-app script.jpc-data{display:none!important}
.jpc-app>div{min-width:0}
.jpc-app h1,.jpc-app h2,.jpc-app p,.jpc-app label,.jpc-app table,.jpc-app button,.jpc-app input,.jpc-app select{font-family:Cabin,Helvetica,Arial,sans-serif;letter-spacing:normal;text-transform:none}
.jpc-app h1{font-size:32px;font-weight:700;line-height:1.2;padding:0}
.jpc-app h2{font-size:22px;font-weight:700;line-height:1.3;padding:0}
.jpc-app p{font-size:16px;line-height:1.5;padding:0}
.jpc-app table{font-size:16px;margin:0;table-layout:auto}
.jpc-app th{font-size:12px;text-transform:uppercase}
.jpc-app td{font-size:16px}
.jpc-app button{min-height:44px;line-height:1.3;white-space:normal;margin:0;box-shadow:none}
.jpc-app .jpc-controls>*{min-width:0;max-width:100%}
.jpc-app input,.jpc-app select{max-width:100%}
.jpc-app .jpc-search{min-width:min(200px,100%)}
.jpc-app .jpc-table-wrap{width:100%;min-width:0;-webkit-overflow-scrolling:touch}
.jpc-app .jpc-loyalty>.jpc-table-wrap{border-top:3px solid var(--accent)}
.jpc-app .jpc-records{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.jpc-app .jpc-palmares{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.jpc-app .jpc-card{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){
.jpc-app{padding:12px}
.jpc-app h1{font-size:26px}
.jpc-app h2{font-size:21px}
.jpc-app .jpc-controls{align-items:stretch}
.jpc-app .jpc-search{flex-basis:100%}
.jpc-app .jpc-tabs{gap:6px}
.jpc-app .jpc-pagination{flex-wrap:wrap}
}

/* Align headings with their values; the player column stays left aligned. */
.jpc-app th,.jpc-app td{text-align:center}
.jpc-app th:nth-child(2),.jpc-app td:nth-child(2){text-align:left}
.jpc-app .jpc-search-field{display:block;position:relative;width:min(360px,100%);margin-top:5px}
.jpc-app .jpc-search-field input{width:100%;padding-right:48px;margin:0}
.jpc-app .jpc-search-clear{position:absolute;right:1px;top:50%;transform:translateY(-50%);bottom:auto;width:44px;height:42px;min-height:42px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:0;background:transparent;font-size:24px;line-height:1}
.jpc-app .jpc-search-clear[hidden]{display:none}
.jpc-app .jpc-averages .jpc-table-wrap{border-top:3px solid var(--accent)}

.jpc-app .jpc-sort{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline;text-underline-offset:3px;background:transparent;border:0;border-radius:0;padding:4px 0;min-height:44px;width:100%;text-align:inherit}
.jpc-app .jpc-sort:hover{color:var(--accent)}

.jpc-app caption.jpc-kicker{font-family:Cabin,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;font-weight:750;color:var(--accent);letter-spacing:normal;text-transform:none;font-style:normal;margin:0;padding:12px 14px;text-align:left}
