/* Frontend light theme restore and late UI patches. */

/* v59 light theme restore */
:root{
  --v51-bg:#f8fbff;
  --v51-text:#101d36;
  --v51-muted:#69758c;
  --v51-line:#e7edf7;
  --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)!important;
}
.has-bottom-nav,
.has-bottom-nav .app-shell,
.desktop-shell,
.desktop-main,
.desktop-shell--plain,
.desktop-shell--plain .desktop-main,
.desktop-shell--plain .app-shell{
  background:#f8fbff!important;
}
.app-shell{
  background:rgba(255,255,255,.42)!important;
  box-shadow:0 0 0 1px rgba(231,237,247,.42)!important;
}
.topbar,
.ui-white-topbar{
  background:rgba(255,255,255,.88)!important;
  border-bottom:1px solid rgba(224,231,244,.85)!important;
  color:var(--v51-text)!important;
}
.brand-copy h1,
.brand h1,
.ui-white-topbar .brand-copy h1,
.page-head h2,
.section-title h3,
.v51-title h2,
.v51-game-title-row h3,
.v53-room-title-area h4,
.v53-record-main h4,
.install-hero h2,
.install-guide h3{
  color:var(--v51-text)!important;
}
.brand-copy small,
.brand small,
.ui-white-topbar .brand-copy small,
.page-head p,
.v51-title p,
.v51-game-title-row p,
.v53-game-name,
.v53-room-time,
.v53-room-date,
.v53-record-meta,
.install-hero p,
.install-guide p,
.install-status{
  color:var(--v51-muted)!important;
}
.ui-white-topbar .settings-icon-btn,
.icon-btn{
  color:#37445d!important;
  background:rgba(255,255,255,.9)!important;
  border:1px solid rgba(224,231,244,.9)!important;
  box-shadow:0 10px 28px rgba(22,36,65,.12)!important;
}
.surface-card,
.card,
.rank-item,
.room-card,
.v51-game-card,
.v53-room-card,
.v53-record-card,
.weekly-rank-item,
.info-card,
.legal-card,
.room-summary-card{
  background:#fff!important;
  color:var(--v51-text)!important;
  border:1px solid var(--v51-line)!important;
  box-shadow:var(--v51-shadow)!important;
}
.v51-game-card.active,
.weekly-rank-item.top{
  border-color:rgba(130,62,243,.28)!important;
  box-shadow:0 14px 30px rgba(125,53,232,.12)!important;
}
.create-page .v51-game-card,
.has-desktop-sidebar .create-page .v51-game-card{
  background:#fff!important;
}
.create-page .v51-game-card.purple,
.has-desktop-sidebar .create-page .v51-game-card.purple{background:#fff!important}
.create-page .v51-game-card.orange,
.has-desktop-sidebar .create-page .v51-game-card.orange{background:#fffdf8!important}
.create-page .v51-game-card.blue,
.has-desktop-sidebar .create-page .v51-game-card.blue{background:#f8fbff!important}
.create-page .v51-game-card.mint,
.has-desktop-sidebar .create-page .v51-game-card.mint{background:#f7fffb!important}
.create-page .v51-game-card.sky,
.has-desktop-sidebar .create-page .v51-game-card.sky{background:#f8fbff!important}
.v51-game-thumb,
.create-page .v51-game-thumb,
.has-desktop-sidebar .create-page .v51-game-thumb{
  background:linear-gradient(135deg,#ecefff,#fff)!important;
  box-shadow:none!important;
}
.v51-guide-btn,
.btn.secondary,
.btn.ghost,
.records-rank-btn,
.v53-action-btn{
  background:#f7f9fd!important;
  color:#526078!important;
  border:1px solid #e2e8f4!important;
  box-shadow:0 8px 18px rgba(22,36,65,.06)!important;
}
.pill,
.weekly-game-tabs a,
.pagination a,
.pagination span{
  background:#fff!important;
  color:#66758f!important;
  border-color:#e2e8f4!important;
  box-shadow:0 8px 18px rgba(22,36,65,.06)!important;
}
.pill.blue,
.weekly-game-tabs a.active,
.pagination .active{
  background:linear-gradient(135deg,rgba(157,92,255,.18),rgba(157,92,255,.08))!important;
  color:#6d28d9!important;
  border-color:rgba(125,53,232,.24)!important;
}
.muted,
.card p,
.info-list li,
.legal-card p,
.legal-card li,
.weekly-rank-player span{
  color:var(--v51-muted)!important;
}
.weekly-rank-item strong,
.rank-item b:last-child{
  color:var(--v51-text)!important;
}
.weekly-rank-num{
  background:#eef2ff!important;
  color:#6d28d9!important;
}
.room-meta-box,
.info-list li,
.copy-box,
.notice,
.settings-row,
.settings-install-box,
.modal-field-row,
.game-guide-content section,
.inline-note{
  background:#f7f9fd!important;
  border-color:#e6edf7!important;
  color:#344054!important;
}
.notice{
  background:#fff8e8!important;
  border-color:#ffe0a3!important;
  color:#a15c00!important;
}
.field label,
.field .field-title,
.modal-field-row label,
.settings-install-box b{
  color:#34425a!important;
}
.field input,
.field select,
.field textarea,
.modal-field-row input,
.modal-field-row select{
  background:#fff!important;
  color:#101828!important;
  border:1px solid #e2e8f4!important;
}
.field input::placeholder{
  color:#98a2b3!important;
}
.field-help,
.inline-note,
.app-modal__head p,
.settings-row small,
.settings-install-box small{
  color:var(--v51-muted)!important;
}
.app-modal__backdrop,
.settings-sheet__backdrop{
  background:rgba(30,42,68,.28)!important;
}
.app-modal__panel,
.settings-sheet__panel{
  background:rgba(255,255,255,.97)!important;
  color:var(--v51-text)!important;
  border:1px solid #e6edf7!important;
  box-shadow:0 30px 70px rgba(22,36,65,.24)!important;
}
.app-modal__head .hero-kicker{
  background:#eef5ff!important;
  border-color:#cfe0ff!important;
  color:#1d4ed8!important;
  font-weight:680!important;
}
.app-modal__head h3{
  color:#172033!important;
}
.bottom-nav,
.has-bottom-nav .bottom-nav{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(224,231,244,.9)!important;
  box-shadow:0 -18px 36px rgba(22,36,65,.10)!important;
}
.bottom-nav a{
  color:#66758f!important;
}
.bottom-nav a.active{
  color:#7d35e8!important;
  background:linear-gradient(135deg,rgba(157,92,255,.18),rgba(157,92,255,.08))!important;
  border:0!important;
}
.legal-footer,
.desktop-policy-links{
  color:#8a95a8!important;
}
.legal-footer a:hover,
.desktop-policy-links a:hover,
.section-title a,
.back-link,
.legal-card a{
  color:#1d4ed8!important;
}
.legal-card h2,
.legal-card h3,
.info-card h4,
.game-guide-content h4{
  color:#172033!important;
}
.game-guide-content ul{
  color:#475569!important;
}
.intro-tabs{
  background:rgba(246,248,252,.92)!important;
}
.intro-tabs a,
.intro-feature-card,
.intro-steps article,
.intro-policy article,
.intro-game-list article,
.intro-rank-card,
.intro-rule-item{
  background:#fff!important;
  border-color:#e5ebf6!important;
  color:#1f2a44!important;
  box-shadow:0 10px 24px rgba(22,36,65,.06)!important;
}
.intro-hero{
  background:linear-gradient(135deg,#ffffff 0%,#f2f7ff 100%)!important;
  border-color:#e0e8f6!important;
  box-shadow:0 14px 34px rgba(22,36,65,.08)!important;
}
.intro-hero .hero-kicker{
  background:#eef5ff!important;
  border-color:#cfe0ff!important;
  color:#1d4ed8!important;
}
.intro-hero h2,
.intro-feature-card h4,
.intro-steps h4,
.intro-policy h4,
.intro-game-list h4,
.intro-rank-card h4,
.intro-rule-item h4{
  color:#172033!important;
}
.intro-hero p,
.intro-feature-card p,
.intro-steps p,
.intro-policy p,
.intro-game-list p,
.intro-rank-card p,
.intro-rule-item p,
.intro-detail-list dd,
.intro-note{
  color:#60708a!important;
}
@media (max-width:899px){
  .has-bottom-nav{
    background:#f8fbff!important;
  }
  .has-bottom-nav .app-shell{
    background:#f8fbff!important;
  }
}
@media (min-width:900px){
  body.has-desktop-sidebar{
    background:#f2f5fa!important;
    color:#172033!important;
  }
  .has-desktop-sidebar .desktop-sidebar{
    background:#fff!important;
    border-right:1px solid #e3e9f4!important;
    box-shadow:8px 0 32px rgba(33,45,70,.04)!important;
  }
  .desktop-brand{
    color:#121a2c!important;
    border-bottom-color:#edf1f7!important;
  }
  .desktop-brand__text b{
    color:#121a2c!important;
  }
  .desktop-brand__text small,
  .desktop-nav__copy small{
    color:#748097!important;
  }
  .desktop-nav a,
  .desktop-nav button,
  .desktop-settings{
    color:#46546c!important;
  }
  .desktop-nav a:hover,
  .desktop-nav button:hover,
  .desktop-settings:hover,
  .desktop-nav a.active{
    background:#edf4ff!important;
    color:#1d4ed8!important;
    box-shadow:inset 0 0 0 1px rgba(73,126,245,.14)!important;
  }
  .desktop-nav__icon,
  .desktop-nav a.active .desktop-nav__icon{
    background:#f0f4fb!important;
  }
  .has-desktop-sidebar .surface-card,
  .has-desktop-sidebar .hero-panel,
  .has-desktop-sidebar .card,
  .has-desktop-sidebar .v51-game-card,
  .has-desktop-sidebar .v53-room-card,
  .has-desktop-sidebar .v53-record-card,
  .has-desktop-sidebar .weekly-rank-item{
    background:#fff!important;
    border-color:#e1e7f1!important;
    color:#172033!important;
    box-shadow:0 14px 34px rgba(31,45,70,.07)!important;
  }
  .desktop-shell--plain{
    background:#f8fbff!important;
  }
}

/* v60 room create ranking toggle */
.modal-toggle-row{
  grid-template-columns:34px minmax(0,1fr) auto!important;
}
.modal-toggle-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.modal-toggle-copy b{
  color:#26344d;
  font-size:14px;
  font-weight:680;
  line-height:1.25;
}
.modal-toggle-copy small{
  color:#66768f;
  font-size:12px;
  line-height:1.35;
}
.modal-switch{
  width:48px;
  height:28px;
  display:block;
  margin:0!important;
  position:relative;
  cursor:pointer;
}
.modal-switch input[type="hidden"]{
  display:none!important;
}
.modal-switch input[type="checkbox"]{
  position:absolute;
  inset:0;
  width:48px!important;
  height:28px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  appearance:none;
  -webkit-appearance:none;
  background:#d8e1ee!important;
  box-shadow:inset 0 0 0 1px rgba(112,128,152,.22)!important;
  cursor:pointer;
}
.modal-switch span{
  position:absolute;
  left:4px;
  top:4px;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 2px 7px rgba(38,52,77,.2);
  pointer-events:none;
  transition:transform .16s ease;
}
.modal-switch input[type="checkbox"]:checked{
  background:#2476f2!important;
}
.modal-switch input[type="checkbox"]:checked + span{
  transform:translateX(20px);
}
@media (max-width:420px){
  .modal-toggle-row{
    grid-template-columns:32px minmax(0,1fr) auto!important;
  }
  .modal-toggle-copy small{
    font-size:11px;
  }
}

.profile-stat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}
.profile-stat-grid.compact{
  margin:12px 0 0;
}
.profile-stat-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.profile-stat-card small{
  display:block;
  color:#667085;
  font-weight:900;
  margin-bottom:8px;
}
.profile-stat-card strong{
  display:block;
  color:#111827;
  font-size:25px;
  letter-spacing:0;
}
.profile-inventory-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.profile-inventory-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  padding:13px 14px;
}
.profile-inventory-item b{
  display:block;
  color:#111827;
}
.profile-inventory-item small{
  display:block;
  margin-top:3px;
  color:#667085;
}
.profile-inventory-item strong{
  white-space:nowrap;
  color:#1877f2;
}
@media (min-width:760px){
  .profile-stat-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .profile-stat-grid.compact{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
/* Kakao beta group stats */
.group-stats-page{display:grid;gap:14px;padding-bottom:20px}
.group-hero-card{overflow:hidden}
.group-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.group-stat-grid .profile-stat-card:last-child{grid-column:1 / -1}
.group-rank-list{display:grid;gap:10px}
.group-rank-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e8eef7;background:#f8fbff;border-radius:18px;padding:12px}
.group-rank-item>span{width:36px;height:36px;border-radius:14px;display:grid;place-items:center;background:#eef5ff;color:#1877f2;font-weight:1000}
.group-rank-item b{display:block;color:#101828;font-size:15px;line-height:1.35}
.group-rank-item small{display:block;margin-top:3px;color:#667085;font-size:12px;line-height:1.45}
.group-rank-item strong{color:#101828;font-size:14px;white-space:nowrap}
@media(max-width:380px){.group-rank-item{grid-template-columns:32px minmax(0,1fr) max-content}}
@media(min-width:760px){.group-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.group-stat-grid .profile-stat-card:last-child{grid-column:auto}}

.base-reward-modal[hidden]{display:none}
.base-reward-modal{
  position:fixed;
  inset:0;
  z-index:220;
  display:grid;
  place-items:center;
  padding:22px;
}
.base-reward-modal__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(15,23,42,.24);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.kakao-access-guide{width:min(100%,480px);margin:18px auto;padding:28px 22px 20px;border:1px solid #e7e9ee;border-radius:24px;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);box-shadow:0 18px 48px rgba(31,45,61,.08);text-align:center}
.kakao-access-guide__mark{width:58px;height:58px;margin:0 auto 15px;display:grid;place-items:center;border-radius:21px;background:#fee500;color:#292929;box-shadow:0 10px 24px rgba(254,229,0,.24)}
.kakao-access-guide--room .kakao-access-guide__mark{background:#e9f4ff;color:#1877f2;box-shadow:0 10px 24px rgba(24,119,242,.12)}
.kakao-access-guide__mark svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.kakao-access-guide__copy>small{display:block;margin-bottom:5px;color:#9aa2b1;font-size:10px;font-weight:700;letter-spacing:.12em}
.kakao-access-guide__copy h2{margin:0;color:#222;font-size:19px;font-weight:700;line-height:1.38;letter-spacing:-.025em}
.kakao-access-guide__copy p{margin:8px auto 0;max-width:350px;color:#667085;font-size:13.5px;font-weight:400;line-height:1.62;word-break:keep-all}
.kakao-access-guide__note{display:flex;align-items:flex-start;gap:9px;margin-top:18px;padding:12px 13px;border-radius:14px;background:#f5f7fa;text-align:left}
.kakao-access-guide__note>span{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border-radius:50%;background:#dfe5ec;color:#667085;font-size:11px;font-weight:700}
.kakao-access-guide__note p{margin:0;color:#697386;font-size:12px;font-weight:400;line-height:1.5;word-break:keep-all}
.kakao-access-guide__action{min-height:48px;margin-top:14px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:15px;background:#fee500;color:#292929;text-decoration:none;font-size:14px;font-weight:700;box-shadow:0 8px 18px rgba(254,229,0,.18);transition:transform .16s ease,filter .16s ease}
.kakao-access-guide__action span{font-size:21px;font-weight:400;line-height:1}
.kakao-access-guide__action:active{transform:scale(.985);filter:brightness(.98)}
@media(max-width:520px){.kakao-access-guide{margin:12px auto;padding:24px 17px 17px;border-radius:21px;box-shadow:0 12px 32px rgba(31,45,61,.07)}.kakao-access-guide__mark{width:52px;height:52px;border-radius:19px}.kakao-access-guide__copy h2{font-size:18px}}
.base-reward-modal__panel{
  position:relative;
  width:min(360px,100%);
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  background:#fff;
  color:#101828;
  padding:24px 18px 18px;
  text-align:center;
  box-shadow:0 24px 70px rgba(15,23,42,.24);
}
.base-reward-modal__panel h2{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.25;
  letter-spacing:0;
}
.base-reward-coin{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0 0 8px;
}
.base-reward-coin[hidden],
.base-reward-balance[hidden]{
  display:none;
}
.base-reward-coin strong{
  color:#0f172a;
  font-size:29px;
  line-height:1;
  letter-spacing:0;
  font-weight:750;
}
.base-reward-coin span{
  color:#334155;
  font-size:14px;
  font-weight:600;
}
.base-reward-coin img,
.base-reward-coin__icon{
  width:24px;
  height:24px;
  max-width:24px;
  max-height:24px;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
}
.base-reward-balance{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  margin:0 auto 14px;
  padding:7px 12px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  color:#64748b;
  font-size:13px;
  line-height:1.2;
  font-weight:400;
}
.base-reward-balance img,
.base-reward-balance__icon{
  width:16px;
  height:16px;
  max-width:16px;
  max-height:16px;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
}
.base-reward-balance b{
  color:#111827;
  font-weight:700;
}
.base-reward-modal__panel p{
  margin:0 0 17px;
  color:#64748b;
  font-size:14px;
  line-height:1.55;
  font-weight:350;
  white-space:pre-line;
}
