/* Hole results have one score focal point, a contained caddy, and fixed actions. */
.modal.hole-result-modal{width:min(100%,560px);max-width:560px;padding:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dce6df;border-radius:24px;background:#fffefa;color:#243d50}
.hole-result-modal .modal-close{top:12px;right:12px;background:#f0f4ef;flex-shrink:0}
.hole-result-scroll{padding:26px 26px 12px;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:60px 16px}
.hole-result-heading{padding-right:48px;margin-bottom:18px}
.hole-result-heading>p{margin:0 0 7px;font-size:17px;font-weight:600;line-height:1.5;color:#516557;overflow-wrap:anywhere}
.hole-result-heading>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hole-result-modal .hole-result-heading h2{font-size:30px;letter-spacing:-.7px;line-height:1.3;margin:0;padding:0;color:#243d50}
.hole-result-progress{font-size:15px;white-space:nowrap;color:#526754;border:1px solid #dce5d9;border-radius:20px;padding:4px 9px;font-variant-numeric:tabular-nums}
.hole-result-heading .hole-result-meta{display:flex;gap:14px;margin:9px 0 0;font-size:17px;font-weight:500;color:#506375}.hole-result-meta span+span{border-left:1px solid #cedbd0;padding-left:14px}
.hole-result-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,42%);align-items:center;gap:6px;background:#edf4e7;border:1px solid #dbe8d2;border-radius:20px;min-height:186px;padding:15px 15px 15px 22px;isolation:isolate}
.hole-result-hero.under{background:#fff4cc;border-color:#f0dfa7}.hole-result-hero.over{background:#edf3f7;border-color:#d9e5ed}.hole-result-hero.together{background:#edf4e7;min-height:128px;padding-block:10px}.together .hole-result-character{height:116px}.together .hole-team-count{font-size:46px}.together .hole-score-label{font-size:25px}
.hole-result-highlight{min-width:0}.hole-score-label{display:block;font-size:28px;font-weight:800;line-height:1.25;letter-spacing:-.5px;color:#24613d;word-break:keep-all;overflow-wrap:anywhere}.under .hole-score-label{color:#795713}.over .hole-score-label{color:#355879}
.hole-score-value,.hole-team-count{font-variant-numeric:tabular-nums;font-size:72px;font-weight:800;line-height:1.08;letter-spacing:-2px;margin:6px 0;color:#243d50;white-space:nowrap}
.hole-score-value small{font-size:24px;letter-spacing:0;margin-left:7px;font-weight:600}.hole-team-count{font-size:60px}.hole-team-count small{font-size:19px;letter-spacing:0;margin-left:7px;font-weight:600}
.hole-result-highlight .hole-score-context{font-size:16px;line-height:1.5;margin:8px 0 0;color:#52616b;word-break:keep-all}
.hole-result-character{position:relative;display:grid;place-items:center;height:168px;min-width:0}.hole-result-character:before{content:'';position:absolute;width:90%;aspect-ratio:1;max-height:150px;border-radius:50%;background:#ffffff80;z-index:-1}
.hole-result-character .mascot{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 4px #34533715)}
.hole-result-summary{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:18px 0 0;padding:18px 0;border-block:1px solid #e0e6dd}.hole-result-summary>div{min-width:0;padding:0 14px}.hole-result-summary>div:first-child{padding-left:0;border-right:1px solid #e0e6dd}.hole-result-summary>div:last-child{padding-right:0}
.hole-result-summary dt{font-size:16px;color:#546578;line-height:1.4;margin-bottom:6px}.hole-result-summary dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;margin:0}.hole-result-summary dd strong{font-size:29px;line-height:1.3;white-space:nowrap;color:#243d50}.hole-result-summary small,.hole-player-score small{font-size:17px;font-weight:500;margin-left:4px}.penalty-included{font-size:15px;color:#58685c}.result-delta{font-size:16px;line-height:1.2;padding:3px 8px;border-radius:7px;background:#eaf1e3;color:#2f573d;font-weight:700;font-variant-numeric:tabular-nums}
.hole-player-heading{display:flex;justify-content:space-between;gap:8px;margin-top:20px;padding:0 3px 9px;font-size:15px;color:#596b72;border-bottom:1px solid #dce5db}
.hole-player-results{list-style:none;padding:0;margin:0}.hole-player-results li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:5px 12px;padding:11px 2px;border-bottom:1px solid #e2e8e0}
.hole-player-name{display:flex;align-items:center;gap:8px;min-width:0;grid-column:1;grid-row:1}.hole-player-name b{font-size:20px;line-height:1.4;overflow-wrap:anywhere;min-width:0}.hole-player-number{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border-radius:50%;background:#e9efdf;color:#4b664c;font-size:14px;font-weight:700}
.hole-player-score{display:flex;flex-direction:column;align-items:flex-end;grid-column:2;grid-row:1/3;gap:2px}.hole-player-score strong{font-size:30px;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}.hole-player-score>span{font-size:14px;color:#385b43;background:#edf3e7;border-radius:6px;padding:3px 7px;white-space:nowrap}
.hole-player-total{display:flex;gap:4px 12px;flex-wrap:wrap;font-size:15px;line-height:1.5;color:#5a6974;grid-column:1;grid-row:2}
.hole-result-message{font-size:17px;line-height:1.65;color:#42624e;margin:18px 0 5px;word-break:keep-all;overflow-wrap:anywhere}.hole-result-message b{display:inline-block;color:#245f3b;margin-right:9px;font-size:16px}
.hole-result-actions{flex-shrink:0;padding:14px 26px 16px;background:#fffefa;border-top:1px solid #e6ece1;box-shadow:0 -5px 15px #24412605;display:grid;gap:5px}.hole-result-actions .primary{min-height:54px;font-size:21px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:12px}.hole-result-actions .text-button{min-height:44px;font-size:17px;margin:0;display:flex;justify-content:center;align-items:center;gap:8px;color:#466451}
.event-mascot{position:relative;width:156px;height:156px;margin:0 auto 8px}.event-mascot .mascot{width:100%;height:100%;object-fit:contain}.shot-event .event-mascot .event-symbol{position:absolute;left:0;bottom:3px;width:42px;height:42px;border:3px solid #fff;margin:0;background:#e5f2da;animation:none}.shot-event.ob .event-mascot .event-symbol{color:#ad4b27;background:#fff0df}.shot-event.water .event-mascot .event-symbol{background:#e3f1f8;color:#286e9a}
.mascot-reaction[data-pose="celebrate"]{animation:plpak-cheer 700ms ease-out 2;transform-origin:50% 90%}.mascot-reaction[data-pose="praise"]{animation:plpak-approve 1000ms ease-in-out;transform-origin:50% 85%}.mascot-reaction[data-pose="encourage"]{animation:plpak-encourage 1200ms ease-in-out;transform-origin:50% 90%}
@keyframes plpak-cheer{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-7px) rotate(-3deg)}70%{transform:translateY(-2px) rotate(2deg)}}
@keyframes plpak-approve{0%,100%{transform:rotate(0)}40%{transform:rotate(-4deg)}75%{transform:rotate(2deg)}}
@keyframes plpak-encourage{0%,100%{transform:rotate(0)}35%{transform:rotate(3deg)}70%{transform:rotate(-2deg)}}
@media(max-width:400px){.hole-result-scroll{padding:22px 17px 10px}.hole-result-modal .hole-result-heading h2{font-size:27px}.hole-result-heading>div{gap:8px}.hole-result-heading{padding-right:36px}.hole-result-progress{font-size:14px;padding:4px 7px}.hole-result-hero{padding:14px;grid-template-columns:minmax(0,1fr) minmax(100px,42%);min-height:165px}.hole-result-character{height:146px}.hole-score-value{font-size:60px}.hole-score-label{font-size:25px}.hole-team-count{font-size:49px}.hole-team-count small{font-size:17px}.hole-score-context{font-size:16px}.hole-result-actions{padding:12px 17px 12px}.hole-player-name b{font-size:19px}.hole-player-results li{gap:6px 8px}.hole-result-summary dd{gap:4px 7px}}
@media(max-height:650px){.hole-result-scroll{padding-top:20px}.hole-result-heading{margin-bottom:13px}.hole-result-heading>p{margin-bottom:4px}.hole-result-heading .hole-result-meta{margin-top:6px}.hole-result-hero{min-height:130px;padding-block:10px}.hole-result-character{height:126px}.hole-score-value{font-size:53px;margin:4px 0}.hole-score-label{font-size:25px}.hole-result-summary{margin-top:12px;padding-block:12px}.hole-result-message{margin-top:12px}.event-mascot{width:110px;height:110px}.shot-event h2{margin-bottom:8px}.shot-event>strong{margin-bottom:14px}}
@media(min-width:540px) and (max-height:540px){.hole-result-actions{grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding:10px 20px}.hole-result-actions .primary{min-height:48px;font-size:19px}}
@media(prefers-reduced-motion:reduce){.mascot-reaction[data-pose]{animation:none}}
