.cup-dialog button:focus-visible,.mode.cup .mode-btn:focus-visible{outline:3px solid #ffe37b;outline-offset:3px}
.cup-overlay{position:fixed;inset:0;z-index:10020;background:rgba(1,9,22,.88);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.cup-overlay[hidden]{display:none}
.cup-dialog{width:min(760px,100%);max-height:90dvh;overflow:auto;box-sizing:border-box;padding:25px;border:1px solid #ffd23f;border-top:3px solid #ffd23f;border-radius:22px;background:radial-gradient(circle at 30% 20%,#17364b,#071527 60%);color:#edf6ff;box-shadow:0 26px 70px rgba(0,0,0,.55)}
.cup-dialog h2{margin:4px 0 10px;font-size:clamp(24px,4vw,34px);font-style:italic}.cup-dialog p{color:#b8cfe1;font-size:13px;line-height:1.5}.cup-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:900;color:#ffe37b;text-transform:uppercase}
.cup-track-list,.cup-standing-list{display:grid;gap:8px;margin:14px 0}.cup-track,.cup-standing{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:7px 12px;border:1px solid #31506b;border-radius:10px;background:#071b30;font-size:13px}.cup-track.current{border-color:#ffd23f;color:#ffe37b}.cup-track.done{opacity:.67}.cup-standing strong{color:#ffe37b}.cup-standing span:last-child{white-space:nowrap}
.cup-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.cup-actions button{flex:1 1 180px;min-height:44px;padding:10px 14px;border:1px solid #42617e;border-radius:10px;background:#07182a;color:#eff7ff;font-size:13px;font-weight:900;font-family:inherit;cursor:pointer;transition:transform .16s,background .16s}.cup-actions button:hover:not(:disabled){transform:translateY(-2px);background:#183650}.cup-actions button.primary{background:linear-gradient(90deg,#ffe17a,#efb927);border-color:#ffe17a;color:#182130}.cup-actions button.primary:hover:not(:disabled){background:linear-gradient(90deg,#fff0a0,#ffd23f)}.cup-actions button:disabled{opacity:.55;cursor:default}
.cup-status{min-height:18px;color:#8edaff;font-size:12px}.cup-prize{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;color:#ffe37b;font-weight:900;font-size:12px}.cup-prize span{padding:7px 10px;border:1px solid #775f20;border-radius:8px;background:#191e26}
.cup-cancel-button{display:block;width:100%;min-height:42px;margin-top:10px;border:1px solid #b85157;border-radius:10px;background:#321a27;color:#ffdde0;font-size:13px;font-weight:900;font-family:inherit;cursor:pointer;transition:background .16s,transform .16s}.cup-cancel-button:hover:not(:disabled){background:#572431;transform:translateY(-2px)}.cup-cancel-button[hidden]{display:none}.cup-cancel-button:disabled{opacity:.55;cursor:default}.cup-actions .cup-cancel-action{border-color:#b85157;color:#ffdde0;background:#321a27}.cup-actions .cup-cancel-action:hover:not(:disabled){background:#572431}
.cup-choice{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0;padding:12px 14px;border:1px solid #31506b;border-radius:10px}.cup-choice legend{color:#ffe37b;font-size:12px;font-weight:900}.cup-choice label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px}.cup-choice input{accent-color:#ffc63b}.cup-track-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.cup-track-picker[hidden]{display:none}.cup-track-field{display:grid;gap:5px;color:#b8cfe1;font-size:12px;font-weight:800}.mode.cup .cup-track-trigger{box-sizing:border-box;text-align:left;font-family:inherit}.mode.cup .cup-track-trigger:focus-visible,.mode.cup .cup-track-menu button:focus-visible{outline:3px solid #ffe37b;outline-offset:2px}.mode.cup .cup-track-menu{position:static;box-sizing:border-box;margin-top:5px;max-height:150px!important;box-shadow:0 8px 20px rgba(0,0,0,.5)}.mode.cup .cup-track-menu button{width:100%;border:0;background:transparent;font-family:inherit;text-align:left}.mode.cup .cup-track-menu button:hover{background:#1e3a57}.mode.cup .cup-track-menu button.selected{background:#128dcc}
.mode.cup .cup-open-btn{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;align-items:center;gap:7px;padding:0 15px;text-align:center}.mode.cup .cup-open-btn img:first-child{width:30px;height:30px;object-fit:contain}.mode.cup .cup-open-btn img:last-child{width:24px;height:24px;object-fit:contain}.mode.cup .cup-open-btn span{white-space:nowrap}
.mode.cup{height:580px;min-height:580px;max-height:580px}.mode.cup.config-open .mode-content{min-height:0;flex:1;overflow:hidden}.mode.cup #panelCupConfig{min-height:0;max-height:none;overflow-y:auto;scrollbar-color:#c98428 #092039;text-align:left}.mode.cup #cupPanelBody{display:flex;flex-direction:column;min-width:0;min-height:100%}.mode.cup #cupPanelBody h3{margin:10px 0 16px;color:#f8fafc;font-size:19px;font-style:italic;font-weight:1000;text-transform:uppercase;line-height:1.15}.mode.cup .cup-track-picker{grid-template-columns:1fr}.mode.cup .cup-actions{gap:8px;margin-top:auto;padding-top:14px}.mode.cup .cup-actions button{flex:1 1 100%;min-height:40px}.mode.cup .cup-standing{align-items:flex-start;flex-direction:column;gap:4px}.mode.cup .cup-standing span:last-child{white-space:normal}
.cup-choice-list{display:grid;gap:10px}.cup-choice-card{display:block;position:relative;cursor:pointer}.cup-choice-card input{position:absolute;width:1px;height:1px;opacity:0}.cup-choice-card span{display:flex;align-items:center;min-height:52px;padding:10px 14px;border:1px solid #42617e;border-radius:11px;background:rgba(4,19,38,.94);color:#edf6ff;font-size:13px;font-weight:900;line-height:1.25;transition:border-color .16s,background .16s,transform .16s}.cup-choice-card span::before{content:'';width:16px;height:16px;margin-right:11px;flex:none;border:2px solid #829db8;border-radius:50%;box-sizing:border-box}.cup-choice-card:hover span{border-color:#ffb54a;transform:translateY(-2px)}.cup-choice-card input:checked+span{border-color:#ffae35;background:linear-gradient(90deg,rgba(114,60,15,.95),rgba(13,35,55,.96));color:#fff6df;box-shadow:inset 0 0 0 1px rgba(255,185,69,.25)}.cup-choice-card input:checked+span::before{border:5px solid #ffbd4a;background:#092039}.cup-choice-card input:focus-visible+span{outline:3px solid #ffe37b;outline-offset:2px}
.cup-room-track,.cup-room-code{padding:9px 10px;border:1px solid #42617e;border-radius:9px;background:#071b30;color:#ffe37b;font-size:12px;font-weight:900;text-align:center}.cup-room-code{margin-top:9px;letter-spacing:.08em;color:#8edaff}.cup-room-slots{display:grid;gap:7px;margin:12px 0}.cup-room-slot{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:38px;padding:5px 8px;border:1px solid #31506b;border-radius:9px;background:#071b30;color:#eaf4ff;font-size:12px}.cup-room-slot span{color:#ffbc4e;font-weight:900}.cup-room-slot strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cup-room-slot small{color:#89a9c4;font-size:9px;font-weight:900;letter-spacing:.07em}
.mode.cup .cup-join-label{display:block;margin:3px 0 7px;color:#b8cfe1;font-size:12px;font-weight:900}.mode.cup .cup-join-code{display:flex;gap:7px}.mode.cup .cup-join-code input{min-width:0;flex:1;height:42px;box-sizing:border-box;border:1px solid #42617e;border-radius:10px;background:#07182a;color:#edf6ff;font-family:inherit;font-size:13px;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.12em}.mode.cup .cup-join-code input:focus-visible{outline:3px solid #ffe37b;outline-offset:2px}.mode.cup .cup-join-code button,.mode.cup .cup-join-room button{min-height:42px;padding:8px 12px;border:1px solid #ffe17a;border-radius:10px;background:#efb927;color:#182130;font-family:inherit;font-size:12px;font-weight:900;cursor:pointer}.mode.cup .cup-join-code button:hover,.mode.cup .cup-join-room button:hover{background:#ffe17a}.mode.cup .cup-join-rooms{display:grid;align-content:start;gap:7px;max-height:175px;overflow-y:auto;margin:12px 0;padding-right:3px;scrollbar-color:#c98428 #092039}.mode.cup .cup-join-rooms p{margin:6px 0;color:#b8cfe1;font-size:12px}.mode.cup .cup-join-room{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:6px 9px;border:1px solid #31506b;border-radius:9px;background:#071b30}.mode.cup .cup-join-room span{display:grid;min-width:0;gap:3px}.mode.cup .cup-join-room strong{overflow:hidden;color:#edf6ff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mode.cup .cup-join-room small{color:#8fb0ca;font-size:10px}.mode.cup .cup-join-room button{min-height:34px}.mode.cup .cup-join-room button:focus-visible,.mode.cup .cup-join-code button:focus-visible{outline:3px solid #ffe37b;outline-offset:2px}
@media(max-width:600px){.cup-dialog{padding:17px}.cup-track-picker{grid-template-columns:1fr}}
