:root {
  --paper: #f3efe6;
  --sheet: #fffdf8;
  --ink: #1a1814;
  --muted: #5e584e;
  --line: #e3dace;
  --copper: #c45c26;
  --copper-deep: #8d3d14;
  --pine: #1d6b45;
  --navy: #1c2b3a;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --tab-safe: env(safe-area-inset-bottom, 0px);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
html { overflow-x: hidden; }
body, body.me-app, body.vip-page, body.me-page, body.order-page, body.team-page, body.tasks-page, body.team-detail-page {
  font-family: Manrope, system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
  background-image: none;
  line-height: 1.45;
  -webkit-tap-highlight-color: transparent;
}
img, svg { max-width: 100%; }
h1, h2, h3, .wordmark, .vip-card__copy h2, .me-header h1 {
  font-family: Fraunces, Georgia, serif;
  color: var(--ink);
  letter-spacing: -0.02em;
  overflow-wrap: anywhere;
}
body.has-tabbar { padding-bottom: calc(92px + var(--tab-safe)); }

.tabbar {
  position: fixed;
  z-index: 120;
  left: 50%;
  bottom: calc(8px + var(--tab-safe));
  transform: translateX(-50%);
  width: min(400px, calc(100% - 16px));
  max-width: 420px;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 2px;
  padding: 6px 4px;
  box-sizing: border-box;
  border-radius: 20px;
  background: var(--sheet);
  border: 1px solid var(--line);
  box-shadow: 0 8px 22px rgba(28, 43, 58, 0.14);
}
.tab {
  flex: 1 1 0;
  min-width: 0;
  min-height: 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 4px 1px;
  color: var(--muted);
  text-decoration: none;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: -0.02em;
  border-radius: 14px;
  touch-action: manipulation;
}
.tab span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tab svg { width: 20px; height: 20px; flex-shrink: 0; }
.tab:active { transform: translateY(1px); }
.tab.is-on {
  color: #fffdf8;
  background: var(--copper);
  box-shadow: 0 2px 8px rgba(196, 92, 38, 0.35);
}
.tab.is-on svg { stroke: #fffdf8; }

.miss {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  padding: 28px 22px calc(28px + var(--safe-bottom));
  color: var(--ink);
  background:
    linear-gradient(180deg, transparent 40%, var(--paper) 40%),
    var(--navy);
}
.err__code { margin: 0; font-family: Fraunces, Georgia, serif; font-size: 72px; color: #f3efe6; line-height: 0.9; }
.miss h1 { margin: 8px 0 0; font-size: 28px; }
.miss p { margin: 0; max-width: 28ch; color: var(--muted); font-weight: 600; }
.miss .btn {
  margin-top: 16px;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 18px;
  background: var(--copper);
  color: #fffdf8;
  text-decoration: none;
  font-weight: 800;
  border-radius: 4px;
}

.me-wrap, .hero, .profile, .vip-shell, .team-shell, .tasks-shell, .td-wrap, .stage {
  width: min(430px, 100%);
  margin: 0 auto;
}
.me-wrap {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: calc(12px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));
}

.me-header, .td-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: calc(12px + var(--safe-top)) 16px 12px;
  background: var(--navy);
  color: #f6f1e7;
}
.me-header h1, .td-header__title, .td-header h1 {
  margin: 0;
  flex: 1;
  text-align: left;
  font-size: 26px;
  color: #f6f1e7;
}
.me-header > span, .td-header > span { display: none; }
.me-back, .td-back {
  width: 40px; height: 40px;
  display: grid; place-items: center;
  color: #f6f1e7;
  border: 1px solid rgba(246, 241, 231, 0.35);
  border-radius: 4px;
  text-decoration: none;
  background: transparent;
}
.me-back svg, .td-back svg { width: 20px; height: 20px; }
.me-main, .td-main { flex: 1; padding: 16px 16px calc(20px + var(--safe-bottom)); }

.sheet, .panel, .wallet-card, .wallet-hero, .wf-card, .rec, .me-profile, .invite-card, .tasks-panel, .ir-card, .ir-now, .ci, .lw, .td-card {
  background: var(--sheet);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
}
.me-main .panel, .wf-card, .wallet-hero, .wallet-card { padding: 16px; margin-bottom: 12px; }

.me-profile { padding: 18px 16px; margin-bottom: 12px; border-left: 4px solid var(--navy); }
.me-avatar { display: none; }
.me-name { margin: 0; font-family: Fraunces, Georgia, serif; font-size: 28px; line-height: 1.1; }
.me-code { margin: 8px 0 0; color: var(--muted); font-size: 13px; font-weight: 650; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.me-copy, .copy-btn {
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  border-radius: 4px;
  min-height: 32px;
  padding: 0 10px;
  font-family: inherit;
  font-weight: 800;
  font-size: 12px;
  cursor: pointer;
}

.me-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 16px;
}
.me-cell {
  background: var(--navy);
  color: #f6f1e7;
  border-radius: 6px;
  padding: 12px;
  min-width: 0;
}
.me-cell--highlight { background: var(--copper); grid-column: span 2; }
.me-cell__val { margin: 0; font-family: Fraunces, Georgia, serif; font-size: clamp(18px, 5vw, 22px); color: #fffdf8; word-break: break-word; }
.me-cell__lbl { margin: 4px 0 0; font-size: 11px; font-weight: 700; color: rgba(255,253,248,0.86); line-height: 1.3; }

.me-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}
.me-grid__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 96px;
  padding: 12px 8px;
  text-align: center;
  text-decoration: none;
  color: var(--ink);
  background: var(--sheet);
  border: 1px solid var(--line);
  border-radius: 6px;
  font-weight: 800;
  font-size: 12px;
  line-height: 1.25;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.me-grid__tile:active { transform: scale(0.97); }
.me-grid__icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: #f3e2d4;
  color: var(--copper-deep);
  flex-shrink: 0;
}
.me-grid__icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; }
.me-grid__icon--emoji { font-size: 24px; line-height: 1; background: #f8e7c8; }
.me-grid__lbl { display: block; max-width: 100%; }
.me-grid__tile:nth-child(3n) .me-grid__icon { background: #dceadf; color: var(--pine); }
.me-grid__tile:nth-child(3n+2) .me-grid__icon { background: #e4e8ef; color: var(--navy); }
.me-grid__tile--checkin.is-ready { border-color: var(--pine); box-shadow: inset 0 0 0 1px rgba(29, 107, 69, 0.25); }
.me-grid__tile--logout { color: var(--copper-deep); }
.me-grid__tile--logout .me-grid__icon { background: #f8e4dc; color: var(--copper-deep); }

.quick__icon svg { fill: none; stroke: var(--copper-deep); }

.field, .wf-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.field span, .wf-label, .wf-method-lbl, .wallet-hero__lbl, .wf-balance__lbl, .wf-balance-card__lbl {
  font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted);
}
.field input, .field select, .wf-input, .link-box {
  width: 100%;
  min-height: 48px;
  border: 1px solid #cfc6b6;
  border-radius: 4px;
  background: #fff;
  color: var(--ink);
  font-family: inherit;
  font-size: 16px;
  font-weight: 650;
  padding: 10px 12px;
}
.field input::placeholder, .wf-input::placeholder { color: #8a8378; }
.btn, .wf-confirm, .submit, .ci-btn, .lw-spin, .ir-cta, .task-dl, .vip-unlock__btn, .lvl__details a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin-top: 8px;
  border: 0;
  border-radius: 4px;
  background: var(--navy);
  color: #f6f1e7;
  font-family: inherit;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.wf-confirm, .submit, .ci-btn, .vip-unlock__btn { background: var(--copper); color: #fffdf8; }
.btn--ghost, .ir-cta--ghost { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.btn:disabled, .wf-confirm:disabled, .ci-btn:disabled, .lw-spin:disabled, .vip-unlock__btn:disabled { opacity: 0.45; cursor: not-allowed; }
.note, .wallet-hero__hint, .rec__meta, .help p, .wf-info p, .wf-rules, .wf-empty, .ir-hint, .ir-note, .lw-note, .lw-sub {
  color: var(--muted); font-size: 13px; font-weight: 600; line-height: 1.5;
}
.help h2, .panel__title { margin: 18px 0 6px; font-size: 22px; }
.alert {
  margin: 0 0 10px; padding: 10px 12px; border-radius: 4px;
  background: #f8e4dc; color: #6d2b12; font-weight: 750; font-size: 14px;
}
.alert.is-ok { background: #dceadf; color: #14482d; }
.wallet-row, .rec, .wf-bank-line {
  display: flex; justify-content: space-between; gap: 10px;
  padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none;
}
.wallet-row strong, .rec__amt, .money { color: var(--pine); font-weight: 800; }
.wallet-hero__amt, .wf-balance__val, .wf-balance-card__val {
  margin: 0; font-family: Fraunces, Georgia, serif; font-size: 36px; color: var(--ink); line-height: 1;
}
.wf-balance-card { display: block; padding: 0 0 8px; background: transparent; border: 0; box-shadow: none; }
.wf-balance-card__art { display: none; }
.wf-stack { display: flex; flex-direction: column; gap: 8px; }
.wf-amount-grid { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; margin: 8px 0 12px; }
.wf-amount-chip, .chip, .wf-method, .me-pay, .filters button, .tasks-tab {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 4px;
  border: 1px solid #cfc6b6;
  background: #fff;
  color: var(--ink);
  font-family: inherit;
  font-weight: 800;
  cursor: pointer;
}
.wf-amount-chip.is-on, .chip.is-on, .wf-method.is-on, .filters button.is-on, .tasks-tab.is-on {
  background: var(--navy); color: #f6f1e7; border-color: var(--navy);
}
.wf-methods, .filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.wf-input-group { display: flex; border: 1px solid #cfc6b6; border-radius: 4px; background: #fff; overflow: hidden; }
.wf-input-group__sym { display: grid; place-items: center; min-width: 40px; font-weight: 800; color: var(--copper-deep); }
.wf-input-group .wf-input { border: 0; }
.wf-info { padding: 4px 0 0; background: transparent; border: 0; }
.wf-info__icon { display: none; }
.wf-rules { margin: 8px 0 0; padding-left: 18px; }
.wf-link { display: block; margin-top: 12px; text-align: left; color: var(--copper-deep); font-weight: 800; }
.wallet-modal {
  position: fixed; inset: 0; z-index: 120; display: none; align-items: flex-end; justify-content: center;
  background: rgba(28, 43, 58, 0.45); padding: 16px;
}
.wallet-modal.is-open { display: flex; }
.wallet-modal__box { width: min(420px, 100%); background: var(--sheet); color: var(--ink); padding: 18px; border-radius: 6px; }
.wallet-modal__close { margin-top: 8px; border: 0; background: transparent; font-weight: 800; cursor: pointer; }

.hero { padding: calc(14px + var(--safe-top)) 16px 0; }
.profile { padding: 16px 16px calc(16px + var(--safe-bottom)); }
.wordmark { margin: 0; font-size: 34px; line-height: 1; }
.home-kicker { margin: 0 0 4px; font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--copper-deep); }
.home-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.home-top a { color: var(--ink); font-weight: 800; font-size: 13px; }
.quick {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 14px;
}
.quick a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 88px;
  padding: 12px 8px;
  text-align: center;
  background: var(--sheet);
  color: var(--ink);
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-weight: 800;
  font-size: 12px;
  line-height: 1.25;
}
.quick a:active { transform: scale(0.97); }
.quick__icon { width: 40px; height: 40px; display: grid; place-items: center; background: #f3e2d4; border-radius: 6px; flex-shrink: 0; }
.quick__icon svg { width: 22px; height: 22px; stroke: var(--copper-deep); fill: none; }
.quick a:nth-child(2) .quick__icon { background: #e4e8ef; }
.quick a:nth-child(3) .quick__icon { background: #dceadf; }
.quick a:nth-child(4) .quick__icon { background: #f8e7c8; }
.slider-card { position: relative; border-radius: 6px; overflow: hidden; border: 1px solid var(--line); height: 120px; }
.slider, .track, .slide { height: 100%; }
.slider { overflow: hidden; touch-action: pan-y; }
.track { display: flex; transition: transform 0.45s ease; }
.slide { position: relative; flex: 0 0 100%; background: var(--navy); }
.slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.slide__mark { position: absolute; left: 12px; bottom: 10px; margin: 0; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-shadow: 0 1px 2px rgba(0,0,0,.45); }
.dots { position: absolute; right: 10px; bottom: 10px; display: flex; gap: 5px; }
.dot { width: 7px; height: 7px; border: 0; border-radius: 99px; background: rgba(255,255,255,.55); padding: 0; }
.dot.is-on { background: #fff; width: 16px; }
.profile-banner { display: none; }
.section-title { margin: 18px 0 8px; font-size: 22px; }
.members-viewport { overflow: hidden; height: 132px; }
.members-track { display: flex; flex-direction: column; transition: transform .45s ease; }
.members-track.is-reset { transition: none; }
.member { display: grid; grid-template-columns: 92px 1fr; gap: 2px 10px; padding: 10px 0; border-bottom: 1px solid var(--line); background: transparent; border-radius: 0; box-shadow: none; }
.member__badge { grid-row: span 2; align-self: center; font-size: 11px; font-weight: 800; color: var(--copper-deep); }
.member__amt, .member__sub { margin: 0; }
.member__amt { font-weight: 800; }
.member__sub { font-size: 12px; color: var(--muted); }
.marks-box { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mark { display: flex; flex-direction: column; gap: 4px; padding: 10px; background: var(--sheet); border: 1px solid var(--line); border-radius: 6px; }
.mark img { width: 36px; height: 36px; object-fit: cover; border-radius: 4px; }
.mark span { font-size: 12px; color: var(--muted); }
.empty, .tasks-empty, .vip-empty, .td-empty { color: var(--muted); font-weight: 700; }
.vip-shell { padding: calc(16px + var(--safe-top)) 16px 12px; }
.vip-head { margin: 4px 0 12px; font-size: 15px; font-family: Manrope, sans-serif; font-weight: 700; color: var(--muted); }
.vip-list { display: flex; flex-direction: column; gap: 12px; }
.vip-card { display: grid; grid-template-columns: 88px 1fr; gap: 10px 12px; padding: 12px; background: var(--sheet); border: 1px solid var(--line); border-left: 4px solid var(--copper); border-radius: 6px; color: var(--ink); }
.vip-card__top { display: contents; }
.vip-card__thumb { grid-column: 1; grid-row: 1; width: 88px; height: 88px; }
.vip-card__thumb img { width: 88px; height: 88px; object-fit: contain; background: #f6f1e7; border-radius: 4px; }
.vip-card__copy { grid-column: 2; grid-row: 1; min-width: 0; }
.vip-card__copy h2 { margin: 0 0 6px; font-size: 18px; }
.vip-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.pill { font-size: 11px; font-weight: 800; padding: 3px 6px; border-radius: 4px; background: #f3e2d4; color: var(--copper-deep); }
.pill--limit { background: #e4e8ef; color: var(--navy); }
.vip-prices { display: flex; gap: 12px; }
.vip-prices strong { display: block; font-size: 18px; color: var(--ink); }
.vip-prices span { display: block; font-size: 11px; color: var(--muted); font-weight: 700; }
.vip-unlock__btn { grid-column: 1 / -1; }
.vip-modal { position: fixed; inset: 0; z-index: 200; display: none; align-items: flex-end; justify-content: center; padding: 16px; background: rgba(28,43,58,.5); }
.vip-modal.is-open { display: flex; }
.vip-modal__sheet { width: min(420px, 100%); background: var(--sheet); color: var(--ink); padding: 18px; border-radius: 6px; }
.vip-modal__text { font-weight: 700; }
.vip-modal__confirm { min-height: 46px; width: 100%; border: 0; border-radius: 4px; background: var(--copper); color: #fffdf8; font-weight: 800; }

/* —— Orders (purchased projects) —— */
.order-page .order-wrap {
  max-width: 420px;
  margin: 0 auto;
  padding: calc(12px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));
  color: var(--ink);
}
body.has-tabbar.order-page .order-wrap,
body.order-page.has-tabbar .order-wrap {
  padding-bottom: calc(24px + 92px + var(--tab-safe));
}
.order-top {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.order-back {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: var(--sheet);
  color: var(--navy);
  text-decoration: none;
}
.order-back svg { width: 20px; height: 20px; }
.order-top__title {
  margin: 0;
  text-align: center;
  font-family: Manrope, sans-serif;
  font-size: 17px;
  font-weight: 800;
  color: var(--navy);
}
.order-hero { margin-bottom: 14px; }
.order-hero__title {
  margin: 4px 0 6px;
  font-family: Manrope, sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--navy);
}
.order-hero__sub {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  line-height: 1.45;
}
.order-alerts { margin-bottom: 10px; }
.order-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}
.order-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 6px;
  background: var(--sheet);
  border: 1px solid var(--line);
  border-radius: 6px;
  text-align: center;
}
.order-stat--pulse { border-color: var(--copper); box-shadow: 0 0 0 1px rgba(196, 120, 74, 0.25); }
.order-stat__val {
  font-family: Manrope, sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.15;
}
.order-stat__lbl {
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
}
.order-list { display: flex; flex-direction: column; gap: 12px; }
.order-card {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 10px 12px;
  padding: 12px;
  background: var(--sheet);
  border: 1px solid var(--line);
  border-left: 4px solid #c8d0dc;
  border-radius: 6px;
}
.order-card.is-active { border-left-color: var(--copper); }
.order-card.is-claimable { box-shadow: 0 0 0 1px rgba(196, 120, 74, 0.35); }
.order-card__media img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  background: #f6f1e7;
  border-radius: 4px;
}
.order-card__body { min-width: 0; }
.order-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}
.order-card__name {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--ink);
}
.order-badge {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 7px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background: #e4e8ef;
  color: var(--navy);
}
.order-badge--active,
.order-badge--running { background: #e8f4ea; color: #1f6b3a; }
.order-badge--completed { background: #e4e8ef; color: var(--navy); }
.order-badge--expired { background: #f3e8e4; color: #8b4518; }
.order-card__tag {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
}
.order-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 10px;
}
.order-metrics strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: var(--ink);
}
.order-metrics span {
  display: block;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--muted);
}
.order-progress__bar {
  height: 6px;
  border-radius: 999px;
  background: #e8ecf2;
  overflow: hidden;
  margin-bottom: 4px;
}
.order-progress__fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--copper), #e8a86a);
  transition: width 0.35s ease;
}
.order-progress__meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 6px;
  font-size: 10px;
  font-weight: 700;
  color: var(--muted);
}
.order-card__next {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  color: var(--copper-deep);
}
.order-card__note {
  margin: 0 0 8px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--muted);
}
.order-claim-btn,
.order-wait-btn {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border: 0;
  border-radius: 4px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.order-claim-btn {
  cursor: pointer;
  background: var(--copper);
  color: #fffdf8;
}
.order-claim-btn.is-busy { opacity: 0.65; pointer-events: none; }
.order-wait-btn {
  background: #eef1f6;
  color: var(--muted);
}
.order-empty {
  text-align: center;
  padding: 28px 18px;
  border: 1px dashed var(--line);
  border-radius: 6px;
  background: var(--sheet);
}
.order-empty__title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 800;
  color: var(--navy);
}
.order-empty__text {
  margin: 0 0 14px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--muted);
}
.order-empty__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 4px;
  background: var(--copper);
  color: #fffdf8;
  font-weight: 800;
  text-decoration: none;
}

.team-shell { padding: calc(16px + var(--safe-top)) 16px 12px; }
.invite-card { padding: 14px; margin-bottom: 14px; }
.invite-row, .link-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.invite-code { font-family: Fraunces, Georgia, serif; font-size: 28px; }
.invite-hint { color: var(--muted); font-size: 13px; }
.link-box { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.share-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.share-btn { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 4px; background: var(--navy); color: #f6f1e7; }
.share-btn svg { width: 18px; height: 18px; }
.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.stats-cell { background: var(--sheet); border: 1px solid var(--line); border-radius: 6px; padding: 10px; }
.stats-cell__val { margin: 0; font-family: Fraunces, Georgia, serif; font-size: 20px; }
.stats-cell__lbl { margin: 2px 0 0; font-size: 11px; color: var(--muted); font-weight: 700; }
.levels { display: flex; flex-direction: column; gap: 10px; }
.lvl { background: var(--sheet); border: 1px solid var(--line); border-radius: 6px; padding: 12px; display: grid; grid-template-columns: 40px 1fr auto; gap: 4px 10px; align-items: center; }
.lvl__icon img { width: 40px; height: 40px; border-radius: 4px; object-fit: cover; }
.lvl h2 { margin: 0; font-size: 16px; grid-column: 2; }
.lvl p, .pct, .income { margin: 0; font-size: 12px; color: var(--muted); grid-column: 2; }
.pct, .income { color: var(--ink); font-weight: 800; font-size: 16px; }
.lvl__details { grid-column: 3; grid-row: 1 / span 4; }
.lvl__details a { width: auto; min-height: 36px; padding: 0 10px; margin: 0; background: transparent; color: var(--copper-deep); border: 1px solid var(--copper); }
.toast { position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%) translateY(8px); background: var(--navy); color: #f6f1e7; padding: 8px 12px; border-radius: 4px; opacity: 0; z-index: 90; font-weight: 700; }
.toast.is-on { opacity: 1; transform: translateX(-50%) translateY(0); }

.tasks-shell { padding: calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom)); }
.tasks-reset { display: flex; gap: 8px; align-items: center; font-weight: 700; margin-bottom: 10px; color: var(--copper-deep); }
.tasks-reset svg { width: 18px; height: 18px; }
.tasks-reset.is-hidden { display: none; }
.tasks-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.tasks-stats__cell { background: var(--navy); color: #f6f1e7; border-radius: 6px; padding: 12px; }
.tasks-stats__cell span { display: block; font-size: 11px; color: rgba(246,241,231,.8); }
.tasks-stats__cell strong { font-family: Fraunces, Georgia, serif; font-size: 28px; }
.tasks-tabs { display: flex; gap: 8px; margin-bottom: 8px; }
.task-row { display: grid; grid-template-columns: 52px 1fr auto; gap: 8px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.task-row__thumb img { width: 52px; height: 52px; object-fit: cover; border-radius: 4px; }
.task-row__title { margin: 0; font-weight: 800; }
.task-row__sub { margin: 2px 0 0; font-size: 12px; color: var(--muted); }
.task-row__reward { color: var(--pine); font-weight: 800; }
.task-dl { width: auto; min-height: 36px; padding: 0 10px; margin: 0; }
.task-done-tag { font-size: 12px; font-weight: 800; color: var(--pine); }
.task-row__progress { display: flex; align-items: center; gap: 6px; }
.task-row__progress-track { flex: 1; height: 4px; background: var(--line); border-radius: 99px; }
.task-row__progress-fill { height: 100%; background: var(--copper); width: 0; }

.ci-hero__kicker, .lw-kicker, .ir-now__kicker { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--copper-deep); }
.ci-hero__amt, .lw-title, .ir-now__title { margin: 4px 0; font-family: Fraunces, Georgia, serif; font-size: 32px; line-height: 1.05; }
.ci-hero__sub, .ir-now__sub { margin: 0 0 12px; color: var(--muted); font-weight: 650; }
.ci, .lw, .ir { background: transparent; border: 0; padding: 0; }
.ci-stats, .lw-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
.ci-stat, .lw-stat { background: var(--sheet); border: 1px solid var(--line); border-radius: 6px; padding: 10px; }
.ci-stat span, .lw-stat span { display: block; font-size: 11px; color: var(--muted); font-weight: 700; }
.ci-stat strong, .lw-stat strong { font-size: 16px; }
.ci-cycle__row { display: flex; gap: 6px; overflow-x: auto; }
.ci-day { flex: 0 0 72px; background: var(--sheet); border: 1px solid var(--line); border-radius: 6px; padding: 8px; }
.ci-day.is-claimed, .ci-day.is-done { background: #dceadf; }
.ci-day.is-today, .ci-day.is-ready { border-color: var(--copper); }
.ci-day__lbl, .ci-day__amt { margin: 0; font-size: 12px; font-weight: 800; }
.ci-cal { margin-top: 14px; }
.ci-cal__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.ci-cal__head h2 { margin: 0; font-size: 20px; }
.ci-cal__head span, .ci-cycle__title { color: var(--muted); font-size: 12px; font-weight: 700; }
.ci-cal__week, .ci-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; }
.ci-cal__week { margin: 8px 0 4px; font-size: 11px; font-weight: 800; color: var(--muted); }
.ci-cal__cell { min-height: 32px; display: grid; place-items: center; font-size: 13px; font-weight: 700; }
.ci-cal__cell.is-claimed { background: var(--pine); color: #fff; border-radius: 4px; }
.ci-cal__cell.is-today { outline: 2px solid var(--copper); border-radius: 4px; }
.ci-cal__cell.is-future { color: #b3ab9e; }
.ci-timer { color: var(--muted); font-weight: 700; }

.lw-stage { position: relative; width: min(280px, 78vw); margin: 8px auto 12px; }
.lw-rotor { width: 100%; transition: transform 4.2s cubic-bezier(.15,.8,.2,1); }
.lw-rotor svg { width: 100%; height: auto; display: block; }
.lw-pointer { position: absolute; left: 50%; top: -6px; transform: translateX(-50%); width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 14px solid var(--copper); z-index: 2; }
.lw-result { display: none; font-weight: 800; }
.lw-result.is-on { display: block; }
.lw-log { margin-top: 16px; }
.lw-log h2 { font-size: 20px; }
.lw-log ul { list-style: none; margin: 0; padding: 0; }
.lw-log li { padding: 8px 0; border-bottom: 1px solid var(--line); font-weight: 700; }
.lw-empty { color: var(--muted); }

.ir-steps { display: flex; gap: 6px; list-style: none; padding: 0; margin: 12px 0; }
.ir-steps li { flex: 1; height: 6px; background: #e3dace; border-radius: 99px; }
.ir-steps li.is-done { background: var(--pine); }
.ir-steps li.is-current { background: var(--copper); }
.ir-now, .ir-card { padding: 14px; margin-bottom: 10px; }
.ir-card__top { display: grid; grid-template-columns: 42px 1fr auto; gap: 8px; align-items: center; }
.ir-medal { font-size: 22px; }
.ir-card__rank { margin: 0; font-size: 11px; font-weight: 800; color: var(--muted); text-transform: uppercase; }
.ir-card__name { margin: 0; font-size: 18px; }
.ir-badge { font-size: 11px; font-weight: 800; padding: 3px 6px; border-radius: 4px; background: #f3e2d4; color: var(--copper-deep); }
.ir-req__row { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; font-weight: 700; }
.ir-bar { height: 4px; background: #efe8dc; border-radius: 99px; margin: 4px 0 8px; overflow: hidden; }
.ir-bar i { display: block; height: 100%; background: var(--copper); }
.ir-bar--mint i { background: var(--pine); }
.ir-cash { font-family: Fraunces, Georgia, serif; font-size: 26px; margin: 4px 0; }
.ir-prizes { list-style: none; margin: 0; padding: 0; }
.ir-prizes li { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; padding: 4px 0; border-top: 1px solid var(--line); }
.ir-card.is-locked { opacity: 0.72; }

.td-card { padding: 12px; margin-bottom: 8px; }
.td-card h2 { margin: 0 0 4px; font-size: 18px; }
.td-card p { margin: 0; font-size: 13px; color: var(--muted); }
.td-empty__art { width: 100%; height: auto; }
.cs-line { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 800; }
.rc-history-wrap__title { font-size: 20px; }
.rc-history__meta { color: var(--muted); font-size: 12px; }

.screen { padding: 0 0 calc(24px + var(--safe-bottom)); }
.auth-mast { background: var(--navy); color: #f6f1e7; padding: calc(28px + var(--safe-top)) 20px 48px; }
.auth-mast p { margin: 0 0 6px; letter-spacing: 0.14em; text-transform: uppercase; font-size: 12px; font-weight: 800; color: #e7b08a; }
.auth-mast h1 { margin: 0; font-size: 40px; color: #f6f1e7; line-height: 0.95; }
.auth-sheet { margin: -28px 16px 0; background: var(--sheet); border: 1px solid var(--line); border-radius: 6px; padding: 16px; }
.auth-sheet .field { flex-direction: row; align-items: center; border: 1px solid #cfc6b6; border-radius: 4px; padding: 0 10px; background: #fff; }
.auth-sheet .field input { border: 0; padding-left: 0; }
.dial { font-weight: 800; }
.eye { border: 0; background: transparent; width: 36px; height: 36px; color: var(--ink); }
.switch { margin: 14px 16px 0; color: var(--muted); font-weight: 700; }
.switch a { color: var(--copper-deep); font-weight: 800; }
.logo, .reel { display: none; }

@media (max-width: 360px) {
  .me-header h1, .wordmark { font-size: 28px; }
  .vip-card { grid-template-columns: 72px 1fr; }
  .vip-card__thumb, .vip-card__thumb img { width: 72px; height: 72px; }
  .marks-box, .stats-grid, .tasks-stats, .ci-stats, .lw-stats { grid-template-columns: 1fr; }
}
