:root{
  --bg:#f6f8fb;--card:#ffffff;--ink:#132033;--muted:#64748b;--blue:#0f4c81;--cyan:#0ea5a8;--orange:#f97316;--line:#e2e8f0;--red:#b91c1c;--green:#047857;
}
*{box-sizing:border-box} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","Microsoft JhengHei",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}.page{max-width:1040px;margin:0 auto;padding:28px 18px 56px}.narrow{max-width:680px}.hero{background:linear-gradient(135deg,#0f4c81,#0ea5a8);color:#fff;border-radius:28px;padding:44px 28px;box-shadow:0 16px 40px rgba(15,76,129,.18)}.badge{display:inline-block;padding:6px 12px;border:1px solid rgba(255,255,255,.45);border-radius:999px;font-size:13px;margin-bottom:12px}.hero h1{font-size:44px;margin:0 0 12px}.lead{font-size:18px;max-width:760px;opacity:.95}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;text-decoration:none;border-radius:14px;padding:12px 18px;font-weight:700;cursor:pointer;font-size:15px}.btn.primary{background:var(--orange);color:white}.btn.secondary{background:#e0f2fe;color:#075985}.btn.ghost{background:#eef2f7;color:#334155}.btn.full{width:100%;margin-top:12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.card,.notice{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;margin-top:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.highlight{border-left:6px solid var(--orange)}h1,h2,h3{line-height:1.25}h1{font-size:30px;margin:0 0 10px}h2{font-size:21px;margin:0 0 10px}.muted{color:var(--muted)}.link{color:var(--blue);font-weight:700;text-decoration:none}.back{display:inline-block;margin:0 0 14px;color:var(--blue);text-decoration:none;font-weight:700}.form{display:grid;gap:10px}.form label{font-weight:700;margin-top:8px}.form input,.form select,.form textarea{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:12px;font-size:16px;background:#fff}.form textarea{min-height:120px}.check{display:flex;gap:8px;align-items:flex-start;font-weight:500!important}.check input{width:auto;margin-top:5px}.success{background:#ecfdf5;color:var(--green);border:1px solid #a7f3d0;border-radius:14px;padding:14px;margin:14px 0}.error{background:#fef2f2;color:var(--red);border:1px solid #fecaca;border-radius:14px;padding:14px;margin:14px 0}.event-box{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0 16px}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#0f172a;color:#e2e8f0;padding:24px}.sidebar h2{color:#fff}.sidebar a{display:block;color:#cbd5e1;text-decoration:none;padding:10px 12px;border-radius:10px;margin:4px 0}.sidebar a:hover,.sidebar a.active{background:#1e293b;color:#fff}.main{padding:24px;overflow:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.stat .num{font-size:30px;font-weight:800;color:var(--blue)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc;font-size:14px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.toolbar input,.toolbar select{padding:10px;border:1px solid #cbd5e1;border-radius:10px}.small{font-size:13px;color:var(--muted)}
@media(max-width:760px){.hero h1{font-size:34px}.grid,.stats{grid-template-columns:1fr}.admin-shell{display:block}.sidebar{position:static}.topbar{display:block}table{font-size:14px}th,td{padding:9px}.page{padding:18px 12px 42px}}


