.ctm-wrap,
.ctm-wrap * { box-sizing: border-box; }
.ctm-wrap { --ctm-accent:#b45309; --ctm-ink:#172033; --ctm-muted:#667085; --ctm-line:#e4e7ec; --ctm-soft:#f7f8fa; color:var(--ctm-ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; max-width:1200px; margin:24px auto; }
.ctm-wrap h2,.ctm-wrap h3,.ctm-wrap h4,.ctm-wrap p { margin-top:0; }
.ctm-hero { align-items:center; background:linear-gradient(135deg,#331908 0%,var(--ctm-accent) 68%,#dd8b20 130%); border-radius:20px; color:#fff; display:flex; gap:32px; justify-content:space-between; overflow:hidden; padding:42px; position:relative; }
.ctm-hero:after { border:34px solid rgba(255,255,255,.08); border-radius:50%; content:""; height:190px; position:absolute; right:-62px; top:-94px; width:190px; }
.ctm-hero>div,.ctm-hero>a { position:relative; z-index:1; }
.ctm-hero h2 { color:#fff; font-size:clamp(2rem,5vw,3.75rem); line-height:1.02; margin:12px 0 16px; }
.ctm-hero p { color:rgba(255,255,255,.86); font-size:1.1rem; margin-bottom:0; }
.ctm-hero--compact { margin-bottom:28px; padding:34px 38px; }
.ctm-hero--compact h2 { font-size:clamp(2rem,4vw,3rem); }
.ctm-eyebrow { font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.ctm-hero__meta { display:flex; flex-wrap:wrap; gap:8px 22px; }
.ctm-hero__meta span { color:rgba(255,255,255,.88); font-size:.93rem; }
.ctm-button { appearance:none; background:var(--ctm-accent); border:1px solid var(--ctm-accent); border-radius:9px; color:#fff!important; cursor:pointer; display:inline-flex; font-size:.92rem; font-weight:750; justify-content:center; line-height:1.2; padding:11px 17px; text-decoration:none!important; transition:transform .15s ease,box-shadow .15s ease,filter .15s ease; }
.ctm-button:hover { box-shadow:0 6px 18px rgba(33,20,5,.18); filter:brightness(.95); transform:translateY(-1px); }
.ctm-button--secondary { background:#fff; color:var(--ctm-accent)!important; }
.ctm-button--light { background:#fff; border-color:#fff; color:#542708!important; min-width:150px; }
.ctm-tabs { border-bottom:1px solid var(--ctm-line); display:flex; gap:4px; margin-top:10px; overflow-x:auto; padding:0 6px; scrollbar-width:thin; }
.ctm-tabs a { border-bottom:3px solid transparent; color:var(--ctm-muted); flex:0 0 auto; font-size:.92rem; font-weight:700; padding:17px 14px 13px; text-decoration:none!important; }
.ctm-tabs a:hover,.ctm-tabs a.is-active { border-color:var(--ctm-accent); color:var(--ctm-accent); }
.ctm-panel { min-height:220px; padding:30px 6px; }
.ctm-badge { background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28); border-radius:999px; display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.05em; padding:5px 10px; text-transform:uppercase; }
.ctm-card .ctm-badge { background:#fff4e4; border-color:#fed7aa; color:#9a4710; }
.ctm-badge--completed { background:#e8f7ee!important; border-color:#b7e4c7!important; color:#217a45!important; }
.ctm-badge--in_progress,.ctm-badge--called { animation:ctm-pulse 2s infinite; background:#ecfdf3!important; border-color:#a6f4c5!important; color:#067647!important; }
@keyframes ctm-pulse { 50% { box-shadow:0 0 0 5px rgba(18,183,106,0); } 0%,100% { box-shadow:0 0 0 0 rgba(18,183,106,.18); } }
.ctm-card-grid { display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.ctm-card { background:#fff; border:1px solid var(--ctm-line); border-radius:15px; box-shadow:0 4px 16px rgba(16,24,40,.05); padding:24px; }
.ctm-card__top { align-items:center; color:var(--ctm-muted); display:flex; font-size:.78rem; font-weight:650; justify-content:space-between; }
.ctm-card h3 { font-size:1.35rem; margin:18px 0 12px; }
.ctm-card h3 a { color:var(--ctm-ink); text-decoration:none; }
.ctm-card h3 a:hover { color:var(--ctm-accent); }
.ctm-meta { color:var(--ctm-muted); display:grid; font-size:.88rem; gap:8px; }
.ctm-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.ctm-two-column { display:grid; gap:38px; grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr); }
.ctm-prose { color:#344054; line-height:1.75; }
.ctm-facts { align-self:start; background:var(--ctm-soft); border:1px solid var(--ctm-line); border-radius:14px; padding:7px 18px; }
.ctm-facts div { border-bottom:1px solid var(--ctm-line); display:flex; flex-direction:column; gap:3px; padding:13px 0; }
.ctm-facts div:last-child { border-bottom:0; }
.ctm-facts span { color:var(--ctm-muted); font-size:.75rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.ctm-rules { border-top:1px solid var(--ctm-line); margin-top:32px; padding-top:28px; }
.ctm-champion { align-items:center; background:linear-gradient(90deg,#fff8df,#fffaeb); border:1px solid #fedf89; border-radius:14px; display:flex; gap:14px; margin-bottom:28px; padding:18px 22px; }
.ctm-champion>span { font-size:2.2rem; }.ctm-champion div { display:flex; flex-direction:column; }.ctm-champion small { color:#975b0b; font-weight:700; text-transform:uppercase; }.ctm-champion strong { font-size:1.35rem; }
.ctm-team-grid { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
.ctm-team-card { align-items:center; background:#fff; border:1px solid var(--ctm-line); border-radius:12px; display:flex; gap:14px; padding:14px; }
.ctm-team-card div { display:flex; flex-direction:column; min-width:0; }.ctm-team-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ctm-team-card small { color:var(--ctm-muted); }
.ctm-seed { align-items:center; background:var(--ctm-soft); border-radius:9px; color:var(--ctm-accent); display:flex; flex:0 0 44px; font-size:.8rem; font-weight:800; height:38px; justify-content:center; }
.ctm-bracket-section { margin-bottom:36px; }.ctm-bracket-section>h3 { margin-bottom:16px; }
.ctm-bracket { display:flex; gap:18px; overflow-x:auto; padding:4px 4px 18px; scroll-snap-type:x proximity; }
.ctm-round { flex:0 0 255px; scroll-snap-align:start; }.ctm-round h4 { color:var(--ctm-muted); font-size:.75rem; letter-spacing:.05em; margin:0 0 10px; text-transform:uppercase; }
.ctm-round__matches { display:flex; flex-direction:column; gap:13px; justify-content:space-around; min-height:100%; }
.ctm-match { background:#fff; border:1px solid var(--ctm-line); border-radius:10px; box-shadow:0 2px 8px rgba(16,24,40,.04); overflow:hidden; }
.ctm-match--called,.ctm-match--in_progress { border-color:#6ce9a6; box-shadow:0 0 0 2px #d1fadf; }
.ctm-match__label,.ctm-match__footer { align-items:center; background:var(--ctm-soft); color:var(--ctm-muted); display:flex; font-size:.68rem; justify-content:space-between; padding:6px 9px; }
.ctm-match__team { align-items:center; border-top:1px solid var(--ctm-line); display:flex; font-size:.82rem; gap:8px; justify-content:space-between; min-height:37px; padding:7px 10px; }
.ctm-match__team span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.ctm-match__team.is-winner { background:#ecfdf3; color:#067647; font-weight:800; }.ctm-match__scores { margin-left:auto; }
.ctm-status-dot { background:#98a2b3; border-radius:50%; height:6px; margin-right:5px; width:6px; }.ctm-match--completed .ctm-status-dot { background:#12b76a; }.ctm-match--called .ctm-status-dot,.ctm-match--in_progress .ctm-status-dot { background:#f79009; }
.ctm-table-scroll { overflow-x:auto; }.ctm-table { border-collapse:collapse; min-width:650px; width:100%; }.ctm-table th { background:var(--ctm-soft); color:var(--ctm-muted); font-size:.72rem; letter-spacing:.04em; text-align:left; text-transform:uppercase; }.ctm-table th,.ctm-table td { border-bottom:1px solid var(--ctm-line); padding:12px 14px; }.ctm-table tbody tr:hover { background:#fcfcfd; }
.ctm-scoreboard-head { align-items:center; border-bottom:1px solid var(--ctm-line); display:flex; justify-content:space-between; margin-bottom:24px; padding-bottom:18px; }.ctm-scoreboard-head h3 { margin-bottom:3px; }.ctm-scoreboard-head p { color:var(--ctm-muted); margin:0; }
.ctm-live[data-ctm-error]:before { background:#fffaeb; border:1px solid #fedf89; border-radius:8px; color:#93370d; content:attr(data-ctm-error); display:block; margin-bottom:14px; padding:10px 12px; }
.ctm-live-indicator { align-items:center; background:#ecfdf3; border-radius:999px; color:#067647; display:flex; font-size:.75rem; font-weight:800; gap:6px; padding:6px 10px; text-transform:uppercase; }.ctm-live-indicator i { animation:ctm-live 1.4s infinite; background:#12b76a; border-radius:50%; height:8px; width:8px; }@keyframes ctm-live{50%{opacity:.35}}
.ctm-score-grid { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); margin-bottom:28px; }
.ctm-score-card { border:1px solid #a6f4c5; border-radius:12px; box-shadow:0 3px 12px rgba(16,24,40,.05); overflow:hidden; }.ctm-score-card__court { background:#ecfdf3; color:#067647; display:flex; font-size:.78rem; font-weight:800; justify-content:space-between; padding:8px 12px; text-transform:uppercase; }.ctm-score-card>div:not(:first-child) { align-items:center; border-top:1px solid var(--ctm-line); display:flex; justify-content:space-between; padding:11px 13px; }.ctm-score-card>div:not(:first-child) span { font-size:1.2rem; }.ctm-score-card>small { color:var(--ctm-muted); display:block; padding:7px 12px; }
.ctm-scoreboard-columns { display:grid; gap:28px; grid-template-columns:1fr 1fr; }.ctm-next-list,.ctm-result-list { list-style:none; margin:0!important; padding:0!important; }.ctm-next-list li,.ctm-result-list li { border-bottom:1px solid var(--ctm-line); display:grid; gap:3px; padding:10px 0; }.ctm-next-list small,.ctm-result-list small,.ctm-muted,.ctm-last-updated { color:var(--ctm-muted); }.ctm-result-list li { grid-template-columns:1fr auto 1fr; }.ctm-result-list small { text-align:right; }.ctm-last-updated { font-size:.72rem; margin-top:24px; text-align:right; }
.ctm-registration { max-width:760px; }.ctm-form { display:grid; gap:18px; grid-template-columns:1fr 1fr; margin-top:24px; }.ctm-field { display:flex; flex-direction:column; gap:6px; }.ctm-field--full { grid-column:1/-1; }.ctm-field label,.ctm-field>label,.ctm-form label { color:#344054; font-size:.86rem; font-weight:700; }.ctm-field label span,.ctm-field>label span { color:#d92d20; }.ctm-form input[type=text],.ctm-form input[type=email],.ctm-form input[type=tel],.ctm-score-entry input { background:#fff; border:1px solid #d0d5dd; border-radius:8px; color:var(--ctm-ink); font:inherit; min-height:44px; padding:9px 11px; width:100%; }.ctm-form input:focus,.ctm-score-entry input:focus { border-color:var(--ctm-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--ctm-accent) 18%,transparent); outline:0; }.ctm-check { align-items:flex-start; display:flex; gap:9px; }.ctm-check input { margin-top:3px; }.ctm-honeypot { left:-10000px; position:absolute; }
.ctm-notice { border:1px solid; border-radius:10px; margin:0 0 18px; padding:13px 16px; }.ctm-notice--success { background:#ecfdf3;border-color:#a6f4c5;color:#067647;}.ctm-notice--error { background:#fef3f2;border-color:#fecdca;color:#b42318;}.ctm-notice--info { background:#eff8ff;border-color:#b2ddff;color:#175cd3;}
.ctm-empty { background:var(--ctm-soft); border:1px dashed #d0d5dd; border-radius:14px; padding:42px 24px; text-align:center; }.ctm-empty--small { padding:20px; }.ctm-empty p:last-child { margin-bottom:0; }
.ctm-scorekeeper-grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); }.ctm-score-entry { border:1px solid var(--ctm-line); border-radius:12px; overflow:hidden; padding:16px; }.ctm-score-entry header { display:flex; justify-content:space-between; }.ctm-score-entry__teams { display:grid; gap:8px; grid-template-columns:1fr auto 1fr; margin:18px 0; text-align:center; }.ctm-game-labels,.ctm-game-row { align-items:center; display:grid; gap:8px; grid-template-columns:50px 1fr 1fr; margin-bottom:7px; }.ctm-game-labels { color:var(--ctm-muted); font-size:.72rem; font-weight:700; text-transform:uppercase; }.ctm-score-entry button { margin-top:10px; width:100%; }
@media (max-width:720px){.ctm-wrap{margin:12px auto}.ctm-hero{align-items:flex-start;border-radius:14px;flex-direction:column;padding:27px 22px}.ctm-hero h2{font-size:2.1rem}.ctm-panel{padding:22px 2px}.ctm-two-column,.ctm-scoreboard-columns{grid-template-columns:1fr}.ctm-form{grid-template-columns:1fr}.ctm-field--full{grid-column:auto}.ctm-result-list li{grid-template-columns:1fr auto}.ctm-result-list small{grid-column:1/-1;text-align:left}.ctm-card{padding:19px}}
@media (prefers-reduced-motion:reduce){.ctm-wrap *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.ctm-bracket-actions { display:flex; justify-content:flex-end; margin:0 0 18px; }
@media (max-width:600px) { .ctm-bracket-actions .ctm-button { width:100%; } }
