
*{box-sizing:border-box}html{font-family:var(--font-ui);color:var(--text);background:#fff}body{margin:0;min-width:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.17}h1{font-size:clamp(30px,3.5vw,46px)}h2{font-size:25px}h3{font-size:21px}.container{width:min(100% - 48px,1160px);margin-inline:auto}.narrow{max-width:1080px}
.review-bar{min-height:48px;padding:6px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f1f4f9;border-bottom:1px solid var(--line);color:#52637b;font-size:12px}.review-bar>span{white-space:nowrap;font-weight:700}.review-bar small{font-weight:400;margin-left:8px}.review-bar__controls{display:flex;gap:16px}.review-bar label{display:flex;align-items:center;gap:7px}.review-bar select{min-height:32px;border:1px solid #cbd5e3;border-radius:8px;background:#fff;padding:4px 26px 4px 9px;font-size:12px;color:var(--text)}.demo-feedback{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:10;background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 8px 24px #102e6326;font-size:13px;max-width:calc(100vw - 32px)}[hidden]{display:none!important}
.site-header{background:var(--navy);color:#fff}.header-inner{height:76px;display:flex;align-items:center;gap:48px}.brand{display:inline-flex;align-items:center;gap:10px;flex:none;color:#fff;font-weight:750;line-height:1.05;font-size:15px;white-space:nowrap}.brand__mark{width:44px;height:44px;object-fit:contain}.brand small{display:block;font-size:9px;font-weight:600;letter-spacing:.12em;margin-top:3px}.site-nav{display:flex;align-items:center;gap:24px;font-size:14px}.site-nav a{white-space:nowrap;color:#fff}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.account-link{padding:10px 16px;border:1px solid #8299bd;border-radius:var(--radius-control);font-size:13px;white-space:nowrap}.mobile-menu{display:none;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;padding:10px 14px;border:1px solid #8299bd;border-radius:var(--radius-control);font-size:13px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:calc(100% + 8px);width:210px;z-index:5;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-surface);box-shadow:0 12px 30px #102e6320;padding:8px}.mobile-menu nav a{display:block;padding:12px;border-radius:8px;font-size:14px}.mobile-menu nav a:hover{background:#f1f5fc;text-decoration:none}
.button{min-height:46px;border:1px solid var(--blue);border-radius:var(--radius-control);background:var(--blue);color:#fff;font-size:14px;font-weight:650;padding:0 20px;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.button:hover{background:var(--blue-dark);box-shadow:0 3px 10px #245bb21c}.button:active{transform:translateY(1px)}.button:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}.button--quiet{background:#fff;color:var(--blue);border-color:#b9c8de}.button--quiet:hover{background:#f2f6fc}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.event-feature{background:#f5f8fd;border-bottom:1px solid var(--line)}.event-feature__inner{padding-top:72px;padding-bottom:76px}.event-feature__content{max-width:660px}.eyebrow{font-size:13px;font-weight:650;color:var(--blue);margin-bottom:16px}.event-feature h1{font-size:clamp(36px,4vw,52px);margin-bottom:18px}.event-meta{font-size:15px;color:var(--muted);line-height:1.5}.event-meta span{margin:0 5px}.event-status{display:flex;align-items:center;gap:8px;color:var(--success);font-size:13px;margin:20px 0 28px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#229462}.next-section{padding-top:48px;padding-bottom:68px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.section-heading h2{margin:0}.section-heading a{font-size:14px;color:var(--blue);font-weight:600}.event-item{display:flex;align-items:baseline;gap:48px;padding:23px 0;border-bottom:1px solid var(--line)}.event-item time{font-weight:650;font-size:14px;min-width:140px}.event-item strong,.event-item span{display:block}.event-item strong{font-size:16px}.event-item span{color:var(--muted);font-size:13px;margin-top:5px}
.state-layout{min-height:65vh;padding-top:76px}.state-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-surface);padding:34px;max-width:630px;box-shadow:0 6px 20px #102e6309}.state-panel h2{margin-bottom:10px}.state-panel p{color:var(--muted);line-height:1.55;font-size:14px}.state-panel .button{margin-top:8px}
.tournament-intro{background:#f7f9fd;border-bottom:1px solid var(--line);padding:32px 0 38px}.back-link{font-size:13px;color:var(--blue);font-weight:600}.tournament-intro__row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:24px}.tournament-intro h1{margin:0 0 10px}.tournament-intro p{color:var(--muted);font-size:15px;margin:0}.tournament-body{padding-top:24px;padding-bottom:72px;min-height:430px}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;margin-bottom:20px}.tabs::-webkit-scrollbar{display:none}.tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:14px;min-height:49px;padding:0 2px;white-space:nowrap}.tabs button.is-active{color:var(--blue);border-color:var(--blue);font-weight:650}.program-row{display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.program-row>div{min-width:0}.program-row strong,.program-row span{display:block}.program-row strong{font-size:16px;overflow-wrap:anywhere}.program-row span{font-size:14px;color:var(--muted)}.program-row>div span{margin-top:6px}.inline-empty{padding:32px 0;color:var(--text)}.inline-empty p{font-size:14px;color:var(--muted);margin:8px 0}
.workspace{min-height:75vh;background:var(--page);padding:42px 0 76px}.page-head{margin-bottom:24px}.page-head h1{font-size:36px;margin:0 0 7px}.page-head p{font-size:14px;color:var(--muted);margin:0}.page-head--inline{display:flex;justify-content:space-between;align-items:center;gap:20px}.surface{background:#fff;border:1px solid var(--line);border-radius:var(--radius-surface);box-shadow:0 4px 18px #102e6308}.search-field{display:grid;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}input,select{min-height:44px;border:1px solid #bdc9d8;border-radius:var(--radius-control);background:#fff;color:var(--text);padding:0 13px}input::placeholder{color:#8492a4}.roster .search-field{padding:20px;border-bottom:1px solid var(--line)}.roster .search-field input{max-width:410px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-size:12px;font-weight:650}th,td{border-bottom:1px solid var(--line);padding:18px 20px;vertical-align:middle}tbody tr:last-child td{border:0}td strong{display:block;max-width:420px;line-height:1.45;overflow-wrap:anywhere}.status{display:inline-block;border-radius:8px;padding:6px 9px;background:#f1f3f6;color:#526174;font-size:12px;white-space:nowrap}.status--ok{background:#e9f6ef;color:var(--success)}.status--wait{background:#fff4de;color:var(--warning)}.status--danger{background:#fcebed;color:var(--danger)}.row-action{border:0;background:transparent;color:var(--blue);font-size:13px;padding:9px 0;white-space:nowrap}.row-action span{margin-left:3px}.filter-empty{padding:0 20px 20px;font-size:14px;color:var(--muted)}
.connection{font-size:12px;color:var(--success);white-space:nowrap}.connection::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#229462;margin-right:7px}.connection--lost{color:var(--danger)}.connection--lost::before{background:var(--danger)}.intake-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:20px}.people-list{overflow:hidden}.people-list .search-field{padding:20px}.people-items{border-top:1px solid var(--line)}.person{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:17px 20px;transition:background-color .18s ease}.person:last-child{border-bottom:0}.person:hover,.person.is-selected{background:#f2f6fd}.person.is-selected{box-shadow:inset 3px 0 var(--blue)}.person strong{display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.person span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.participant-detail{padding:26px}.participant-detail h2{font-size:25px;margin:0 0 7px;overflow-wrap:anywhere}.participant-meta,.participant-flags{color:var(--muted);font-size:13px;line-height:1.5}.participant-meta{margin:0 0 16px}.participant-flags{padding:14px 0;margin:0;border-top:1px solid var(--line)}.participant-flags span{margin:0 5px}.participant-detail .tabs{margin-bottom:24px}.form-content{display:grid;gap:17px}.form-content label{display:grid;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}.form-content .button{justify-self:start;margin-top:7px}.form-hint{font-size:13px;color:var(--muted);margin:0}.weight-result{background:#f4f7fc;border-radius:12px;padding:16px;display:grid;gap:5px;font-size:13px}.weight-result strong{overflow-wrap:anywhere}.weight-result span{color:var(--muted)}
.broadcast{background:#0b1d3e;min-height:70vh;padding:16px}.broadcast-controls{display:flex;gap:8px;max-width:1920px;margin:0 auto 14px}.broadcast-controls button{background:transparent;color:#cad6ed;border:1px solid #536b96;border-radius:9px;padding:8px 13px;font-size:13px}.broadcast-controls button.is-active{background:#fff;color:var(--navy)}.score-screen,.call-screen{width:min(100%,1920px);aspect-ratio:16/9;margin:auto;background:#10234c;color:#fff;padding:2.3% 3%;display:flex;flex-direction:column;overflow:hidden}.score-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.score-top .brand{font-size:clamp(14px,1.5vw,27px)}.score-top .brand__mark{width:clamp(42px,4vw,76px);height:clamp(42px,4vw,76px)}.score-top>div{text-align:right;font-size:clamp(13px,1.4vw,26px);font-weight:650}.score-top>div small{display:block;color:#afc1e2;font-size:clamp(10px,1vw,18px);font-weight:400;margin-top:5px}.score-context{display:flex;justify-content:space-between;border-bottom:1px solid #4b628c;padding:2% 0 1.5%;font-size:clamp(15px,1.7vw,32px)}.score-time{text-align:center;font:800 clamp(80px,10vw,190px)/1 var(--font-score);font-variant-numeric:tabular-nums;margin:2% 0}.competitors{border-radius:16px;overflow:hidden}.competitor{display:grid;grid-template-columns:13% minmax(0,1fr) 12%;gap:2%;align-items:center;padding:1.4% 2%;min-height:20%}.competitor--white{background:var(--white-side);color:#10234c}.competitor--blue{background:var(--blue-side);color:#fff}.competitor>span{font-size:clamp(15px,2.1vw,40px);font-weight:750}.competitor>span small{display:block;font-size:.45em;font-weight:500;margin-top:5px}.competitor strong{font-size:clamp(22px,3vw,57px);font-weight:700;line-height:1.05;overflow-wrap:anywhere}.competitor b{text-align:right;font:800 clamp(70px,9vw,170px)/1 var(--font-score);font-variant-numeric:tabular-nums}.score-next{text-align:right;color:#b5c6e7;font-size:clamp(11px,1.2vw,22px);margin-top:auto;padding-top:1.4%}.score-screen--state{align-items:center;justify-content:center}.score-screen--state .state-panel{color:var(--text)}.call-main{margin:auto 0 0}.call-main h1{text-align:center;font-size:clamp(44px,5.7vw,110px);margin-bottom:10px}.call-main>p{text-align:center;color:#c1d0ee;font-size:clamp(17px,1.8vw,35px);margin-bottom:5%}.call-pair{display:grid;grid-template-columns:1fr 1fr;gap:2%}.call-pair>div{min-height:31vh;display:flex;flex-direction:column;justify-content:space-between;padding:4%;border-radius:16px}.call-pair__white{background:#fff;color:#10234c}.call-pair__blue{background:var(--blue-side);color:#fff}.call-pair span{font-size:clamp(14px,1.5vw,28px);font-weight:650}.call-pair strong{font-size:clamp(27px,3.7vw,71px);line-height:1.05;overflow-wrap:anywhere}.overlay-preview{width:min(100%,1920px);aspect-ratio:16/9;margin:auto;background:repeating-conic-gradient(#d5dce6 0 25%,#f1f4f9 0 50%) 0 0/36px 36px;position:relative}.overlay-preview__label{position:absolute;top:16px;left:16px;background:#fff;padding:8px 12px;border-radius:8px;font-size:12px}.overlay{position:absolute;left:4%;bottom:5%;width:50%;background:#10234c;color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #10234c3b}.overlay>div{padding:9px 14px;font-size:clamp(11px,1.1vw,20px)}.overlay time{float:right;font:800 clamp(18px,2vw,38px) var(--font-score)}.overlay section{display:grid;grid-template-columns:14% 1fr 10%;align-items:center;gap:10px;padding:11px 14px}.overlay section span{font-size:clamp(12px,1.2vw,22px)}.overlay section strong{font-size:clamp(15px,1.8vw,35px);overflow-wrap:anywhere}.overlay section b{text-align:right;font:800 clamp(27px,3vw,60px) var(--font-score)}.overlay__white{background:#fff;color:#10234c}.overlay__blue{background:var(--blue-side);color:#fff}
.specimen{display:grid;gap:16px}.specimen>.surface{padding:24px}.specimen h2{font-size:21px}.specimen-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.specimen-row label{display:grid;gap:7px;color:var(--muted);font-size:13px}.specimen-row label small{color:var(--danger)}.field-error{border-color:var(--danger)}.toast{background:#edf8f2;color:var(--success);padding:12px 15px;border-radius:10px;font-size:13px}.toast--error{background:#fbecef;color:var(--danger)}.modal-specimen{max-width:530px;border:1px solid var(--line);border-radius:16px;padding:24px}.modal-specimen p{font-size:14px;color:var(--muted);line-height:1.5}.modal-specimen .actions{justify-content:flex-end}
.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}.ui-icon{display:block;width:21px;height:21px;flex:none}.site-nav{margin-left:auto;gap:8px}.icon-link{width:44px;height:44px;border:1px solid #8299bd;border-radius:10px;display:grid;place-items:center;transition:background-color .18s ease,transform .18s ease}.icon-link:hover{background:#ffffff18}.icon-link:active{transform:translateY(1px)}.icon-link .ui-icon{filter:brightness(0) invert(1)}.event-meta{display:flex;flex-wrap:wrap;gap:10px 24px}.event-meta span{display:inline-flex;align-items:center;gap:8px;margin:0}.event-meta .ui-icon{width:18px;height:18px}.event-status .ui-icon{width:18px;height:18px}.search-field--icon{display:block;position:relative}.search-field--icon>.ui-icon{position:absolute;left:34px;top:32px;width:19px;height:19px;pointer-events:none}.search-field--icon input{width:100%;padding-left:40px}.roster .search-field--icon input{max-width:410px}.row-action{width:40px;height:40px;padding:0;display:grid;place-items:center;border-radius:10px}.row-action:hover{background:#f2f6fc}.row-action .ui-icon{width:20px;height:20px}
body[data-screen="scoreboard"][data-display="tv"] .review-bar,body[data-screen="scoreboard"][data-display="tv"] .broadcast-controls{display:none}body[data-screen="scoreboard"][data-display="tv"] .broadcast{padding:0;min-height:100vh}body[data-screen="scoreboard"][data-display="tv"] .score-screen{width:100vw;max-width:none;height:100vh;aspect-ratio:auto;padding:1.5% 3%}
@media(max-width:900px){.intake-layout{grid-template-columns:1fr}.people-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.person{border-right:1px solid var(--line);border-bottom:0}}
@media(max-width:700px){.review-bar{padding:7px 16px;flex-wrap:wrap;gap:7px}.review-bar__controls{width:100%;justify-content:space-between}.review-bar label{flex:1}.review-bar select{max-width:100%}}
@media(max-width:650px){.container{width:min(100% - 32px,1160px)}.review-bar{padding:7px 16px;align-items:start;flex-wrap:wrap;gap:7px}.review-bar__controls{width:100%;gap:8px}.review-bar label{flex:1;display:block;font-size:11px}.review-bar select{width:100%;margin-top:3px}.header-inner{height:70px;gap:8px}.brand{font-size:12px}.brand__mark{width:34px;height:34px}.site-nav{margin-left:auto;font-size:12px}.header-actions{margin-left:0}.account-link{font-size:12px;padding:9px}.event-feature__inner{padding-top:50px;padding-bottom:54px}.event-feature h1{font-size:38px}.next-section{padding-top:36px;padding-bottom:50px}.section-heading h2{font-size:22px}.event-item{display:block;padding:20px 0}.event-item time{display:block;margin-bottom:8px}.tournament-intro__row{display:block}.tournament-intro__row .button{margin-top:22px}.tournament-intro h1{font-size:34px}.program-row{display:block}.program-row>span{margin-top:9px}.workspace{padding:32px 0 60px}.page-head h1{font-size:31px}.page-head--inline{align-items:start}.table-wrap{overflow:visible}table,thead,tbody,tr,td{display:block}thead{display:none}tr{padding:14px 18px;border-bottom:1px solid var(--line)}tr:last-child{border-bottom:0}td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;text-align:right;padding:5px 0;border:0}td:first-child{text-align:left}td:before{content:attr(data-label);color:var(--muted);font-size:11px;text-align:left;flex:0 0 86px}td strong{max-width:100%}td:last-child{justify-content:flex-end}.people-items{display:block}.person{border-right:0;border-bottom:1px solid var(--line)}.participant-detail{padding:20px}.participant-detail h2{font-size:23px}.participant-flags span{display:none}.participant-flags{display:grid;gap:3px}.score-screen,.call-screen{min-height:530px;aspect-ratio:auto;padding:16px}.score-top>div{font-size:13px}.score-context{font-size:14px}.score-time{font-size:82px;margin:30px 0}.competitor{grid-template-columns:1fr auto;min-height:125px}.competitor>span{grid-column:1/-1;font-size:15px}.competitor strong{font-size:25px}.competitor b{font-size:70px}.call-main h1{font-size:45px}.call-pair{grid-template-columns:1fr}.call-pair>div{min-height:150px}.call-pair strong{font-size:34px}.overlay-preview{min-height:530px;aspect-ratio:auto}.overlay{width:92%}}
@media(max-width:650px){td:before{display:none}.roster tr{position:relative;padding-right:66px}.roster td:last-child{position:absolute;right:14px;top:50%;transform:translateY(-50%);padding:0}.row-action{margin-left:auto}.site-nav{gap:6px}.icon-link{width:40px;height:40px}.event-meta{display:grid;gap:10px}}

/* Draft 0.5: sport-league composition, own judo identity. */

html,body{background:#091945}
.site-header{background:#07143c;border-bottom:1px solid #2a4d9d}
.header-inner{height:80px}
.icon-link{border-color:#5674b1;background:#ffffff0b}
.icon-link:hover{background:#ffffff22}
.button{background:#2166e7;border-color:#2166e7}
.button:hover{background:#1553ce;border-color:#1553ce}
.button--quiet{background:#fff;color:#174cb8;border-color:#9bb2df}
.button--quiet:hover{background:#edf3ff}

.event-feature{background:linear-gradient(118deg,#071740 0%,#09266d 51%,#0c43bc 100%);border-bottom:1px solid #3154a4;color:#fff;overflow:hidden;position:relative}
.event-feature:before{content:"";position:absolute;inset:0;background:linear-gradient(132deg,transparent 45%,#245fd224 45%,#245fd224 47%,transparent 47%),linear-gradient(132deg,transparent 63%,#6e9cff13 63%,#6e9cff13 64%,transparent 64%);pointer-events:none}
.event-feature__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:52px;padding-top:70px;padding-bottom:70px;min-height:560px}
.event-feature__content{max-width:690px}
.eyebrow{color:#8fd3ff;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}
.event-feature h1{font-size:clamp(42px,4.7vw,65px);line-height:1.04;color:#fff;margin-bottom:28px;letter-spacing:-.045em}
.event-meta{color:#d7e5ff;font-size:15px;gap:12px 24px;line-height:1.5}
.event-meta .ui-icon,.event-status .ui-icon{filter:brightness(0) invert(1)}
.event-status{color:#94e0c8;margin:24px 0 32px;font-weight:600}
.feature-card{min-height:397px;display:flex;flex-direction:column;padding:22px 24px 24px;border:1px solid #5b89e0;background:linear-gradient(150deg,#0c3bab,#092368 76%);border-radius:18px;box-shadow:0 20px 44px #020e3580;color:#fff}
.feature-card__top{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#dce9ff;font-size:12px;letter-spacing:.05em}
.feature-card__top strong{font-size:13px;color:#fff;letter-spacing:0}
.feature-card__mark{display:grid;place-items:center;flex:1;padding:12px 0}
.feature-card__mark img{width:138px;height:138px;object-fit:contain;filter:drop-shadow(0 8px 20px #06174788)}
.feature-card__footer{border-top:1px solid #6a90db;padding-top:14px}
.feature-card__footer p{font-size:12px;color:#bcd4ff;margin:0 0 10px}
.feature-card__footer div{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}
.feature-card__footer div+div{border-top:1px solid #436bb9}
.feature-card__footer strong{font-variant-numeric:tabular-nums}
.next-section{color:#fff;padding-top:50px;padding-bottom:90px}
.section-heading{border-bottom-color:#3b568f}
.section-heading h2{color:#fff}
.event-item{align-items:center;gap:28px;border:1px solid #dde7fa;background:#fff;border-radius:14px;margin-top:18px;padding:20px 24px;box-shadow:0 8px 20px #020e3526}
.event-item time{color:#315393;min-width:155px}
.event-item strong{color:#10254f}
.event-item__index{margin-left:auto;color:#61779d;font-size:13px;white-space:nowrap}

.tournament-intro{background:linear-gradient(116deg,#0a389f,#071a54);border-bottom:1px solid #3762b7;color:#fff;padding:42px 0 48px}
.back-link{color:#bad5ff}
.tournament-intro h1{color:#fff;font-size:clamp(34px,3.5vw,48px)}
.tournament-intro p{color:#d1e2ff}
.tournament-intro .button{background:#fff;border-color:#fff;color:#103785}
.tournament-intro .button:hover{background:#eaf2ff}
.tournament-body{color:#fff;min-height:62vh;padding-top:25px}
.tournament-body .tabs{border-bottom-color:#40619c}
.tournament-body .tabs button{color:#b5c9ef}
.tournament-body .tabs button.is-active{color:#fff;border-color:#68bfff}
.program-row{background:#102a63;border:1px solid #315396;border-radius:12px;margin-bottom:10px;padding:18px 22px}
.program-row span,.inline-empty p{color:#adc5ed}
.inline-empty{color:#fff}

.workspace{background:linear-gradient(155deg,#0b318e 0%,#0a205d 250px,#081842 600px);color:#fff;min-height:calc(100vh - 80px);padding-top:48px}
.page-head h1{color:#fff}
.page-head p{color:#c8dcff}
.surface{background:#f7f9ff;border-color:#b3c8e9;color:#1b2d48;box-shadow:0 18px 38px #04123542}
.roster thead{background:#eaf0fb}
.roster th{color:#516884}
.connection{color:#a0e6cd}
.connection--lost{color:#ffd0d8}
.people-list .person{background:#f7f9ff}
.people-list .person:hover,.people-list .person.is-selected{background:#e8f0ff}
.participant-detail .tabs button.is-active{color:#1657cf;border-color:#1657cf}
.state-layout{background:#091945;max-width:none;width:100%;padding-left:max(24px,calc((100% - 1160px)/2));padding-right:24px;color:#fff}
.state-layout .state-panel{color:#1b2d48}
.broadcast{background:#07133a}
.score-screen,.call-screen{background:#0a1e55}
.competitor--blue,.call-pair__blue,.overlay__blue{background:#1955b9}

@media(max-width:900px){.event-feature__inner{grid-template-columns:1fr;gap:32px;min-height:0}.feature-card{width:min(100%,520px);min-height:305px}.feature-card__mark img{width:96px;height:96px}.feature-card__top{font-size:12px}}
@media(max-width:650px){.header-inner{height:70px}.event-feature__inner{padding-top:43px;padding-bottom:44px;gap:30px}.eyebrow{font-size:11px;margin-bottom:17px}.event-feature h1{font-size:42px;margin-bottom:22px}.event-meta{font-size:14px}.event-status{margin:22px 0 27px}.feature-card{min-height:265px;padding:18px 20px}.feature-card__mark{padding:8px 0}.feature-card__mark img{width:74px;height:74px}.next-section{padding-top:37px;padding-bottom:58px}.event-item{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:16px 18px}.event-item time{grid-column:1/-1;margin:0}.event-item__index{grid-column:2;grid-row:2}.tournament-intro{padding:30px 0 36px}.tournament-intro h1{font-size:34px}.program-row{padding:16px 18px}.workspace{padding-top:34px}.state-layout{padding-left:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Draft 0.6: restrained, near-monochrome surfaces and JS choices. */

html,body{background:#0b1c3e;color:var(--text)}
.ui-icon{filter:brightness(0) invert(1);opacity:.86}
.site-header{background:#0a1939;border-bottom-color:#243c68}
.icon-link{border-color:#34507e;background:#102348;border-radius:9px}
.icon-link:hover{background:#1a3260}
.review-bar{background:#0b1a37;border-color:#2d4165;color:#bbc9de}
.review-bar>span{color:#eef3fb}
.button{background:#356dd3;border-color:#356dd3;border-radius:8px;box-shadow:none}
.button:hover{background:#285dbc;border-color:#285dbc}
.button--quiet{background:#172b50;color:#e4edfb;border-color:#36517d}
.button--quiet:hover{background:#213a68}
.event-feature{background:linear-gradient(113deg,#0c2049 0%,#123574 72%,#194587 100%);border-color:#2b4c84}
.event-feature:before{display:none}
.feature-card{background:#142d5b;border-color:#3d5d93;border-radius:10px;box-shadow:none}
.feature-card__footer{border-top-color:#456494}
.feature-card__footer div+div{border-top-color:#34527f}
.next-section,.tournament-body{background:#0b1c3e}
.event-item{background:#162d55;border-color:#385078;border-radius:10px;box-shadow:none}
.event-item time{color:#abc1e2}
.event-item strong{color:#f0f4fb}
.event-item__index{color:#94a9c8}
.tournament-intro{background:#143774;border-color:#365992}
.program-row{background:#152d56;border-color:#304e7a;border-radius:10px}
.workspace{background:#0b1c3e;color:#edf2fa}
.surface{background:#14294d;border-color:#324b74;color:#eaf0fa;box-shadow:none;border-radius:10px}
.roster thead{background:#1b345c}
.roster th,.search-field,.form-content label,.specimen label{color:#b9c9e0}
.roster td,th,td{border-color:#30486e}
.roster tbody tr:hover{background:#1a345e}
.search-field{border-color:#30486e}
input{background:#102346;border-color:#3b5680;color:#f0f4fb;border-radius:8px}
input::placeholder{color:#a4b4ce}
.person,.people-list .person{background:#14294d;color:#eaf0fa;border-color:#30486e}
.person:hover,.person.is-selected,.people-list .person:hover,.people-list .person.is-selected{background:#1e3b68}
.participant-flags,.participant-detail .tabs,.tabs{border-color:#30486e}
.participant-detail .tabs button.is-active,.tabs button.is-active{color:#a9cbff;border-color:#78a9f5}
.participant-meta,.participant-flags,.person span,.page-head p{color:#b2c4df}
.status{background:#253957;color:#dce6f4}
.status--ok{background:#1b4a54;color:#b6efdd}
.status--wait{background:#504532;color:#f5d89f}
.status--danger{background:#5b333c;color:#ffc6cf}
.row-action{color:#a8c7ff}
.state-panel,.state-layout .state-panel{background:#152b52;border-color:#35517c;color:#eaf0fa;box-shadow:none}
.state-panel p{color:#b4c6df}
.state-layout{background:#0b1c3e}
.weight-result{background:#1b355e}
.specimen .surface,.modal-specimen{background:#14294d;border-color:#324b74;color:#eaf0fa}
.toast{background:#1e4d50;color:#d7fff0}
.toast--error{background:#57343e;color:#ffe3e8}
.field-error{border-color:#f2a7b5}
.inline-empty{color:#eaf0fa}
.choice{position:relative;display:grid;gap:8px;min-width:0;font-size:13px;font-weight:600;color:#b9c9e0}
.choice__label{display:block}
.choice__trigger{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;background:#102346;border:1px solid #3b5680;border-radius:8px;color:#f0f4fb;text-align:left;font-weight:500}
.choice__trigger:hover,.choice.is-open .choice__trigger{background:#19325b;border-color:#7293c7}
.choice__trigger .ui-icon{width:17px;height:17px;flex:0 0 17px;transition:transform .18s ease}
.choice.is-open .choice__trigger .ui-icon{transform:rotate(180deg)}
.choice__menu{position:absolute;z-index:30;top:calc(100% + 5px);left:0;width:100%;min-width:max-content;max-width:min(360px,calc(100vw - 32px));padding:5px;background:#19345e;border:1px solid #5a75a2;border-radius:9px;box-shadow:0 12px 25px #030b20a6}
.choice__menu [role="option"]{display:block;width:100%;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:#eaf0fa;text-align:left;font-size:13px;white-space:nowrap}
.choice__menu [role="option"]:hover,.choice__menu [role="option"]:focus-visible{background:#2b4d81}
.choice__menu [aria-selected="true"]{background:#254779;color:#fff}
.choice__trigger:focus-visible,.choice__menu [role="option"]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.review-bar .choice{display:flex;align-items:center;gap:8px;min-width:190px;color:#b6c7df;font-size:12px}
.review-bar .choice__trigger{min-height:34px;font-size:12px;min-width:160px;padding:5px 9px}
.review-bar .choice__menu{top:calc(100% + 5px);left:auto;right:0}
.specimen-row .choice{min-width:200px}
.form-content>.choice{max-width:100%}
@media(max-width:700px){.review-bar .choice{flex:1;min-width:0}.review-bar .choice__trigger{min-width:0}.review-bar .choice__label{display:none}.review-bar .choice__menu{min-width:100%}}
@media(max-width:420px){.review-bar .choice__trigger{font-size:11px}.review-bar .choice__menu [role="option"]{font-size:12px}}
@media(prefers-reduced-motion:reduce){.choice__trigger .ui-icon{transition:none}}

/* Draft 0.7: sampled UEFA.com colours; fully opaque planes; licensed Cyrillic fonts. */
@font-face{font-family:Manrope;src:url('../fonts/Manrope-wght.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Play;src:url('../fonts/Play-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}


html,body{background:#000040;color:#fff;font-family:var(--font-ui)}
h1,h2,h3{font-family:Play,Manrope,Arial,sans-serif;font-weight:700;letter-spacing:0;line-height:1.08}
button,input{font-family:var(--font-ui)}
.ui-icon{opacity:1;filter:brightness(0) invert(1)}
.site-header{background:#000040;border-bottom:2px solid #242477}
.brand{font-family:Play,Manrope,Arial,sans-serif;letter-spacing:0}
.icon-link{background:#040a63;border:1px solid #344cba;border-radius:2px;box-shadow:none}
.icon-link:hover{background:#0a0a61}
.review-bar{background:#000040;border-bottom:1px solid #3349aa;color:#fff}
.review-bar>span{color:#fff}
.button{background:#00056c;border-color:#00056c;border-radius:2px;box-shadow:none;transition:background-color .16s ease}
.button:hover{background:#1748ff;border-color:#1748ff;box-shadow:none}
.button:active,.icon-link:active{transform:none}
.button:disabled{opacity:1;background:#344078;border-color:#344078;color:#c4cbea}
.button--quiet{background:#040a63;color:#fff;border-color:#6682ff}
.button--quiet:hover{background:#12228a}
.event-feature{background:#040a63;border-top:6px solid #0a0a61;border-bottom:1px solid #3447ad}
.event-feature:before{display:none}
.event-feature__inner{min-height:515px}
.eyebrow{color:#dce2ef;letter-spacing:.08em;text-transform:uppercase}
.event-feature h1{font-size:clamp(40px,4.6vw,64px);letter-spacing:0}
.event-meta,.event-feature .event-meta{color:#f1f3f8}
.event-status{color:#dce2ef}
.feature-card{background:#000040;border:1px solid #5065c5;border-radius:2px;box-shadow:none}
.feature-card__top,.feature-card__footer p{color:#d4dfff}
.feature-card__footer{border-color:#4055b2}
.feature-card__footer div+div{border-color:#3549a5}
.feature-card__mark img{filter:none}
.next-section,.tournament-body,.workspace,.state-layout{background:#000040;color:#fff}
.section-heading{border-color:#4a60bd}
.event-item{background:#040a63;border:1px solid #3c50ac;border-radius:2px;box-shadow:none}
.event-item time{color:#dce2ef}
.event-item strong{color:#fff}
.event-item__index{color:#cbd5f7}
.tournament-intro{background:#00056c;border-color:#00056c}
.tournament-intro .button{background:#000040;border-color:#000040;color:#fff}
.tournament-intro .button:hover{background:#040a63}
.tournament-intro p,.back-link{color:#fff}
.program-row{background:#040a63;border:1px solid #3c50ac;border-radius:2px}
.program-row span,.inline-empty p{color:#d0dafa}
.tabs,.participant-detail .tabs{border-color:#4157b1}
.tabs button{color:#c9d4f3}
.tabs button.is-active,.tournament-body .tabs button.is-active,.participant-detail .tabs button.is-active{color:#dce2ef;border-color:#dce2ef}
.surface,.specimen .surface,.modal-specimen,.state-panel,.state-layout .state-panel{background:#040a63;border:1px solid #354bab;color:#fff;border-radius:2px;box-shadow:none}
.page-head h1,.state-panel h2,.participant-detail h2{color:#fff}
.page-head p,.participant-meta,.participant-flags,.person span,.state-panel p,.form-hint,.weight-result span{color:#d0dafa}
.roster thead{background:#00056c}
.roster th{color:#fff}
.roster td,th,td,.people-items,.participant-flags{border-color:#4054ae}
.roster tbody tr:hover{background:#111a78}
.search-field,.roster .search-field,.people-list .search-field{border-color:#4054ae;color:#dce5ff}
input{background:#000040;border:1px solid #5e74d0;color:#fff;border-radius:2px}
input::placeholder{color:#bdcafa}
.person,.people-list .person{background:#040a63;color:#fff;border-color:#4054ae}
.person:hover,.person.is-selected,.people-list .person:hover,.people-list .person.is-selected{background:#111a78}
.person.is-selected{box-shadow:inset 3px 0 #a9b8d8}
.row-action{color:#dce2ef;border-radius:2px}
.row-action:hover{background:#16218c}
.status{background:#1e2a81;color:#fff;border-radius:2px}
.status--ok{background:#104568;color:#d8ffff}
.status--wait{background:#454272;color:#fff}
.status--danger{background:#63305a;color:#fff}
.connection{color:#dce2ef}
.connection--lost{color:#ffbad5}
.weight-result{background:#000040;border-radius:2px}
.toast{background:#104568;color:#fff;border-radius:2px}
.toast--error{background:#63305a;color:#fff}
.field-error{border-color:#ffbad5}
.specimen-row label small{color:#ffbad5}
.modal-specimen p{color:#d0dafa}
.choice{color:#dce5ff}
.choice__trigger,.review-bar .choice__trigger{background:#000040;border:1px solid #5e74d0;color:#fff;border-radius:2px}
.choice__trigger:hover,.choice.is-open .choice__trigger{background:#101c86;border-color:#a9b8d8}
.choice__menu{background:#040a63;border:1px solid #7085d8;border-radius:2px;box-shadow:none}
.choice__menu [role="option"]{background:#040a63;color:#fff;border-radius:0}
.choice__menu [role="option"]:hover,.choice__menu [role="option"]:focus-visible,.choice__menu [aria-selected="true"]{background:#00056c;color:#fff}
.demo-feedback{background:#040a63;border:1px solid #a9b8d8;border-radius:2px;box-shadow:none}
.broadcast{background:#000040}
.broadcast-controls button{background:#040a63;border-color:#4055b2;border-radius:2px;color:#fff}
.broadcast-controls button.is-active{background:#00056c;color:#fff}
.score-screen,.call-screen{background:#000040}
.competitors,.call-pair>div,.overlay{border-radius:2px}
.competitor--white,.call-pair__white,.overlay__white{background:#fff;color:#000040}
.competitor--blue,.call-pair__blue,.overlay__blue{background:#00056c;color:#fff}
.overlay-preview{background:#080852}
.overlay-preview__label{background:#040a63;color:#fff;border-radius:2px}
.overlay{background:#000040;box-shadow:none}
@media(max-width:650px){.event-feature h1{font-size:40px}.feature-card{border-radius:2px}.event-item,.program-row{border-radius:2px}}
@media(prefers-reduced-motion:reduce){.button,.choice__trigger .ui-icon{transition:none}}

/* Draft 0.9: calmer BCL composition adapted to the judo league. */
@font-face{font-family:Jura;src:url('../fonts/Jura-wght.ttf') format('truetype');font-weight:300 700;font-display:swap}

html,body{background:#f4f6f9;color:#21262e;font-family:var(--font-ui)}
h1,h2,h3{font-family:Play,Manrope,Arial,sans-serif;font-weight:700;letter-spacing:0;line-height:1.13}
.review-bar{background:#0d1422;border-bottom:1px solid #343e52;color:#e9edf3}
.review-bar>span{color:#fff}
.review-bar .choice__trigger{background:#111720;border-color:#566070;border-radius:5px}
.site-header{background:#111720;border-bottom:0;position:relative;z-index:5}
.header-inner{height:80px;gap:20px}
.brand{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:800;letter-spacing:-.04em;line-height:1.02}
.brand__mark{width:52px;height:52px}
.brand small{font-size:9px;font-weight:700;letter-spacing:.16em;color:var(--cyan-soft)}
.season-dates{color:#fff;border-left:1px solid #606a7d;padding-left:17px;font-size:10px;line-height:1.4;font-weight:800;white-space:nowrap}
.site-nav{margin-left:auto;gap:4px;height:100%}
.icon-link{width:76px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:0;background:transparent;color:#9398ab;font-size:11px;box-shadow:none}
.icon-link .ui-icon{width:20px;height:20px;opacity:.65}
.icon-link span{line-height:1.1}
.icon-link:hover,.icon-link:focus-visible,.icon-link.is-active{background:#1c2633;color:var(--cyan-soft);text-decoration:none}
.icon-link:hover .ui-icon,.icon-link:focus-visible .ui-icon{opacity:1}
.button{min-height:44px;border:0;border-radius:24px;background:#0a153f;color:#fff;padding:0 22px;font-size:13px;font-weight:800;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;gap:12px}
.button:hover{background:#18264d;border-color:#18264d;box-shadow:none}
.button--quiet{background:#e9ebee;color:#111720;border:1px solid #ced0d9}
.button--quiet:hover{background:#dfe3e8}
.button:disabled{background:#d9dce4;border-color:#d9dce4;color:#626775}
.event-feature{position:relative;isolation:isolate;background:#111720 url('../images/judo-hero-synthetic-v8.png') center 43%/cover no-repeat;border:0;color:#fff}
.event-feature:before{display:block;content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,23,32,.86),rgba(17,23,32,.44) 48%,rgba(17,23,32,.12) 75%),linear-gradient(0deg,#111720 0%,rgba(17,23,32,0) 35%);z-index:-1}
.event-feature__inner{min-height:635px;padding-top:110px;padding-bottom:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:80px}
.event-feature__content{max-width:760px;padding-bottom:0}
.event-feature h1{font-family:Jura,Manrope,sans-serif;font-size:clamp(40px,4.7vw,68px);font-weight:600;line-height:1.06;color:#fff;letter-spacing:-.025em;margin-bottom:20px}
.eyebrow{font-family:Manrope,sans-serif;color:var(--cyan-soft);font-size:11px;font-weight:750;letter-spacing:.1em;margin-bottom:14px}
.event-meta,.event-feature .event-meta{color:#fff;font-size:14px;gap:8px 22px}
.event-feature .actions{margin-top:26px}
.event-feature .button{background:#0a153f;color:#fff}
.event-feature .button:hover{background:#18264d}
.hero-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:22px;max-width:780px}
.hero-rail__item{border-top:2px solid #626873;padding-top:12px;display:flex;align-items:baseline;gap:12px;color:#c3c7cf;font-size:12px}
.hero-rail__item.is-active{border-color:var(--cyan-soft);color:#fff}
.hero-rail__item span{font-family:Jura,sans-serif;color:var(--cyan-soft);font-weight:700}
.hero-rail__item strong{font-size:13px;font-weight:700}
.hero-rail__item small{font-size:10px;color:#aeb5c2;margin-left:auto}
.games-band{background:#111720;color:#fff;padding:30px 0 54px}
.games-band .section-heading{border:0;padding:0 0 22px}
.games-band h2{font-family:Manrope,sans-serif;text-transform:uppercase;font-size:16px;font-weight:800;letter-spacing:0;margin:0}
.text-link{border:0;background:transparent;color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.games-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.game-tile{position:relative;min-height:124px;background:#fafbfc;color:#21262e;border:1px solid #e3e7eb;border-radius:8px;padding:18px 72px 18px 20px;display:flex;flex-direction:column;gap:5px}
.game-tile small{font-size:10px;color:#747679;font-weight:800;letter-spacing:.04em}
.game-tile strong{font-size:17px;font-weight:800}
.game-tile span{font-size:12px;color:#747679}
.game-tile b{position:absolute;right:15px;top:44px;background:#21262e;color:#fff;border-radius:5px;padding:8px 9px;font-size:11px;white-space:nowrap}
.next-section{padding:54px 0 76px;background:#f4f6f9;color:#21262e}
.next-section .section-heading{border-color:#e2e5ea}
.next-section h2{font-size:24px}
.next-section .section-heading h2{color:#21262e}
.event-item{background:#fafbfc;border:1px solid #e3e7eb;border-radius:8px;color:#21262e;box-shadow:none}
.event-item time{color:#111720;font-weight:800}
.event-item strong{color:#21262e}
.event-item span,.event-item__index{color:#747679}
.tournament-intro{background:#1a2a3d;border:0;color:#fff;padding:48px 0 54px}
.tournament-intro h1{font-family:Jura,sans-serif;font-size:clamp(36px,4vw,52px);font-weight:600}
.tournament-intro .button{background:#0a153f}
.date-rail{background:#fafbfc;border:1px solid #e3e7eb;border-radius:8px;padding:14px 18px;display:flex;align-items:stretch;gap:6px;margin-top:36px;max-width:720px;color:#21262e}
.date-rail__intro{display:flex;align-items:center;padding:0 20px 0 8px;font-size:12px;font-weight:800;line-height:1.3}
.date-rail__tile{width:76px;min-height:78px;background:#e9ebee;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.date-rail__tile.is-active{background:#0a153f;color:#fff}
.date-rail__tile small{font-size:9px;color:inherit;opacity:.7}
.date-rail__tile strong{font-size:25px;line-height:1;font-weight:800}
.date-rail__tile span{font-size:10px;font-weight:800}
.tournament-body{background:#f4f6f9;color:#21262e;padding-top:28px;padding-bottom:60px}
.tournament-body .tabs{background:#fafbfc;border-radius:8px;padding:10px 16px;border:1px solid #e3e7eb}
.tabs button{color:#747679}
.tabs button.is-active,.tournament-body .tabs button.is-active,.participant-detail .tabs button.is-active{color:#0a153f;border-color:#a1c3c8}
.program-row{background:#fafbfc;border:1px solid #e3e7eb;border-radius:8px;color:#21262e}
.program-row span,.inline-empty p{color:#747679}
.workspace{background:#f4f6f9;color:#21262e;min-height:calc(100vh - 80px);padding:0 0 70px}
.workspace-banner{background:#1a2a3d;color:#fff;padding:48px 0 58px}
.workspace-banner .page-head h1,.workspace-banner .page-head p{color:#fff}
.workspace-banner .page-head{margin:0}
.workspace-content{margin-top:34px}
.surface,.specimen .surface,.modal-specimen,.state-panel,.state-layout .state-panel{background:#fafbfc;color:#21262e;border:1px solid #e3e7eb;border-radius:8px;box-shadow:none}
.page-head h1,.state-panel h2,.participant-detail h2{color:#21262e}
.page-head p,.participant-meta,.participant-flags,.person span,.state-panel p,.form-hint,.weight-result span{color:#747679}
.roster thead{background:#0a153f}
.roster th{color:#fff}
.roster td,th,td,.people-items,.participant-flags{border-color:#e9e9ea}
.roster tbody tr:hover{background:#f1f5f7}
.search-field,.roster .search-field,.people-list .search-field{border-color:#e9e9ea;color:#747679}
input{background:#fff;border:1px solid #cdd1d9;color:#21262e;border-radius:8px}
input::placeholder{color:#8b909a}
.person,.people-list .person{background:#fafbfc;color:#21262e;border-color:#e3e7eb}
.person:hover,.person.is-selected,.people-list .person:hover,.people-list .person.is-selected{background:#edf5f6}
.person.is-selected{box-shadow:inset 2px 0 #a1c3c8}
.row-action{color:#0a153f;border-radius:5px}
.row-action:hover{background:#e6eff1}
.row-action .ui-icon,.search-field .ui-icon{filter:none}
.status{background:#e9ebee;color:#454b56;border-radius:4px}
.status--ok{background:#e2f1ed;color:#186a58}
.status--wait{background:#f0ede1;color:#6e5a19}
.status--danger{background:#f4e5e8;color:#923e4c}
.connection{color:#a1c3c8}
.connection--lost{color:#e69097}
.weight-result{background:#f4f6f9;border-radius:5px}
.toast{background:#e2f1ed;color:#186a58;border-radius:5px}
.toast--error{background:#f4e5e8;color:#923e4c}
.field-error{border-color:#b84d60}
.specimen-row label small{color:#923e4c}
.modal-specimen p{color:#747679}
.choice{color:#454b56}
.choice__trigger,.review-bar .choice__trigger{background:#fff;border:1px solid #cdd1d9;color:#21262e;border-radius:8px}
.review-bar .choice__trigger{background:#111720;color:#fff;border-color:#566070}
.choice__trigger:hover,.choice.is-open .choice__trigger{background:#f4f6f9;border-color:#8798c3;color:#21262e}
.review-bar .choice__trigger:hover,.review-bar .choice.is-open .choice__trigger{background:#212b39;color:#fff}
.choice__menu{background:#fff;border:1px solid #cdd1d9;border-radius:8px;box-shadow:0 8px 22px rgba(17,23,32,.1)}
.choice__menu [role="option"]{background:#fff;color:#21262e;border-radius:0}
.choice__menu [role="option"]:hover,.choice__menu [role="option"]:focus-visible,.choice__menu [aria-selected="true"]{background:#e6f2f3;color:#111720}
.demo-feedback{background:#111720;border:1px solid #a1c3c8;border-radius:8px;box-shadow:none}
.state-layout{background:#f4f6f9;color:#21262e}
.broadcast{background:#111720}
.broadcast-controls button{background:#21262e;border-color:#46505d;border-radius:5px;color:#fff}
.broadcast-controls button.is-active{background:#0a153f;color:#fff;border-color:#a1c3c8}
.score-screen,.call-screen{background:#111720}
.score-time,.competitor b,.overlay time,.overlay b{font-family:Jura,sans-serif}
.competitors,.call-pair>div,.overlay{border-radius:5px}
.competitor--white,.call-pair__white,.overlay__white{background:#fff;color:#111720}
.competitor--blue,.call-pair__blue,.overlay__blue{background:#0a153f;color:#fff}
.overlay-preview{background:#21262e}
.overlay-preview__label{background:#111720;color:#fff;border-radius:5px}
.overlay{background:#111720;box-shadow:none}
@media(max-width:900px){.games-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.game-tile:last-child{display:none}.season-dates{display:none}}
@media(max-width:650px){.header-inner{height:70px}.brand__mark{width:38px;height:38px}.brand{font-size:12px}.site-nav{gap:0}.icon-link{width:50px;font-size:9px}.icon-link .ui-icon{width:17px;height:17px}.event-feature{background-position:58% center}.event-feature:before{background:linear-gradient(0deg,#111720 0%,rgba(17,23,32,.22) 80%),linear-gradient(90deg,rgba(17,23,32,.62),rgba(17,23,32,.08))}.event-feature__inner{min-height:560px;padding-top:70px;gap:50px}.event-feature h1{font-size:42px}.hero-rail{gap:8px}.hero-rail__item{display:block}.hero-rail__item strong{display:block;font-size:11px;margin-top:4px}.hero-rail__item small{display:none}.games-band{padding:26px 0 40px}.games-strip{grid-template-columns:1fr}.game-tile:last-child{display:flex}.next-section{padding:38px 0 54px}.event-item{display:block}.workspace-banner{padding:32px 0 38px}.workspace-content{margin-top:18px}.event-feature .button{min-height:44px}}
.button,.icon-link,.text-link,.row-action,.person,.tabs button,.broadcast-controls button,.choice__trigger,.choice__menu [role="option"],input{transition:background-color .22s cubic-bezier(.22,1,.36,1),color .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1)}

/* D39: keep the BCL structure, but reduce the area and brightness of near-white UI. */

html,body,.next-section,.tournament-body,.workspace,.state-layout{background:var(--page)}
.game-tile,.event-item,.date-rail,.tournament-body .tabs,.program-row,.surface,.specimen .surface,.modal-specimen,.state-panel,.state-layout .state-panel,.person,.people-list .person{background:var(--surface);border-color:var(--line)}
input,.choice__trigger,.choice__menu,.choice__menu [role="option"]{background:#f0f3f6}
.button--quiet,.date-rail__tile,.status{background:#d2dae3}
.game-tile b{background:#303a47}
.game-tile small,.game-tile span,.event-item span,.event-item__index,.tabs button,.program-row span,.inline-empty p,.page-head p,.participant-meta,.participant-flags,.person span,.state-panel p,.form-hint,.weight-result span,.search-field,.roster .search-field,.people-list .search-field,.modal-specimen p{color:var(--muted)}
.tournament-media{display:grid;gap:12px;max-width:880px}
.tournament-media__screen{min-height:320px;aspect-ratio:16/9;background:#21262e;color:#f0f3f6;border:1px solid #46505d;border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px}
.tournament-media__screen strong{font-family:Jura,Manrope,sans-serif;font-size:clamp(24px,3vw,34px);font-weight:700}
.tournament-media__screen p{max-width:480px;color:#cbd5df;line-height:1.5;margin:10px 0 0}
.tournament-media__note{color:var(--muted);font-size:12px;margin:0}
@media(max-width:650px){.tournament-media__screen{min-height:250px;aspect-ratio:auto;padding:24px}}
.tournament-body .tabs button,.participant-detail .tabs button{color:var(--muted)}
.tournament-body .tabs button.is-active,.participant-detail .tabs button.is-active{color:#0a153f;border-color:#8798c3}
.icon-link .ui-icon{transition:opacity .22s cubic-bezier(.22,1,.36,1)}
.choice__menu:not([hidden]){animation:choice-enter .18s cubic-bezier(.22,1,.36,1) both}
@keyframes choice-enter{from{opacity:.86}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.button,.choice__trigger .ui-icon{transition:none}}

/* Global, accessible action notifications. */
.app-notices{position:fixed;z-index:1000;top:18px;right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;width:min(390px,calc(100vw - 36px));pointer-events:none}
.app-notice{--notice-accent:#8798c3;--notice-icon-bg:#e5e8f0;--notice-icon:url('/assets/src/24/outline/information-circle.svg');display:grid;grid-template-columns:36px minmax(0,1fr) 30px;gap:12px;align-items:start;width:100%;padding:14px 12px 14px 14px;border:1px solid #c9d2dc;border-left:4px solid var(--notice-accent);border-radius:8px;background:#e8edf2;color:#111720;box-shadow:0 16px 40px rgba(17,23,32,.16);pointer-events:auto;touch-action:pan-y;animation:app-notice-in 300ms cubic-bezier(.2,.75,.25,1) both;transform:translateX(var(--notice-drag-x,0));opacity:var(--notice-drag-opacity,1)}
.app-notice--success{--notice-accent:#2e7d62;--notice-icon-bg:#d6ebe3;--notice-icon:url('/assets/src/24/outline/check-circle.svg')}
.app-notice--error{--notice-accent:#a63f4b;--notice-icon-bg:#f1dce0;--notice-icon:url('/assets/src/24/outline/exclamation-circle.svg')}
.app-notice--caution{--notice-accent:#a86a18;--notice-icon-bg:#f2e6cf;--notice-icon:url('/assets/src/24/outline/exclamation-triangle.svg')}
.app-notice__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--notice-icon-bg);color:var(--notice-accent)}
.app-notice__icon::before{content:"";width:21px;height:21px;background:currentColor;mask:var(--notice-icon) center/contain no-repeat;-webkit-mask:var(--notice-icon) center/contain no-repeat}
.app-notice__copy{display:grid;gap:3px;min-width:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.app-notice__copy strong{font-size:14px;color:#0a153f}
.app-notice__close{display:grid;place-items:center;width:30px;height:30px;margin:-3px -3px 0 0;padding:0;border:0;border-radius:6px;background:transparent;color:#53606d;cursor:pointer}
.app-notice__close img{width:18px;height:18px;opacity:.68}
.app-notice__close:hover img,.app-notice__close:focus-visible img{opacity:1}
.app-notice__close:hover,.app-notice__close:focus-visible{background:#dce3eb;color:#111720}
.app-notice[data-dragging=true]{transition:none}
.app-notice[data-closing=true]{animation:app-notice-out 240ms ease-in both}
@keyframes app-notice-in{from{opacity:0;transform:translate3d(22px,-4px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes app-notice-out{to{opacity:0;transform:translate3d(28px,0,0)}}
@media(max-width:600px){
  .app-notices{top:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:12px;width:auto;align-items:stretch}
  .app-notice{animation-name:app-notice-in-mobile}
  .app-notice[data-closing=true]{animation-name:app-notice-out-mobile}
  @keyframes app-notice-in-mobile{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
  @keyframes app-notice-out-mobile{to{opacity:0;transform:translate3d(var(--notice-drag-x,0),22px,0)}}
}
@media(prefers-reduced-motion:reduce){.app-notice,.app-notice[data-closing=true]{animation-duration:1ms!important}}

/* Universal loading skeleton. */
[data-loading-slot]{min-block-size:104px}
[data-loading-slot][aria-busy=true]{contain:layout paint}
.app-skeleton{display:grid;gap:10px;width:100%;padding:4px 0}
.app-skeleton__line{display:block;width:100%;height:12px;border-radius:6px;background:linear-gradient(90deg,#d2dae3 25%,#e4e9ee 50%,#d2dae3 75%);background-size:200% 100%;animation:app-skeleton-shift 1.35s ease-in-out infinite}
.app-skeleton__line:nth-child(2n){width:82%}
.app-skeleton__line:nth-child(3n){width:58%}
@keyframes app-skeleton-shift{from{background-position:100% 0}to{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.app-skeleton__line{animation:none;background:#d2dae3}}

/* D83: measured UEFA Champions League palette, without neon or glow. */
html,body,.next-section,.tournament-body,.workspace,.state-layout{background:var(--page);color:var(--text)}
body{background-image:none}
.site-header{background:var(--ucl-midnight);border-bottom:1px solid #242477;box-shadow:none}
.brand small{color:#dce2ef}.eyebrow,.event-status,.connection{color:#6879a7}
.icon-link{color:#c9cee0}.icon-link:hover,.icon-link:focus-visible,.icon-link.is-active{background:var(--ucl-panel);color:#fff}
.button,.event-feature .button,.tournament-intro .button{background:var(--competition-blue);border-color:var(--competition-blue);color:#fff;box-shadow:none}
.button:hover,.event-feature .button:hover{background:var(--ucl-panel);border-color:var(--ucl-panel)}
.button--quiet{background:#fff;color:var(--ucl-midnight);border:1px solid var(--line);box-shadow:none}.button--quiet:hover{background:var(--ucl-page)}
.event-feature{background-color:var(--ucl-midnight)}
.event-feature:before{background:linear-gradient(90deg,rgba(0,0,64,.92),rgba(0,0,64,.45) 56%,rgba(0,0,64,.08)),linear-gradient(0deg,#000040 0%,rgba(0,0,64,0) 46%)}
.hero-rail__item{border-color:#55558b;color:#c9cee0}.hero-rail__item.is-active{border-color:#fff;color:#fff}
.games-band{background:var(--ucl-midnight);border-top:1px solid #242477}
.game-tile,.event-item,.date-rail,.tournament-body .tabs,.program-row,.surface,.specimen .surface,.modal-specimen,.state-panel,.state-layout .state-panel,.person,.people-list .person{background:var(--surface);border-color:var(--line);color:var(--text);box-shadow:none}
.game-tile small,.game-tile span,.event-item span,.event-item__index,.tabs button,.program-row span,.inline-empty p,.page-head p,.participant-meta,.participant-flags,.person span,.state-panel p,.form-hint,.weight-result span,.search-field,.roster .search-field,.people-list .search-field,.modal-specimen p{color:var(--muted)}
.game-tile b{background:var(--ucl-panel);color:#fff}.event-item time,.event-item strong,.next-section .section-heading h2,.page-head h1,.state-panel h2,.participant-detail h2{color:var(--text)}
.next-section .section-heading{border-color:var(--line)}
.tournament-intro,.workspace-banner{background:linear-gradient(180deg,var(--ucl-panel),var(--ucl-midnight));border-bottom:1px solid #242477}
.date-rail__tile,.status,.weight-result{background:var(--ucl-page);color:var(--text)}.date-rail__tile.is-active{background:var(--ucl-panel);color:#fff}
.tabs{border-color:var(--line)}.tabs button.is-active,.tournament-body .tabs button.is-active,.participant-detail .tabs button.is-active{color:var(--ucl-midnight);border-color:var(--ucl-midnight)}
.roster thead{background:var(--ucl-midnight)}.roster th{color:#fff}.roster td,th,td,.people-items,.participant-flags{border-color:var(--line)}.roster tbody tr:hover{background:#f7f8fb}
input,.choice__trigger,.choice__menu,.choice__menu [role="option"]{background:var(--field);border-color:var(--line);color:var(--text)}input::placeholder{color:#7a8790}
.choice__trigger:hover,.choice.is-open .choice__trigger{background:#fff;border-color:#818cb0;color:var(--text)}
.choice__menu{box-shadow:0 14px 32px rgba(0,0,64,.14)}.choice__menu [role="option"]:hover,.choice__menu [role="option"]:focus-visible,.choice__menu [aria-selected="true"]{background:#eceef5;color:var(--ucl-midnight)}
.person:hover,.person.is-selected,.people-list .person:hover,.people-list .person.is-selected{background:#f4f5f9}.person.is-selected{box-shadow:inset 3px 0 var(--ucl-midnight)}
.row-action{color:var(--ucl-blue)}.row-action:hover{background:#eceef5}
.status--ok{background:#e2f1ed;color:#26745f}.status--wait{background:#f3eedb;color:#725d1a}.status--danger{background:#f5e5e9;color:#9a3f50}
.toast{background:#e2f1ed;color:#26745f}.toast--error{background:#f5e5e9;color:#9a3f50}
.review-bar{background:#000;border-color:#252533;color:#fff}.review-bar .choice__trigger{background:var(--ucl-midnight);border-color:#454578;color:#fff}
.demo-feedback{background:var(--ucl-panel);border-color:#55558b;color:#fff}
.tournament-media__screen,.broadcast,.score-screen,.call-screen{background:var(--ucl-midnight);border-color:#242477}
.broadcast-controls button{background:var(--ucl-panel);border-color:#454578}.broadcast-controls button.is-active{background:#fff;color:var(--ucl-midnight);border-color:#fff}
.competitor--blue,.call-pair__blue,.overlay__blue{background:var(--ucl-blue)}.overlay-preview{background:#11115b}.overlay-preview__label,.overlay{background:var(--ucl-midnight)}
.app-notice{background:#fff;border-color:var(--line);color:var(--text);box-shadow:0 16px 40px rgba(0,0,64,.16)}
.app-notice__copy strong{color:var(--ucl-midnight)}.app-notice__close{color:#5e6d78}.app-notice__close:hover,.app-notice__close:focus-visible{background:var(--ucl-page);color:var(--ucl-midnight)}
.app-skeleton__line{background:linear-gradient(90deg,#e1e3ea 25%,#f1f3f8 50%,#e1e3ea 75%);background-size:200% 100%}
@media(prefers-reduced-motion:reduce){.app-skeleton__line{background:#e1e3ea}}

/* D84: skeletons are neutral translucent placeholders, never accent surfaces. */
.app-skeleton__line{background:rgba(88,105,121,.16);background-image:none;animation:app-skeleton-breathe 1.6s ease-in-out infinite}
@keyframes app-skeleton-breathe{0%,100%{opacity:.58}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.app-skeleton__line{background:rgba(88,105,121,.16);animation:none}}
