/* Frontend app UI: lists, rankings, navigation, and desktop shell. */

.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:12px;font-weight:900;color:#dce7ff;width:max-content}
.form-grid.compact{grid-template-columns:1fr 1fr}
.modal-actions{display:grid;gap:10px}
.room-list .surface-card,.rank-list .rank-item{border-radius:26px}
.room-card{background:linear-gradient(180deg,rgba(22,31,58,.98),rgba(16,23,44,.98));border:1px solid rgba(255,255,255,.08)}
.room-card-head b{font-size:22px;letter-spacing:-.03em}
.rank-item{padding:18px 18px;background:linear-gradient(180deg,rgba(22,31,58,.98),rgba(16,23,44,.98))}
.rank-item b:last-child{font-size:30px;letter-spacing:-.04em;white-space:nowrap}

@media (max-width:720px){
  .form-grid.compact{grid-template-columns:1fr}
  .room-card-head b{font-size:19px}
  .rank-item b:last-child{font-size:24px}
}


/* v51 white premium UI renewal */
:root{
  --v51-bg:#f8fbff;
  --v51-text:#101d36;
  --v51-muted:#69758c;
  --v51-line:#e7edf7;
  --v51-purple:#823ef3;
  --v51-blue:#2388f6;
  --v51-orange:#ff8324;
  --v51-shadow:0 18px 44px rgba(21,37,74,.10);
}
html,body{
  background:
    radial-gradient(circle at 12% 0%, rgba(119,71,255,.08), transparent 32%),
    radial-gradient(circle at 88% 6%, rgba(35,136,246,.08), transparent 30%),
    linear-gradient(180deg,#ffffff 0%, #f8fbff 100%) !important;
  color:var(--v51-text);
}
.app-shell{max-width:560px;background:rgba(255,255,255,.42);box-shadow:0 0 0 1px rgba(231,237,247,.42)}
.topbar,.ui-white-topbar{
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(22px);
  border-bottom:1px solid rgba(224,231,244,.85);
  padding:18px 18px 14px;
}
.brand-copy h1,.brand h1{color:var(--v51-text);font-size:28px;font-weight:950;letter-spacing:-.05em}
.brand-copy small,.brand small{color:var(--v51-muted)}
.brand-mark{
  width:54px;height:54px;flex-basis:54px;border-radius:18px;
  background:linear-gradient(135deg,#35c1ff 0%,#526cff 48%,#9a3fff 100%);
  color:#fff;box-shadow:0 12px 26px rgba(94,85,255,.20);
}
.brand-mark.with-image{background:transparent;box-shadow:none}
.icon-btn{
  width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.86);color:#37445d;
  border:1px solid rgba(224,231,244,.9);
  box-shadow:0 10px 28px rgba(22,36,65,.12);
}
.icon-btn.small{width:38px;height:38px;border-radius:50%}
.page{padding:24px 18px 30px}
.v51-title{display:flex;gap:16px;align-items:flex-start;margin:8px 0 10px}
.v51-title-icon{font-size:34px;line-height:1;color:#8c45f5;text-shadow:0 8px 20px rgba(140,69,245,.22)}
.v51-title h2{margin:0;font-size:30px;line-height:1.15;letter-spacing:-.055em;color:var(--v51-text);font-weight:950}
.v51-title p{margin:10px 0 0;color:var(--v51-muted);font-size:16px;line-height:1.5}
.v51-game-list{display:grid;gap:14px}
.v51-game-card{
  border:1px solid var(--v51-line);
  border-radius:28px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--v51-shadow);
  padding:16px;
  display:grid;
  gap:14px;
  overflow:hidden;
}
.v51-game-card.active{border-color:rgba(130,62,243,.28)}
.v51-game-thumb{
  height:154px;border-radius:18px;overflow:hidden;
  background:linear-gradient(135deg,#ecefff,#fff);
}
.v51-game-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.v51-game-thumb-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:48px;
  font-weight:1000;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.42), transparent 24%),
    linear-gradient(135deg,#a855f7,#6d35ea);
}
.v51-game-thumb-fallback.orange{background:radial-gradient(circle at 18% 18%, rgba(255,255,255,.42), transparent 24%),linear-gradient(135deg,#ffae3f,#ff7624)}
.v51-game-thumb-fallback.blue{background:radial-gradient(circle at 18% 18%, rgba(255,255,255,.42), transparent 24%),linear-gradient(135deg,#50bfff,#2388f6)}
.v51-game-thumb-fallback.mint{background:radial-gradient(circle at 18% 18%, rgba(255,255,255,.42), transparent 24%),linear-gradient(135deg,#67e8f9,#34d399)}
.v51-game-thumb-fallback.sky{background:radial-gradient(circle at 18% 18%, rgba(255,255,255,.48), transparent 24%),linear-gradient(135deg,#7dd3fc,#60a5fa 54%,#c084fc)}
.v51-game-info{display:grid;gap:12px}
.v51-game-title-row{display:block}
.v51-game-title-row h3{margin:0;font-size:25px;line-height:1.12;letter-spacing:0;color:var(--v51-text);font-weight:920}
.v51-game-title-row p{margin:7px 0 0;color:var(--v51-muted);line-height:1.48;font-size:14px}
.v51-create-btn{
  width:100%;height:50px;border:0;border-radius:999px;color:#fff;font-size:16px;font-weight:820;
  display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;
  background:linear-gradient(135deg,#a855f7,#6d35ea);box-shadow:0 10px 18px rgba(130,62,243,.20);
}
.v51-create-btn.orange{background:linear-gradient(135deg,#ffae3f,#ff7624);box-shadow:0 10px 18px rgba(255,131,36,.18)}
.v51-create-btn.blue{background:linear-gradient(135deg,#50bfff,#2388f6);box-shadow:0 10px 18px rgba(35,136,246,.18)}
.v51-create-btn.mint{background:linear-gradient(135deg,#67e8f9,#34d399);box-shadow:0 10px 18px rgba(52,211,153,.18)}
.v51-create-btn.sky{background:linear-gradient(135deg,#7dd3fc,#60a5fa 54%,#a78bfa);box-shadow:0 10px 18px rgba(96,165,250,.18)}
.v51-create-btn span{font-size:19px}.v51-create-btn b{margin-left:auto;padding-right:10px;font-size:22px;font-weight:760}
.v51-game-actions{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(96px,.75fr);gap:9px;align-items:center}
.v51-guide-btn{height:50px;border-radius:999px;border:1px solid #e2e8f4;background:#f7f9fd;color:#526078;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(22,36,65,.06)}
.weekly-rank-page{display:grid;gap:14px}
.weekly-game-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:2px 2px 8px;
  scrollbar-width:none;
}
.weekly-game-tabs::-webkit-scrollbar{display:none}
.weekly-game-tabs a{
  flex:0 0 auto;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 13px;
  border-radius:999px;
  border:1px solid #e2e8f4;
  background:#fff;
  color:#66758f;
  text-decoration:none;
  font-size:13px;
  font-weight:560;
  box-shadow:0 8px 18px rgba(22,36,65,.06);
}
.weekly-game-tabs a.active{
  border-color:rgba(125,53,232,.24);
  background:linear-gradient(135deg,rgba(157,92,255,.18),rgba(157,92,255,.08));
  color:#6d28d9;
}
.weekly-rank-prizes{
  display:grid;
  gap:10px;
  padding:13px;
  border-radius:16px;
  border:1px solid #e2e8f4;
  background:#fff;
  box-shadow:0 10px 24px rgba(22,36,65,.07);
}
.weekly-prize-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.weekly-prize-head h3{
  margin:0;
  font-size:15px;
  font-weight:650;
}
.weekly-prize-head span{
  color:#74829a;
  font-size:12px;
  font-weight:450;
}
.weekly-prize-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
}
.weekly-prize-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:40px;
  padding:9px 10px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid #edf2fa;
}
.weekly-prize-item b{
  flex:0 0 auto;
  color:#6d28d9;
  font-size:13px;
  font-weight:560;
}
.weekly-prize-item span{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#0f172a;
  font-size:13px;
  font-weight:430;
}
.weekly-prize-item span img{
  width:16px;
  height:16px;
  object-fit:contain;
}
.weekly-prize-item span strong{
  color:#0f172a;
  font-size:13px;
  font-weight:560;
}
.weekly-rank-list{display:grid;gap:10px}
.weekly-rank-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:9px 12px;
  border-radius:16px;
  border:1px solid #e2e8f4;
  background:#fff;
  color:var(--v51-text);
  box-shadow:0 10px 24px rgba(22,36,65,.07);
}
.weekly-rank-item.top{
  border-color:rgba(125,53,232,.28);
  box-shadow:0 14px 30px rgba(125,53,232,.12);
}
.weekly-rank-item.is-mine{
  border-color:rgba(250,204,21,.72);
  box-shadow:0 0 0 1px rgba(250,204,21,.20),0 12px 28px rgba(250,204,21,.12);
}
.weekly-rank-num{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#eef2ff;
  color:#6d28d9;
  font-weight:620;
  font-size:13px;
}
.weekly-rank-player{min-width:0}
.weekly-rank-player b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  font-weight:560;
  line-height:1.25;
}
.weekly-rank-player b em{
  display:inline-flex;
  margin-left:6px;
  padding:3px 6px;
  border-radius:999px;
  background:#facc15;
  color:#422006;
  font-size:9px;
  font-style:normal;
  font-weight:560;
  vertical-align:middle;
}
.weekly-rank-player span{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#74829a;
  font-size:12px;
  font-weight:400;
}
.weekly-rank-item strong{
  color:#0f172a;
  font-size:16px;
  font-weight:620;
  white-space:nowrap;
}
.kakao-weekly-award-list{
  display:grid;
  gap:8px;
}
.kakao-weekly-award-item{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:10px 11px;
  border-radius:14px;
  border:1px solid #e2e8f4;
  background:#fff;
}
.kakao-weekly-award-item[hidden]{
  display:none!important;
}
.kakao-weekly-award-rank{
  width:42px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#eef2ff;
  color:#6d28d9;
  font-size:13px;
  font-weight:720;
}
.kakao-weekly-award-main{
  min-width:0;
}
.kakao-weekly-award-main>div{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.kakao-weekly-award-main b,
.kakao-weekly-award-main span,
.kakao-weekly-award-main small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kakao-weekly-award-main b{
  color:#0f172a;
  font-size:14px;
  font-weight:620;
}
.kakao-weekly-award-main span{
  color:#475569;
  font-size:12px;
  font-weight:500;
}
.kakao-weekly-award-main small{
  display:block;
  margin-top:3px;
  color:#94a3b8;
  font-size:11px;
  font-weight:400;
}
.kakao-weekly-award-item strong{
  max-width:132px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#111827;
  font-size:13px;
  font-weight:620;
  text-align:right;
}
@media(max-width:420px){
  .kakao-weekly-award-item{
    grid-template-columns:42px minmax(0,1fr);
  }
  .kakao-weekly-award-item strong{
    grid-column:2;
    max-width:none;
    text-align:left;
  }
  .kakao-weekly-award-main>div{
    display:grid;
    gap:2px;
  }
}
.bottom-nav{
  max-width:560px;background:rgba(255,255,255,.92)!important;border:1px solid rgba(224,231,244,.9);
  border-radius:28px 28px 0 0;height:calc(84px + env(safe-area-inset-bottom));
  box-shadow:0 -18px 36px rgba(22,36,65,.10);padding:10px 14px calc(10px + env(safe-area-inset-bottom));
}
.bottom-nav a{color:#66758f;border-radius:999px;font-size:13px;display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:center}
.bottom-nav a span{font-size:24px;font-weight:900}
.bottom-nav a b{font-size:14px}
.bottom-nav a.active{
  color:#7d35e8;background:linear-gradient(135deg,rgba(157,92,255,.18),rgba(157,92,255,.08));
  border:0;box-shadow:none;
}
.app-modal__backdrop{background:rgba(30,42,68,.34);backdrop-filter:blur(12px)}
.app-modal__panel{
  background:rgba(255,255,255,.96)!important;color:var(--v51-text);
  border:1px solid rgba(224,231,244,.95);box-shadow:0 30px 70px rgba(22,36,65,.24);
}
.app-modal__head h3{color:var(--v51-text)}
.app-modal__head p,.field-help,.inline-note{color:var(--v51-muted)}
.field label,.field .field-title{color:#34425a}
.field input,.field select,.field textarea{
  background:#f7f9fd!important;color:var(--v51-text)!important;border:1px solid #e2e8f4!important;
}
.inline-note{background:#f6f8fe;border-color:#e5ebf6;color:#6b7890}
.btn.secondary{background:#f5f7fc!important;color:#526078!important;border:1px solid #e2e8f4!important}
.settings-sheet__backdrop{background:rgba(30,42,68,.22);backdrop-filter:blur(8px)}
.settings-sheet__panel{
  background:rgba(255,255,255,.97);color:var(--v51-text);border:1px solid #e6edf7;
  box-shadow:0 -20px 54px rgba(22,36,65,.16)
}
.settings-row{background:#fff;border-color:#e6edf7;box-shadow:0 8px 20px rgba(22,36,65,.06)}
.settings-row small{color:#758198}
.settings-sheet__grab{background:#d9e1ee}
.settings-row input[type="checkbox"]{background:#dce4f0}
.settings-row input[type="checkbox"]:checked{background:#fee500}
.settings-segmented{background:#f1f4f9;border-color:#e1e7f0}
.settings-segmented label span{color:#758198}
.settings-segmented input:checked + span{background:#fff;color:#191919;box-shadow:0 3px 10px rgba(52,64,84,.1)}
.settings-segmented input:focus-visible + span{outline-color:#fee500}
.settings-policy-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px 14px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #e6edf7;
}
.settings-policy-links a{
  color:#6b7890;
  font-size:12px;
  line-height:1.4;
  font-weight:650;
  text-decoration:none;
}
.settings-policy-links a:active{
  color:#34425a;
}
.settings-install-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid #e6edf7;
  border-radius:18px;
  background:#f7f9fd;
}
.settings-install-box b{
  display:block;
  margin-bottom:4px;
  color:#24304a;
}
.settings-install-box small{
  display:block;
  color:#6b7890;
  font-size:12px;
  line-height:1.45;
}
.settings-install-box .btn{
  min-width:94px;
  min-height:42px;
  padding:0 14px;
  border-radius:14px;
  white-space:nowrap;
}
.settings-install-box{background:linear-gradient(135deg,#eef6ff,#f8fbff)}
.settings-install-box .btn.disabled,
.install-hero .btn.disabled{
  background:#eef2f7;
  color:#64748b;
  box-shadow:none;
  opacity:1;
  cursor:default;
}
.install-page{display:grid;gap:14px}
.install-hero{text-align:center;padding:24px 18px}
.install-hero img{width:84px;height:84px;border-radius:24px;display:block;margin:0 auto 14px;box-shadow:0 14px 32px rgba(24,119,242,.18)}
.install-hero h2{margin:0 0 8px;font-size:25px;letter-spacing:0;color:#172033}
.install-hero p{margin:0 0 16px;color:#66758f;line-height:1.5}
.install-status{margin-top:12px;color:#66758f;font-size:13px;font-weight:800}
.install-guide{padding:18px}
.install-guide h3{margin:0 0 8px;color:#172033}
.install-guide p{margin:0;color:#66758f;line-height:1.6}
.surface-card,.card{
  background:#fff!important;color:var(--v51-text);border:1px solid var(--v51-line);box-shadow:var(--v51-shadow);
}
.rank-item,.room-card{
  background:#fff!important;color:var(--v51-text);border:1px solid var(--v51-line);box-shadow:0 12px 30px rgba(22,36,65,.08);
}
.pill{background:#f4f7fc;color:#60708a;border-color:#e3e9f4}
.pill.blue{background:#eef4ff;color:#236de8;border-color:#dbe8ff}
.muted{color:var(--v51-muted)}
.notice{background:#fff8e8;color:#a15c00;border-color:#ffe0a3}

/* v51 room / records light cards */
.room-meta-box{background:#f7f9fd;border:1px solid #e6edf7}
.room-meta-box span{color:#74829a}
.rank-item b:last-child{color:var(--v51-text)}
.pagination a,.pagination span{background:#fff;color:#66758f;border-color:#e2e8f4;box-shadow:0 8px 20px rgba(22,36,65,.06)}
.pagination .active{background:linear-gradient(135deg,#9a55f7,#7d35e8);color:#fff}

@media (max-width:520px){
  .brand-copy h1,.brand h1{font-size:24px}
  .brand-mark{width:48px;height:48px;flex-basis:48px}
  .icon-btn{width:48px;height:48px}
  .v51-title h2{font-size:27px}
  .v51-game-thumb{height:132px}
  .v51-game-title-row h3{font-size:22px}
  .v51-create-btn{height:48px;font-size:15px;font-weight:800}
  .bottom-nav a b{font-size:12px}
  .bottom-nav a span{font-size:20px}
}


/* v52 mobile fit refinement */
.hero-panel{
  background:linear-gradient(135deg,#16264c 0%, #1d315d 58%, #2b587d 100%) !important;
  color:#fff !important;
}
.hero-panel h2{color:#fff !important}
.hero-panel p{color:rgba(255,255,255,.92) !important}

.page-head{align-items:center}
.page-head h2{font-size:22px;line-height:1.15}
.page-head p{font-size:13px;line-height:1.45}
.section-title h3{font-size:17px}
.notice{font-size:13px;padding:13px 14px;line-height:1.45}
.pill{white-space:nowrap}
.meta-row{
  flex-wrap:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.meta-row::-webkit-scrollbar{display:none}
.meta-row .pill{flex:0 0 auto}

.rank-item > div{min-width:0;flex:1}
.rank-item > div > b{
  display:block;
  font-size:18px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-bottom:10px;
}
.rank-item b:last-child{
  font-size:24px;
  line-height:1.05;
  white-space:nowrap;
  flex:0 0 auto;
}

.room-card{padding:16px}
.room-card-head{align-items:flex-start}
.room-card-head > div{min-width:0;flex:1}
.room-card-head b{
  display:block;
  font-size:20px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.room-card-head > .pill{flex:0 0 auto}
.room-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.room-meta-box{
  min-width:0;
  padding:12px;
  border-radius:16px;
}
.room-meta-box b{
  display:block;
  font-size:14px;
  line-height:1.3;
  word-break:keep-all;
}

.info-card h4{font-size:17px}
.info-list li{font-size:13px;line-height:1.55}

@media (max-width: 560px){
  .app-shell{max-width:100%}
  .topbar,.ui-white-topbar{
    padding:12px 14px 10px !important;
  }
  .page{
    padding:14px 14px 24px;
  }

  .brand{gap:10px}
  .brand-left{gap:10px}
  .brand-mark{
    width:42px;
    height:42px;
    flex-basis:42px;
    border-radius:14px;
  }
  .brand-copy h1,.brand h1{
    font-size:18px;
    line-height:1.1;
  }
  .brand-copy small,.brand small{
    margin-top:3px;
    font-size:11px;
    line-height:1.25;
  }
  .icon-btn{
    width:42px;
    height:42px;
  }

  .hero-panel{
    padding:20px 18px;
    border-radius:24px;
  }
  .hero-panel h2{
    font-size:17px !important;
    line-height:1.25;
    letter-spacing:-.03em;
    margin-bottom:10px;
    word-break:keep-all;
  }
  .hero-panel p{
    font-size:12px;
    line-height:1.55;
    word-break:keep-all;
  }

  .v51-title{
    gap:12px;
    margin:4px 0 16px;
  }
  .v51-title-icon{
    font-size:24px;
  }
  .v51-title h2{
    font-size:18px;
    line-height:1.3;
    letter-spacing:-.03em;
    word-break:keep-all;
  }
  .v51-title p{
    margin-top:6px;
    font-size:12px;
    line-height:1.45;
  }

  .v51-game-card{
    padding:12px;
    border-radius:22px;
    gap:12px;
  }
  .v51-game-thumb{
    height:110px;
    border-radius:16px;
  }
  .v51-game-title-row h3{
    font-size:17px;
    line-height:1.2;
    margin:0;
  }
  .v51-game-title-row p{
    margin-top:4px;
    font-size:12px;
    line-height:1.4;
  }
  .v51-create-btn{
    height:44px;
    font-size:14px;
    font-weight:800;
    padding:0 14px;
  }
  .v51-create-btn b{
    padding-right:2px;
    font-size:20px;
  }

  .page-head{
    gap:10px;
  }
  .page-head h2{
    font-size:18px;
    line-height:1.2;
  }
  .page-head p{
    margin-top:4px;
    font-size:12px;
    line-height:1.45;
  }

  .pill{
    padding:6px 9px;
    font-size:11px;
  }
  .section-title{
    margin:22px 2px 10px;
  }
  .section-title h3{
    font-size:15px;
  }

  .room-list .surface-card, .rank-list .rank-item{
    border-radius:22px;
  }
  .room-card{
    gap:12px;
    padding:14px;
  }
  .room-card-head{
    gap:8px;
  }
  .room-card-head b{
    font-size:16px;
  }
  .room-meta-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .room-meta-box{
    padding:10px;
    border-radius:14px;
  }
  .room-meta-box span{
    font-size:10px;
    margin-bottom:3px;
  }
  .room-meta-box b{
    font-size:13px;
  }

  .rank-item{
    gap:10px;
    padding:14px;
    border-radius:20px;
  }
  .rank-item > div > b{
    font-size:16px;
    margin-bottom:8px;
  }
  .rank-item b:last-child{
    font-size:16px !important;
    letter-spacing:-.02em;
  }

  .info-card{
    padding:16px;
    border-radius:20px;
  }
  .info-card h4{
    font-size:15px;
    margin-bottom:8px;
  }
  .info-list{
    gap:8px;
  }
  .info-list li{
    padding:10px 12px;
    font-size:12px;
    line-height:1.5;
    border-radius:14px;
  }

  .bottom-nav{
    max-width:560px;
    height:calc(76px + env(safe-area-inset-bottom));
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));
    gap:8px;
    border-radius:24px 24px 0 0;
  }
  .bottom-nav a{
    gap:6px;
    padding:8px 4px;
    font-size:10px;
    border-radius:18px;
  }
  .bottom-nav a span{
    font-size:18px;
  }
  .bottom-nav a b{
    font-size:12px;
    white-space:nowrap;
  }

  .app-modal__panel{
    width:100vw;
    max-height:88vh;
    border-radius:24px 24px 0 0;
    padding:16px 14px calc(16px + env(safe-area-inset-bottom));
  }
  .app-modal__head h3{
    font-size:20px;
    line-height:1.2;
  }
  .app-modal__head p{
    font-size:12px;
    line-height:1.45;
  }
  .field label,.field .field-title{
    font-size:12px;
    margin-bottom:6px;
  }
  .field input,.field select,.field textarea{
    padding:12px 13px;
    font-size:15px;
    border-radius:14px;
  }
  .field-help,.inline-note{
    font-size:11px;
    line-height:1.45;
  }
  .btn{
    padding:13px 16px;
    border-radius:16px;
    font-size:14px;
  }
}


/* 관리자 도움말 */
.admin-game-form .field-help b{font-weight:900}

/* UX cleanup: shared controls */
.btn{
  min-height:46px;
  border-radius:16px;
  font-weight:900;
}
.surface-card,
.card,
.admin-panel,
.info-card,
.v53-room-card,
.v53-record-card{
  border-radius:20px;
}
.bottom-nav a{
  min-height:54px;
  border-radius:16px;
}
.bottom-nav a.active{
  box-shadow:inset 0 0 0 1px rgba(35,136,246,.16);
}
.field input,
.field select,
.field textarea{
  border-radius:16px;
}
.page-head h2,
.section-title h3,
.brand-copy h1,
.brand h1{
  letter-spacing:0;
}

.ad-slot{
  position:relative;
  grid-column:1/-1;
  width:100%;
  max-width:720px;
  margin:10px auto;
  padding:18px 10px 10px;
  min-height:0;
  border:1px solid #edf0f4;
  border-radius:18px;
  background:#fafbfc;
  text-align:center;
  overflow:hidden;
}
.ad-slot__label{position:absolute;top:5px;left:10px;color:#a1a7b0;font-size:8px;font-weight:700;letter-spacing:.08em}
.ad-slot ins,
.ad-slot iframe{
  max-width:100%;
}
.space-room .ad-slot{
  margin-top:18px;
  margin-bottom:18px;
}
/* Main header brand layout */
.ui-white-topbar .brand{
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  align-items:center;
  gap:12px;
}
.ui-white-topbar .brand-left{
  min-width:0;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:center;
  gap:12px;
}
.ui-white-topbar .brand-mark{
  width:54px;
  height:54px;
  aspect-ratio:1/1;
  flex-basis:auto;
  border-radius:16px;
}
.ui-white-topbar .brand-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.ui-white-topbar .brand-copy{
  min-width:0;
  display:grid;
  grid-template-rows:auto auto;
  align-content:center;
  gap:3px;
}
.ui-white-topbar .brand-copy h1{
  margin:0;
  font-size:25px;
  line-height:1.05;
}
.ui-white-topbar .brand-copy small{
  margin:0;
  font-size:12px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ui-white-topbar .settings-icon-btn{
  width:48px;
  height:48px;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#1f2a44;
  font-size:30px;
  line-height:1;
}
.ui-white-topbar .settings-icon-btn:active{
  transform:scale(.96);
}
.create-page{
  gap:10px;
}
.v51-page .v51-title{
  margin-bottom:8px;
}
.v51-page .v51-title p{
  margin-top:5px;
}
.v51-game-info{
  gap:14px;
}
.create-modal-form{
  gap:12px;
}
.create-modal-form .field-help{
  display:none;
}
.modal-option-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.modal-field-row{
  display:grid;
  grid-template-columns:34px 96px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid #e5ebf6;
  border-radius:16px;
  background:#f8faff;
}
.modal-field-row[hidden]{
  display:none;
}
.modal-field-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#eef3ff;
  color:#5868d9;
  font-weight:900;
  font-size:17px;
}
.modal-field-row label{
  margin:0;
  color:#44516a;
  font-size:14px;
  white-space:nowrap;
}
.modal-field-row input,
.modal-field-row select{
  min-width:0;
  height:42px;
  padding:0 12px;
  border-radius:12px;
  background:#fff;
}
.modal-actions{
  margin-top:2px;
}

/* 560px app frame compact sizing: applies on desktop too because the frame is fixed-width. */
.topbar,.ui-white-topbar{
  padding:12px 14px 10px !important;
}
.page{
  padding:14px 14px 24px;
}
.brand{gap:10px}
.brand-left{gap:10px}
.brand-mark{
  width:42px;
  height:42px;
  flex-basis:42px;
  border-radius:14px;
}
.brand-copy h1,.brand h1{
  font-size:18px;
  line-height:1.1;
}
.brand-copy small,.brand small{
  margin-top:3px;
  font-size:11px;
  line-height:1.25;
}
.icon-btn{
  width:42px;
  height:42px;
}
.ui-white-topbar .brand{
  grid-template-columns:minmax(0,1fr) 44px;
  gap:8px;
}
.ui-white-topbar .brand-left{
  grid-template-columns:48px minmax(0,1fr);
  gap:10px;
}
.ui-white-topbar .brand-mark{
  width:48px;
  height:48px;
  border-radius:14px;
}
.ui-white-topbar .brand-copy h1{
  font-size:22px;
}
.ui-white-topbar .settings-icon-btn{
  width:44px;
  height:44px;
  font-size:28px;
}
.hero-panel{
  padding:20px 18px;
  border-radius:24px;
}
.hero-panel h2{
  font-size:17px !important;
  line-height:1.25;
  letter-spacing:-.03em;
  margin-bottom:10px;
  word-break:keep-all;
}
.hero-panel p{
  font-size:12px;
  line-height:1.55;
  word-break:keep-all;
}
.v51-title{
  gap:12px;
  margin:4px 0 16px;
}
.v51-title-icon{
  font-size:24px;
}
.v51-title h2{
  font-size:18px;
  line-height:1.3;
  letter-spacing:-.03em;
  word-break:keep-all;
}
.v51-title p{
  margin-top:6px;
  font-size:12px;
  line-height:1.45;
}
.v51-game-card{
  padding:12px;
  border-radius:22px;
  gap:12px;
}
.v51-game-thumb{
  height:110px;
  border-radius:16px;
}
.v51-game-title-row h3{
  font-size:17px;
  line-height:1.2;
  margin:0;
}
.v51-game-title-row p{
  margin-top:4px;
  font-size:12px;
  line-height:1.4;
}
.v51-create-btn{
  height:44px;
  font-size:14px;
  font-weight:800;
  padding:0 14px;
}
.v51-create-btn b{
  padding-right:2px;
  font-size:20px;
}
.page-head{
  gap:10px;
}
.page-head h2{
  font-size:18px;
  line-height:1.2;
}
.page-head p{
  margin-top:4px;
  font-size:12px;
  line-height:1.45;
}
.pill{
  padding:6px 9px;
  font-size:11px;
}
.section-title{
  margin:22px 2px 10px;
}
.section-title h3{
  font-size:15px;
}
.room-list .surface-card, .rank-list .rank-item{
  border-radius:22px;
}
.room-card{
  gap:12px;
  padding:14px;
}
.room-card-head{
  gap:8px;
}
.room-card-head b{
  font-size:16px;
}
.room-meta-grid{
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.room-meta-box{
  padding:10px;
  border-radius:14px;
}
.room-meta-box span{
  font-size:10px;
  margin-bottom:3px;
}
.room-meta-box b{
  font-size:13px;
}
.rank-item{
  gap:10px;
  padding:14px;
  border-radius:20px;
}
.rank-item > div > b{
  font-size:16px;
  margin-bottom:8px;
}
.rank-item b:last-child{
  font-size:16px !important;
  letter-spacing:-.02em;
}
.info-card{
  padding:16px;
  border-radius:20px;
}
.info-card h4{
  font-size:15px;
  margin-bottom:8px;
}
.info-list{
  gap:8px;
}
.info-list li{
  padding:10px 12px;
  font-size:12px;
  line-height:1.5;
  border-radius:14px;
}
.bottom-nav{
  height:calc(66px + env(safe-area-inset-bottom));
  padding:6px 10px calc(6px + env(safe-area-inset-bottom));
  gap:6px;
  border-radius:22px 22px 0 0;
}
.bottom-nav a{
  gap:2px;
  padding:5px 3px;
  font-size:10px;
  border-radius:16px;
}
.bottom-nav a span{
  font-size:16px;
}
.bottom-nav a b{
  font-size:12px;
  white-space:nowrap;
}

/* Five-tab bottom navigation */
.bottom-nav{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.bottom-nav a{
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.bottom-nav a span{
  font-size:16px;
}
.bottom-nav a b{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:11px;
}
@media (max-width:360px){
  .bottom-nav{
    gap:4px;
    padding-inline:7px;
  }
  .bottom-nav a b{
    font-size:10px;
  }
  .weekly-rank-item{
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:7px;
    padding:8px 9px;
  }
  .weekly-rank-item strong{
    font-size:15px;
  }
}

/* 소개/게임방법 콘텐츠 */
.game-guide-modal{z-index:150}
.game-guide-modal__panel{max-width:560px}
.game-guide-content{display:grid;gap:14px;margin-top:6px}
.game-guide-content section{border:1px solid #e5e7eb;background:#f8fafc;border-radius:16px;padding:14px}
.game-guide-content h4{margin:0 0 8px;font-size:15px;color:#111827}
.game-guide-content ul{margin:0;padding-left:18px;color:#475569;font-size:14px;line-height:1.65}
.game-guide-content li+li{margin-top:4px}
.modal-primary-actions{display:grid;grid-template-columns:1fr;gap:10px}
.intro-page{display:grid;gap:18px}
.intro-tabs{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;margin:0 -14px;padding:8px 14px 10px;background:rgba(246,248,252,.92);backdrop-filter:blur(10px);scroll-snap-type:x proximity}
.intro-tabs a{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#526078;background:#fff;border:1px solid #e5ebf6;border-radius:999px;padding:10px 14px;font-weight:560;font-size:13px;box-shadow:0 8px 18px rgba(22,36,65,.06)}
.intro-tabs svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.intro-tabs a:active{transform:scale(.98)}
.intro-hero{background:linear-gradient(135deg,#ffffff 0%,#f2f7ff 100%);border:1px solid #e0e8f6;border-radius:24px;padding:22px;box-shadow:0 14px 34px rgba(22,36,65,.08)}
.intro-hero .hero-kicker{background:#eef5ff;border-color:#cfe0ff;color:#1d4ed8;font-weight:560}
.intro-hero h2{margin:8px 0 10px;font-size:25px;line-height:1.22;letter-spacing:0;color:#172033;font-weight:620}
.intro-hero p{margin:0;color:#60708a;line-height:1.65;font-weight:400}
.intro-section{display:grid;gap:12px;scroll-margin-top:74px}
.intro-feature-card{padding:16px;border-radius:20px;background:#fff;border:1px solid #e5ebf6;box-shadow:0 10px 24px rgba(22,36,65,.06);color:#1f2a44}
.intro-card-icon{display:inline-grid;place-items:center;width:34px;height:34px;margin-bottom:10px;border-radius:13px;background:#eef4ff;color:#236de8}
.intro-card-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.intro-feature-card h4{margin:0 0 7px;font-size:16px;color:#172033;font-weight:620}
.intro-feature-card p{margin:0;color:#60708a;line-height:1.62;font-size:14px;font-weight:400}
.intro-steps{display:grid;gap:12px}
.intro-steps article,.intro-policy article,.intro-game-list article,.intro-rank-card,.intro-rule-item{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.intro-steps b{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:12px;background:#1877f2;color:#fff;margin-bottom:10px}
.intro-steps b svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.intro-steps h4,.intro-policy h4,.intro-game-list h4,.intro-rank-card h4,.intro-rule-item h4{margin:0 0 7px;color:#111827;font-size:16px;font-weight:620}
.intro-steps p,.intro-policy p,.intro-game-list p,.intro-rank-card p,.intro-rule-item p{margin:0;color:#475569;line-height:1.62;font-size:14px;font-weight:400}
.intro-game-list,.intro-policy,.intro-rank-grid,.intro-rule-list{display:grid;gap:12px}
.intro-game-detail{display:grid;gap:10px}
.intro-game-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:13px;background:#f1f5f9;color:#0f766e}
.intro-game-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.85;fill:none;stroke-linecap:round;stroke-linejoin:round}
.intro-detail-list{display:grid;gap:7px;margin:2px 0 0}
.intro-detail-list div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;align-items:start;padding-top:7px;border-top:1px solid #eef2f7}
.intro-detail-list dt{color:#1f2937;font-size:13px;font-weight:560}
.intro-detail-list dd{margin:0;color:#64748b;font-size:13px;line-height:1.55;font-weight:400}
.intro-rank-card{position:relative;overflow:hidden}
.intro-rank-card span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:26px;margin-bottom:10px;border-radius:999px;background:#eef4ff;color:#236de8;font-size:12px;font-weight:560}
.intro-rule-item{border-left:4px solid #2dd4bf}
.intro-note{margin:0;padding:14px 15px;border-radius:16px;background:#f8fafc;border:1px dashed #cbd5e1;color:#526078;line-height:1.62;font-size:14px;font-weight:400}
@media(min-width:720px){
  .intro-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .intro-game-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .intro-policy{grid-template-columns:repeat(2,minmax(0,1fr))}
  .intro-rank-grid,.intro-rule-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
  .v51-game-actions{grid-template-columns:minmax(0,1fr) 104px}
  .v51-guide-btn{height:44px;font-size:13px}
}

@media (max-width:420px){
  .ui-white-topbar{
    padding:14px 14px 10px;
  }
  .ui-white-topbar .brand{
    grid-template-columns:minmax(0,1fr) 44px;
    gap:8px;
  }
  .ui-white-topbar .brand-left{
    grid-template-columns:48px minmax(0,1fr);
    gap:10px;
  }
  .ui-white-topbar .brand-mark{
    width:48px;
    height:48px;
    border-radius:14px;
  }
  .ui-white-topbar .brand-copy h1{
    font-size:22px;
  }
  .ui-white-topbar .settings-icon-btn{
    width:44px;
    height:44px;
    font-size:28px;
  }
  .modal-field-row{
    grid-template-columns:32px 82px minmax(0,1fr);
    gap:8px;
    padding:9px;
  }
  .modal-field-icon{
    width:32px;
    height:32px;
    border-radius:11px;
    font-size:16px;
  }
  .modal-field-row label{
    font-size:13px;
  }
  .modal-field-row input,
  .modal-field-row select{
    height:40px;
    font-size:14px;
  }
}

/* Typography and premium bottom navigation */
:root{
  --font-ko:"Noto Sans KR","Pretendard","Pretendard Variable","SUIT Variable","SUIT","Apple SD Gothic Neo","Malgun Gothic",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html,
body,
button,
input,
select,
textarea{
  font-family:var(--font-ko);
  font-synthesis-weight:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html,
body,
a,
button,
input,
select,
textarea,
[role="button"],
.btn,
.icon-btn,
.bottom-nav a{
  -webkit-tap-highlight-color:transparent;
}
body{
  word-break:keep-all;
  overflow-wrap:break-word;
}
button,
a,
.btn,
.icon-btn,
.choice,
.game-option,
.bottom-nav a{
  touch-action:manipulation;
}
img,
picture,
canvas,
svg{
  -webkit-user-drag:none;
  user-drag:none;
}
img{
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
}
.bottom-nav{
  height:calc(78px + env(safe-area-inset-bottom))!important;
  padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;
  gap:7px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(219,226,239,.92)!important;
  border-bottom:0!important;
  border-radius:24px 24px 0 0!important;
  box-shadow:0 -18px 42px rgba(17,31,58,.13),0 -1px 0 rgba(255,255,255,.72) inset!important;
}
.bottom-nav a{
  min-width:0!important;
  height:58px;
  padding:6px 3px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  border-radius:18px!important;
  color:#69758b!important;
  font-size:11px!important;
  font-weight:650!important;
  letter-spacing:0!important;
  transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.bottom-nav a:active{
  transform:translateY(1px) scale(.985);
}
.bottom-nav a.active{
  color:#1f56d6!important;
  background:linear-gradient(180deg,#eef5ff 0%,#eaf2ff 100%)!important;
  border:1px solid rgba(86,133,255,.22)!important;
  box-shadow:0 10px 22px rgba(54,102,214,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.bottom-nav-icon{
  width:25px!important;
  height:25px!important;
  display:grid!important;
  place-items:center!important;
  color:currentColor;
  line-height:0!important;
}
.bottom-nav-icon svg{
  width:23px;
  height:23px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 4px 8px rgba(31,86,214,.08));
}
.bottom-nav a.active .bottom-nav-icon{
  color:#215fe8;
}
.bottom-nav a.active .bottom-nav-icon svg{
  stroke-width:2.15;
}
.bottom-nav a b{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:currentColor!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:0!important;
}

/* Tone down heavy Korean weights */
.brand-copy h1,
.brand h1,
.page-head h2,
.section-title h3,
.hero-panel h2,
.v51-title h2,
.v53-room-title-area h4,
.v53-record-main h4,
.space-room-title{
  font-weight:850!important;
}
.btn,
.pill,
.field label,
.field .field-title,
.choice,
.game-thumb-title b,
.game-thumb-badge,
.v53-game-name,
.v53-state-badge,
.v53-action-btn,
.space-chip,
.space-start-btn,
.space-rank-btn{
  font-weight:750!important;
}
.brand-copy small,
.brand small,
.field-help,
.legal-footer,
.pagination a,
.pagination span{
  font-weight:650!important;
}
.mb-toast{
  font-weight:400!important;
}
.weekly-game-tabs a,
.weekly-game-tabs a b,
.weekly-rank-num,
.weekly-rank-player b,
.weekly-rank-player b em,
.weekly-rank-player span,
.weekly-rank-item strong{
  letter-spacing:0!important;
}
.weekly-game-tabs a,
.weekly-game-tabs a b{
  font-weight:560!important;
}
.weekly-rank-player span{
  font-weight:400!important;
}
.weekly-rank-player b,
.weekly-rank-num,
.weekly-rank-item strong{
  font-weight:620!important;
}
.weekly-rank-player b em{
  font-weight:560!important;
}

@media (max-width:360px){
  .bottom-nav{
    height:calc(72px + env(safe-area-inset-bottom))!important;
    padding-inline:7px!important;
    gap:4px!important;
  }
  .bottom-nav a{
    height:54px;
    border-radius:16px!important;
  }
  .bottom-nav-icon{
    width:22px!important;
    height:22px!important;
  }
  .bottom-nav-icon svg{
    width:20px;
    height:20px;
  }
  .bottom-nav a b{
    font-size:10px!important;
  }
}
.group-league-card{margin:0 0 14px;padding:17px 18px;border:1px solid #eee3a2;border-radius:20px;background:linear-gradient(145deg,#fffdf0,#fff);box-shadow:0 8px 24px rgba(60,30,30,.055);color:#191919}.group-league-head{display:flex;align-items:center;gap:11px}.group-league-head>span{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:#fee500;font-size:21px}.group-league-head div{min-width:0}.group-league-head small,.group-league-head b{display:block}.group-league-head small{margin-bottom:2px;color:#8b7d19;font-size:10px;font-weight:800}.group-league-head b{font-size:16px;letter-spacing:-.03em}.group-league-progress{height:7px;margin:13px 0 7px;overflow:hidden;border-radius:999px;background:#eee}.group-league-progress i{display:block;height:100%;border-radius:inherit;background:#fee500}.group-league-card>p{margin:0;color:#777;font-size:11px}.group-league-details{margin-top:12px;border-top:1px solid #eee;padding-top:10px}.group-league-details>summary,.group-league-rewards>summary{cursor:pointer;list-style:none;color:#333;font-size:12px;font-weight:800}.group-league-details>summary::-webkit-details-marker,.group-league-rewards>summary::-webkit-details-marker{display:none}.group-league-details>summary:after,.group-league-rewards>summary:after{content:'펼치기';float:right;color:#999;font-size:10px}.group-league-details[open]>summary:after,.group-league-rewards[open]>summary:after{content:'접기'}.group-league-ranking{display:grid;gap:6px;margin-top:10px}.group-league-ranking>div,.group-league-rewards>div{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:7px;padding:8px 9px;border-radius:10px;background:#f7f7f7;font-size:11px}.group-league-ranking em{color:#9a8700;font-style:normal;font-weight:900;text-align:center}.group-league-ranking b,.group-league-rewards b{font-size:11px}.group-league-ranking>p{margin:8px 0;color:#888;font-size:11px}.group-league-rewards{margin-top:9px;padding:10px;border-radius:12px;background:#fffbea}.group-league-rewards>div{grid-template-columns:1fr auto;margin-top:5px;background:#fff}.space-room .group-league-card{position:relative;z-index:3;margin:12px 14px}.group-stats-page>.group-league-card,.open-rooms-page>.group-league-card{margin-bottom:12px}@media(max-width:380px){.group-league-card{padding:15px}.group-league-head b{font-size:15px}}
.group-league-modal{position:fixed!important;inset:0!important;width:100vw;height:100vh;height:100dvh;z-index:10000;display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .18s ease}.group-league-modal[hidden]{display:none!important}.group-league-modal.show{opacity:1}.group-league-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(25,25,25,.56);backdrop-filter:blur(8px)}.group-league-modal__panel{position:relative;width:min(100%,420px);max-height:min(82vh,680px);overflow:auto;border-radius:24px;background:#fff;padding:18px;box-shadow:0 28px 70px rgba(0,0,0,.28);transform:translateY(12px) scale(.98);transition:transform .18s ease}.group-league-modal.show .group-league-modal__panel{transform:none}.group-league-modal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.group-league-modal__head small{color:#9a8700;font-size:9px;font-weight:900;letter-spacing:.12em}.group-league-modal__head h2{margin:2px 0 0;font-size:19px}.group-league-modal .group-league-card{margin:0;box-shadow:none}.group-league-modal .group-league-details>summary{display:none}.group-league-modal .group-league-details{margin-top:13px}
.group-league-history-card{margin-bottom:14px;padding:18px}.group-league-history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}.group-league-history-head small{color:#8b7d19;font-size:9px;font-weight:900;letter-spacing:.11em}.group-league-history-head h2{margin:3px 0 0;font-size:18px;letter-spacing:-.04em}.group-league-history-head>span{padding:5px 8px;border-radius:999px;background:#f3f4f6;color:#777;font-size:10px;font-weight:800}.group-league-history-list{display:grid;gap:9px}.group-league-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:13px;border:1px solid #ececf0;border-radius:16px;background:linear-gradient(145deg,#fff,#fafbff)}.group-league-history-tier{display:flex;align-items:center;gap:9px;min-width:0}.group-league-history-tier>span{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:12px;background:#fff8cf;font-size:19px}.group-league-history-tier small,.group-league-history-tier b{display:block}.group-league-history-tier small{margin-bottom:2px;color:#8a8a92;font-size:10px;font-weight:700}.group-league-history-tier b{font-size:14px}.group-league-history-score{text-align:right}.group-league-history-score b,.group-league-history-score span{display:block}.group-league-history-score b{font-size:14px}.group-league-history-score span{margin-top:3px;color:#888;font-size:10px}.group-league-history-reward{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px dashed #e5e5e9;color:#777;font-size:10px}.group-league-history-reward b{color:#53535c;font-size:10px}.group-league-history-empty{padding:18px;border-radius:14px;background:#f7f7f8;text-align:center}.group-league-history-empty b{font-size:13px}.group-league-history-empty p{margin:5px 0 0;color:#888;font-size:11px;line-height:1.5}@media(max-width:380px){.group-league-history-card{padding:15px}.group-league-history-item{padding:11px}.group-league-history-reward{align-items:flex-start;flex-direction:column;gap:3px}}
.group-league-modal__period{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-2px 0 12px;padding:10px 12px;border:1px solid #e6edf7;border-radius:14px;background:#f7f9fd}.group-league-modal__period span{min-width:0;color:#667085;font-size:11px;font-weight:700}.group-league-modal__period b{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#fff4b8;color:#746500;font-size:10px;font-weight:850;white-space:nowrap}.group-league-modal .group-league-details>summary{display:block}@media(max-width:380px){.group-league-modal__period{display:grid;gap:6px}.group-league-modal__period b{width:max-content}}
