/* Cup chapter: compact score ribbon, restrained trophy metal, readable controls. */
.event-strip{display:flex;align-items:center;gap:16px;margin:0 0 12px;border-block:1px solid var(--line);min-height:52px}
.mode-chip{background:var(--america-blue);color:#fff3d4;padding:10px 14px;font-size:12px;font-weight:700;letter-spacing:1px;border-radius:4px;min-height:44px;white-space:nowrap}
.mode-chip span{padding-left:8px}.event-summary{display:flex;gap:14px;align-items:center;flex:1;font-size:12px}.event-summary span{color:var(--muted)}.event-detail{font-size:12px;min-height:44px}
.session-goal{border-left:3px solid var(--america-red);padding:15px;background:var(--surface);border-radius:4px}.session-goal>small{font-size:12px;letter-spacing:1px;color:var(--muted)}.session-goal>strong{display:block;font:600 27px/1.1 var(--font-display);margin:8px 0}.session-goal p{font-size:12px;line-height:1.6;color:var(--muted)}.session-goal button{font-size:12px;min-height:44px}
.save-line{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--muted);padding:8px 0;flex-wrap:wrap}.save-line button{min-height:44px;color:var(--text)}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-grid article{padding:20px;background:var(--raised);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column}.mode-grid .cup-choice{border-color:var(--accent)}.mode-emblem{font:40px/1 Georgia,serif;color:var(--accent);margin-bottom:18px}.mode-grid h3{font:600 27px/1.05 var(--font-display);margin-bottom:10px}.mode-grid p{font-size:14px;line-height:1.55;flex:1}.mode-grid button{margin-top:18px;min-height:44px}
.standings{border-top:1px solid var(--line);margin-top:18px}.standing{display:grid;grid-template-columns:1fr 1fr 70px;gap:10px;padding:12px 10px;border-bottom:1px solid var(--line);font-size:14px}.standing strong{text-align:right}.standing small{color:var(--muted);font-size:12px;text-align:right}.standing.is-you{background:var(--raised);border-left:3px solid var(--america-red)}.cup-rules{margin:18px 0;font-size:12px;color:var(--muted);line-height:1.7}.cup-rules summary{min-height:44px;cursor:pointer;color:var(--text)}.cup-rules p{margin:8px 0}
.cup-finish{text-align:center;padding:12px 0}.cup-finish h3{font:600 32px/1.05 var(--font-display);margin:22px 0 10px}.cup-finish p{font-size:14px;color:var(--muted)}
.trophy-art{position:relative;width:72px;height:70px;margin:10px auto 28px;border:3px solid #f0d699;border-radius:4px 4px 32px 32px;background:linear-gradient(110deg,#8c622a,#efd899 48%,#af7f35);color:#3e2b10;box-shadow:inset 0 0 0 3px #ffffff30;display:grid;place-items:center}
.trophy-art:before{content:"";position:absolute;inset:6px -17px 18px;border:5px solid #bc944e;border-radius:3px 3px 35px 35px;z-index:-1}.trophy-art:after{content:"";position:absolute;bottom:-24px;width:44px;height:23px;border-bottom:6px solid #bc944e;background:linear-gradient(90deg,transparent 39%,#bc944e 39%,#d2b271 61%,transparent 61%)}.trophy-art span{font:700 30px/1 var(--font-display)}.cup-finish,.cabinet-grid article{isolation:isolate}
.cabinet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.cabinet-grid article{text-align:center;padding:12px 3px;border:1px solid var(--line);border-radius:8px}.cabinet-grid .trophy-art{transform:scale(.7);margin-bottom:12px}.cabinet-grid article>strong{display:block;font:600 32px/1 var(--font-display);margin-bottom:8px}.cabinet-grid small{font-size:12px;color:var(--muted)}.cabinet-grid .unearned .trophy-art{filter:grayscale(1);opacity:.45}
.reveal-actions h2{font:600 23px/1.1 var(--font-display);margin:5px 0}.reveal-dots{display:flex;gap:6px;margin-top:12px}.reveal-dots i{width:22px;height:4px;background:var(--line);border-radius:3px}.reveal-dots .lit{background:var(--accent)}
.community .card{animation:none}
.community .card.fresh{animation:cup-card-in .3s ease-out}
.stage[data-phase=finished] .seat.winner .nameplate{animation:cup-win .6s ease-out}
@keyframes cup-card-in{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes cup-win{50%{box-shadow:0 0 0 5px #e7d4a750,0 0 28px #e7d4a750}}
@media(max-width:600px){
 .event-strip{gap:8px;margin-bottom:8px;min-height:46px}.mode-chip{padding:8px;font-size:12px;letter-spacing:0}.event-summary{display:block;line-height:1.35}.event-summary strong,.event-summary span{display:block;font-size:12px}.event-detail{font-size:12px;white-space:nowrap}
 .mode-grid{grid-template-columns:1fr}.mode-grid article{padding:14px}.mode-emblem{display:none}.mode-grid h3{font-size:25px}.mode-grid button{margin-top:12px}.cabinet-grid{gap:6px}.cabinet-grid small{font-size:12px}.trophy-art{width:58px}
 .reveal-actions{gap:10px}.reveal-actions h2{font-size:21px}.reveal-actions .primary{min-height:44px;padding:10px;white-space:nowrap}
 .stage{height:clamp(280px,calc(100svh - 390px),430px)}
}
@media(max-width:600px) and (max-height:700px){
 .practice-bar{display:none}
 .stage{height:clamp(222px,calc(100svh - 346px),300px)}.event-strip{margin-bottom:5px;min-height:46px}.event-summary{line-height:1.3}.event-summary span{display:none}
 .game{scroll-margin-top:8px}.action-panel{position:relative;bottom:auto}.seat-0{top:78%}
 .board-area{top:22%}.community .card{height:49px;width:34px;font-size:18px}.community .card .suit{font-size:20px}
 .welcome>p{display:none}.seat-0 .hole{height:60px}.seat-0 .hole .card{height:63px;width:44px;font-size:22px}
 .seat:not(.seat-0) .seat-action{display:none}
 .stage[data-phase=revealing],.stage[data-phase=finished]{height:340px}
 .stage[data-phase=revealing] .seat:not(.seat-0):not(.folded) .hole,.stage[data-phase=finished] .seat:not(.seat-0):not(.folded) .hole{display:flex}
 .stage[data-phase=revealing] .board-area,.stage[data-phase=finished] .board-area{top:32%}
 .stage[data-phase=revealing] .seat-0,.stage[data-phase=finished] .seat-0{top:83%}
 .stage[data-phase=finished] .result{display:block}
}
.welcome>p{max-width:190px;margin-inline:auto}
.save-line{position:relative}
@media(min-width:601px){.stage[data-phase=finished] .board-area{top:29%}}
@media(min-width:901px) and (max-height:900px){
 .stage{height:clamp(360px,calc(100svh - 425px),450px)}
 .board-area,.stage[data-phase=finished] .board-area{top:26%}
 .stage[data-phase=ready] .board-area{top:47%}
}
@media(prefers-reduced-motion:reduce){.stage .card,.stage .seat.winner .nameplate{animation:none!important}}