/* Badge + My Record Patch */
.center-card{text-align:center}
.badge-title{color:var(--muted);font-weight:700;margin-bottom:8px}
.runner-badge{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;background:linear-gradient(135deg,#0f4c81,#0ea5a8);color:#fff;font-size:24px;font-weight:900;box-shadow:0 10px 24px rgba(15,76,129,.18);margin:4px 0 10px}
.big-count{font-size:18px}.big-count strong{font-size:30px;color:var(--orange)}
.table-badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:800;font-size:13px}


/* =========================================================
   SSRC Game UI Patch v1.1
   Dark runner-card / badge / XP style
   ========================================================= */
:root{
  --game-bg:#070b14;
  --game-panel:rgba(15,23,42,.82);
  --game-panel-2:rgba(2,6,23,.78);
  --game-line:rgba(148,163,184,.22);
  --game-text:#e5f6ff;
  --game-muted:#93a4b8;
  --game-cyan:#22d3ee;
  --game-blue:#2563eb;
  --game-green:#34d399;
  --game-orange:#fb923c;
  --game-pink:#f472b6;
  --game-yellow:#facc15;
}
body{
  background:
    radial-gradient(circle at 12% 8%, rgba(34,211,238,.22), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(249,115,22,.18), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(37,99,235,.22), transparent 40%),
    var(--game-bg);
  color:var(--game-text);
}
.page{position:relative}
.card,.notice,.stat{
  background:linear-gradient(180deg,rgba(15,23,42,.86),rgba(2,6,23,.78));
  border:1px solid var(--game-line);
  box-shadow:0 18px 50px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(10px);
  color:var(--game-text);
}
.hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(15,76,129,.98),rgba(14,165,168,.88)),
    radial-gradient(circle at 82% 18%,rgba(250,204,21,.25),transparent 24%);
  border:1px solid rgba(255,255,255,.18);
}
.hero:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  transform:translateX(-100%);
  animation:ssrcScan 4.5s linear infinite;
}
.hero>*{position:relative}
@keyframes ssrcScan{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
.badge{
  background:rgba(2,6,23,.25);
  color:#e0fbff;
  letter-spacing:.08em;
  text-transform:uppercase;
}
h1,h2,h3{color:var(--game-text)}
.muted,.small{color:var(--game-muted)!important}
.form input,.form select,.form textarea,.toolbar input,.toolbar select{
  background:rgba(15,23,42,.78);
  border:1px solid rgba(148,163,184,.32);
  color:var(--game-text);
}
.form input::placeholder,.form textarea::placeholder{color:rgba(203,213,225,.55)}
.form option{background:#0f172a;color:#e2e8f0}
.btn{
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn.primary{
  background:linear-gradient(135deg,var(--game-orange),#ef4444);
  color:white;
}
.btn.secondary{
  background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(37,99,235,.22));
  border:1px solid rgba(34,211,238,.35);
  color:#cffafe;
}
.btn.ghost{
  background:rgba(148,163,184,.12);
  border:1px solid rgba(148,163,184,.22);
  color:#dbeafe;
}
.link,.back{color:#67e8f9}
.event-box{
  background:rgba(15,23,42,.68);
  border:1px solid rgba(34,211,238,.20);
}
.success{
  background:rgba(6,78,59,.45);
  color:#bbf7d0;
  border-color:rgba(52,211,153,.35);
}
.error{
  background:rgba(127,29,29,.40);
  color:#fecaca;
  border-color:rgba(248,113,113,.38);
}
table{background:transparent;color:var(--game-text)}
th{background:rgba(15,23,42,.92);color:#cbd5e1}
td,th{border-bottom:1px solid rgba(148,163,184,.18)}
.sidebar{
  background:linear-gradient(180deg,#020617,#0f172a);
  border-right:1px solid rgba(148,163,184,.18);
}
.sidebar a.active,.sidebar a:hover{
  background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(37,99,235,.20));
  color:#fff;
}

/* Game widgets */
.game-panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(34,211,238,.22);
}
.game-panel:after{
  content:"";
  position:absolute;
  right:-80px;top:-80px;
  width:180px;height:180px;
  background:radial-gradient(circle,rgba(34,211,238,.18),transparent 65%);
}
.level-card{
  display:grid;
  gap:14px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(15,23,42,.82),rgba(8,47,73,.52));
  border:1px solid rgba(34,211,238,.24);
}
.level-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.level-label{
  color:var(--game-muted);
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.runner-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  border-radius:999px;
  background:linear-gradient(135deg,#22d3ee,#2563eb 55%,#f97316);
  color:#fff;
  font-size:24px;
  font-weight:900;
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 18px 40px rgba(34,211,238,.18);
  margin:4px 0 10px;
}
.xp-number{
  font-size:34px;
  font-weight:950;
  line-height:1;
  color:#fff;
  text-shadow:0 0 20px rgba(34,211,238,.35);
}
.xp-bar{
  height:16px;
  border-radius:999px;
  background:rgba(15,23,42,.92);
  border:1px solid rgba(148,163,184,.24);
  overflow:hidden;
}
.xp-fill{
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#22d3ee,#34d399,#facc15);
  box-shadow:0 0 24px rgba(34,211,238,.28);
}
.quest-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:18px;
}
.quest-card{
  padding:14px;
  border-radius:18px;
  background:rgba(15,23,42,.60);
  border:1px solid rgba(148,163,184,.20);
}
.quest-card strong{display:block;color:#fff;font-size:18px}
.privacy-box{
  padding:16px;
  border-radius:18px;
  background:rgba(15,23,42,.64);
  border:1px solid rgba(34,211,238,.20);
}
.privacy-box ul{margin-top:8px}
.privacy-link{color:#67e8f9;font-weight:800}
.table-badge{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(34,211,238,.14);
  color:#a5f3fc;
  border:1px solid rgba(34,211,238,.22);
  font-weight:800;
  font-size:13px;
}
@media(max-width:760px){
  .quest-grid{grid-template-columns:1fr}
  .xp-number{font-size:28px}
}


/* =========================================================
   SSRC Runner Passport Patch
   ========================================================= */
.passport-brand-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.passport-logo{
  width:72px;
  height:72px;
  object-fit:contain;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  padding:8px;
  box-shadow:0 14px 30px rgba(0,0,0,.22);
}
.passport-logo.small-logo{
  width:56px;
  height:56px;
  border-radius:14px;
}
.passport-logo.hero-logo{
  width:82px;
  height:82px;
}
.passport-logo-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:950;
  letter-spacing:.08em;
  color:#fff;
  background:linear-gradient(135deg,#22d3ee,#2563eb,#f97316);
}
.passport-kicker{
  color:#a5f3fc;
  font-size:13px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.runner-passport-card{
  position:relative;
  overflow:hidden;
  margin:22px 0;
  border-radius:30px;
  padding:22px;
  color:#e5f6ff;
  background:
    linear-gradient(135deg,rgba(2,6,23,.92),rgba(15,76,129,.74)),
    radial-gradient(circle at 82% 12%,rgba(250,204,21,.30),transparent 26%),
    radial-gradient(circle at 10% 85%,rgba(34,211,238,.22),transparent 32%);
  border:1px solid rgba(34,211,238,.28);
  box-shadow:0 24px 70px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);
}
.runner-passport-card:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent);
  pointer-events:none;
}
.runner-passport-card>*{position:relative}
.passport-card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:22px;
}
.passport-card-header h2{margin:2px 0 0}
.passport-identity{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.passport-name{
  font-size:34px;
  font-weight:950;
  color:#fff;
  line-height:1.05;
}
.passport-sub{
  margin-top:6px;
  color:#bfdbfe;
  font-weight:700;
}
.passport-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:18px 0;
}
.passport-stats div{
  padding:13px;
  border-radius:18px;
  background:rgba(15,23,42,.58);
  border:1px solid rgba(148,163,184,.20);
}
.passport-stats span{
  display:block;
  color:#93c5fd;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.passport-stats strong{
  color:#fff;
  font-size:20px;
}
.passport-progress{
  padding:16px;
  border-radius:20px;
  background:rgba(2,6,23,.36);
  border:1px solid rgba(34,211,238,.18);
}
.achievement-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:18px;
}
.achievement{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(15,23,42,.48);
}
.achievement.unlocked{
  border-color:rgba(250,204,21,.34);
  background:linear-gradient(135deg,rgba(250,204,21,.16),rgba(34,211,238,.10));
}
.achievement.locked{
  filter:grayscale(.85);
  opacity:.48;
}
.achievement-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.10);
  font-size:22px;
}
.achievement strong{
  display:block;
  color:#fff;
  margin-bottom:3px;
}
.achievement span{
  display:block;
  color:#cbd5e1;
  font-size:13px;
  line-height:1.35;
}
@media(max-width:760px){
  .passport-stats{grid-template-columns:repeat(2,1fr)}
  .achievement-grid{grid-template-columns:1fr}
  .passport-name{font-size:28px}
  .passport-card-header{align-items:flex-start}
}


