.psp-app{--ps-green:#b9ff2c;--ps-dark:#0d0f0e;--ps-soft:#171a18;--ps-line:#2a2f2b;--ps-text:#f4f6f4;--ps-muted:#aeb7b0;max-width:1120px;margin:24px auto;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ps-text)}
.psp-app *{box-sizing:border-box}.psp-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border:1px solid var(--ps-line);border-radius:22px;background:linear-gradient(135deg,#101310,#1c2319)}.psp-hero h1,.psp-hero h2{font-size:clamp(32px,5vw,58px);line-height:1;margin:7px 0 10px}.psp-hero p{margin:0;color:var(--ps-muted);font-size:17px}.psp-kicker{color:var(--ps-green);font-weight:900;letter-spacing:.12em;font-size:12px}.psp-max{min-width:96px;text-align:center;border:1px solid var(--ps-green);border-radius:18px;padding:12px;color:var(--ps-green);font-weight:800;line-height:1.05}.psp-max strong{font-size:40px}.psp-userbar{margin:14px 0;text-align:right;color:var(--ps-muted)}.psp-userbar a{color:var(--ps-green)}
.psp-section{margin-top:32px}.psp-section h3{font-size:29px;margin:5px 0 16px}.psp-card,.psp-ticket{background:var(--ps-dark);border:1px solid var(--ps-line);border-radius:18px;padding:20px}.psp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.psp-card h3,.psp-card h4{margin-top:0}.psp-card h4{font-size:20px}.psp-card label{display:block;color:var(--ps-muted);font-size:13px;margin:12px 0}.psp-card input:not([type=radio]){width:100%;margin-top:6px;background:#0b0d0c;color:white;border:1px solid #363c37;border-radius:10px;padding:12px}.psp-btn{background:var(--ps-green);color:#0b0d0c;border:0;border-radius:12px;padding:12px 18px;font-weight:900;cursor:pointer}.psp-btn.secondary{background:#222823;color:var(--ps-green);border:1px solid var(--ps-green)}.psp-note{color:var(--ps-muted);font-size:14px;line-height:1.55}.psp-msg{margin:16px 0;padding:13px 16px;border-radius:12px}.psp-msg.ok{background:#17301a;border:1px solid #3f7c45}.psp-msg.err{background:#351a1a;border:1px solid #7a3f3f}
.psp-round-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.psp-badge{font-size:11px;font-weight:900;background:var(--ps-green);color:#0b0d0c;padding:5px 8px;border-radius:999px}.psp-table-wrap{overflow-x:auto}.psp-ticket table,.psp-ranking table{width:100%;border-collapse:collapse}.psp-ticket th,.psp-ticket td,.psp-ranking th,.psp-ranking td{padding:12px 8px;border-bottom:1px solid var(--ps-line);text-align:center}.psp-ticket th:nth-child(2),.psp-ticket td:nth-child(2),.psp-ranking th:nth-child(2),.psp-ranking td:nth-child(2){text-align:left}.psp-match small{display:block;color:var(--ps-green);font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:.07em}.psp-match strong{display:block;margin:2px 0}.psp-match span{display:block;color:var(--ps-muted);font-size:12px}.psp-radio input{position:absolute;opacity:0;pointer-events:none}.psp-radio span{display:inline-flex;width:36px;height:36px;border:1px solid #3a423c;border-radius:9px;align-items:center;justify-content:center;font-weight:900;cursor:pointer}.psp-radio input:checked+span{background:var(--ps-green);border-color:var(--ps-green);color:#0b0d0c}.psp-exact{display:flex;align-items:center;justify-content:center;gap:6px}.psp-exact input{width:52px!important;background:#0b0d0c!important;color:white!important;border:1px solid #3a423c!important;border-radius:9px!important;padding:8px!important;text-align:center}.psp-ticket-foot{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:16px}.psp-ticket-foot p{color:var(--ps-muted);margin:0;font-size:13px}.psp-ranking{overflow:auto}.psp-ranking th{color:var(--ps-muted);font-size:11px;text-transform:uppercase}.psp-ranking tr:last-child td{border-bottom:0}.psp-ranking tbody tr:first-child td:first-child{color:var(--ps-green);font-weight:900}.psp-leagues{display:grid;gap:16px;margin-top:16px}.psp-league-head{display:flex;justify-content:space-between;gap:12px}.psp-league-head p{margin:0 0 12px;color:var(--ps-muted);font-size:13px}.psp-league code{color:var(--ps-green);background:#151916;padding:3px 6px;border-radius:6px}.psp-empty{margin-top:16px}.psp-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.psp-rules>div{background:var(--ps-dark);border:1px solid var(--ps-line);border-radius:16px;padding:18px}.psp-rules strong{display:block;color:var(--ps-green);font-size:34px}.psp-rules span{color:var(--ps-muted)}
.psp-app #loginform p{margin:10px 0}.psp-app #loginform input[type=text],.psp-app #loginform input[type=password]{width:100%;background:#0b0d0c;color:white;border:1px solid #363c37;border-radius:10px;padding:12px}.psp-app #wp-submit{background:var(--ps-green);border:0;border-radius:12px;padding:12px 18px;font-weight:900}.psp-logout-form{display:inline}.psp-logout-form button{border:0;background:none;color:var(--ps-green);padding:0;cursor:pointer;font:inherit}
.psp-card label.psp-check{display:flex;align-items:center;gap:8px}.psp-card label.psp-check input{width:auto;margin:0}
.psp-card label.psp-check{align-items:flex-start;line-height:1.45}.psp-card label.psp-check input{flex:0 0 auto;margin-top:3px}.psp-resend{margin-top:14px;color:var(--ps-muted)}.psp-resend summary{cursor:pointer;color:var(--ps-green);font-size:13px}.psp-resend form{margin-top:10px}.psp-resend .psp-btn{font-size:12px;padding:9px 12px}
.psp-legal-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;color:var(--ps-muted);font-size:13px}.psp-legal-links a,.psp-full-rules a,.psp-card label.psp-check a{color:var(--ps-green);text-decoration:underline}.psp-full-rules{padding:24px;background:rgba(13,15,14,.72);border:1px solid var(--ps-line);border-radius:18px}.psp-full-rules h3{margin-top:28px}.psp-full-rules h3:first-of-type{margin-top:10px}.psp-full-rules p,.psp-full-rules li{color:var(--ps-muted);line-height:1.65}.psp-full-rules ul{padding-left:22px}.psp-updated{font-size:13px!important;color:var(--ps-green)!important}
@media(max-width:760px){.psp-grid-2,.psp-rules{grid-template-columns:1fr}.psp-hero{align-items:flex-start}.psp-max{min-width:78px}.psp-ticket{padding:10px}.psp-ticket th,.psp-ticket td{padding:10px 5px}.psp-match{min-width:190px}.psp-ticket-foot{align-items:stretch;flex-direction:column}.psp-ticket-foot .psp-btn{width:100%}}

/* Homepage integration and live deadline */
.psp-home-section{position:relative}.psp-home-copy{max-width:720px;margin:0;color:var(--ps-muted,#aebbb3)}.psp-home-mark{align-self:center;min-width:108px;padding:14px 16px;border:1px solid var(--ps-line,rgba(246,248,243,.18));border-radius:14px;color:var(--ps-green,#39ff14);font-family:var(--ps-display,Impact,sans-serif);font-size:.82rem;letter-spacing:.14em;text-align:center;text-transform:uppercase}.psp-home-mark strong{font-size:2rem;letter-spacing:0}.psp-home-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid var(--ps-line,rgba(246,248,243,.18));border-left:5px solid var(--ps-green,#39ff14);border-radius:14px;background:linear-gradient(135deg,rgba(16,23,19,.98),rgba(10,38,22,.94))}.psp-home-card h3,.psp-home-card h4{margin:6px 0 8px;color:var(--ps-white,#f6f8f3);font-family:var(--ps-display,Impact,sans-serif);font-size:clamp(1.5rem,3vw,2.4rem);line-height:1;text-transform:uppercase}.psp-home-card p{margin:0;color:var(--ps-muted,#aebbb3)}.psp-home-deadline,.psp-deadline{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:14px;color:var(--ps-muted,#aebbb3);font-size:.9rem}.psp-home-deadline strong,.psp-deadline strong{color:var(--ps-white,#f6f8f3)}.psp-countdown-text{color:var(--ps-green,#39ff14);font-weight:900}.psp-deadline{margin:0 0 18px;padding:13px 16px;border:1px solid rgba(57,255,20,.35);border-radius:12px;background:rgba(57,255,20,.07)}.psp-deadline.is-closed,.psp-home-deadline.is-closed{border-color:rgba(255,59,69,.45)}.psp-deadline.is-closed .psp-countdown-text,.psp-home-deadline.is-closed .psp-countdown-text{color:#ff9297}.psp-form-link{margin-top:12px!important}.psp-form-link a{color:var(--ps-green,#39ff14);text-decoration:underline}.psp-profile{margin:14px 0;padding:12px 16px;border:1px solid var(--ps-line,rgba(246,248,243,.18));border-radius:12px;background:rgba(16,23,19,.7)}.psp-profile summary{cursor:pointer;color:var(--ps-green,#39ff14);font-weight:900}.psp-profile form{display:flex;align-items:end;gap:14px;max-width:520px}.psp-profile label{flex:1}.psp-coherence-note{display:block;max-width:180px;margin:6px auto 0;color:#ffb4b8;font-size:11px;line-height:1.2}.psp-history{display:grid;gap:12px}.psp-history-card{min-height:0}.psp-history-card summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;color:var(--ps-white,#f6f8f3)}.psp-history-card summary span{color:var(--ps-green,#39ff14);font-size:.9rem}.psp-history-card[open] summary{margin-bottom:18px}.psp-history-card table{font-size:.9rem}
@media(max-width:680px){.psp-home-card,.psp-profile form{align-items:stretch;flex-direction:column}.psp-home-card .ps-button{width:100%}.psp-home-mark{align-self:flex-start}.psp-home-deadline,.psp-deadline{align-items:flex-start;flex-direction:column;gap:4px}.psp-history-card summary{align-items:flex-start;flex-direction:column;gap:6px}}
.psp-coherence-note[hidden]{display:none!important}
.psp-league-head form{margin:0}.psp-league-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.psp-delete-status{margin:0;color:#ffb4b8;font-size:12px}.psp-danger{background:transparent!important;color:#ff9297!important;border:1px solid #ff9297!important;padding:8px 12px!important;font-size:12px}
/* Two circuits and persistent read-only tickets, including on the normal site. */
.psp-read-match{padding:16px;border:1px solid var(--ps-line,#344a37);border-radius:14px;margin:10px 0}.psp-read-match small{color:var(--ps-muted,#9cac9f)}.psp-result-line,.psp-prediction-line{display:flex;justify-content:space-between;gap:14px;margin:8px 0}.psp-result-line>b{white-space:nowrap}.psp-prediction-line{font-size:13px}.psp-round-card{margin:20px 0;padding:18px;border:1px solid var(--ps-line,#344a37);border-radius:16px}.psp-circuit-ranking{margin:20px 0}.psp-league-meta{margin-top:24px;font-size:13px}.psp-me{background:rgba(100,255,30,.1)}.psp-score-label{font-size:10px}.psp-progress{font-size:13px;color:var(--ps-green,#b6fb50);margin-bottom:12px}

/* Live and provisional scores stay distinct from confirmed finals. */
.psp-app .psp-read-match .psp-result-line > [data-live="score"]{color:#fff}
.psp-app .psp-read-match[data-result-status="live"] .psp-result-line > [data-live="score"],
.psp-app .psp-read-match[data-result-status="verifying"] .psp-result-line > [data-live="score"]{color:#b9ff2c}

/* v1.5: separate website views; the dedicated PWA retains its own navigation. */
.psp-navigation,.psp-circuit-nav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;scroll-margin-top:100px}
.psp-navigation a,.psp-circuit-nav a{padding:12px 17px;border:1px solid var(--ps-line,#355039);border-radius:8px;text-decoration:none;font-weight:750;color:var(--ps-white,#edf4ed);background:#112519}
.psp-navigation a[aria-current=page],.psp-circuit-nav a[aria-current=page]{background:var(--ps-green,#b6fb50);color:#10200d;border-color:transparent}
.psp-navigation a:focus-visible,.psp-circuit-nav a:focus-visible,.psp-archive-row:focus-visible{outline:3px solid #fff;outline-offset:3px}
.psp-archive-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;margin:10px 0;background:#112519;border:1px solid #355039;border-radius:12px;text-decoration:none;color:var(--ps-white,#edf4ed)}
.psp-archive-row span{color:var(--ps-green,#b6fb50);font-size:14px}.psp-pagination{display:flex;justify-content:space-between;gap:14px;margin:24px 0}
.psp-league-detail>summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;padding:8px 0}.psp-league-detail>summary span{font-size:13px;color:var(--ps-green,#b6fb50)}
.psp-ticket-details>summary{cursor:pointer;font-weight:700;padding:12px 0;color:var(--ps-green,#b6fb50)}.psp-circuit{scroll-margin-top:100px}
@media(max-width:600px){.psp-navigation a{flex:1 1 28%;text-align:center;padding:12px 8px;font-size:14px}.psp-archive-row,.psp-league-detail>summary{align-items:flex-start;flex-direction:column;gap:8px}.psp-pagination{font-size:13px}}

.psp-home-section .psp-home-mode-title{margin:24px 0 14px;color:var(--ps-green,#39ff14);font-family:var(--ps-display,Impact,sans-serif);font-size:clamp(1.5rem,3vw,2rem);line-height:1.15;text-transform:uppercase}
.psp-home-section .psp-home-fanta-title{margin:0;color:#fff!important;font:900 italic clamp(21px,4vw,32px)/1 Arial,sans-serif;letter-spacing:-1px}.psp-home-section .psp-home-fanta-title span{display:block;color:#b4ff24!important}
