.leader-app{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.leader-hero{height:120px;padding:12px 20px;background:#143e69;color:white;display:flex;align-items:center;justify-content:space-between;gap:12px}.leader-hero-title{min-width:0}.leader-hero form{flex:none}.logout-button{background:#ffffff20;color:#e6f2ff;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600}.leader-hero h1{font-size:clamp(17px,4.5vw,22px);margin-bottom:5px}.leader-hero p{color:#d0e0f2;font-size:12px}.leader-tabs{height:52px;display:flex;background:white;border-bottom:1px solid #e8eef5}.leader-tabs button{flex:1;background:white;color:#7d91aa;font-size:13px;border-bottom:2px solid transparent}.leader-tabs button.selected{color:#196cb2;border-bottom-color:#196cb2;font-weight:650}.leader-main{padding:18px 16px 28px}.section-caption{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.section-caption h2{font-size:17px}.section-caption p{font-size:11px;color:#8b9fbd;margin-top:3px}.section-caption>span{font-size:11px;color:#8b9fbd;margin-top:4px}.match-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.match-round{font-size:12px;color:#7b91ac}.leader-match-card{background:white;border-radius:17px;padding:16px;margin-bottom:12px;box-shadow:0 1px 2px #132e5010}.leader-match-card.interactive{cursor:pointer}.leader-match-card.interactive:focus-visible{outline:2px solid #196cb2;outline-offset:2px}.match-card-top,.match-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.round-number{font-size:12px;color:#526984;font-weight:600}.status-pill{border-radius:6px;padding:5px 7px;font-size:10px;white-space:nowrap}.status-pill i{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:5px;vertical-align:2px}.status-pill.pending{background:#fff6e8;color:#c17b19}.status-pill.submitted{background:#edf6ff;color:#196cb2}.status-pill.published{background:#eafaf3;color:#0c9f70}.status-pill.locked{background:#f3f5f8;color:#8b9fbd}.duel{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;margin:21px 0 19px}.duel-side{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}.team-avatar{width:38px;height:38px;background:#e8f3ff;color:#196cb2;border-radius:12px;display:grid;place-items:center;font-size:17px;font-weight:700;margin-bottom:8px}.team-avatar.opponent{background:#f2f5fa;color:#7489a4}.duel-side strong{font-size:13px;line-height:1.3;min-height:34px;display:flex;align-items:center;justify-content:center}.duel-side small{font-size:10px;color:#98a9bf;margin-top:3px}.vs{text-align:center;color:#b6c4d4;font-weight:700;font-style:italic;font-size:13px}.match-meta{display:flex;gap:18px;color:#7b91ac;font-size:11px;padding-bottom:14px;border-bottom:1px solid #edf2f8}.match-card-bottom{padding-top:12px}.match-card-bottom>span{font-size:10px;color:#8b9fbd;line-height:1.3}.match-card-bottom button{background:#edf6ff;color:#196cb2;border-radius:8px;padding:8px 10px;white-space:nowrap;font-size:11px;font-weight:600}.match-card-bottom button b{font-size:16px;line-height:0;vertical-align:-1px;margin-left:2px}.leader-note{display:flex;gap:8px;align-items:flex-start;color:#91a5bd;font-size:11px;line-height:1.6;padding:12px 4px}.leader-note span{font-size:14px}.leader-bottom a span{font-size:24px}.lineup-dialog{width:min(440px,calc(100% - 32px));max-height:80vh;border:0;border-radius:20px;padding:22px 20px;color:#14223a;box-shadow:0 24px 80px #132e5040}.lineup-dialog::backdrop{background:#10273c99}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px}.dialog-head p{color:#8b9fbd;font-size:11px;margin-bottom:3px}.dialog-head h2{font-size:19px}.dialog-head button{font-size:25px;background:#f3f6fa;color:#8b9fbd;border-radius:50%;width:32px;height:32px;line-height:28px}.dialog-description{font-size:12px;color:#7d91aa;margin-bottom:18px}.lineup-field{display:block;margin-bottom:14px}.lineup-field span{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.lineup-field input{width:100%;padding:11px 12px;border:1px solid #e3eaf2;border-radius:10px;background:#f9fbfd;outline:none}.lineup-field input:focus{border-color:#196cb2}.primary-button{width:100%;border-radius:11px;background:#196cb2;color:white;padding:13px 16px;font-weight:650;margin-top:6px}.primary-button:disabled{opacity:.6}.lineup-table{border:1px solid #e8eef5;border-radius:10px;overflow:hidden}.lineup-row{display:grid;grid-template-columns:70px repeat(2,minmax(0,1fr));align-items:center;gap:8px;padding:12px 10px;border-top:1px solid #e8eef5;font-size:12px}.lineup-row:first-child{border-top:0}.lineup-row span{color:#8093ac}.lineup-row strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}.lineup-header{background:#f5f8fb;color:#8b9fbd}.lineup-header strong{font-size:10px;font-weight:500}.dialog-hint{margin-top:15px;font-size:11px;color:#91a5bd}#leader-toast{display:none;position:fixed;bottom:104px;left:50%;transform:translateX(-50%);z-index:30;background:#173b5a;color:white;border-radius:10px;padding:9px 14px;white-space:nowrap;font-size:12px}#leader-toast.visible{display:block}.login-app{background:#f5f7fb;min-height:100dvh;padding-bottom:0}.leader-login-hero{height:280px;padding:0 28px 52px;background:#143e69;color:white;display:flex;flex-direction:column;justify-content:center}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff66;border-radius:12px;background:#ffffff1c;font-size:23px;font-weight:700;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:.25em;color:#8ec5f0;margin-bottom:8px}.leader-login-hero h1{font-size:28px;letter-spacing:.03em;margin-bottom:7px}.leader-login-hero>p:last-child{font-size:12px;color:#c8ddf0}.login-main{padding:0 20px;transform:translateY(-52px)}.login-card{background:white;border-radius:20px;padding:27px 22px 22px;box-shadow:0 12px 35px #173b6614}.login-heading{margin-bottom:26px}.login-heading h2{font-size:20px;margin-bottom:5px}.login-heading p{font-size:12px;color:#8b9fbd}.login-card label{display:block;font-size:12px;font-weight:600;color:#526984;margin:0 0 7px}.login-card input{width:100%;border:1px solid #e5edf5;border-radius:11px;background:#f8fafc;padding:13px 14px;margin-bottom:19px;outline:none;font-size:14px}.login-card input:focus{border-color:#196cb2;background:white}.login-card .primary-button{margin-top:4px;display:flex;justify-content:space-between;align-items:center}.login-card .primary-button span{font-size:20px;line-height:12px}.form-error{color:#df4b5b;font-size:12px;margin:-7px 0 12px}.demo-credentials{margin-top:22px;padding:14px;background:#f5f8fb;border-radius:11px;font-size:11px;color:#8093ac}.demo-credentials>span{font-weight:600;color:#526984}.demo-credentials button{float:right;background:none;color:#196cb2;padding:0;font-size:11px}.demo-credentials p{margin-top:6px;color:#657b96}.demo-credentials i{display:inline-block;width:3px;height:3px;background:#b9c8d8;border-radius:50%;margin:0 8px;vertical-align:middle}.login-foot{text-align:center;color:#a0afc0;font-size:11px;margin-top:27px}@media(max-width:360px){.leader-main{padding-left:12px;padding-right:12px}.leader-match-card{padding:13px}.match-meta{gap:8px}}
.team-main .section-caption{margin-bottom:16px}.team-player-list{display:grid;gap:10px}.team-player-card{display:flex;align-items:center;gap:12px;padding:15px;background:#fff;border-radius:16px;box-shadow:0 1px 2px #132e5010}.team-player-avatar{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e8f3ff;color:#196cb2;font-size:17px;font-weight:700}.team-player-details{min-width:0;flex:1}.team-player-details h3{font-size:15px;margin-bottom:3px}.team-player-details p,.team-player-details small{display:block;color:#8093ac;font-size:11px;line-height:1.5}.team-player-details small{margin-top:5px;overflow-wrap:anywhere}.team-player-gender{align-self:flex-start;background:#f1f6fb;color:#526984;border-radius:6px;padding:4px 7px;font-size:11px}
.team-overview{display:flex;align-items:center;gap:13px;min-height:102px;padding:18px;margin-bottom:18px;border-radius:18px;background:linear-gradient(115deg,#fff 0%,#fff 55%,#eaf4ff 100%);box-shadow:0 5px 22px #143e6910;border:1px solid #e5eef9}.team-overview-mark{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#196cb2;color:#fff;font-size:21px;font-weight:750}.team-overview-name{min-width:0;flex:1}.team-overview-name small{display:block;color:#8093ac;font-size:11px;margin-bottom:2px}.team-overview-name h2{font-size:21px;color:#173b5f;line-height:1.25}.team-overview-count{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;padding-left:13px;border-left:1px solid #dce8f5;color:#196cb2}.team-overview-count strong{font-size:25px;line-height:1.1}.team-overview-count span{font-size:10px;color:#7891af;white-space:nowrap;margin-top:4px}
.leader-results .ranking-card{margin-bottom:12px}.leader-results .ranking-card .row{align-items:flex-start}.leader-results .ranking-card .muted{margin-top:3px}.leader-results .knockout-rounds{padding-top:4px;margin-bottom:20px}.leader-results .knockout-rounds>h2{font-size:16px;margin-bottom:12px}

/* 赛事选择页沿用领队端的页面宽度、页头和卡片样式。 */
.competition-app{padding-bottom:0;display:flex;flex-direction:column}.competition-app .leader-hero h1{margin-bottom:0}.competition-app .leader-main{padding-top:22px;flex:1;display:flex;flex-direction:column}.competition-debug-link{margin-top:auto;padding-top:24px;text-align:center;color:#7b91ac;font-size:12px}.competition-debug-link a{display:inline-block;padding:10px}.competition-list{display:grid;gap:12px}.competition-list form{margin:0}.competition-card{width:100%;min-height:140px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:#14223a}.competition-card:hover{box-shadow:0 4px 16px #132e5018}.competition-card-main{display:grid;gap:10px;min-width:0}.competition-card-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.competition-card-heading strong{font-size:15px;line-height:1.4}.competition-card-meta{display:flex;align-items:center;gap:9px;color:#7b91ac;font-size:12px;line-height:1.5}.competition-card-meta .competition-meta-label{flex:none;color:inherit;font-size:inherit;font-weight:400;line-height:inherit}.competition-card-arrow{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:#edf6ff;color:#196cb2;font-size:24px;line-height:1}.competition-back{display:block;color:#d0e0f2;font-size:11px;margin-top:5px}

.leader-detail-hero{position:relative;display:flex;align-items:center;justify-content:center}.leader-detail-hero .leader-hero-title{width:calc(100% - 112px);min-width:0;text-align:center}.leader-detail-hero .leader-hero-title h1{margin-bottom:0;white-space:normal;overflow-wrap:anywhere}.leader-detail-hero .competition-back{position:absolute;left:20px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;margin:0;border-radius:10px;background:#ffffff20;color:#e6f2ff}.leader-detail-hero .competition-back svg{display:block}.leader-main>.section-caption{align-items:center}.leader-main>.section-caption>span{margin-top:0}@media(max-width:360px){.leader-detail-hero{padding-left:12px;padding-right:12px}.leader-detail-hero .competition-back{left:12px}}
/* Live schedule status badges */
.leader-match-card.interactive{display:block;color:inherit;text-decoration:none}
.live-match-meta{justify-content:space-between;gap:8px}
.live-match-meta span:last-child{text-align:right}
.live-match-action{min-height:40px}
.match-card-bottom>.live-match-action-link{flex:none;display:inline-flex;align-items:center;gap:4px;padding:8px 10px;border-radius:8px;background:#edf6ff;color:#196cb2;font-size:11px;font-weight:600;white-space:nowrap}
.live-match-action-link b{font-size:16px;line-height:0}

/* Larger, readable type throughout the leader workspace. */
.leader-app{font-size:16px}
.leader-app .leader-hero h1{font-size:clamp(20px,5vw,24px)}
.leader-app .leader-detail-hero{height:80px}
.leader-app .leader-hero p,.leader-app .leader-tabs button{font-size:16px}
.leader-main>.section-caption[hidden]{display:none}
.leader-app #match-list>.empty{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(calc(100% - 32px),448px);font-size:18px;line-height:1.6}
.leader-app .section-caption h2{font-size:20px}
.leader-app .section-caption p,.leader-app .section-caption>span{font-size:14px;line-height:1.4}
.leader-app .leader-bottom a{font-size:14px;line-height:1.3}
.leader-app .leader-bottom{padding-top:12px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}
.leader-app .match-card-top{align-items:center}
.leader-app .round-number{font-size:15px;line-height:1.4;min-width:0}
.leader-app .status-pill{font-size:13px;line-height:1.3;padding:6px 8px;flex:none}
.leader-app .duel-side strong{font-size:19px;line-height:1.35;min-height:50px;overflow-wrap:anywhere}
.leader-app .duel-side small,.leader-app .vs{font-size:16px}
.leader-app .live-duel{min-height:64px;align-items:center}
.leader-app .live-duel .duel-side strong{min-height:0;white-space:normal;overflow-wrap:anywhere}
.leader-app .live-duel .vs{align-self:center}
.leader-app .match-meta{font-size:14px;line-height:1.5;flex-wrap:wrap;gap:6px 18px}
.leader-app .live-match-meta{justify-content:center;gap:0 8px}
.leader-app .live-match-meta span:last-child{text-align:left}
.leader-app .live-match-action{border-top:1px solid #edf2f8;margin-top:12px}
.leader-app .live-match-action .live-match-meta{justify-content:flex-start;gap:0 5px;padding:0;border:0;color:#7b91ac}
.leader-app .match-card-bottom>span{font-size:14px;line-height:1.4;min-width:0}
.leader-app .match-card-bottom button,.leader-app .match-card-bottom>.live-match-action-link{font-size:14px;padding:10px 12px}
.leader-app .leader-note{font-size:14px}
.leader-app .leader-match-card{padding:18px}
.leader-app .team-overview-name{align-self:stretch;display:flex;align-items:center}
@media(max-width:360px){.leader-app .leader-match-card{padding:14px}.leader-app .match-card-top{flex-wrap:wrap}.leader-app .match-meta{gap:4px 12px}.leader-app .match-card-bottom{align-items:flex-start}}

.leader-results .ranking-card{padding:18px 16px 16px;border-radius:20px}
.leader-results .ranking-card h2{font-size:16px;line-height:1.4}
.leader-results .ranking-card .muted{font-size:11px;color:#8198b9}
.leader-results .ranking-card table{table-layout:fixed;margin-top:16px}
.leader-results .ranking-card th:first-child,.leader-results .ranking-card td:first-child{width:18%;padding-left:14px}
.leader-results .ranking-card th:nth-child(2),.leader-results .ranking-card td:nth-child(2){width:40%}
.leader-results .ranking-card td{height:56px;padding:10px 6px}
.leader-results .ranking-card td:nth-child(2) strong{display:block;font-weight:600;overflow-wrap:anywhere}
.leader-results .ranking-card td:nth-child(2) small{color:#8198b9;line-height:1.4;overflow-wrap:anywhere}
.leader-results .knockout-empty{font-size:16px;line-height:1.6}
.leader-results #leader-knockout-results:has(> .knockout-empty){min-height:calc(100dvh - 80px - 52px - 76px - 46px);display:grid;place-items:center}
.leader-results .knockout-empty{width:100%;padding:0;text-align:center}
.request-error-app{display:flex;flex-direction:column}
.request-error-main{flex:1;display:grid;place-items:center;padding:24px 20px calc(76px + env(safe-area-inset-bottom));text-align:center}
.request-error-content{width:100%;max-width:320px}
.request-error-icon{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:#fff0ed;color:#db654e;font-size:30px;font-weight:700}
.request-error-content h2{font-size:17px;line-height:1.5;color:#253b55}
.request-error-content button{margin-top:24px;padding:11px 30px;border-radius:10px;background:#196cb2;color:white;font-size:14px;font-weight:650}
.leader-user-menu{position:relative;flex:none}.leader-user-button{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;background:#ffffff20;color:#fff}.leader-user-button:focus-visible,.leader-user-dropdown button:focus-visible{outline:2px solid #8ec5f0}.leader-user-dropdown{position:absolute;right:0;top:52px;z-index:20;width:132px;padding:5px;background:#fff;border-radius:10px;box-shadow:0 10px 28px #10273c35}.leader-user-dropdown[hidden]{display:none}.leader-user-dropdown button{width:100%;padding:11px 12px;background:transparent;color:#173b5f;text-align:left;font-size:14px}.leader-user-dropdown button:hover{background:#edf6ff}.leader-user-dropdown form{margin:0}.password-dialog{width:min(400px,calc(100% - 32px));border:0;border-radius:18px;padding:22px;color:#14223a;box-shadow:0 24px 80px #132e5040}.password-dialog::backdrop{background:#10273c99}.password-dialog-head{display:flex;justify-content:space-between;align-items:center}.password-dialog-head h2{font-size:20px}.password-dialog-head button{background:#f3f6fa;color:#526984;border-radius:50%;width:32px;height:32px;font-size:24px}.password-dialog p{font-size:13px;color:#7d91aa;margin:10px 0 18px}.password-dialog label{display:block;font-size:13px;font-weight:600;margin:13px 0 6px}.password-dialog input{width:100%;padding:11px 12px;border:1px solid #dce6f0;border-radius:10px;font-size:15px}.password-dialog input:focus{outline:2px solid #196cb2}.password-dialog .form-error{color:#df4b5b;margin:12px 0 0}.password-dialog .primary-button{margin-top:18px}
.password-toast{position:fixed;left:50%;bottom:calc(36px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:50;padding:10px 18px;border-radius:10px;background:#173b5f;color:#fff;box-shadow:0 6px 20px #10273c35;font-size:14px;white-space:nowrap;pointer-events:none}.password-toast[hidden]{display:none}
/* Leave permanent space for the account control on detail headers. */
.leader-detail-hero .leader-hero-title{width:auto;max-width:calc(100% - 128px);flex:1;margin:0 52px;min-width:0}.leader-detail-hero .leader-hero-title h1{font-size:clamp(14px,3.8vw,20px);line-height:1.3}.leader-detail-hero>.leader-user-menu{position:absolute;right:20px;top:50%;transform:translateY(-50%)}
.success-app{flex-direction:column;align-items:stretch}.success-header{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;margin-bottom:18px;border-radius:12px;background:#143e69;color:white;font-weight:650}
.team-withdrawn{padding:5px 7px;border-radius:6px;background:#f5f1ed;color:#8c7166;font-size:11px}