/* =========================================================
   Check-in Summary + Monthly Quest Patch
   ========================================================= */
.checkin-summary-card .success.checkin-success-message{
  margin:12px 0 16px;
  text-align:center;
  font-size:18px;
  font-weight:900;
}
.monthly-quest-panel{
  margin-top:18px;
  padding:16px;
  border-radius:22px;
  background:rgba(2,6,23,.36);
  border:1px solid rgba(34,211,238,.18);
}
.monthly-quest-panel h3{
  margin:4px 0 12px;
}
.quest-progress-card{
  padding:14px;
  margin-top:12px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,.20);
  background:rgba(15,23,42,.56);
}
.quest-progress-card.completed{
  border-color:rgba(52,211,153,.36);
  background:linear-gradient(135deg,rgba(52,211,153,.14),rgba(34,211,238,.08));
}
.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media(max-width:760px){
  .two-col{grid-template-columns:1fr}
}


/* =========================================================
   Public Monthly Quest Page Patch
   ========================================================= */
.monthly-public-card .quest-meta-grid,
.quest-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin:16px 0;
}
.quest-meta-grid div{
  padding:12px;
  border-radius:16px;
  background:rgba(15,23,42,.55);
  border:1px solid rgba(148,163,184,.20);
}
.quest-meta-grid span{
  display:block;
  color:#93c5fd;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.quest-meta-grid strong{
  color:#fff;
}
.home-quest-item{
  padding:12px 0;
  border-bottom:1px solid rgba(148,163,184,.16);
}
.home-quest-item:last-of-type{
  border-bottom:0;
}
@media(max-width:760px){
  .quest-meta-grid{grid-template-columns:1fr}
}


/* =========================================================
   SSRC Clean Mobile UI Patch
   Goal: less bulky, more premium, mobile-first runner club card
   Add this at the END of assets/style.css
   ========================================================= */

:root{
  --clean-bg:#07111f;
  --clean-card:#0d1b2d;
  --clean-card2:#10243a;
  --clean-border:rgba(125,211,252,.20);
  --clean-text:#f3f8ff;
  --clean-muted:#9fb2c8;
  --clean-cyan:#38d5e8;
  --clean-orange:#ff7043;
}

