*{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#15171d;--soft-ink:#3d414b;--muted:#7c828e;--muted2:#a3a9b3;
  --line:rgba(255,255,255,.82);--border:rgba(20,24,32,.08);
  --glass:rgba(255,255,255,.68);--glass2:rgba(255,255,255,.48);
  --blue:#0a84ff;--blue2:#4da3ff;--red:#e5484d;--green:#2fb45a;
  --shadow:0 24px 80px rgba(33,49,76,.13);--shadow2:0 10px 30px rgba(33,49,76,.08);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
}
html,body{min-height:100%;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:#f5f8fc;background-image:radial-gradient(circle at 16% 0%,rgba(196,222,255,.68),transparent 34%),radial-gradient(circle at 92% 6%,rgba(229,247,255,.76),transparent 34%),linear-gradient(180deg,#f7fbff 0%,#f5f5f7 74%)}
a{text-decoration:none;color:inherit}.page{min-height:100svh;display:grid;place-items:center;padding:24px}.panel{width:min(100%,860px);background:var(--glass);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);padding:clamp(24px,4vw,40px)}
.nav,.admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.brand,.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8b91a0;font-weight:800}.eyebrow{margin-bottom:8px}.sub{margin-top:8px;color:var(--muted);font-size:15px;line-height:1.7}.hero{margin-top:28px}.hero h1,.login h1,.admin h1{font-size:clamp(32px,5vw,50px);line-height:1.05;letter-spacing:-.045em;font-weight:850}.link-pill,.soft,.danger,.primary{border:1px solid var(--border);border-radius:999px;min-height:42px;padding:0 17px;background:rgba(255,255,255,.65);font-weight:800;display:inline-grid;place-items:center;cursor:pointer;box-shadow:var(--shadow2),inset 0 1px 0 rgba(255,255,255,.94);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.link-pill:hover,.soft:hover,.danger:hover,.primary:hover,.team-card:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(33,49,76,.12),inset 0 1px 0 rgba(255,255,255,.95)}.primary{background:#15171d;color:#fff;border-color:#15171d}.danger{color:var(--red);background:rgba(255,238,238,.76)}
.team-grid{margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.team-card{position:relative;overflow:hidden;min-height:96px;padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.54);border:1px solid var(--line);box-shadow:var(--shadow2),inset 0 1px 0 rgba(255,255,255,.9);transition:.16s ease}.water{position:absolute;left:0;top:0;bottom:0;width:0%;background:linear-gradient(90deg,rgba(10,132,255,.18),rgba(10,132,255,.035));transition:width .35s ease}.team-card-inner{position:relative;z-index:1;display:flex;height:100%;align-items:center;justify-content:space-between;gap:16px}.team-name{font-size:26px;font-weight:850;letter-spacing:-.04em}.team-count{text-align:right;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.team-count b{display:block;color:var(--ink);font-size:19px;margin-top:3px;letter-spacing:-.02em}
/* Team page */
.team-page{padding:18px}.score-panel{width:min(100%,760px);height:min(590px,calc(100svh - 36px));min-height:430px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;padding:clamp(22px,4vw,34px)}.score-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.score-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status-dot{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.58);border:1px solid var(--line);color:var(--muted);font-size:12.5px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.92)}.status-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(47,180,90,.12)}.status-dot.bad::before{background:var(--red);box-shadow:0 0 0 4px rgba(229,72,77,.12)}.score-main{text-align:center;margin-top:4px}.score-main h1{font-size:clamp(30px,4.8vw,44px);letter-spacing:-.045em;line-height:1.08;font-weight:850}.score{font-size:clamp(112px,20vw,196px);line-height:.86;font-weight:950;letter-spacing:-.115em;text-indent:-.06em;margin-top:6px;font-variant-numeric:tabular-nums}.team-meta{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.meta-card{border-radius:22px;background:rgba(255,255,255,.56);border:1px solid var(--line);padding:14px 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.meta-card small{display:block;color:var(--muted);font-weight:800;font-size:12px;margin-bottom:6px}.meta-card b{font-size:20px;letter-spacing:-.02em}.meta-line{margin-top:9px;height:7px;border-radius:999px;background:rgba(20,24,32,.07);overflow:hidden}.meta-fill{display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue2));transition:width .35s ease}.score-panel.flash-up::after,.score-panel.flash-down::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:flash .9s ease forwards}.score-panel.flash-up::after{background:rgba(47,180,90,.22)}.score-panel.flash-down::after{background:rgba(229,72,77,.20)}@keyframes flash{0%{opacity:0}18%{opacity:1}100%{opacity:0}}
/* Login / admin */
.login{max-width:500px}.login h1{font-size:clamp(32px,5vw,48px)}.login-row{margin-top:22px;display:grid;grid-template-columns:1fr 104px;gap:10px}.input,.mini-input{width:100%;height:48px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.82);padding:0 15px;font-size:16px;outline:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);font-family:var(--font)}.input:focus,.mini-input:focus{border-color:rgba(10,132,255,.48);box-shadow:0 0 0 4px rgba(10,132,255,.13),inset 0 1px 2px rgba(0,0,0,.04)}.error{min-height:22px;margin-top:12px;color:var(--red);font-weight:750;line-height:1.45}.back{display:inline-block;margin-top:16px;color:var(--muted);font-weight:800}.admin{width:min(100%,1000px)}.admin h1{font-size:clamp(30px,4.5vw,46px)}.admin-top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-list{display:grid;gap:12px;margin-top:20px}.admin-row{display:grid;grid-template-columns:128px 1fr;gap:14px;align-items:center;border-radius:24px;background:rgba(255,255,255,.52);border:1px solid var(--line);padding:14px}.admin-row h2{font-size:24px;letter-spacing:-.04em}.score-small{margin-top:5px;color:var(--muted);font-weight:800;font-size:13.5px}.admin-control{display:grid;gap:7px}.score-input-row{display:grid;grid-template-columns:minmax(130px,1fr) 74px 74px;gap:7px}.score-button-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.admin-control button{min-height:36px;border-radius:13px;border:1px solid var(--border);background:rgba(255,255,255,.75);font-weight:850;cursor:pointer;font-family:var(--font);transition:transform .15s ease}.admin-control button:hover{transform:translateY(-1px)}.hidden{display:none!important}.pop{position:fixed;inset:0;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);z-index:20;pointer-events:none;animation:fade 2.1s ease forwards}.pop-card{padding:28px 36px;border-radius:30px;background:white;box-shadow:0 28px 88px rgba(0,0,0,.18);font-size:clamp(28px,7vw,58px);font-weight:950;letter-spacing:-.055em;text-align:center;animation:pop 2.1s ease forwards}@keyframes fade{0%{opacity:0}14%,80%{opacity:1}100%{opacity:0}}@keyframes pop{0%{transform:scale(.45) rotate(-5deg)}22%{transform:scale(1.08) rotate(2deg)}100%{transform:scale(1.12) translateY(-14px);opacity:0}}
@media(max-width:720px){.page{padding:14px}.panel{border-radius:24px}.hero h1,.login h1,.admin h1{font-size:clamp(30px,10vw,42px)}.team-grid{grid-template-columns:1fr}.team-card{min-height:86px}.team-name{font-size:24px}.team-page{padding:10px}.score-panel{height:calc(100svh - 20px);min-height:0;padding:18px}.score-top{align-items:flex-start}.link-pill,.status-dot{min-height:36px;padding:0 13px;font-size:12.5px}.score-main h1{font-size:clamp(28px,9vw,38px)}.score{font-size:clamp(102px,34vw,156px);margin-top:2px}.team-meta{grid-template-columns:1fr 1fr;gap:8px}.meta-card{padding:12px 13px;border-radius:18px}.meta-card b{font-size:18px}.login-row{grid-template-columns:1fr}.admin-head{display:block}.admin-top-actions{justify-content:flex-start;margin-top:14px}.admin-row{grid-template-columns:1fr}.score-button-row{grid-template-columns:repeat(5,minmax(40px,1fr));gap:5px}.admin-control button{font-size:12px}.score-input-row{grid-template-columns:1fr 70px 70px}}@media(max-width:420px){.team-meta{grid-template-columns:1fr}.score{font-size:118px}.score-input-row{grid-template-columns:1fr 1fr}.score-input-row .mini-input{grid-column:1/-1}}

