/* Portal surfaces deliberately keep their own light palette inside the dark shell. */
.tp-account #overlay-root { color-scheme: light; color: var(--c_app_19344d, #19344d); --text: var(--c_app_19344d, #19344d); --muted: var(--c_app_536b80, #536b80); --primary-dark: var(--c_app_163c5b, #163c5b); }
.tp-account .drawer { color: var(--c_app_19344d, #19344d); background: var(--c_app_f8fbfe, #f8fbfe); }
.tp-account .drawer__hero { background: var(--c_app_12354e, #12354e); }
.tp-account .drawer__body { padding: 18px 16px 28px; }
.tp-account .drawer-label { color: var(--c_app_587185, #587185); font-size: 12px; letter-spacing: .09em; margin: 20px 12px 8px; }
.tp-account .drawer-link { color: var(--c_app_19344d, #19344d); font-size: 15px; font-weight: 650; border-radius: 12px; margin: 3px 0; }
.tp-account .drawer-link:hover, .tp-account .drawer-link:focus-visible { background: var(--c_app_e5f2f8, #e5f2f8); color: var(--c_app_064f6b, #064f6b); }
.tp-account .drawer-link > span:first-child { color: var(--c_app_19758a, #19758a); background: var(--c_app_e4f2f7, #e4f2f7); }
.tp-account .drawer-link > span:last-child { color: var(--c_app_607c91, #607c91); }
.tp-account .drawer-link > span svg { display: block; width: 20px; height: 20px; }
.tp-account .drawer-link--danger { color: var(--c_app_b33046, #b33046); }
.tp-account .drawer-link--danger > span:first-child { color: var(--c_app_b33046, #b33046); background: var(--c_app_fbe9ee, #fbe9ee); }
.tp-account .drawer-link--affiliate { background: var(--c_app_e3f4f7, #e3f4f7); color: var(--c_app_0b6075, #0b6075); }
.tp-account #overlay-root input, .tp-account #overlay-root select, .tp-account #overlay-root textarea { color-scheme: light; font-size: 16px; }
.tp-account #overlay-root input:is([type=checkbox],[type=radio]) { appearance: auto; accent-color: var(--c_app_087f96, #087f96); width: 21px; height: 21px; min-width: 21px; min-height: 21px; flex: none; margin: 0; cursor: pointer; }
.tp-account #overlay-root .referral-pixel-toggle, .tp-account #overlay-root .referral-push-option { color: var(--c_app_19344d, #19344d); }
.tp-account #overlay-root button { font-family: inherit; }
.tp-account #overlay-root :focus-visible { outline: 3px solid var(--c_app_1596ae, #1596ae); outline-offset: 3px; }
.tp-account-welcome .tp-eyebrow, .tp-account .tp-panel .tp-eyebrow { font-size: 12px; }
.tp-account-stats small, .tp-account .tp-panel>header>button, .tp-account-extras p, .tp-text-link { font-size: 14px; }
.tp-account-wallet small { font-size: 10px; }
.tp-account-wallet b { font-size: 15px; }
.tp-account-header nav>a, .tp-account-header nav>button { font-size: 14px; }
.tp-account-hero-copy .tp-chip { font-size: 11px; }
.tp-account-hero p { font-size: 16px; }
.tp-account .tp-history-row small, .tp-account .tp-rank-row small { font-size: 12px; }
.tp-account .tp-history-row b, .tp-account .tp-rank-row b { font-size: 14px; }
.tp-account .tp-history-row>strong, .tp-account .tp-rank-row>strong { font-size: 14px; }
@media(max-width:760px) {
  .tp-account-header { height: 88px; }
  .tp-account-welcome { gap: 14px; align-items: flex-start; padding-block:22px; }
  .tp-account-welcome p:last-child { font-size: 14px; max-width: 235px; }
  .tp-account-welcome .tp-chip { display: none; }
  /* Copy and art occupy distinct areas, never text over Nilo's face. */
  .tp-account-hero { min-height: 0; display: grid; grid-template-columns: 1fr; background: var(--c_app_10213b, #10213b); }
  .tp-account-hero-art { position: relative; grid-row: 1; width: 100%; height: 170px; object-fit: cover; object-position: 76% 45%; opacity: 1; }
  .tp-account-hero:after { display: none; }
  .tp-account-hero-copy { padding: 22px 24px 24px; }
  .tp-account-hero-copy .tp-chip { display: none; }
  .tp-account-hero h2 { font-size: clamp(28px,8vw,36px); margin: 0 0 12px; }
  .tp-account-hero h2 br { display: none; }
  .tp-account-hero p { font-size: 14px; margin: 0 0 18px; }
  .tp-account-hero p br { display: none; }
  .tp-account-hero .tp-btn { width: 100%; min-height: 52px; font-size: 16px; }
  .tp-account-stats small { font-size: 12px; }
  .tp-mobile-nav>* { font-size: 12px; }
  .tp-account .drawer { width: min(92vw,380px); }
}
/* Weekly points use the same visual language in portal and dialog. */
.tp-weekly-prizes { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap:10px; margin:6px 0 16px; }
.tp-weekly-prizes > div { min-width:0; padding:16px; border:1px solid var(--c_app_516172, #516172); background:var(--c_app_14283a, #14283a); border-radius:14px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; }
.tp-weekly-prizes span { display:block; font-size:.875rem; color:var(--c_app_bbcfde, #bbcfde); }
.tp-weekly-prizes strong { display:block; max-width:100%; font-size:1.25rem; line-height:1.3; color:var(--c_app_ffcf7c, #ffcf7c); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
@media(max-width:760px){.tp-weekly-prizes{grid-template-columns:minmax(0,1fr)}.tp-weekly-prizes > div{padding:13px 16px}}
.tp-weekly-deadline { font-size:12px; color:var(--c_app_b2c2d3, #b2c2d3); line-height:1.6; }
.tp-rank-row > strong { text-align:right; }.tp-rank-row > strong small { font-size:11px; display:block; margin-top:3px; }
.tp-rank-self { background:rgb(var(--c_app_65d1de-rgb, 101 209 222) / 0.08); border-radius:10px; padding-inline:10px; }
#overlay-root .tp-weekly-prizes > div { background:var(--c_app_edf6fb, #edf6fb); border-color:var(--c_app_c5dce9, #c5dce9); }
#overlay-root .tp-weekly-prizes strong { color:var(--c_app_28445b, #28445b); }
#overlay-root .tp-weekly-prizes span,#overlay-root .tp-weekly-deadline { color:var(--c_app_526c81, #526c81); }
#overlay-root .tp-weekly-rule { font-size:13px; line-height:1.7; color:var(--c_app_526c81, #526c81); margin:16px 0; }
#overlay-root .tp-rank-row { border-bottom-color:var(--c_app_d3e0eb, #d3e0eb); }
#overlay-root .tp-rank-row b,#overlay-root .tp-rank-row strong { color:var(--c_app_19344d, #19344d); }
#overlay-root .tp-rank-row small { color:var(--c_app_526c81, #526c81); }
#overlay-root .tp-rank-number { color:var(--c_app_14657c, #14657c); background:var(--c_app_e5f3f9, #e5f3f9); border-color:var(--c_app_c6dce7, #c6dce7); }