html,body{
  background:
    radial-gradient(circle at 16% 0%, rgba(56,189,248,.18), transparent 32%),
    radial-gradient(circle at 90% 18%, rgba(255,112,67,.10), transparent 26%),
    linear-gradient(180deg,#06101d 0%, #08111f 52%, #050a12 100%) !important;
  color:var(--clean-text);
}

/* Overall mobile spacing */
.page{
  max-width:960px;
  padding:18px 16px 70px !important;
}
.page.narrow{
  max-width:720px;
}

/* Hero: reduce the giant plastic-card feeling */
.hero,
.passport-hero{
  border-radius:28px !important;
  padding:26px 22px !important;
  margin:8px 0 18px !important;
  background:
    linear-gradient(145deg, rgba(13,38,64,.96) 0%, rgba(13,82,96,.88) 60%, rgba(10,117,116,.84) 100%) !important;
  border:1px solid rgba(125,211,252,.26) !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.hero:before{
  display:none !important;
}

/* Logo + title */
.passport-brand-row{
  gap:14px !important;
  margin-bottom:18px !important;
  align-items:center !important;
}
.passport-logo,
.passport-logo.hero-logo{
  width:68px !important;
  height:68px !important;
  border-radius:20px !important;
  padding:8px !important;
  background:rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}
.passport-kicker{
  font-size:12px !important;
  letter-spacing:.18em !important;
  color:#b8f4ff !important;
  opacity:.9;
}
.hero h1,
.passport-hero h1{
  font-size:34px !important;
  line-height:1.12 !important;
  margin:4px 0 0 !important;
  letter-spacing:-.04em !important;
}
.lead{
  font-size:17px !important;
  line-height:1.58 !important;
  color:#dff8ff !important;
  margin:16px 0 20px !important;
  max-width:680px;
}

/* Buttons: make them compact and consistent */
.actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  align-items:stretch !important;
}
.actions .btn,
.btn.full{
  width:100%;
}
.btn{
  min-height:48px !important;
  border-radius:16px !important;
  padding:12px 14px !important;
  font-size:16px !important;
  font-weight:850 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1.2 !important;
}
.btn.primary{
  background:linear-gradient(135deg,#ff7a3d,#f04444) !important;
  color:#fff !important;
  border:0 !important;
}
.btn.secondary{
  background:rgba(56,213,232,.12) !important;
  border:1px solid rgba(56,213,232,.34) !important;
  color:#dffcff !important;
}
.btn.ghost{
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#e9f6ff !important;
}

/* Cards: reduce height, stronger hierarchy */
.card,.notice,.stat{
  border-radius:24px !important;
  padding:22px !important;
  margin:18px 0 !important;
  background:
    linear-gradient(180deg, rgba(12,25,43,.92), rgba(8,16,29,.94)) !important;
  border:1px solid rgba(125,211,252,.18) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.26) !important;
  backdrop-filter:none !important;
}
.card h2,
.notice h2{
  font-size:24px !important;
  line-height:1.22 !important;
  margin:0 0 14px !important;
  letter-spacing:-.025em;
}
.card p,
.notice p{
  font-size:16px !important;
  line-height:1.6 !important;
}
.level-label{
  font-size:11px !important;
  letter-spacing:.18em !important;
  color:#9fb2c8 !important;
  margin-bottom:6px !important;
}

/* Monthly quest card */
.home-quest-item{
  padding:8px 0 12px !important;
}
.home-quest-item strong{
  display:block;
  font-size:19px !important;
  margin-bottom:8px;
}
.home-quest-item p{
  margin:5px 0 !important;
}
.link{
  font-size:16px !important;
  font-weight:900 !important;
  color:#54e7f5 !important;
  text-decoration:none !important;
}

/* Grid cards on home */
.grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:16px !important;
}
.grid .card{
  margin:0 !important;
  min-height:0 !important;
}
.grid .card h2{
  font-size:22px !important;
}

/* Passport card refinement */
.runner-passport-card{
  border-radius:28px !important;
  padding:22px !important;
  margin:18px 0 !important;
}
.passport-name{
  font-size:30px !important;
}
.passport-stats{
  gap:10px !important;
}
.passport-stats div{
  padding:12px !important;
  border-radius:16px !important;
}
.passport-stats strong{
  font-size:18px !important;
}
.runner-badge{
  font-size:19px !important;
  padding:10px 16px !important;
}

/* Form inputs */
.form label{
  font-size:14px !important;
  font-weight:850 !important;
  color:#d9ebff !important;
  margin-top:14px !important;
}
.form input,.form select,.form textarea{
  min-height:48px !important;
  border-radius:14px !important;
  padding:12px 14px !important;
  font-size:16px !important;
}