/* ─── v6 visual polish: calmer, clearer, more control-room ───────────── */
:root{
  --admin-card:rgba(255,255,255,.58);
  --ink-deep:#111319;
}
body{
  background-image:
    radial-gradient(circle at 14% 0%,rgba(195,222,255,.55),transparent 30%),
    radial-gradient(circle at 86% 8%,rgba(229,247,255,.62),transparent 32%),
    linear-gradient(180deg,#f8fbff 0%,#f4f6f9 78%);
}
.hero h1,.login h1,.admin h1{font-size:clamp(28px,4.2vw,42px);letter-spacing:-.04em}
.sub{font-size:14px;color:#79808b}.eyebrow{letter-spacing:.18em;color:#8b92a0}

/* Team page */
.score-panel{width:min(100%,720px);height:min(560px,calc(100svh - 32px));padding:clamp(20px,3.2vw,32px)}
.score-main h1{font-size:clamp(26px,4.2vw,38px)}
.score{font-size:clamp(108px,18vw,178px);margin-top:0;letter-spacing:-.105em}
.team-meta.refined{grid-template-columns:1fr 1fr;align-items:stretch}
.meta-card{min-height:96px;display:flex;flex-direction:column;justify-content:center}
.online-card{gap:10px}.online-card>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:12px}.online-card small,.sync-card small{margin:0;color:#8a91a0;text-transform:uppercase;letter-spacing:.08em}.online-card b,.sync-card b{font-size:24px;color:var(--ink-deep)}
.sync-card b{font-size:21px}.sync-hint{display:block;margin-top:8px;color:#8a91a0;font-size:12.5px;font-weight:750;line-height:1.35}.status-dot{background:rgba(255,255,255,.64)}

/* Admin page */
.admin-page{place-items:start center;padding-top:24px;padding-bottom:28px}.admin{width:min(100%,1120px);padding:26px}.compact-head{align-items:center;border-bottom:1px solid rgba(20,24,32,.06);padding-bottom:18px}.admin h1{font-size:clamp(28px,3.6vw,38px)}.admin-list.upgraded{grid-template-columns:1fr;gap:10px;margin-top:16px}.admin-row.admin-card{display:grid;grid-template-columns:165px 180px 1fr;gap:14px;align-items:stretch;padding:12px;border-radius:22px;background:var(--admin-card);box-shadow:0 10px 32px rgba(33,49,76,.07),inset 0 1px 0 rgba(255,255,255,.85)}
.admin-score-block{border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.46));border:1px solid var(--line);padding:14px;display:grid;align-content:center;min-height:132px}.admin-team-name{font-size:16px;font-weight:850;color:#616977}.admin-score-block strong{display:block;font-size:56px;line-height:.9;letter-spacing:-.09em;color:#111319;font-variant-numeric:tabular-nums;margin-top:8px}.admin-score-block small{font-size:12px;color:#8c93a0;font-weight:800;margin-top:8px}.admin-online-block{border-radius:18px;background:rgba(255,255,255,.48);border:1px solid var(--line);padding:14px;display:flex;flex-direction:column;justify-content:center;gap:12px}.admin-online-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.admin-online-top span{font-size:12px;color:#8a91a0;font-weight:850;letter-spacing:.06em}.admin-online-top b{font-size:23px;letter-spacing:-.03em;color:#111319}.compact-control{display:grid;align-content:center;gap:7px}.compact-input-row{display:grid;grid-template-columns:minmax(92px,120px) 58px 58px;gap:6px;justify-content:end}.mini-input{height:34px;border-radius:12px;font-size:13px;text-align:center;padding:0 8px}.quick-grid{display:grid;grid-template-columns:repeat(5,46px);justify-content:end;gap:6px}.admin-control button{min-height:31px;border-radius:12px;font-size:12.5px;padding:0 6px;background:rgba(255,255,255,.68);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.quick-grid.plus button{color:#0b7a37}.quick-grid.minus button{color:#be3035}.admin-top-actions .soft,.admin-top-actions .danger{min-height:36px;padding:0 14px;font-size:13px}.error{font-size:13.5px}.back{font-size:14px}

@media(max-width:860px){.admin-row.admin-card{grid-template-columns:1fr;gap:10px}.admin-score-block{min-height:116px}.admin-score-block strong{font-size:52px}.admin-online-block{min-height:86px}.compact-input-row,.quick-grid{justify-content:stretch}.quick-grid{grid-template-columns:repeat(5,1fr)}.compact-input-row{grid-template-columns:1fr 64px 64px}.admin-head.compact-head{display:block}.admin-top-actions{justify-content:flex-start;margin-top:14px}}
@media(max-width:520px){.score-panel{height:calc(100svh - 20px);padding:16px}.score{font-size:clamp(98px,32vw,140px)}.team-meta.refined{grid-template-columns:1fr}.meta-card{min-height:78px}.admin{padding:18px}.admin-score-block strong{font-size:48px}.compact-input-row{grid-template-columns:1fr 58px 58px}.quick-grid{gap:5px}.admin-control button{font-size:12px}.online-card b,.sync-card b{font-size:20px}}

/* ─── v7 team lock: clearer home, locked teams, clean modal ───────────── */
.home-v7{width:min(100%,920px);padding:clamp(22px,4vw,38px)}
.home-hero{margin-top:24px}.home-hero h1{font-size:clamp(30px,4.6vw,46px)}
.my-team-panel{margin-top:22px}.my-team-card{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;position:relative;overflow:hidden;border-radius:26px;padding:22px;background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,255,255,.48));border:1px solid var(--line);box-shadow:0 16px 48px rgba(33,49,76,.10),inset 0 1px 0 rgba(255,255,255,.9)}
.my-label{display:block;color:#8a91a0;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.my-team-card h2{font-size:clamp(28px,5vw,42px);letter-spacing:-.055em;line-height:1}.my-score{display:flex;align-items:flex-end;gap:6px;color:#111319}.my-score strong{font-size:clamp(52px,9vw,74px);line-height:.82;letter-spacing:-.10em;font-variant-numeric:tabular-nums}.my-score span{font-weight:900;color:#777f8c;margin-bottom:7px}.my-online{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;color:#7d8490;font-size:13px;font-weight:850}.my-online i{height:8px;border-radius:999px;background:rgba(20,24,32,.07);overflow:hidden}.my-online b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--blue2))}
.team-card.mine{background:rgba(255,255,255,.74);border-color:rgba(10,132,255,.30);box-shadow:0 16px 42px rgba(10,132,255,.10),inset 0 1px 0 rgba(255,255,255,.95)}.team-card.locked{opacity:.62;filter:saturate(.2);background:rgba(245,247,250,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);cursor:not-allowed}.team-card.locked:hover{transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.team-card.locked .water{background:linear-gradient(90deg,rgba(20,24,32,.08),rgba(20,24,32,.02))}.team-card .team-card-inner{display:grid;grid-template-columns:1fr auto auto}.team-state{display:block;margin-top:6px;color:#8a91a0;font-size:12px;font-weight:850}.team-stat{text-align:right}.team-stat b{display:block;font-size:30px;line-height:.9;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.team-stat small{color:#8a91a0;font-size:12px;font-weight:850}.lock-badge{position:absolute;right:14px;top:12px;padding:4px 9px;border-radius:999px;background:rgba(20,24,32,.08);color:#68707d;font-size:11px;font-weight:900}.choice-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(245,248,252,.42);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:modalFade .18s ease both}.choice-card{position:relative;width:min(100%,430px);border-radius:28px;padding:26px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.92);box-shadow:0 30px 90px rgba(33,49,76,.18),inset 0 1px 0 rgba(255,255,255,.95)}.choice-card h2{font-size:clamp(24px,5vw,34px);letter-spacing:-.055em;line-height:1.08;margin-bottom:8px}.modal-text{color:#69717e;line-height:1.7;font-size:14.5px;font-weight:650}.modal-actions{margin-top:18px;display:grid;grid-template-columns:1fr 1.2fr;gap:10px}.modal-x{position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.62);font-size:20px;line-height:1;color:#7d8490;cursor:pointer}.unlock-input{margin-top:16px;height:48px}.modal-error{margin-top:10px;color:var(--red);font-weight:800;font-size:13.5px}.danger-primary{background:#111319!important;color:#fff!important}@keyframes modalFade{from{opacity:0}to{opacity:1}}
@media(max-width:720px){.my-team-card{grid-template-columns:1fr;padding:18px}.my-score strong{font-size:58px}.team-card .team-card-inner{grid-template-columns:1fr auto;align-items:center}.team-stat{grid-row:1/3;grid-column:2}.team-count{grid-column:1/-1;text-align:left;margin-top:10px}.modal-actions{grid-template-columns:1fr}.choice-card{padding:22px}}

/* ─── V8 polish: cleaner home lock UI and premium team page ───────────── */
.home-v7{width:min(100%,780px);padding:clamp(22px,4vw,34px)}
.home-hero{margin-top:24px;text-align:left}.home-hero h1{font-size:clamp(34px,5.2vw,48px);letter-spacing:-.055em}.home-hero .sub{max-width:560px;font-size:14.5px;line-height:1.65}
.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.team-card{min-height:92px;padding:16px 17px;border-radius:24px}.team-card-inner{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%}.team-title-block{min-width:0}.team-name{font-size:clamp(22px,3vw,28px);letter-spacing:-.045em}.team-state{margin-top:5px;font-size:12px;color:#858c98}.team-count{position:relative;text-align:right!important;color:var(--ink);font-size:12px;white-space:nowrap;min-width:72px}.team-count small{display:block;color:#8a91a0;font-size:11px;font-weight:850;margin-bottom:3px}.team-count b{display:block;font-size:18px!important;line-height:1.05;color:var(--ink);letter-spacing:-.025em}.lock-badge{position:static;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:5px 9px;border-radius:999px;background:rgba(20,24,32,.07);color:#68707d;font-size:11px;font-weight:900;grid-column:1 / -1;width:fit-content}.team-card.locked{opacity:.68}.team-card.locked .team-name{color:#777f8c}.team-card.locked .team-count{color:#89909b}.team-card.locked .team-count b{color:#89909b}.team-card.mine{background:rgba(255,255,255,.76);border-color:rgba(10,132,255,.25)}
.my-team-card.v8-mine{display:grid;grid-template-columns:1fr minmax(150px,.45fr);align-items:center;gap:18px;margin-top:20px;padding:20px 22px;border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.55));border:1px solid rgba(255,255,255,.94);box-shadow:0 18px 48px rgba(33,49,76,.10),inset 0 1px 0 rgba(255,255,255,.96)}.my-main h2{font-size:clamp(34px,5vw,46px);letter-spacing:-.06em;line-height:1;margin-top:5px}.my-main p{margin-top:8px;color:#7d8490;font-size:14px;font-weight:700}.my-online{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:14px;border-radius:20px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.86)}.my-online span{font-size:13px;color:#69717e;font-weight:850}.my-online i{display:block;height:7px;border-radius:999px;background:rgba(20,24,32,.08);overflow:hidden}.my-online b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--blue2))}
.choice-card{width:min(100%,400px);padding:24px;border-radius:26px}.choice-card .eyebrow{display:none}.choice-card h2{font-size:clamp(25px,5vw,32px);margin-right:28px}.modal-text{font-size:14px;line-height:1.65;color:#69717e}.modal-actions{grid-template-columns:1fr 1fr;margin-top:16px}.modal-x{right:14px;top:14px}
.v8-score-panel{width:min(100%,720px);height:min(560px,calc(100svh - 28px));min-height:460px;padding:clamp(20px,3.6vw,30px);border-radius:32px}.v8-score-top{min-height:42px}.v8-score-main{display:grid;place-items:center;text-align:center;margin:0}.v8-score-main .eyebrow{margin-bottom:10px}.v8-score-main h1{font-size:clamp(32px,5vw,44px);letter-spacing:-.055em}.v8-score-main .score{font-size:clamp(124px,22vw,208px);line-height:.82;margin-top:10px;letter-spacing:-.12em}.score-caption{margin-top:10px;color:#7e8591;font-size:14px;font-weight:760}.v8-team-meta{grid-template-columns:1fr 1fr;gap:12px}.v8-info-card{padding:15px 16px;border-radius:22px}.v8-info-card small{font-size:12px;margin-bottom:8px}.v8-info-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.v8-info-row b{font-size:clamp(22px,4vw,30px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.v8-info-row span{font-size:12.5px;color:#8a91a0;font-weight:850}.compact-sync{display:flex;flex-direction:column;justify-content:center}.compact-sync .v8-info-row{align-items:center}.compact-sync .v8-info-row b{font-size:clamp(22px,3.6vw,28px)}.status-dot{font-size:12px;min-height:38px;padding:0 13px}.link-pill{min-height:38px;padding:0 14px;font-size:13px}
@media(max-width:640px){.page{padding:14px}.home-v7{border-radius:26px;padding:22px 18px}.nav{align-items:center}.brand{font-size:11px}.link-pill{min-height:36px}.team-grid{grid-template-columns:1fr;gap:10px}.team-card{min-height:82px}.team-card-inner{grid-template-columns:1fr auto}.lock-badge{grid-column:auto;position:absolute;right:14px;top:12px}.team-card.locked .team-count{margin-top:20px}.my-team-card.v8-mine{grid-template-columns:1fr;padding:18px}.v8-score-panel{height:calc(100svh - 28px);min-height:500px;border-radius:28px}.v8-score-main .score{font-size:clamp(118px,34vw,170px)}.v8-team-meta{grid-template-columns:1fr;gap:10px}.v8-info-card{padding:14px 15px}.modal-actions{grid-template-columns:1fr}.choice-card{padding:22px}.home-hero{text-align:left}}

/* ─── V9: clean locked-home + host mode polish ───────────────────────── */
.zh-label,
.brand,
.eyebrow {
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.home-v9 {
  width: min(100%, 760px);
  padding: clamp(24px, 4vw, 38px);
}
.v9-nav {
  margin-bottom: 34px;
}
.v9-nav .brand {
  font-size: 16px;
  font-weight: 900;
  color: var(--ink);
}
.v9-hero {
  margin-top: 0;
}
.v9-hero .zh-label {
  margin: 0 0 8px;
  color: #7f8794;
  font-size: 14px;
  font-weight: 850;
}
.v9-hero h1 {
  font-size: clamp(36px, 6vw, 54px);
  line-height: 1.02;
  letter-spacing: -0.055em;
}
.v9-hero .sub {
  margin-top: 12px;
  max-width: 520px;
  font-size: 15px;
  line-height: 1.65;
  color: #747c89;
  font-weight: 650;
}
.v9-mine-card {
  margin-top: 22px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 20px;
  padding: 24px 26px;
  border-radius: 28px;
  text-decoration: none;
  color: var(--ink);
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.62));
  border: 1px solid rgba(10,132,255,.26);
  box-shadow: 0 18px 50px rgba(31, 80, 160, .12), inset 0 1px 0 rgba(255,255,255,.96);
}
.v9-mine-card .my-label {
  display: block;
  color: #7d8795;
  font-size: 13px;
  font-weight: 850;
  margin-bottom: 8px;
}
.v9-mine-card h2 {
  font-size: clamp(38px, 6vw, 56px);
  letter-spacing: -0.065em;
  line-height: .94;
}
.v9-mine-card p {
  margin-top: 12px;
  color: #747c89;
  font-size: 14px;
  font-weight: 750;
}
.my-score-v9 {
  min-width: 150px;
  padding: 16px 18px;
  border-radius: 24px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.95);
  text-align: right;
}
.my-score-v9 span {
  display: block;
  color: #848c99;
  font-size: 12px;
  font-weight: 850;
}
.my-score-v9 strong {
  display: block;
  margin-top: 6px;
  font-size: clamp(42px, 7vw, 64px);
  line-height: .9;
  letter-spacing: -0.09em;
  color: #14171d;
  font-variant-numeric: tabular-nums;
}
.v9-grid {
  margin-top: 22px;
  gap: 12px;
}
.v9-team-card {
  min-height: 92px;
  padding: 18px 20px;
  border-radius: 26px;
  overflow: hidden;
}
.v9-team-card .team-card-inner {
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 14px;
}
.v9-team-card .team-name {
  font-size: clamp(26px, 4vw, 34px);
  line-height: .95;
  letter-spacing: -0.06em;
}
.v9-team-card .team-state {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 800;
  color: #7d8490;
}
.v9-team-card .team-count {
  min-width: 92px;
  padding: 10px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(255,255,255,.78);
  text-align: right !important;
}
.v9-team-card .team-count small {
  font-size: 11.5px;
  color: #8a93a0;
}
.v9-team-card .team-count b {
  font-size: 22px !important;
  letter-spacing: -0.04em;
}
.v9-team-card.locked {
  background: rgba(255,255,255,.38);
  border-color: rgba(255,255,255,.58);
  opacity: .72;
  box-shadow: none;
}
.v9-team-card.locked .team-name,
.v9-team-card.locked .team-state {
  color: #9aa1aa;
}
.locked-note {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(20,24,32,.07);
  color: #7d8490;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}
.v9-team-card.mine {
  border-color: rgba(10,132,255,.32);
  background: rgba(255,255,255,.8);
}
.v9-team-card.host-free {
  border-color: rgba(48,209,88,.18);
}

/* V9 team score page */
.team-v9-panel {
  width: min(100%, 740px);
  min-height: min(620px, calc(100svh - 28px));
  padding: clamp(22px, 4vw, 34px);
  border-radius: 34px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 18px;
}
.team-v9-top {
  align-items: center;
}
.team-v9-main {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(260px, 1.18fr);
  align-items: center;
  gap: clamp(18px, 4vw, 36px);
}
.team-v9-name-row .zh-label {
  color: #7f8794;
  font-size: 14px;
  font-weight: 850;
  margin-bottom: 10px;
}
.team-v9-name-row h1 {
  font-size: clamp(42px, 8vw, 76px);
  letter-spacing: -0.075em;
  line-height: .92;
}
.team-v9-score-box {
  position: relative;
  padding: clamp(20px, 4vw, 28px);
  border-radius: 30px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 18px 44px rgba(31,80,160,.08);
  text-align: right;
}
.score-label {
  display: block;
  color: #7f8794;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 10px;
}
.team-v9-score-box .score {
  margin: 0;
  font-size: clamp(118px, 19vw, 190px);
  line-height: .78;
  letter-spacing: -0.13em;
}
.team-v9-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.team-v9-footer .meta-card {
  padding: 18px 20px;
  border-radius: 24px;
}
.meta-title-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
}
.meta-title-row small,
.team-v9-sync small {
  color: #7f8794;
  font-size: 13px;
  font-weight: 900;
}
.meta-title-row b {
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.06em;
  font-variant-numeric: tabular-nums;
}
.team-v9-sync {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 6px 14px;
}
.team-v9-sync b {
  font-size: 28px;
  line-height: 1;
  letter-spacing: -0.05em;
}
.team-v9-sync span {
  grid-column: 1 / -1;
  color: #8a92a0;
  font-size: 13px;
  font-weight: 750;
}
.status-dot {
  min-height: 38px;
  font-weight: 850;
}

/* V9 admin center */
.v9-login h1,
.admin-head h1 {
  font-size: clamp(34px, 6vw, 52px);
  letter-spacing: -0.055em;
}
.v9-login .sub {
  max-width: 440px;
}
.admin-card {
  grid-template-columns: 150px 150px 1fr !important;
  gap: 16px !important;
}
.admin-score-block strong {
  font-size: clamp(54px, 7vw, 76px) !important;
}
.admin-online-top b {
  font-size: 28px;
  letter-spacing: -0.05em;
}
.compact-input-row {
  grid-template-columns: minmax(88px, 120px) 64px 64px !important;
}
.quick-grid {
  grid-template-columns: repeat(5, minmax(42px, 54px)) !important;
}

/* modal wording polish */
.v9-choice-card h2 {
  font-size: clamp(25px, 5vw, 34px);
}
.v9-choice-card .modal-text {
  font-size: 14.5px;
  line-height: 1.65;
}

@media (max-width: 700px) {
  .home-v9 { padding: 22px 18px; }
  .v9-nav { margin-bottom: 26px; }
  .v9-grid { grid-template-columns: 1fr; }
  .v9-mine-card { grid-template-columns: 1fr; align-items: start; }
  .my-score-v9 { width: 100%; text-align: left; }
  .team-v9-panel { min-height: calc(100svh - 28px); border-radius: 28px; gap: 14px; }
  .team-v9-main { grid-template-columns: 1fr; gap: 14px; }
  .team-v9-score-box { text-align: left; }
  .team-v9-score-box .score { font-size: clamp(122px, 38vw, 176px); }
  .team-v9-footer { grid-template-columns: 1fr; }
  .admin-card { grid-template-columns: 1fr !important; }
  .compact-input-row { grid-template-columns: 1fr 70px 70px !important; }
  .quick-grid { grid-template-columns: repeat(5, minmax(42px, 1fr)) !important; }
}

/* ─── V10: balanced score page, host center choices, Gemini-like active border ─── */
.home-v10 .v9-nav .brand{font-size:15px;letter-spacing:0;font-weight:900;color:#15171d}
.home-v10 .v9-nav{margin-bottom:28px}
.home-v10 .v9-hero h1{font-size:clamp(34px,5vw,48px);letter-spacing:-.052em}
.home-v10 .v9-hero .sub{font-size:14px;margin-top:10px}
.home-v10 .v9-hero .zh-label{font-size:13px;color:#838b98}

.v9-mine-card{position:relative;overflow:hidden;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:22px 24px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(245,250,255,.62));border-color:rgba(104,152,255,.28)}
.v9-mine-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(120deg,rgba(66,133,244,.25),rgba(52,168,83,.18),rgba(251,188,5,.18),rgba(234,67,53,.16),rgba(66,133,244,.25));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.v9-mine-card h2{font-size:clamp(34px,5.4vw,48px)}
.v9-mine-card p{margin-top:10px;font-size:13.5px}
.my-score-v9{min-width:132px;background:transparent;border:0;box-shadow:none;padding:0;text-align:right}
.my-score-v9 span{font-size:12px;color:#7f8794}.my-score-v9 strong{font-size:clamp(46px,7vw,66px)}

.v9-team-card.mine{position:relative;border-color:transparent;background:rgba(255,255,255,.82)}
.v9-team-card.mine::before{content:"";position:absolute;inset:0;border-radius:26px;padding:1.6px;background:linear-gradient(110deg,#4285f4,#34a853,#fbbc05,#ea4335,#4285f4);background-size:260% 260%;animation:geminiFlow 5s linear infinite;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.42}
.v9-team-card.mine::after{content:"";position:absolute;inset:1px;border-radius:25px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(250,252,255,.68));z-index:0;pointer-events:none}
.v9-team-card.mine .team-card-inner,.v9-team-card.mine .water{z-index:1}
@keyframes geminiFlow{0%{background-position:0% 50%}100%{background-position:260% 50%}}
.v9-team-card.locked{opacity:.58;filter:saturate(.65)}
.locked-note{background:rgba(20,24,32,.06);color:#89909a;font-size:12.5px}

.team-v10-panel{width:min(100%,760px);min-height:min(610px,calc(100svh - 32px));padding:clamp(24px,3.6vw,36px);gap:18px}
.team-v10-main{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(20px,4vw,34px);padding:clamp(28px,5vw,48px);border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.56),rgba(247,251,255,.34));border:1px solid rgba(255,255,255,.76);box-shadow:inset 0 1px 0 rgba(255,255,255,.92)}
.team-v10-name-row{text-align:center;justify-self:center;min-width:0}.team-v10-name-row .zh-label{font-size:13px;color:#858d9a;margin-bottom:12px}.team-v10-name-row h1{font-size:clamp(54px,8vw,86px);line-height:.9;letter-spacing:-.08em}
.team-v10-score-box{padding:0;background:transparent!important;border:0!important;box-shadow:none!important;text-align:center;justify-self:center}.team-v10-score-box .score-label{font-size:13px;color:#858d9a;margin-bottom:12px}.team-v10-score-box .score{font-size:clamp(132px,20vw,220px);line-height:.78;letter-spacing:-.13em;text-indent:-.04em}
.team-v10-footer{grid-template-columns:1fr 1fr;gap:12px}.team-v10-footer .meta-card{min-height:96px;background:rgba(255,255,255,.50);border-color:rgba(255,255,255,.72)}
.team-v10-sync b{font-size:26px}.team-v10-sync span{font-size:12.5px}.team-v10-online .meta-title-row b{font-size:30px}

.host-center-login{width:min(100%,720px)}
.host-center-login h1{font-size:clamp(32px,5vw,46px)!important}.host-choice-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}.host-choice-card{width:100%;border:1px solid rgba(20,24,32,.08);background:rgba(255,255,255,.58);border-radius:22px;padding:16px 18px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;gap:4px 12px;text-align:left;cursor:pointer;box-shadow:var(--shadow2),inset 0 1px 0 rgba(255,255,255,.92);font-family:var(--font);transition:.16s ease}.host-choice-card:hover{transform:translateY(-1px);background:rgba(255,255,255,.76);box-shadow:0 14px 34px rgba(33,49,76,.12),inset 0 1px 0 rgba(255,255,255,.95)}.host-choice-card span{grid-row:1/3;width:28px;height:28px;border-radius:999px;background:#15171d;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:900}.host-choice-card strong{font-size:18px;letter-spacing:-.025em}.host-choice-card small{color:#7d8490;font-size:13px;font-weight:650;line-height:1.45}.password-area{margin-top:16px;padding-top:16px;border-top:1px solid rgba(20,24,32,.06)}.hint{margin-top:8px;color:#7d8490;font-size:13px;font-weight:700}.host-center-login .error{color:#2f8b4c}.host-center-login .error:not(:empty){min-height:22px}

@media(max-width:700px){.team-v10-main{grid-template-columns:1fr;padding:24px 20px;gap:20px}.team-v10-name-row{text-align:left;justify-self:stretch}.team-v10-score-box{text-align:left;justify-self:stretch}.team-v10-score-box .score{font-size:clamp(126px,38vw,176px)}.team-v10-footer{grid-template-columns:1fr}.v9-mine-card{grid-template-columns:1fr;align-items:start}.my-score-v9{text-align:left;min-width:0}.host-choice-card{padding:15px}}

/* ─── V11: cleaner English identity, host-center logic, centered score screen ─── */
.home-v11 .brand {
  font-size: 16px !important;
  letter-spacing: -0.01em !important;
  font-weight: 900;
}
.home-v11.gemini-shell,
.team-v11-panel.gemini-shell {
  position: relative;
  overflow: hidden;
  border-color: transparent !important;
}
.home-v11.gemini-shell::before,
.team-v11-panel.gemini-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.4px;
  background: linear-gradient(115deg,
    rgba(66,133,244,.40),
    rgba(52,168,83,.26),
    rgba(251,188,5,.24),
    rgba(234,67,53,.22),
    rgba(66,133,244,.40));
  background-size: 260% 260%;
  animation: geminiFlow 7s linear infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: .38;
  z-index: 0;
}
.home-v11.gemini-shell > *,
.team-v11-panel.gemini-shell > * {
  position: relative;
  z-index: 1;
}
.home-v11 .v9-hero h1 {
  font-size: clamp(36px, 5.8vw, 52px);
  letter-spacing: -0.06em;
}
.home-v11 .v9-hero .sub {
  max-width: 500px;
}
.home-v11 .v9-nav {
  margin-bottom: 30px;
}
.home-v11 .v9-mine-card {
  border-radius: 30px;
}

/* Host Center: do not expose passwords, show reset only in host mode */
.restore-card.hidden { display: none !important; }
.host-center-login .host-choice-card small {
  color: #7c8490;
}
.host-center-login .hint {
  color: #707987;
}
.host-center-login .error {
  color: var(--red);
}
.host-center-login .error:not(:empty) {
  color: #2f8b4c;
}

/* Team page: centered, no strange white score box */
.team-v11-panel {
  width: min(100%, 760px) !important;
  min-height: min(600px, calc(100svh - 32px)) !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto !important;
  gap: 18px !important;
}
.team-v11-main {
  width: min(100%, 620px);
  margin: 0 auto;
  padding: clamp(28px, 5vw, 46px) clamp(22px, 5vw, 44px) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  align-content: center !important;
  text-align: center !important;
  gap: 18px !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.82), rgba(255,255,255,.44) 54%, rgba(255,255,255,.30) 100%) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 18px 55px rgba(31,80,160,.08) !important;
}
.team-v11-name-row {
  text-align: center !important;
  justify-self: center !important;
}
.team-v11-name-row .zh-label {
  margin-bottom: 8px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  color: #858d9a !important;
}
.team-v11-name-row h1 {
  font-size: clamp(42px, 8vw, 72px) !important;
  line-height: .9 !important;
  letter-spacing: -0.075em !important;
}
.team-v11-score-box {
  text-align: center !important;
  justify-self: center !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.team-v11-score-box .score-label {
  margin-bottom: 8px !important;
  font-size: 13px !important;
  color: #858d9a !important;
  font-weight: 900 !important;
}
.team-v11-score-box .score {
  margin: 0 !important;
  font-size: clamp(128px, 22vw, 210px) !important;
  line-height: .78 !important;
  letter-spacing: -0.13em !important;
  text-indent: -0.055em !important;
  text-align: center !important;
}
.team-v11-footer {
  width: min(100%, 620px);
  margin: 0 auto;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.team-v11-footer .meta-card {
  min-height: 94px;
  background: rgba(255,255,255,.54) !important;
  border: 1px solid rgba(255,255,255,.76) !important;
}
.team-v11-footer .meta-title-row b,
.team-v11-sync b {
  font-size: 28px !important;
}

@media(max-width:700px){
  .team-v11-panel { min-height: calc(100svh - 28px) !important; }
  .team-v11-main { width: 100%; padding: 24px 18px !important; }
  .team-v11-name-row h1 { font-size: clamp(42px, 15vw, 68px) !important; }
  .team-v11-score-box .score { font-size: clamp(120px, 38vw, 176px) !important; }
  .team-v11-footer { width: 100%; grid-template-columns: 1fr !important; }
}


/* ─── V12: revert accidental English labels, fix score page centering ─── */
.team-v11-panel {
  width: min(100%, 740px) !important;
  min-height: min(610px, calc(100svh - 28px)) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 18px !important;
}
.team-v11-panel .score-top {
  width: min(100%, 560px) !important;
  justify-self: center !important;
}
.team-v11-main {
  width: min(100%, 520px) !important;
  justify-self: center !important;
  align-self: center !important;
  margin: 0 auto !important;
  padding: clamp(34px, 5vw, 48px) clamp(22px, 5vw, 44px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 20px !important;
}
.team-v11-name-row,
.team-v11-score-box {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.team-v11-name-row h1 {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 !important;
  letter-spacing: -0.055em !important;
}
.team-v11-score-box .score {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  letter-spacing: -0.045em !important;
  text-indent: 0 !important;
  transform: none !important;
  font-variant-numeric: tabular-nums !important;
}
.team-v11-footer {
  width: min(100%, 520px) !important;
  justify-self: center !important;
  margin: 0 auto !important;
}
@media(max-width:700px){
  .team-v11-panel { width: min(100%, 560px) !important; min-height: calc(100svh - 24px) !important; }
  .team-v11-panel .score-top,
  .team-v11-main,
  .team-v11-footer { width: 100% !important; }
  .team-v11-main { padding: 28px 18px !important; }
}


/* ─── V13: Chinese hints only, balanced score layout ─── */
.team-v11-panel {
  width: min(100%, 720px) !important;
  min-height: min(590px, calc(100svh - 28px)) !important;
  padding: clamp(24px, 4vw, 36px) !important;
  display: grid !important;
  grid-template-rows: auto 1fr auto !important;
  gap: 16px !important;
  justify-items: center !important;
}
.team-v11-panel .score-top {
  width: 100% !important;
  max-width: 560px !important;
  justify-self: center !important;
}
.team-v11-main {
  width: 100% !important;
  max-width: 560px !important;
  min-height: 300px !important;
  margin: 0 auto !important;
  padding: clamp(32px, 5vw, 46px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  align-items: center !important;
  justify-items: center !important;
  text-align: center !important;
  gap: clamp(22px, 4vw, 34px) !important;
  border-radius: 34px !important;
  background: rgba(255,255,255,.44) !important;
  border: 1px solid rgba(255,255,255,.76) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 18px 55px rgba(31,80,160,.07) !important;
}
.team-v11-name-row,
.team-v11-score-box {
  width: auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.team-v11-name-row h1 {
  white-space: nowrap !important;
  width: auto !important;
  max-width: 100% !important;
  font-size: clamp(58px, 8vw, 86px) !important;
  line-height: .95 !important;
  margin: 0 !important;
  letter-spacing: -0.07em !important;
  text-align: center !important;
}
.team-v11-score-box .score {
  width: auto !important;
  display: block !important;
  font-size: clamp(130px, 16vw, 210px) !important;
  line-height: .82 !important;
  margin: 0 auto !important;
  letter-spacing: -0.055em !important;
  text-indent: 0 !important;
  transform: none !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
}
.team-v11-footer {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.host-center-login .hint {
  font-family: var(--font) !important;
  letter-spacing: 0 !important;
}
@media(max-width:700px){
  .team-v11-panel { width: min(100%, 560px) !important; min-height: calc(100svh - 24px) !important; padding: 22px !important; }
  .team-v11-main { grid-template-columns: 1fr !important; min-height: 360px !important; max-width: 100% !important; padding: 30px 18px !important; gap: 18px !important; }
  .team-v11-name-row h1 { font-size: clamp(54px, 18vw, 82px) !important; }
  .team-v11-score-box .score { font-size: clamp(128px, 38vw, 184px) !important; }
  .team-v11-footer { max-width: 100% !important; grid-template-columns: 1fr !important; }
}

/* ─── V16: final balanced team screen layout ─── */
.team-page{
  padding: 22px !important;
  min-height: 100svh !important;
  display: grid !important;
  place-items: center !important;
}
.team-v11-panel{
  width: min(100%, 760px) !important;
  min-height: auto !important;
  height: auto !important;
  padding: 30px !important;
  border-radius: 34px !important;
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  gap: 20px !important;
  align-items: center !important;
  justify-items: center !important;
}
.team-v11-panel .score-top{
  width: min(100%, 640px) !important;
  max-width: 640px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.team-v11-main{
  width: min(100%, 640px) !important;
  max-width: 640px !important;
  min-height: 230px !important;
  margin: 0 auto !important;
  padding: 34px 42px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: center !important;
  justify-items: center !important;
  text-align: center !important;
  border-radius: 32px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.76), rgba(248,251,255,.46)) !important;
  border: 1px solid rgba(255,255,255,.86) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 52px rgba(50,75,120,.08) !important;
}
.team-v11-name-row,
.team-v11-score-box{
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-align: center !important;
}
.team-v11-name-row .zh-label,
.team-v11-score-box .score-label{
  margin: 0 !important;
  color: #8a91a0 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  letter-spacing: .02em !important;
}
.team-v11-name-row h1{
  font-size: clamp(52px, 6.2vw, 74px) !important;
  line-height: .98 !important;
  letter-spacing: -0.065em !important;
  margin: 0 !important;
  white-space: nowrap !important;
  text-align: center !important;
}
.team-v11-score-box .score{
  font-size: clamp(94px, 10vw, 138px) !important;
  line-height: .9 !important;
  letter-spacing: -0.055em !important;
  margin: 0 !important;
  text-indent: 0 !important;
  transform: none !important;
  width: auto !important;
  min-width: 1.1em !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
}
.team-v11-footer{
  width: min(100%, 640px) !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}
.team-v11-footer .meta-card{
  min-height: 86px !important;
  padding: 16px 18px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.58) !important;
  border: 1px solid rgba(255,255,255,.8) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 28px rgba(50,75,120,.055) !important;
}
.team-v11-footer .meta-title-row{
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 14px !important;
}
.team-v11-footer small{
  margin: 0 !important;
  font-size: 13px !important;
  color: #7f8794 !important;
  font-weight: 850 !important;
}
.team-v11-footer .meta-title-row b{
  font-size: 30px !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  white-space: nowrap !important;
}
.team-v11-sync{
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 14px !important;
}
.team-v11-sync small{ grid-column: 1; grid-row: 1; }
.team-v11-sync b{
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  font-size: 28px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  letter-spacing: -0.04em !important;
}
.team-v11-sync span{
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin-top: 8px !important;
  color: #8a91a0 !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
}
@media(max-width:700px){
  .team-page{ padding: 14px !important; }
  .team-v11-panel{
    width: min(100%, 520px) !important;
    min-height: calc(100svh - 28px) !important;
    padding: 20px !important;
    gap: 14px !important;
    border-radius: 28px !important;
  }
  .team-v11-panel .score-top,
  .team-v11-main,
  .team-v11-footer{ width: 100% !important; max-width: 100% !important; }
  .team-v11-main{
    grid-template-columns: 1fr !important;
    min-height: 330px !important;
    padding: 30px 22px !important;
    gap: 20px !important;
  }
  .team-v11-name-row h1{ font-size: clamp(48px, 17vw, 74px) !important; }
  .team-v11-score-box .score{ font-size: clamp(96px, 30vw, 148px) !important; }
  .team-v11-footer{ grid-template-columns: 1fr !important; gap: 10px !important; }
  .team-v11-footer .meta-card{ min-height: 78px !important; }
}

/* ─── V17: clean centered team page, no old layout inheritance ─── */
.team-final-page{
  min-height:100svh !important;
  padding:24px !important;
  display:grid !important;
  place-items:center !important;
}
.team-final-shell{
  width:min(100%,720px) !important;
  min-height:auto !important;
  height:auto !important;
  padding:28px !important;
  border-radius:34px !important;
  display:grid !important;
  grid-template-rows:auto auto auto !important;
  gap:18px !important;
  align-items:center !important;
  justify-items:center !important;
  overflow:hidden !important;
}
.team-final-top{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.team-final-board{
  width:100% !important;
  min-height:250px !important;
  padding:36px 44px !important;
  border-radius:32px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  align-items:center !important;
  gap:30px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(247,251,255,.56)) !important;
  border:1px solid rgba(255,255,255,.88) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 18px 52px rgba(50,75,120,.08) !important;
}
.team-final-block{
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.team-final-block p{
  margin:0 0 12px !important;
  color:#838b98 !important;
  font-size:13px !important;
  font-weight:850 !important;
  letter-spacing:.02em !important;
}
.team-final-name h1{
  margin:0 !important;
  color:#111319 !important;
  font-size:clamp(54px,6.5vw,78px) !important;
  line-height:.95 !important;
  letter-spacing:-.065em !important;
  white-space:nowrap !important;
  text-align:center !important;
}
.team-final-score .score{
  margin:0 !important;
  color:#111319 !important;
  font-size:clamp(88px,9vw,132px) !important;
  line-height:.88 !important;
  letter-spacing:-.06em !important;
  text-indent:0 !important;
  width:auto !important;
  min-width:1em !important;
  text-align:center !important;
  transform:none !important;
  font-variant-numeric:tabular-nums !important;
}
.team-final-meta{
  width:100% !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}
.team-final-meta .meta-card{
  min-height:86px !important;
  border-radius:24px !important;
  padding:16px 18px !important;
  background:rgba(255,255,255,.62) !important;
  border:1px solid rgba(255,255,255,.82) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 10px 28px rgba(50,75,120,.055) !important;
}
.team-final-meta-row{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
}
.team-final-meta small{
  margin:0 !important;
  color:#7f8794 !important;
  font-size:13px !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}
.team-final-meta b{
  color:#111319 !important;
  font-size:28px !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;
  white-space:nowrap !important;
  font-variant-numeric:tabular-nums !important;
}
.team-final-sync span{
  display:block !important;
  margin-top:10px !important;
  color:#8a91a0 !important;
  font-size:12.5px !important;
  font-weight:800 !important;
}
.team-final-online .meta-line{
  margin-top:13px !important;
}

/* V17: make admin online number calmer and better aligned */
.admin-online-block{
  min-height:132px !important;
  justify-content:center !important;
}
.admin-online-top{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  align-items:start !important;
}
.admin-online-top span{
  font-size:12px !important;
  color:#8a91a0 !important;
  font-weight:850 !important;
}
.admin-online-top b{
  font-size:28px !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
  font-variant-numeric:tabular-nums !important;
}
.admin-online-block .meta-line{
  max-width:150px !important;
  height:7px !important;
  margin-top:2px !important;
}

@media(max-width:720px){
  .team-final-page{padding:14px !important;}
  .team-final-shell{width:min(100%,520px) !important;padding:20px !important;border-radius:28px !important;gap:14px !important;}
  .team-final-board{min-height:330px !important;grid-template-columns:1fr !important;padding:30px 22px !important;gap:18px !important;}
  .team-final-name h1{font-size:clamp(48px,16vw,72px) !important;}
  .team-final-score .score{font-size:clamp(92px,30vw,140px) !important;}
  .team-final-meta{grid-template-columns:1fr !important;gap:10px !important;}
  .team-final-meta .meta-card{min-height:78px !important;}
}


/* ─── v23: small comfort patch, based on the stable v17 layout ─── */
/* Keep the design calm: only improve spacing, alignment and visual weight. */
.home .brand{
  color:#15171d !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  font-size:16px !important;
  font-weight:850 !important;
}
.home .sub{
  font-size:14.5px !important;
}
.team-final-shell{
  width:min(100%,700px) !important;
  padding:30px !important;
  gap:16px !important;
}
.team-final-board{
  min-height:238px !important;
  padding:34px 40px !important;
  gap:24px !important;
  background:rgba(255,255,255,.72) !important;
}
.team-final-name h1{
  font-size:clamp(48px,5.8vw,68px) !important;
  letter-spacing:-.055em !important;
}
.team-final-score .score{
  font-size:clamp(78px,8vw,112px) !important;
  letter-spacing:-.04em !important;
}
.team-final-meta{
  gap:12px !important;
}
.team-final-meta .meta-card{
  min-height:78px !important;
  padding:14px 16px !important;
  background:rgba(255,255,255,.66) !important;
}
.team-final-meta b{
  font-size:24px !important;
}
.team-final-sync span{
  margin-top:8px !important;
}
/* Make admin online count visible, but not louder than the score. */
.admin-online-block{
  min-height:112px !important;
}
.admin-online-top b{
  font-size:24px !important;
}
.admin-online-block .meta-line{
  max-width:130px !important;
}
@media(max-width:720px){
  .team-final-shell{width:min(100%,520px) !important;padding:20px !important;}
  .team-final-board{min-height:300px !important;padding:28px 22px !important;}
  .team-final-name h1{font-size:clamp(44px,14vw,64px) !important;}
  .team-final-score .score{font-size:clamp(86px,27vw,128px) !important;}
}
