/* Approved two-step tournament flow; shared by source and the local simulator. */
.tournament-page{max-width:680px;margin:0 auto;padding:8px 0 28px;color:#1b1c20}.tournament-page h1{font-size:clamp(28px,6vw,38px);line-height:1.16;margin:26px 0 10px;overflow-wrap:anywhere}.tournament-page h2{font-size:clamp(24px,5vw,30px);margin:0}.tournament-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#758096;font-size:14px;font-weight:700}.tournament-top a,.tournament-back{color:#df0019!important;text-decoration:none}.tournament-back,.tournament-cancel{border:0;background:transparent;font:inherit;padding:10px 0;cursor:pointer}.tournament-subtitle{color:#788197;font-size:16px;margin:0 0 30px}.tournament-form{display:grid;gap:24px}.tournament-page .field{display:flex;flex-direction:column;gap:9px;font-size:15px;font-weight:700;color:#747c90;margin:0}.tournament-page input:not([type=checkbox]),.tournament-page textarea{width:100%;min-width:0;box-sizing:border-box;border:1.5px solid #dfe3ec;border-radius:14px;padding:17px 16px;background:#fff;color:#1b1c20;font:inherit;font-size:18px;font-weight:400;min-height:58px}.tournament-page input:focus-visible,.tournament-page textarea:focus-visible,.tournament-page button:focus-visible,.tournament-page a:focus-visible{outline:3px solid #bc102e;outline-offset:3px}.tournament-page fieldset{border:0;padding:0;margin:0;min-width:0}.tournament-page legend{padding:0;margin-bottom:12px;color:#747c90;font-size:15px;font-weight:700}.tournament-types,.tournament-division-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tournament-types{gap:4px;border-radius:14px;padding:5px;background:#f1f2f5}.tournament-types button{min-height:54px;border:0;border-radius:11px;background:transparent;color:#70798d;font:inherit;font-size:18px;font-weight:700;cursor:pointer}.tournament-types button.is-selected{background:#df0019;color:#fff}.tournament-division-options label{display:flex;align-items:center;gap:12px;min-height:70px;border:1.5px solid #dfe3ec;border-radius:14px;padding:12px 16px;box-sizing:border-box;font-size:19px;font-weight:700;cursor:pointer}.tournament-division-options label.is-selected{border-color:#ef7b91;background:#fff4f6}.tournament-division-options input{width:24px;height:24px;accent-color:#df0019;margin:0}.tournament-hint,.tournament-next-hint{font-size:13px;line-height:1.5;color:#7b8396;margin:12px 0}.tournament-next-hint{text-align:center;margin:0}.tournament-page .primary.full{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;min-height:62px;border-radius:14px;background:#df0019;color:#fff;font-weight:750;font-size:19px;box-sizing:border-box}.tournament-results-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.tournament-results-title>span{border-radius:30px;background:#f1f2f5;padding:8px 16px;color:#727a8d;font-weight:700;font-size:13px;white-space:nowrap}.tournament-search{display:flex;align-items:center;gap:12px;padding:0 16px;background:#f4f5f8;border-radius:14px;margin-bottom:22px}.tournament-search svg{width:23px;height:23px;flex:none;stroke:#8991a1;stroke-width:1.8;fill:none}.tournament-search input[type=search]{padding-left:0;background:transparent;border:0;font-size:16px;min-height:54px}.tournament-roster-heading{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,minmax(44px,64px));column-gap:12px;color:#747d90;font-size:11px;font-weight:750;align-items:center;margin-bottom:8px}.tournament-roster-heading span:not(:first-child){text-align:center}.tournament-student{display:grid;grid-template-columns:minmax(0,1fr) minmax(214px,58%);gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #e9ecf2}.tournament-person{min-width:0;display:flex;flex-direction:column;gap:4px}.tournament-person strong{font-size:18px;overflow-wrap:anywhere}.tournament-person span{font-size:14px;color:#7b8396;overflow-wrap:anywhere}.tournament-divisions{display:grid;gap:5px}.tournament-division{display:grid;grid-template-columns:38px repeat(3,minmax(44px,1fr));gap:10px;align-items:center}.tournament-division-name{text-align:right;color:#737b8e;font-size:12px;font-weight:700}.tournament-medal{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:42px;padding:3px;border:1px solid #e1e5ed;border-radius:10px;background:#fafbfd;box-sizing:border-box;cursor:pointer;color:var(--medal)}.tournament-medal.gold{--medal:#c4960d;--medal-bg:#fff7de}.tournament-medal.silver{--medal:#8a99ab;--medal-bg:#f0f4f8}.tournament-medal.bronze{--medal:#c3844c;--medal-bg:#fcf1e7}.tournament-medal svg{width:26px;height:30px;fill:var(--medal);stroke:var(--medal);stroke-width:1.6}.tournament-medal circle{fill:transparent}.tournament-medal text{font:bold 12px system-ui,sans-serif;stroke:none;fill:var(--medal)}.tournament-medal.is-selected{border:2px solid var(--medal);background:var(--medal-bg);padding:2px}.tournament-medal.is-selected circle{fill:var(--medal)}.tournament-medal.is-selected text{fill:#fff}.tournament-check{position:absolute;right:-2px;top:-3px;border-radius:50%;background:var(--medal);color:white;font-size:9px;line-height:14px;width:14px;text-align:center}.tournament-total{font-size:15px;color:#707a8e;font-weight:750;margin:18px 0}.tournament-cancel{display:block;margin:10px auto 0;color:#71798b;min-height:44px}.tournament-error{padding:12px 14px;background:#fff0f3;color:#b30a28;border-radius:12px;font-size:14px}.tournament-success{padding:12px 14px;background:#eff8f1;color:#226739;border-radius:12px;font-size:14px}.tournament-list{display:grid;gap:12px}.tournament-list-item{display:flex;position:relative;flex-direction:column;gap:7px;text-decoration:none;padding:18px 40px 18px 18px;border:1px solid #e1e5ed;border-radius:16px;color:#1b1c20;background:#fff}.tournament-list-item strong{font-size:19px;overflow-wrap:anywhere}.tournament-list-item span{color:#7a8293;font-size:13px}.tournament-list-item>b{position:absolute;right:18px;top:35%;font-size:24px;color:#df0019}.tournament-empty{padding:24px 0;color:#7b8396}.tournament-entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.tournament-page button:disabled{cursor:default;opacity:.55}.tournament-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tournament-shell .home-body{padding-top:24px}.individual-medal-page .ranking-qa{margin-top:0}.individual-medal-page .ranking-qa>h2{font-size:28px}.individual-medal-page .ranking-qa-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-medal-tournament-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.admin-medal-tournament-actions a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;text-decoration:none}.tournament-roster-heading{grid-template-columns:minmax(0,1fr) repeat(3,minmax(44px,calc((58% - 68px)/3)))}
@media(max-width:420px){.tournament-student{grid-template-columns:minmax(0,1fr) 204px;gap:5px}.tournament-division{grid-template-columns:34px repeat(3,minmax(44px,1fr));gap:6px}.tournament-roster-heading{grid-template-columns:minmax(0,1fr) repeat(3,50px);gap:6px;font-size:10px}.tournament-person strong{font-size:16px}.tournament-person span{font-size:13px}.tournament-top .primary{font-size:13px}.tournament-page .primary.full{font-size:17px}.tournament-division-options label{padding:12px;gap:8px;font-size:17px}.individual-medal-page .ranking-qa-fields{grid-template-columns:1fr}.tournament-page h1{font-size:28px}}@media(max-width:350px){.tournament-student{grid-template-columns:minmax(0,1fr) 186px}.tournament-division{grid-template-columns:28px repeat(3,1fr);gap:4px}.tournament-person strong{font-size:14px}.tournament-person span{font-size:12px}.tournament-division-name{font-size:11px}.tournament-roster-heading{grid-template-columns:minmax(0,1fr) repeat(3,49px);gap:4px}}