/* Safari bottom bar friendly */
@media(max-width:760px){
  .page{
    padding:14px 12px 92px !important;
  }
  .hero,
  .passport-hero{
    border-radius:26px !important;
    padding:22px 18px !important;
    margin-top:6px !important;
  }
  .passport-brand-row{
    gap:12px !important;
    margin-bottom:14px !important;
  }
  .passport-logo,
  .passport-logo.hero-logo{
    width:58px !important;
    height:58px !important;
    border-radius:18px !important;
  }
  .hero h1,
  .passport-hero h1{
    font-size:30px !important;
  }
  .passport-kicker{
    font-size:10px !important;
    letter-spacing:.16em !important;
  }
  .lead{
    font-size:16px !important;
    line-height:1.55 !important;
    margin:14px 0 18px !important;
  }
  .actions{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .btn{
    min-height:46px !important;
    font-size:15.5px !important;
  }
  .card,.notice,.stat{
    padding:19px !important;
    border-radius:22px !important;
    margin:14px 0 !important;
  }
  .grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .card h2,.notice h2{
    font-size:22px !important;
  }
  .passport-stats,
  .quest-meta-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

/* Extra small iPhone */
@media(max-width:390px){
  .hero h1,
  .passport-hero h1{
    font-size:27px !important;
  }
  .lead{
    font-size:15.5px !important;
  }
  .passport-logo,
  .passport-logo.hero-logo{
    width:52px !important;
    height:52px !important;
  }
}


/* =========================================================
   SSRC Foreign-Inspired Home UI
   Inspired by modern running/community event pages:
   simple hero, app-like passport preview, clear CTAs, stats, event cards.
   Paste at end of assets/style.css
   ========================================================= */

.home-v2-body{
  background:
    radial-gradient(circle at 18% 0%, rgba(20,184,166,.16), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(249,115,22,.11), transparent 24%),
    linear-gradient(180deg,#07111f 0%,#081525 55%,#050a12 100%) !important;
  color:#f7fbff;
}

.home-v2{
  width:min(1120px,100%);
  margin:0 auto;
  padding:18px 18px 72px;
}

.home-v2-hero{
  min-height:auto;
  border-radius:34px;
  padding:20px;
  background:
    linear-gradient(135deg,rgba(7,22,38,.96),rgba(9,65,78,.92) 58%,rgba(15,118,110,.82)),
    radial-gradient(circle at 76% 22%,rgba(255,255,255,.14),transparent 20%);
  border:1px solid rgba(125,211,252,.24);
  box-shadow:0 26px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
}

.home-v2-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:34px;
}

.home-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.home-logo{
  width:52px;
  height:52px;
  object-fit:contain;
  border-radius:16px;
  padding:6px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
}

.home-logo-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:950;
  background:linear-gradient(135deg,#22d3ee,#fb923c);
  color:#fff;
}

.home-brand-kicker{
  color:#9ee9f5;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.home-brand-name{
  color:#fff;
  font-size:18px;
  font-weight:950;
}

.home-nav-link{
  color:#dffcff;
  text-decoration:none;
  font-weight:850;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
}

.home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) 380px;
  gap:30px;
  align-items:center;
}

.home-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  color:#c7fbff;
  background:rgba(34,211,238,.10);
  border:1px solid rgba(34,211,238,.22);
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:16px;
}

.home-hero-copy h1{
  margin:0;
  color:#fff;
  font-size:clamp(40px,6vw,68px);
  line-height:.98;
  letter-spacing:-.075em;
  max-width:760px;
}

.home-hero-copy p{
  color:#d8eef7;
  font-size:18px;
  line-height:1.72;
  max-width:690px;
  margin:22px 0 24px;
}

.home-primary-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.home-btn{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  padding:13px 18px;
  text-decoration:none;
  font-weight:950;
  font-size:16px;
  border:1px solid transparent;
}

.home-btn-primary{
  background:linear-gradient(135deg,#ff7a3d,#ef4444);
  color:#fff;
  box-shadow:0 12px 28px rgba(239,68,68,.24);
}

.home-btn-outline{
  background:rgba(255,255,255,.06);
  color:#e8fcff;
  border-color:rgba(125,211,252,.28);
}

.home-secondary-actions{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:16px;
  color:#9fb2c8;
  font-weight:850;
}

.home-secondary-actions a{
  color:#67e8f9;
  text-decoration:none;
}

/* App-like passport preview */
.home-passport-preview{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:22px;
  background:
    linear-gradient(160deg,rgba(15,23,42,.84),rgba(11,74,88,.72)),
    radial-gradient(circle at 78% 8%,rgba(250,204,21,.22),transparent 24%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}

.home-passport-preview:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:24px 24px;
  opacity:.7;
}

.home-passport-preview>*{position:relative}

.passport-preview-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}

.preview-logo{
  width:58px;
  height:58px;
  object-fit:contain;
  border-radius:18px;
  padding:7px;
  background:rgba(255,255,255,.08);
}

