:root{color-scheme:dark;--bg:#080b15;--line:rgba(255,255,255,.09);--muted:#8993a9;--white:#f7f8fc;--red:#ff5364;--blue:#5b8cff;--gold:#ffc857;--green:#5ce0a0;--fd:'Barlow Condensed',Impact,sans-serif;--fb:Inter,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--white);font-family:var(--fb)}body{min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.ambient{position:fixed;width:420px;height:420px;border-radius:50%;filter:blur(120px);opacity:.12;pointer-events:none;z-index:0}.ambient-one{top:-220px;left:-150px;background:#345bff}.ambient-two{right:-230px;bottom:-250px;background:#ff5364}.topbar,.display-topbar{position:relative;z-index:2;min-height:76px;padding:0 clamp(18px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#080b15bb;backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:800;letter-spacing:2px}.brand-light{font-weight:500;color:#8c96aa}.brand-mark{height:27px;display:flex;align-items:flex-end;gap:3px}.brand-mark i{width:5px;border-radius:3px;background:var(--green);transform:skew(-18deg)}.brand-mark i:nth-child(1){height:12px}.brand-mark i:nth-child(2){height:21px}.brand-mark i:nth-child(3){height:16px}.topbar-right{display:flex;align-items:center;gap:24px}.live-indicator{display:inline-flex;align-items:center;gap:9px;color:#9ca7bc;font-size:10px;font-weight:800;letter-spacing:1.2px}.live-indicator i{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 12px var(--green);animation:pulse 1.6s infinite}.live-indicator.disconnected i{background:var(--red);box-shadow:0 0 12px var(--red)}.display-link{font-size:12px;color:#dce2f1;border:1px solid var(--line);padding:10px 14px;border-radius:8px;transition:.2s}.display-link:hover{border-color:var(--green);color:var(--green)}.control-main{position:relative;z-index:1;max-width:1320px;margin:auto;padding:clamp(35px,5vw,72px) clamp(18px,5vw,76px) 45px}.intro{margin-bottom:32px}.eyebrow{display:flex;align-items:center;gap:10px;color:#a2acc0;font-size:10px;letter-spacing:2.2px;font-weight:800}.eyebrow-line{width:24px;height:2px;background:var(--green)}h1,h2,h3,p{margin-top:0}.intro h1,.display-hero h1{font-family:var(--fd);font-size:clamp(54px,8vw,94px);line-height:.84;letter-spacing:-1.5px;margin:22px 0 17px;font-weight:900}.intro h1 span,.display-hero h1 span{color:var(--green)}.intro-copy{font-size:14px;color:var(--muted);margin:0}.panel{background:linear-gradient(115deg,#141c2ef2,#0d121ff2);border:1px solid var(--line);border-radius:16px}.race-status-panel{padding:24px 26px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:38px;box-shadow:0 18px 60px #0002}.micro-label{display:block;color:#8994aa;font-size:9px;letter-spacing:1.7px;font-weight:800}.status-line{display:flex;align-items:center;gap:10px;margin:9px 0 6px;font-size:14px;letter-spacing:.6px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);display:inline-block;box-shadow:0 0 12px #ffc85773}.status-dot.running{background:var(--green);box-shadow:0 0 12px #5ce0a099;animation:pulse 1.3s infinite}.status-dot.done{background:var(--blue)}.status-copy p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}.main-actions{display:flex;gap:10px;flex-shrink:0}.btn{border:0;border-radius:9px;min-height:46px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.8px;cursor:pointer;transition:transform .18s,filter .18s,opacity .18s;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.08)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.36}.btn-start{background:var(--green);color:#07160f;min-width:166px;box-shadow:0 6px 24px #5ce0a01f}.btn-reset{background:#ffffff0d;border:1px solid var(--line);color:#d7ddeb}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.section-heading h2{font-family:var(--fd);font-size:30px;letter-spacing:.5px;margin:5px 0 0}.finish-counter{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#aab4c8;padding-bottom:5px}.finish-counter #finished-count{color:var(--green);font-size:17px}.counter-slash{color:#566176;margin:0 5px}.team-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.team-control-card{--team:var(--red);position:relative;min-width:0;overflow:hidden;padding:21px 20px 17px;background:linear-gradient(155deg,#161d2ff5,#0c111df5);border:1px solid var(--line);border-radius:15px;transition:border-color .25s,transform .25s,box-shadow .25s}.team-control-card:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--team)}.team-red{--team:var(--red)}.team-blue{--team:var(--blue)}.team-gold{--team:var(--gold)}.team-symbol{width:35px;height:35px;display:grid;place-items:center;background:color-mix(in srgb,var(--team) 13%,transparent);border:1px solid color-mix(in srgb,var(--team) 35%,transparent);color:var(--team);border-radius:10px;font-family:var(--fd);font-size:23px;font-weight:800;flex-shrink:0}.team-card-top{display:flex;justify-content:space-between;align-items:center}.team-state{font-size:9px;letter-spacing:1.1px;font-weight:800;color:#8b95a9}.team-card-title{display:flex;align-items:center;gap:9px;margin-top:22px}.team-color-dot{width:7px;height:7px;border-radius:50%;background:var(--team);box-shadow:0 0 10px var(--team)}.team-card-title h3{font-size:13px;letter-spacing:1.4px;margin:0}.team-time{font-family:var(--fd);font-size:clamp(35px,3.8vw,51px);font-weight:700;letter-spacing:1px;margin:12px 0 18px;font-variant-numeric:tabular-nums;white-space:nowrap}.btn-finish{width:100%;background:color-mix(in srgb,var(--team) 13%,transparent);border:1px solid color-mix(in srgb,var(--team) 42%,transparent);color:var(--team);min-height:46px}.btn-finish:not(:disabled):hover{background:var(--team);color:#080b15}.finish-note{margin-top:12px;text-align:center;color:#6f7a90;font-size:10px;min-height:13px}.team-control-card.is-finished{border-color:color-mix(in srgb,var(--team) 55%,transparent);box-shadow:0 0 28px color-mix(in srgb,var(--team) 8%,transparent)}.team-control-card.is-finished .team-state,.team-control-card.is-finished .team-time{color:var(--team)}.control-footer{display:flex;gap:13px;align-items:flex-start;padding:17px 20px;margin-top:22px}.footer-icon{flex:0 0 23px;width:23px;height:23px;border:1px solid #5ce0a066;color:var(--green);border-radius:50%;display:grid;place-items:center;font-weight:bold}.control-footer strong{font-size:11px}.control-footer p{font-size:10px;color:var(--muted);line-height:1.7;margin:5px 0 0}.site-footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:20px clamp(18px,5vw,76px);display:flex;justify-content:space-between;color:#606b80;font-size:9px;letter-spacing:1.4px;font-weight:800}.site-footer b,.display-bottom b{color:var(--green);font-size:8px;margin-right:5px}.toast,.display-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:20;background:#eafef3;color:#092317;padding:12px 18px;border-radius:10px;font-size:12px;font-weight:700;box-shadow:0 12px 40px #0005;transition:.25s;max-width:calc(100% - 30px);text-align:center}.toast.show,.display-toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#ffe9ec;color:#66101c}
/* Audience display */.display-page{background:#080b15}.display-grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.22;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}.display-topbar{padding-left:clamp(20px,4.5vw,80px);padding-right:clamp(20px,4.5vw,80px);min-height:72px}.event-tag{display:flex;align-items:center;gap:9px;color:#aab4c8;font-size:9px;font-weight:800;letter-spacing:1.5px}.event-tag span{color:var(--gold);font-size:16px}.event-tag b{color:#465067}.display-main{position:relative;z-index:1;width:min(1440px,100%);margin:0 auto;padding:clamp(25px,3.8vw,52px) clamp(20px,4.5vw,80px) 25px}.display-hero h1{font-size:clamp(57px,7vw,91px);margin:17px 0 20px}.hero-bottom{display:flex;align-items:center;gap:15px;color:#a3aec3;font-size:9px;font-weight:800;letter-spacing:1.6px}.hero-bottom-line{height:1px;background:linear-gradient(90deg,#364158,transparent);flex:1}.hero-index{white-space:nowrap;color:#657087}.hero-index b{color:#eaf0fb}.display-race-info{display:grid;grid-template-columns:1fr auto minmax(160px,.8fr);align-items:center;gap:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:25px 0 15px}.race-state-wrap{display:flex;align-items:center;gap:10px;color:#b3bed1;font-size:10px;font-weight:800;letter-spacing:1.1px}.overall-clock-wrap{padding:0 28px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.overall-clock{font-family:var(--fd);font-size:37px;font-weight:700;letter-spacing:1px;font-variant-numeric:tabular-nums;margin-top:1px}.finish-progress{min-width:0}.progress-label{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#8f9ab0;font-size:8px;letter-spacing:1px;font-weight:800;margin-bottom:10px}.progress-label strong{color:var(--green);font-size:12px}.progress-muted{color:#69748a}.progress-track{height:4px;border-radius:5px;background:#20283a;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--green),#b6ffd9);border-radius:5px;transition:width .6s;box-shadow:0 0 12px #5ce0a055}.display-team-list{display:flex;flex-direction:column;gap:10px}.display-team{--team:var(--red);display:grid;grid-template-columns:84px minmax(180px,1.15fr) minmax(210px,1fr) minmax(130px,.55fr);align-items:center;gap:clamp(15px,2.4vw,34px);min-width:0;padding:17px 24px;background:linear-gradient(100deg,#121929fa,#0d121fee);border:1px solid var(--line);border-radius:12px;position:relative;overflow:hidden;transition:transform .35s,border-color .35s,background .35s,box-shadow .35s;animation:slide-in .55s both}.display-team:nth-child(2){animation-delay:.08s}.display-team:nth-child(3){animation-delay:.16s}.display-team:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--team)}
.display-team.team-red{--team:var(--red)}.display-team.team-blue{--team:var(--blue)}.display-team.team-gold{--team:var(--gold)}.rank-block{border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.rank-caption{font-size:8px;letter-spacing:1.2px;color:#7d889e;font-weight:800}.rank-number{font-family:var(--fd);font-size:37px;line-height:1;color:#8994a9}.display-team-identity{display:flex;align-items:center;gap:14px;min-width:0}.display-team-identity .team-symbol{width:46px;height:46px;flex:0 0 46px;font-size:29px;border-radius:12px}.display-team-identity h2{font-family:var(--fd);font-size:clamp(23px,2.5vw,32px);letter-spacing:.5px;margin:2px 0;white-space:nowrap}.team-display-state{font-size:8px;letter-spacing:1px;color:#8290a6;font-weight:800}.display-timer-wrap{min-width:0}.display-timer{font-family:var(--fd);font-size:clamp(34px,4vw,51px);font-weight:700;letter-spacing:1.3px;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:3px}.display-result{display:flex;align-items:center;justify-content:flex-end;gap:9px;color:#8b96ab;font-size:30px;letter-spacing:1px;font-weight:800;white-space:nowrap}.result-icon{font-size:17px;color:#6e7a90}.display-team.is-finished{border-color:color-mix(in srgb,var(--team) 45%,transparent);background:linear-gradient(100deg,color-mix(in srgb,var(--team) 10%,#121929),#0d121efc);box-shadow:inset 3px 0 28px color-mix(in srgb,var(--team) 5%,transparent)}.display-team.is-finished .rank-number,.display-team.is-finished .display-timer,.display-team.is-finished .display-result,.display-team.is-finished .result-icon{color:var(--team)}.display-team.rank-first .rank-number{color:var(--gold);text-shadow:0 0 18px #ffc85733}.display-team.rank-first{border-color:#ffc8576b;box-shadow:0 0 35px #ffc8570e}.display-team.rank-first .rank-block:after{content:'★';position:absolute;left:57px;top:14px;color:var(--gold);font-size:9px}.display-team.just-finished{animation:finish-pop .65s ease-out}.winner-banner{margin-top:15px;padding:16px 20px;border:1px solid #ffc8574d;background:linear-gradient(90deg,#ffc85717,#5ce0a00d);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:22px;text-align:center;animation:slide-in .5s}.winner-banner[hidden]{display:none}.winner-spark{font-size:25px;color:var(--gold);animation:twinkle 1.5s infinite}.winner-banner h2{font-family:var(--fd);font-size:30px;margin:3px 0;letter-spacing:1px}.winner-banner p{font-size:10px;color:#9da9bf;margin:0}.display-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px;color:#69758b;font-size:8px;font-weight:800;letter-spacing:1.5px}.display-bottom span:last-child{font-variant-numeric:tabular-nums}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}@keyframes slide-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes finish-pop{0%{transform:scale(.99);filter:brightness(1.6)}100%{transform:scale(1);filter:brightness(1)}}@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(12deg)}}
@media(min-width:1500px){.display-team{padding-top:21px;padding-bottom:21px}.display-team-list{gap:13px}.display-timer{font-size:56px}.display-team-identity h2{font-size:36px}.rank-number{font-size:43px}.display-main{padding-top:46px}}
@media(max-width:900px){.race-status-panel{align-items:flex-start;flex-direction:column}.main-actions{width:100%}.btn-start{flex:1}.team-controls{gap:10px}.team-control-card{padding:18px 14px}.team-time{font-size:37px}.display-race-info{grid-template-columns:1fr auto;gap:18px}.finish-progress{grid-column:1/-1}.overall-clock-wrap{border-right:0;padding-right:0}.display-team{grid-template-columns:55px minmax(140px,1fr) minmax(160px,1fr);gap:16px;padding:16px}.display-result{grid-column:2/-1;justify-content:flex-start;margin-top:-5px}.rank-block{grid-row:1/3}.display-team-identity .team-symbol{width:39px;height:39px;flex-basis:39px}.display-team-identity h2{font-size:26px}.display-timer{font-size:42px}}
@media(max-width:600px){.topbar,.display-topbar{min-height:65px;padding-left:16px;padding-right:16px}.topbar-right{gap:10px}.topbar .live-indicator{font-size:8px;letter-spacing:.5px}.display-link{font-size:10px;padding:9px}.control-main{padding:34px 16px}.intro h1{font-size:67px}.race-status-panel{padding:19px}.main-actions{flex-direction:column}.btn-start,.btn-reset{width:100%}.section-heading h2{font-size:26px}.team-controls{grid-template-columns:1fr;gap:12px}.team-control-card{padding:18px 18px 14px}.team-card-top{float:right;gap:10px}.team-card-title{margin-top:2px}.team-time{font-size:47px;margin:9px 0 13px}.btn-finish{min-height:48px}.team-state{font-size:8px}.site-footer{padding:18px;gap:12px;font-size:8px}.site-footer span:last-child{display:none}.control-footer{padding:15px}.display-topbar .brand{font-size:12px}.display-live .live-indicator{font-size:0}.display-live .live-indicator i{width:8px;height:8px}.event-tag{font-size:7px;letter-spacing:.5px;gap:5px}.display-main{padding:30px 14px 20px}.display-hero h1{font-size:67px}.hero-bottom{font-size:8px;letter-spacing:.8px;gap:8px}.hero-index{display:none}.display-race-info{grid-template-columns:1fr auto;gap:12px;margin:20px 0 12px;padding:14px 0}.race-state-wrap{font-size:8px;letter-spacing:.4px}.overall-clock-wrap{padding-left:15px}.overall-clock{font-size:31px}.progress-label{font-size:7px}.display-team-list{gap:9px}.display-team{grid-template-columns:43px minmax(0,1fr);gap:9px 13px;padding:14px 13px}.rank-block{grid-row:1/3;align-self:stretch;justify-content:center}.rank-caption{font-size:7px;letter-spacing:.4px}.rank-number{font-size:32px}.display-team-identity{gap:10px}.display-team-identity .team-symbol{width:34px;height:34px;flex-basis:34px;font-size:22px;border-radius:9px}.display-team-identity h2{font-size:25px}.team-display-state{font-size:7px;letter-spacing:.4px}.display-timer-wrap{grid-column:2;grid-row:2}.display-timer-wrap .micro-label{font-size:7px}.display-timer{font-size:clamp(39px,11vw,50px);letter-spacing:1px}.display-result{grid-column:2;grid-row:3;margin:0;font-size:8px}.display-team.rank-first .rank-block:after{left:41px;top:12px}.display-bottom{font-size:7px;letter-spacing:.5px;gap:8px}.winner-banner{gap:10px;padding:13px}.winner-banner h2{font-size:25px}.winner-spark{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* ==========================================
   ELITE PHYSICAL CHALLENGE CHAMPIONSHIP
   Primary: #040503
   Accent:  #8FA538
========================================== */

:root {
    --bg: #040503;
    --bg-dark: #020301;
    --panel: #0b0d07;
    --panel-light: #12160b;
    --primary: #8FA538;
    --primary-light: #b5cb58;
    --primary-dark: #657c20;
    --text: #f5f7ed;
    --muted: #a5aa94;
    --border: rgba(143, 165, 56, 0.24);
    --green-glow: rgba(143, 165, 56, 0.16);
}

html {
    background: var(--bg);
}

body.control-page{
    background:
        radial-gradient(
            ellipse at 50% 0%,
            rgba(143, 165, 56, 0.13) 0%,
            transparent 48%
        ),
        linear-gradient(
            145deg,
            #48642b 0%,
            #080b04 48%,
            #040503 100%
        ) !important;
    color: var(--text);
}

/* Ambient background glow */
.ambient-one {
    background: radial-gradient(
        circle,
        rgba(143, 165, 56, 0.20),
        transparent 70%
    ) !important;
}

.ambient-two {
    background: radial-gradient(
        circle,
        rgba(101, 124, 32, 0.14),
        transparent 70%
    ) !important;
}

/* Header and branding */
.topbar,
.display-topbar {
    background: linear-gradient(
        90deg,
        rgba(4, 5, 3, 0.98),
        rgba(15, 20, 7, 0.96),
        rgba(4, 5, 3, 0.98)
    ) !important;
    border-bottom: 1px solid var(--border) !important;
}

.brand-mark i {
    background: linear-gradient(
        180deg,
        #c5db65,
        #8FA538,
        #52691b
    ) !important;
    box-shadow: 0 0 12px rgba(143, 165, 56, 0.25);
}

.brand-light {
    color: var(--primary-light) !important;
}

.eyebrow,
.micro-label,
.event-tag,
.hero-index,
.rank-caption {
    color: var(--primary-light) !important;
}

.eyebrow-line {
    background: linear-gradient(
        90deg,
        var(--primary),
        transparent
    ) !important;
}

/* Main headings */
.intro h1,
.display-hero h1 {
    color: #ffffff;
}

.intro h1 span,
.display-hero h1 span {
    color: var(--primary-light) !important;
    background: linear-gradient(
        100deg,
        #d0e777 0%,
        #8FA538 48%,
        #637d20 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Panels and race status */
.panel,
.race-status-panel,
.control-footer,
.display-race-info {
    background: linear-gradient(
        135deg,
        rgba(18, 22, 11, 0.96),
        rgba(5, 7, 3, 0.98)
    ) !important;
    border: 1px solid var(--border) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.status-dot,
.live-indicator i {
    background: var(--primary) !important;
    box-shadow: 0 0 12px rgba(143, 165, 56, 0.65) !important;
}

.status-line strong,
#race-status,
#display-status {
    color: var(--primary-light);
}

/* Buttons */
.btn-start,
.btn-finish {
    background: linear-gradient(
        135deg,
        #b5cb58 0%,
        #8FA538 48%,
        #667e22 100%
    ) !important;
    color: #080a04 !important;
    border: 1px solid rgba(205, 231, 119, 0.42) !important;
    font-weight: 800;
    box-shadow: 0 5px 20px rgba(143, 165, 56, 0.15);
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        filter 180ms ease;
}

.btn-start:hover,
.btn-finish:not(:disabled):hover {
    filter: brightness(1.12);
    transform: translateY(-2px);
    box-shadow: 0 8px 26px rgba(143, 165, 56, 0.28);
}

.btn-reset {
    background: linear-gradient(
        135deg,
        #191d10,
        #090b06
    ) !important;
    color: var(--primary-light) !important;
    border: 1px solid var(--border) !important;
}

.btn-reset:hover {
    border-color: var(--primary) !important;
    background: #171d0b !important;
}

.btn-finish:disabled {
    filter: grayscale(0.7);
    opacity: 0.45;
}

/* Team cards: unified championship theme */
.team-control-card,
.display-team {
    background: linear-gradient(
        145deg,
        rgba(22, 27, 12, 0.98) 0%,
        rgba(10, 13, 6, 0.98) 48%,
        rgba(4, 5, 3, 0.99) 100%
    ) !important;
    border: 1px solid rgba(143, 165, 56, 0.28) !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
    position: relative;
    overflow: hidden;
}

/* Green accent along the top of every team card */
.team-control-card::before,
.display-team::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        transparent,
        #8FA538,
        #d0e777,
        #8FA538,
        transparent
    );
}

.team-control-card:hover,
.display-team:hover {
    border-color: rgba(143, 165, 56, 0.65) !important;
    box-shadow: 0 12px 36px rgba(143, 165, 56, 0.10);
}

/* Override old red, blue and gold accents */
.team-red,
.team-blue,
.team-gold {
    --team-color: #8FA538;
}

.team-color-dot {
    background: var(--primary) !important;
    box-shadow: 0 0 10px rgba(143, 165, 56, 0.55);
}

.team-symbol,
.rank-number {
    color: var(--primary-light) !important;
    border-color: var(--border) !important;
}

.team-time,
.display-timer,
.overall-clock {
    color: #f4f8df !important;
    text-shadow: 0 0 22px rgba(143, 165, 56, 0.13);
    font-variant-numeric: tabular-nums;
}

.team-state,
.team-display-state {
    color: var(--primary-light) !important;
}

.finish-note,
.intro-copy,
.status-copy p {
    color: var(--muted);
}

/* Race progress */
.progress-track {
    background: #1b2010 !important;
}

.progress-fill {
    background: linear-gradient(
        90deg,
        #647b20,
        #8FA538,
        #d0e777
    ) !important;
    box-shadow: 0 0 14px rgba(143, 165, 56, 0.28);
}

.finish-counter,
.counter-slash,
.progress-label strong {
    color: var(--primary-light);
}

/* Display background grid */
.display-grid-bg {
    background-image:
        linear-gradient(
            rgba(143, 165, 56, 0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(143, 165, 56, 0.035) 1px,
            transparent 1px
        ) !important;
}

/* Hero divider and bottom details */
.hero-bottom-line {
    background: linear-gradient(
        90deg,
        var(--primary),
        transparent
    ) !important;
}

.display-bottom,
.site-footer {
    border-color: var(--border) !important;
    color: var(--muted);
}

.display-bottom b,
.site-footer b {
    color: var(--primary-light);
}

/* Winner banner */
.winner-banner {
    background: linear-gradient(
        120deg,
        #18200a,
        #080b04,
        #1b240b
    ) !important;
    border: 1px solid var(--primary) !important;
}

.winner-banner h2,
.winner-spark {
    color: var(--primary-light) !important;
}

/* PIN unlock screen */
.pin-overlay {
    background: rgba(4, 5, 3, 0.97) !important;
}

.pin-card {
    background: linear-gradient(
        145deg,
        #171d0c,
        #080a05 75%
    ) !important;
    border: 1px solid rgba(143, 165, 56, 0.45) !important;
    box-shadow: 0 20px 80px rgba(0, 0, 0, 0.55);
}

.pin-card h2 {
    color: #ffffff;
}

.pin-card input {
    background: #040503 !important;
    border-color: rgba(143, 165, 56, 0.45) !important;
}

.pin-card input:focus {
    outline: 1px solid var(--primary);
    border-color: var(--primary) !important;
}

.pin-card label {
    color: var(--primary-light);
}

.pin-icon {
    filter: grayscale(1);
}

.pin-error {
    color: #ff7777 !important;
}

/* Mobile-friendly spacing */
@media (max-width: 600px) {
    .team-control-card,
    .display-team {
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    }
}
