.japo-panel{background:var(--card,#fff);border:1px solid #e4e3dc;border-radius:18px;margin:12px 0;overflow:hidden;color:#263341}.japo-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px 18px;border:0;background:transparent;color:inherit;text-align:left;min-height:48px}.japo-toggle strong{font-size:1.1rem}.japo-toggle span{font-size:.85rem;color:#826128}.japo-body{padding:0 16px 16px}.japo-note{font-size:.82rem;color:#687381;line-height:1.45;margin:8px 0 12px}.japo-body h3{font-size:1rem;margin:18px 0 8px}.japo-body button,.japo-body select{min-height:44px;border:1px solid #d8dce1;border-radius:10px;padding:8px 12px;background:#fff;color:inherit;font:inherit}.japo-body button:disabled,.japo-body fieldset:disabled{opacity:.6}.japo-body button.japo-primary{background:#fff0c6;border-color:#e5c26a;font-weight:700}.japo-body fieldset{padding:12px;border:1px solid #d8dce1;border-radius:12px;margin-top:12px;min-width:0}.japo-player{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:5px 0;font-size:.88rem}.japo-player span{min-width:0;overflow-wrap:anywhere}.japo-player select{max-width:48%}.japo-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.japo-body details{border-bottom:1px solid #e8e8e8;padding:10px 0;font-size:.88rem}.japo-body summary{cursor:pointer;min-height:32px;font-weight:700}.japo-table-wrap{overflow-x:auto}.japo-body table{width:100%;border-collapse:collapse;font-size:.8rem}.japo-body th,.japo-body td{padding:9px 5px;text-align:center;border-bottom:1px solid #eee}.japo-body th:nth-child(2){text-align:left}.japo-body tbody th{text-align:left;font-weight:600}.japo-own{background:#fff5d7}.japo-body button:focus-visible,.japo-toggle:focus-visible,.japo-body select:focus-visible{outline:3px solid #b78b29;outline-offset:2px}
.japo-page{max-width:950px;margin:0 auto}.japo-page h1{margin:0;font-size:1.6rem}.japo-session-picker{display:flex;flex-direction:column;gap:7px;margin:16px 0;font-size:.9rem;font-weight:600}.japo-session-picker select{min-height:46px;width:100%;max-width:100%;padding:10px;border:1px solid #d8dce1;border-radius:10px;background:#fff;color:#263341;font:inherit}.japo-page>.japo-body{padding:12px 16px 16px;background:#fff;border:1px solid #e4e3dc;border-radius:18px}.japo-session-picker select:focus-visible{outline:3px solid #b78b29;outline-offset:2px}
.bottom-nav.bottom-nav-japos{grid-template-columns:repeat(6,minmax(0,1fr))}.bottom-nav-japos .nav-link,.bottom-nav-japos .bottom-more{min-width:0;min-height:48px;padding-left:1px;padding-right:1px;font-size:clamp(.55rem,2.2vw,.65rem)}
/* Liga Japo: presentation only; scoring and training registration stay shared. */
.japo-page{--japo-navy:#172a43;--japo-gold:#f5bd44;--japo-ink:#213149;--japo-muted:#68768a;max-width:900px;color:var(--japo-ink)}
.japo-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:154px;padding:22px;border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 100% 100%,#385675,transparent 62%),#172a43;color:white;box-shadow:0 9px 24px #172a4317}
.japo-hero:before{content:"";position:absolute;width:190px;height:190px;border:1px solid #ffffff16;border-radius:50%;right:-25px;top:-70px;pointer-events:none}.japo-hero-copy{position:relative;max-width:75%;z-index:1}.japo-hero-tag,.japo-eyebrow{font-size:.65rem;font-weight:850;letter-spacing:.12em}.japo-hero-tag{display:inline-block;padding:5px 8px;border:1px solid #f5bd4450;border-radius:7px;background:#f5bd4413;color:#ffda83}.japo-hero h1{font-size:clamp(1.85rem,6vw,2.55rem);line-height:1.1;letter-spacing:-.04em;margin:12px 0 8px;color:#fff}.japo-hero p{font-size:.82rem;line-height:1.45;color:#d1deec;margin:0;max-width:225px}.japo-hero-ball{position:relative;width:90px;flex-shrink:0;transform:rotate(-14deg)}.japo-hero-ball>span{position:absolute;color:#f5bd44;font-size:1.2rem;right:-5px;top:-20px}.japo-hero-ball>span:last-child{left:-10px;top:73px;font-size:.9rem}.japo-volleyball{width:80px;height:80px;border:3px solid #fff2d2;border-radius:50%;background:repeating-conic-gradient(from 20deg,#fff7df 0deg 55deg,#e5ae39 55deg 65deg,#f9cf6f 65deg 115deg,#36536c 115deg 125deg);box-shadow:inset -7px -7px 0 #172a4315,0 10px 18px #0002;position:relative;overflow:hidden}.japo-volleyball:after{content:"";position:absolute;inset:8px -6px;border-top:2px solid #172a4377;border-bottom:2px solid #172a4377;border-radius:50%;transform:rotate(45deg)}
.japo-page>.japo-body{padding:0;background:transparent;border:0}.japo-page .japo-session-picker{margin:17px 0 12px;gap:6px;font-size:.77rem;color:#68768a}.japo-page .japo-session-picker>span{font-weight:750;text-transform:uppercase;letter-spacing:.07em}.japo-page .japo-session-picker select{font-size:.9rem;border-radius:13px;min-height:48px;border-color:#e0e5eb;color:#24344a;background:#fff}
.japo-body .japo-rules{border:0;padding:0;margin:4px 0 18px}.japo-rules summary{color:#7a6540;font-size:.78rem;font-weight:650;min-height:44px;display:flex;align-items:center;gap:7px;list-style:none}.japo-rules summary::-webkit-details-marker{display:none}.japo-rules summary:after{content:"+";font-size:1.1rem;margin-left:auto}.japo-rules[open] summary:after{content:"−"}.japo-rules p{font-size:.82rem;line-height:1.6;background:#fff9eb;padding:12px;border-radius:12px;margin:0;color:#6d5a37}
.japo-empty-game{padding:28px 22px 24px;border:1px solid #e7e5dc;border-radius:23px;background:radial-gradient(ellipse at top,#fff4cf,transparent 66%),#fff;text-align:center}.japo-empty-cup{position:relative;display:grid;place-items:center;width:78px;height:78px;background:#fff2c5;border:1px solid #ecd9a2;border-radius:24px;margin:0 auto 18px;color:#b68120;transform:rotate(-7deg)}.japo-empty-cup:after{content:"✦";position:absolute;right:-16px;top:-4px;color:#d9a635;font-size:1.15rem}.japo-empty-cup svg{width:60px;height:60px;transform:rotate(7deg)}.japo-empty-game .japo-eyebrow{color:#a47b2e}.japo-body .japo-empty-game h3{font-size:1.15rem;letter-spacing:-.025em;margin:10px 0}.japo-empty-game p{font-size:.86rem;line-height:1.6;color:#6b7585;margin:0 auto 15px;max-width:290px}.japo-empty-game small{display:block;font-size:.75rem;line-height:1.5;color:#8b7959}
.japo-league{border:1px solid #e2e5e9;border-radius:22px;background:#fff;overflow:hidden;padding:18px 14px 8px}.japo-league-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:20px}.japo-eyebrow{color:#a27b32}.japo-body .japo-league-heading h3{font-size:1.2rem;margin:5px 0 0;letter-spacing:-.025em}.japo-game-count{background:#eff3f7;border-radius:20px;padding:6px 9px;color:#65748a;font-size:.72rem;white-space:nowrap;font-weight:650}
.japo-podium{display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:8px 0 0;margin:0 0 17px}.japo-podium-place{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;text-align:center;min-width:0;max-width:220px}.japo-podium-place.place-1{order:2}.japo-podium-place.place-2{order:1}.japo-podium-place.place-3{order:3}.japo-podium-medal{font-size:.75rem;color:#66768a;margin:0 0 6px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf1f5;font-weight:800}.place-1 .japo-podium-medal{color:#9c6f15;background:#fff1c1;font-size:1.1rem}.place-3 .japo-podium-medal{background:#f7eae0;color:#99704f}.japo-podium-player{width:100%;display:flex;flex-direction:column;align-items:center;gap:5px;margin-bottom:9px}.japo-initials{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:12px;background:#edf2f7;color:#61728a;font-size:.7rem;font-weight:800}.japo-podium-player .japo-initials{width:43px;height:43px;border-radius:50%;border:3px solid #e6ecf2;background:#f5f7fa}.place-1 .japo-initials{width:51px;height:51px;background:#fff5d4;border-color:#f3cc69;color:#99701d}.japo-podium-player strong{font-size:.74rem;line-height:1.3;overflow-wrap:anywhere;max-width:100%}.japo-podium-points{font-size:.73rem;color:#8c6b2d;font-weight:750}.japo-podium-step{display:grid;place-items:center;width:100%;height:36px;font-size:1.05rem;font-weight:850;border-radius:12px 12px 4px 4px;background:#edf2f8;color:#7d8ca0}.place-1 .japo-podium-step{height:58px;background:linear-gradient(#ffe8a9,#fff4d3);color:#a97b20}.place-3 .japo-podium-step{height:27px;background:#f5ede6;color:#a57d5e}
.japo-your-score{display:flex;align-items:center;gap:10px;padding:12px;margin:0 0 10px;border-radius:14px;background:#fff6df;border:1px solid #f3dfac}.japo-your-score>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.japo-your-score small{font-size:.6rem;letter-spacing:.09em;color:#9a772e;font-weight:800}.japo-your-score strong{font-size:.82rem}.japo-your-score>span:last-child{font-size:.68rem;color:#9c824e}.japo-ranking-row{display:flex;align-items:center;gap:9px;border-bottom:1px solid #eff1f4;padding:12px 3px}.japo-ranking-row:last-child{border:0}.japo-ranking-position{font-size:.85rem;font-weight:800;min-width:21px;text-align:center;color:#8994a3}.japo-ranking-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.japo-ranking-name strong{font-size:.84rem;overflow-wrap:anywhere}.japo-ranking-name small{font-size:.7rem;color:#8a95a3}.japo-ranking-points{display:flex;align-items:center;gap:4px;white-space:nowrap}.japo-ranking-points strong{font-size:1.1rem;color:#8f6a25}.japo-ranking-points small{font-size:.66rem;color:#8e99a8}.japo-ranking-row.is-you .japo-ranking-name strong{color:#9a711e}.japo-ranking-note{font-size:.68rem;text-align:center;padding:8px 0 0}
.japo-day-results{border:1px solid #e3e7ed;background:white;border-radius:18px;padding:13px;margin-bottom:16px}.japo-body .japo-day-results h3{margin:0 0 6px;font-size:.86rem}.japo-scoreline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.japo-scoreline strong{font-size:1.15rem;letter-spacing:.1em}.japo-team-chip{font-size:.66rem;border-radius:7px;padding:5px 7px;background:#eaf1fc;color:#4e6d97}.japo-team-chip.team-b{background:#f1ecfa;color:#8570ab}.japo-scoreline small{color:#8994a4;font-size:.7rem}
@media(max-width:360px){.japo-hero{padding:18px}.japo-hero-ball{width:66px;transform:scale(.8) rotate(-14deg);transform-origin:right}.japo-hero-copy{max-width:77%}.japo-podium-player strong{font-size:.67rem}.japo-league{padding:15px 10px 8px}.japo-ranking-row{gap:7px}.japo-ranking-name strong{font-size:.78rem}.japo-your-score{padding:10px;gap:7px}}
/* Compact league overview: preserve the navy/gold presentation. */
.japo-page .japo-hero{min-height:112px;padding:17px 19px;border-radius:20px}
.japo-page .japo-hero h1{font-size:1.8rem;margin:8px 0 5px}
.japo-page .japo-hero p{font-size:.76rem}
.japo-page .japo-hero-ball{width:66px}
.japo-page .japo-session-picker{margin:12px 0 7px;gap:4px}
.japo-page .japo-session-picker select{min-height:44px;padding:8px 10px;font-size:.84rem}
.japo-page .japo-rules{margin:0 0 8px}
.japo-page .japo-league{padding:13px 12px 5px;border-radius:18px}
.japo-page .japo-league-heading{margin-bottom:7px}
.japo-page .japo-league-heading h3{font-size:1.08rem;margin-top:3px}
.japo-page .japo-podium-panel{padding:0;margin:0 0 5px;border-bottom:1px solid #edf0f4}
.japo-page .japo-podium-panel>summary{display:flex;align-items:center;justify-content:space-between;min-height:38px;list-style:none;color:#997328;font-size:.74rem;font-weight:650}
.japo-page .japo-podium-panel>summary::-webkit-details-marker{display:none}
.japo-page .japo-podium-panel>summary:after{content:'⌄';font-size:1rem}
.japo-page .japo-podium-panel[open]>summary:after{content:'⌃'}
.japo-page .japo-your-score{padding:8px 10px;margin-bottom:4px;gap:8px}
.japo-page .japo-your-score>div{gap:2px}
.japo-page .japo-ranking-row{min-height:45px;padding:6px 1px;gap:7px}
.japo-page .japo-ranking-row .japo-initials,.japo-page .japo-your-score .japo-initials{width:28px;height:28px;border-radius:9px;font-size:.6rem}
.japo-page .japo-ranking-position{min-width:19px;font-size:.78rem}
.japo-page .japo-ranking-name{gap:2px}
.japo-page .japo-ranking-name strong{font-size:.79rem;line-height:1.25}
.japo-page .japo-ranking-name small{font-size:.64rem;line-height:1.2}
.japo-page .japo-ranking-points strong{font-size:1rem}
.japo-page .japo-ranking-points small{font-size:.6rem}
.japo-page .japo-ranking-note{margin:6px 0 4px;padding:0;font-size:.64rem}
.japo-page .japo-day-results{padding:10px 12px;margin-bottom:10px;border-radius:15px}
.japo-page .japo-day-results details{padding:5px 0}