.passport-preview-top span{
  display:block;
  color:#9ee9f5;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}

.passport-preview-top strong{
  display:block;
  font-size:20px;
  color:#fff;
}

.preview-badge{
  display:inline-flex;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(135deg,#22d3ee,#2563eb 55%,#f97316);
  color:#fff;
  font-size:20px;
  font-weight:950;
  margin-bottom:18px;
}

.preview-stat-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:18px;
}

.preview-stat-row div,
.preview-progress{
  padding:12px;
  border-radius:18px;
  background:rgba(2,6,23,.34);
  border:1px solid rgba(255,255,255,.10);
}

.preview-stat-row span,
.preview-progress span{
  display:block;
  color:#9fb2c8;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.preview-stat-row strong{
  color:#fff;
  font-size:23px;
}

.preview-progress{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.preview-progress strong{
  color:#fff;
}

.preview-progress em{
  font-style:normal;
  color:#facc15;
  font-weight:950;
}

.preview-bar{
  height:12px;
  margin:12px 0 18px;
  border-radius:999px;
  background:rgba(2,6,23,.5);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.preview-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#22d3ee,#34d399,#facc15);
}

.preview-achievements{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}

.preview-achievements b,
.preview-achievements span{
  width:38px;
  height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  font-size:20px;
}

.preview-achievements span{
  filter:grayscale(1);
  opacity:.45;
}

/* Stats strip */
.home-v2-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:16px 0;
}

.home-v2-strip div{
  padding:14px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(125,211,252,.14);
}

.home-v2-strip span{
  display:block;
  color:#9fb2c8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.home-v2-strip strong{
  display:block;
  color:#fff;
  font-size:28px;
  margin-top:4px;
}

/* Cards */
.home-v2-main-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:16px 0;
}

.home-info-card,
.home-feature-grid article,
.home-community-card{
  border-radius:26px;
  padding:24px;
  background:linear-gradient(180deg,rgba(12,25,43,.92),rgba(8,16,29,.94));
  border:1px solid rgba(125,211,252,.16);
  box-shadow:0 16px 34px rgba(0,0,0,.24);
}

.home-card-label{
  color:#94a3b8;
  font-size:12px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.home-info-card h2,
.home-community-card h2{
  margin:0 0 14px;
  color:#fff;
  font-size:28px;
  letter-spacing:-.04em;
  line-height:1.12;
}

.home-info-card p,
.home-community-card p{
  color:#d8e7f2;
  line-height:1.62;
  font-size:16px;
}

.home-big-line{
  font-size:19px!important;
  font-weight:900;
  color:#fff!important;
}

.home-muted{
  color:#9fb2c8!important;
}

.home-card-link{
  display:inline-flex;
  margin-top:12px;
  color:#67e8f9;
  text-decoration:none;
  font-weight:950;
}

.quest-line-v2{
  padding:8px 0 12px;
  border-bottom:1px solid rgba(148,163,184,.16);
}

.quest-line-v2:last-of-type{
  border-bottom:0;
}

.quest-line-v2 strong{
  color:#fff;
  font-size:19px;
}

.quest-line-v2 p{
  margin:8px 0;
}

.quest-line-v2 span{
  color:#9fb2c8;
  font-size:14px;
}

/* Features */
.home-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:16px 0;
}

.feature-icon{
  width:42px;
  height:42px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#06111f;
  background:#67e8f9;
  font-weight:950;
  margin-bottom:16px;
}

.home-feature-grid h3{
  margin:0 0 10px;
  color:#fff;
  font-size:22px;
}

.home-feature-grid p{
  color:#9fb2c8;
  line-height:1.6;
}

/* Community card */
.home-community-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:16px;
}

.home-community-card p{
  max-width:700px;
}

.home-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:28px;
  padding:0 4px;
  color:#6f8196;
  font-size:14px;
}

.home-footer a{
  color:#8bdff0;
  text-decoration:none;
}

/* Mobile */
@media(max-width:860px){
  .home-v2{
    padding:12px 12px 88px;
  }
  .home-v2-hero{
    border-radius:28px;
    padding:18px;
  }
  .home-v2-nav{
    margin-bottom:26px;
  }
  .home-nav-link{
    display:none;
  }
  .home-hero-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .home-hero-copy h1{
    font-size:42px;
    letter-spacing:-.07em;
  }
  .home-hero-copy p{
    font-size:16px;
    line-height:1.62;
    margin:18px 0 20px;
  }
  .home-primary-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .home-btn{
    width:100%;
  }
  .home-secondary-actions{
    justify-content:center;
  }
  .home-passport-preview{
    border-radius:24px;
    padding:18px;
  }
  .home-v2-main-grid,
  .home-feature-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .home-v2-strip{
    grid-template-columns:repeat(3,1fr);
    gap:8px;
  }
  .home-v2-strip div{
    padding:11px 10px;
    border-radius:16px;
  }
  .home-v2-strip strong{
    font-size:23px;
  }
  .home-info-card,
  .home-feature-grid article,
  .home-community-card{
    border-radius:22px;
    padding:20px;
  }
  .home-community-card{
    display:block;
  }
  .home-community-card .home-btn{
    margin-top:14px;
  }
}

@media(max-width:390px){
  .home-hero-copy h1{
    font-size:37px;
  }
  .home-logo{
    width:48px;
    height:48px;
  }
  .home-brand-kicker{
    font-size:10px;
  }
  .home-brand-name{
    font-size:16px;
  }
  .preview-stat-row{
    grid-template-columns:1fr;
  }
}


