*{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}}