/* SSRC Runner Rewards / Run Miles */
.runner-rewards-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.runner-rewards-summary div{padding:18px;border-radius:22px;background:linear-gradient(180deg,rgba(12,25,43,.92),rgba(8,16,29,.94));border:1px solid rgba(125,211,252,.16);box-shadow:0 16px 34px rgba(0,0,0,.22)}.runner-rewards-summary span{display:block;color:#9fb2c8;font-size:12px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.runner-rewards-summary strong{display:block;color:#fff;font-size:26px;margin-top:4px}.rewards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.reward-card{position:relative;padding:22px;border-radius:24px;background:linear-gradient(180deg,rgba(12,25,43,.92),rgba(8,16,29,.94));border:1px solid rgba(125,211,252,.18);box-shadow:0 16px 34px rgba(0,0,0,.24)}.reward-card.disabled{opacity:.62;filter:grayscale(.45)}.reward-card h3{margin:8px 0 10px;color:#fff;font-size:23px;line-height:1.15}.reward-card p{color:#9fb2c8;line-height:1.55;min-height:48px}.reward-status{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.20);color:#a5f3fc;font-size:12px;font-weight:900}.reward-meta{display:flex;justify-content:space-between;gap:10px;margin:16px 0;color:#e0f2fe;font-weight:850}.reward-confirm-box{padding:18px;border-radius:22px;background:rgba(15,23,42,.48);border:1px solid rgba(125,211,252,.16);margin:14px 0 18px}.reward-confirm-box h2{margin-top:0}@media(max-width:860px){.runner-rewards-summary,.rewards-grid{grid-template-columns:1fr}}


/* =========================================================
   Home Passport + Runner Rewards Focus Patch
   Make Runner Passport the main visual object and add Rewards entry.
   ========================================================= */

.home-v3-hero{
  border-radius:34px;
  padding:20px;
  background:
    linear-gradient(135deg,rgba(7,22,38,.96),rgba(9,65,78,.92) 58%,rgba(15,118,110,.82)),
    radial-gradient(circle at 76% 22%,rgba(255,255,255,.14),transparent 20%);
  border:1px solid rgba(125,211,252,.24);
  box-shadow:0 26px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
}

.home-v3-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,430px);
  gap:30px;
  align-items:center;
}

.home-v3-copy h1{
  margin:0;
  color:#fff;
  font-size:clamp(42px,6.4vw,74px);
  line-height:.96;
  letter-spacing:-.08em;
  max-width:760px;
}

.home-v3-copy p{
  color:#d8eef7;
  font-size:19px;
  line-height:1.72;
  max-width:700px;
  margin:22px 0 24px;
}

.passport-hero-card-link{
  color:inherit;
  text-decoration:none;
  display:block;
}

.passport-hero-card{
  position:relative;
  overflow:hidden;
  min-height:430px;
  border-radius:34px;
  padding:24px;
  background:
    linear-gradient(160deg,rgba(15,23,42,.92),rgba(11,74,88,.78)),
    radial-gradient(circle at 78% 8%,rgba(250,204,21,.26),transparent 24%),
    radial-gradient(circle at 12% 88%,rgba(34,211,238,.18),transparent 28%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 28px 68px rgba(0,0,0,.32);
  transition:transform .18s ease, box-shadow .18s ease;
}

.passport-hero-card:hover{
  transform:translateY(-3px);
  box-shadow:0 34px 78px rgba(0,0,0,.38);
}

.passport-hero-card:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:24px 24px;
  opacity:.72;
}

.passport-hero-card>*{
  position:relative;
}

.passport-card-name{
  margin:20px 0 10px;
  color:#fff;
  font-size:36px;
  font-weight:950;
  letter-spacing:-.06em;
  line-height:1;
}

.passport-rewards-strip{
  margin-top:18px;
  padding:14px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(249,115,22,.18),rgba(34,211,238,.12));
  border:1px solid rgba(250,204,21,.24);
}

.passport-rewards-strip span{
  display:block;
  color:#facc15;
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:4px;
}

.passport-rewards-strip strong{
  color:#fff;
  font-size:17px;
}

.home-quick-actions{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:16px 0;
}

.home-quick-actions a{
  display:block;
  padding:16px;
  border-radius:22px;
  text-decoration:none;
  background:linear-gradient(180deg,rgba(12,25,43,.92),rgba(8,16,29,.94));
  border:1px solid rgba(125,211,252,.16);
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}

.home-quick-actions span{
  display:inline-flex;
  width:34px;
  height:34px;
  border-radius:13px;
  align-items:center;
  justify-content:center;
  background:#67e8f9;
  color:#06111f;
  font-weight:950;
  margin-bottom:12px;
}

.home-quick-actions strong{
  display:block;
  color:#fff;
  font-size:18px;
  margin-bottom:5px;
}

.home-quick-actions em{
  display:block;
  color:#9fb2c8;
  font-style:normal;
  font-size:14px;
  line-height:1.35;
}

.home-rewards-callout{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin:16px 0;
  padding:26px;
  border-radius:28px;
  background:
    linear-gradient(135deg,rgba(249,115,22,.14),rgba(8,16,29,.94)),
    radial-gradient(circle at 90% 10%,rgba(250,204,21,.14),transparent 24%);
  border:1px solid rgba(250,204,21,.20);
  box-shadow:0 18px 42px rgba(0,0,0,.24);
}

.home-rewards-callout h2{
  margin:0 0 12px;
  color:#fff;
  font-size:30px;
  line-height:1.12;
  letter-spacing:-.045em;
  max-width:760px;
}

.home-rewards-callout p{
  color:#d8e7f2;
  line-height:1.65;
  margin:0;
  max-width:760px;
}

@media(max-width:900px){
  .home-v3-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .passport-hero-card{
    min-height:0;
  }
  .home-quick-actions{
    grid-template-columns:1fr 1fr;
  }
  .home-rewards-callout{
    display:block;
  }
  .home-rewards-callout .home-btn{
    margin-top:16px;
  }
}

@media(max-width:520px){
  .home-v3-hero{
    border-radius:28px;
    padding:18px;
  }
  .home-v3-copy h1{
    font-size:42px;
  }
  .home-v3-copy p{
    font-size:16px;
    line-height:1.62;
  }
  .passport-hero-card{
    border-radius:26px;
    padding:18px;
  }
  .passport-card-name{
    font-size:30px;
  }
  .home-quick-actions{
    grid-template-columns:1fr;
  }
  .home-rewards-callout{
    border-radius:24px;
    padding:20px;
  }
  .home-rewards-callout h2{
    font-size:24px;
  }
}


/* =========================================================
   Runner Passport Clear Layout Patch
   Fix confusion between 出席等級 / 社群角色 / 下一級
   ========================================================= */

.passport-clean-card{
  position:relative;
  overflow:hidden;
  margin:20px 0;
  padding:24px;
  border-radius:30px;
  color:#e5f6ff;
  background:
    linear-gradient(145deg,rgba(5,16,31,.96),rgba(8,39,58,.92)),
    radial-gradient(circle at 82% 12%,rgba(34,211,238,.16),transparent 26%);
  border:1px solid rgba(56,213,232,.22);
  box-shadow:0 24px 62px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
}

.passport-clean-card:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
  opacity:.7;
}

.passport-clean-card>*{
  position:relative;
}

.passport-clean-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
}

.passport-clean-brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.passport-clean-header h2{
  margin:2px 0 0;
  color:#fff;
  font-size:24px;
  letter-spacing:-.035em;
}

.passport-clean-rewards{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 14px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  background:linear-gradient(135deg,rgba(249,115,22,.92),rgba(34,211,238,.64));
  box-shadow:0 12px 26px rgba(0,0,0,.2);
  white-space:nowrap;
}

.passport-runner-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:18px;
  align-items:start;
  margin-bottom:18px;
}

.passport-level-stack{
  padding:16px;
  border-radius:22px;
  background:rgba(2,6,23,.28);
  border:1px solid rgba(148,163,184,.16);
}

.passport-level-pill,
.passport-role-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  font-size:18px;
  font-weight:950;
  text-align:center;
  line-height:1.15;
}

.passport-level-pill{
  background:linear-gradient(135deg,#22d3ee,#2563eb);
}

.passport-role-pill{
  background:linear-gradient(135deg,#f97316,#a855f7);
}

.role-label{
  margin-top:14px;
}

.clean-stats{
  grid-template-columns:repeat(4,1fr);
  margin:16px 0;
}

.passport-next-card{
  margin-top:16px;
  padding:18px;
  border-radius:24px;
  background:rgba(2,6,23,.34);
  border:1px solid rgba(56,213,232,.18);
}

.passport-next-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}

.passport-next-top strong{
  display:block;
  color:#fff;
  font-size:22px;
  margin-top:4px;
}

.passport-next-top span{
  color:#facc15;
  font-size:18px;
  font-weight:950;
}

.passport-next-card p{
  margin:12px 0 0;
  color:#d8e7f2;
  line-height:1.6;
}

.passport-next-card .role-caption{
  color:#fef3c7;
  padding-top:8px;
  border-top:1px solid rgba(250,204,21,.16);
}

.clean-panel{
  margin-top:18px;
}

.clean-achievements{
  margin-top:18px;
}

/* Remove old visual conflict if old runner-badge exists inside clean card */
.passport-clean-card .runner-badge{
  position:static!important;
  transform:none!important;
}

@media(max-width:760px){
  .passport-clean-card{
    padding:18px;
    border-radius:26px;
  }
  .passport-clean-header{
    display:block;
  }
  .passport-clean-rewards{
    margin-top:14px;
    width:100%;
  }
  .passport-runner-row{
    grid-template-columns:1fr;
  }
  .passport-level-stack{
    padding:14px;
  }
  .clean-stats{
    grid-template-columns:1fr 1fr;
  }
  .passport-level-pill,
  .passport-role-pill{
    width:auto;
    min-width:160px;
  }
}

@media(max-width:430px){
  .clean-stats{
    grid-template-columns:1fr;
  }
  .passport-name{
    font-size:28px!important;
  }
}
