:root {
  --bg: #f6f6f8;
  --surface: rgba(255,255,255,.92);
  --surface-solid: #fff;
  --ink: #111114;
  --muted: #7d7d86;
  --hairline: rgba(17,17,20,.07);
  --line: rgba(17,17,20,.09);
  --accent: #e21d2c;
  --accent-dark: #b80f1c;
  --accent-soft: rgba(226,29,44,.09);
  --accent-rgb: 226,29,44;
  --blue: #e21d2c;
  --blue-deep: #b80f1c;
  --blue-soft: #fff0f2;
  --green: #21b26f;
  --orange: #ff5665;
  --red: #e21d2c;
  --purple: #7457f5;
  --shadow: 0 18px 45px rgba(31,35,48,.08), 0 2px 8px rgba(31,35,48,.04);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 17px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; min-height: 100%; background: var(--bg); overscroll-behavior-y: none; }
body { min-width: 320px; overflow-x: hidden; }
button, input, textarea, select { font: inherit; }
button { color: inherit; outline: 0; }
button:focus-visible { outline: 2px solid rgba(var(--accent-rgb),.42); outline-offset: 2px; }
a { color: inherit; }

.ambient { position: fixed; z-index: 0; border-radius: 50%; filter: blur(10px); pointer-events: none; opacity: .65; }
.ambient-a { width: 280px; height: 280px; top: -155px; right: -100px; background: radial-gradient(circle, rgba(var(--accent-rgb),.2), transparent 68%); }
.ambient-b { width: 240px; height: 240px; bottom: 8%; left: -170px; background: radial-gradient(circle, rgba(116,87,245,.12), transparent 70%); }

.is-hidden { display: none !important; }
.app { position: relative; z-index: 1; min-height: 100dvh; max-width: 760px; margin: 0 auto; padding-bottom: calc(104px + var(--safe-bottom)); }

.splash { position: fixed; inset: 0; z-index: 50; display: grid; place-content: center; justify-items: center; background: #fff; transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1); }
.splash.is-leaving { opacity: 0; transform: scale(1.025); pointer-events: none; }
.brand-mark { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 24px; color: white; font-size: 38px; font-weight: 760; letter-spacing: -.06em; background: linear-gradient(145deg, var(--accent), var(--accent-dark)); box-shadow: 0 24px 44px rgba(var(--accent-rgb),.25), inset 0 1px 1px rgba(255,255,255,.32); animation: brandIn .8s cubic-bezier(.16,1,.3,1) both; }
.splash-copy { margin-top: 18px; display: grid; justify-items: center; animation: fadeUp .8s .1s both; }
.splash-copy strong { font-size: 19px; letter-spacing: .24em; margin-left: .24em; }
.splash-copy span { margin-top: 5px; color: #9a9aa2; font-size: 12px; letter-spacing: .08em; }
.splash-loader { width: 44px; height: 3px; margin-top: 32px; border-radius: 4px; overflow: hidden; background: #eeeef1; }
.splash-loader i { display: block; height: 100%; width: 45%; border-radius: inherit; background: var(--blue); animation: load 1.2s ease-in-out infinite; }

.topbar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: calc(14px + var(--safe-top)) 18px 12px; background: linear-gradient(to bottom, rgba(246,246,248,.96) 68%, rgba(246,246,248,0)); backdrop-filter: blur(18px); }
.top-left { min-width: 0; display: flex; align-items: center; gap: 7px; }
.profile-button { display: flex; align-items: center; gap: 11px; border: 0; padding: 0; background: transparent; text-align: left; }
.avatar { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg, var(--accent), var(--accent-dark)); box-shadow: 0 7px 16px rgba(var(--accent-rgb),.2); font-size: 16px; font-weight: 760; }
.profile-copy { display: grid; gap: 1px; }
.profile-copy small { color: var(--muted); font-size: 11px; font-weight: 540; }
.profile-copy strong { max-width: 185px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; letter-spacing: -.015em; }
.top-actions { display: flex; align-items: center; gap: 7px; }
.balance-button { min-width: 168px; height: 62px; display: grid; align-content: center; justify-items: start; border: 0; border-radius: 20px; padding: 8px 15px; color: #fff; background: linear-gradient(145deg,var(--accent),var(--accent-dark)); box-shadow: 0 12px 28px rgba(var(--accent-rgb),.24); text-align: left; }
.balance-button small { opacity: .72; font-size: 8px; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.balance-button strong { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; line-height: 1.05; letter-spacing: -.03em; }
.balance-button span { margin-top: 2px; opacity: .68; font-size: 8px; font-weight: 650; }
.icon-button { position: relative; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.8); border-radius: 14px; background: rgba(255,255,255,.72); box-shadow: 0 6px 18px rgba(30,34,45,.05); font-size: 24px; line-height: 1; }
.icon-button:active { transform: scale(.92); }
.icon-button.has-dot i { position: absolute; top: 8px; right: 8px; width: 7px; height: 7px; border-radius: 50%; background: var(--red); border: 2px solid white; }
.notification-button { position: relative; width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(17,17,20,.06); border-radius: 13px; background: rgba(255,255,255,.88); box-shadow: 0 7px 20px rgba(31,35,48,.06); }
.notification-symbol { width: 20px; height: 20px; display: grid; place-items: center; border: 1.7px solid currentColor; border-radius: 50%; color: var(--accent); font-size: 12px; line-height: 1; font-weight: 760; }
.notification-button i { position: absolute; top: -5px; right: -5px; min-width: 17px; height: 17px; display: grid; place-items: center; border: 2px solid var(--bg); border-radius: 9px; padding: 0 3px; color: white; background: var(--accent); font-size: 8px; font-style: normal; font-weight: 800; }

.content { padding: 2px 18px 10px; }
.voice-limited .topbar,
.voice-limited .preview-banner { display: none !important; }
.voice-limited .content { padding-top: calc(22px + var(--safe-top)); }
.voice-limited .bottom-nav .nav-item:not([data-screen="tasks"]),
.voice-limited .bottom-nav .nav-create { pointer-events: none; opacity: .3; filter: saturate(.15); }
.voice-limited .bottom-nav .nav-item[data-screen="tasks"] { color: var(--ink); }
.voice-limited .bottom-nav .nav-item[data-screen="tasks"] .nav-icon { color: var(--accent); transform: translateY(-2px) scale(1.08); }
.page { animation: pageIn .42s cubic-bezier(.2,.8,.2,1) both; }
.eyebrow { margin: 12px 2px 7px; color: var(--muted); font-size: 11px; font-weight: 720; letter-spacing: .13em; text-transform: uppercase; }
.page-title { margin: 0 2px 18px; font-size: clamp(29px, 8vw, 40px); line-height: .98; letter-spacing: -.05em; font-weight: 760; }
.page-subtitle { margin: -9px 2px 20px; color: var(--muted); font-size: 14px; line-height: 1.45; }

.hero-card { position: relative; min-height: 204px; overflow: hidden; padding: 23px; border-radius: var(--radius-xl); color: white; background: linear-gradient(145deg,var(--accent),var(--accent-dark) 74%); box-shadow: 0 24px 55px rgba(var(--accent-rgb),.24); isolation: isolate; }
.hero-card.earnings-card { min-height: 148px; }
.hero-card::before { content: ""; position: absolute; z-index: -1; inset: -60% -30% auto auto; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(255,206,211,.58), rgba(255,89,105,.14) 45%, transparent 70%); }
.hero-card::after { content: ""; position: absolute; z-index: -1; width: 170px; height: 170px; left: -70px; bottom: -115px; border-radius: 50%; background: rgba(255,255,255,.08); }
.hero-top { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.hero-card .label { color: rgba(255,255,255,.57); font-size: 12px; font-weight: 620; }
.hero-value { margin-top: 7px; font-size: 48px; line-height: .95; font-weight: 760; letter-spacing: -.055em; }
.hero-value small { margin-left: 4px; font-size: 20px; letter-spacing: -.03em; }
.hero-badge { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.82); background: rgba(255,255,255,.09); backdrop-filter: blur(10px); font-size: 11px; font-weight: 650; }
.hero-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 32px; }
.hero-stat { padding: 10px 11px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.06); }
.hero-stat strong { display: block; font-size: 17px; letter-spacing: -.03em; }
.hero-stat span { display: block; margin-top: 2px; color: rgba(255,255,255,.53); font-size: 10px; }

.section-head { display: flex; align-items: end; justify-content: space-between; margin: 28px 2px 12px; }
.section-head h2 { margin: 0; font-size: 20px; letter-spacing: -.035em; }
.section-head button { border: 0; padding: 4px 0; color: var(--blue); background: transparent; font-size: 13px; font-weight: 610; }

.metrics { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.metric { min-height: 108px; padding: 17px; border: 1px solid rgba(255,255,255,.85); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.metric-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; background: #f1f5ff; color: var(--blue); font-size: 15px; }
.metric.orange .metric-icon { color: var(--blue); background: var(--blue-soft); }
.metric.green .metric-icon { color: var(--green); background: #e9f9f1; }
.metric.purple .metric-icon { color: var(--purple); background: #f0edff; }
.metric strong { display: block; margin-top: 13px; font-size: 25px; line-height: 1; letter-spacing: -.045em; }
.metric span { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }

.quick-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.quick { border: 0; padding: 0; background: transparent; }
.quick-icon { width: 54px; height: 54px; display: grid; place-items: center; margin: 0 auto; border: 1px solid rgba(255,255,255,.9); border-radius: 19px; background: rgba(255,255,255,.9); box-shadow: 0 9px 22px rgba(30,35,47,.06); font-size: 22px; transition: transform .2s; }
.quick:active .quick-icon { transform: scale(.9); }
.quick-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 18px; }
.quick-choice { display: grid; grid-template-columns: 34px 1fr 22px; align-items: center; gap: 10px; min-height: 54px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: var(--surface); text-align: left; }
.quick-choice span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: var(--blue-deep); background: var(--blue-soft); font-size: 17px; }
.quick-choice strong { font-size: 12px; }
.quick-choice i { color: var(--blue); font-style: normal; font-weight: 800; text-align: right; }
.quick-choice.is-selected { border-color: rgba(var(--accent-rgb),.46); background: var(--accent-soft); box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb),.11); }
.quick small { display: block; margin-top: 7px; color: #51515a; font-size: 10px; white-space: nowrap; }

.status-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.status-card { min-width: 0; min-height: 66px; display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 10px; padding: 12px 13px; border: 1px solid var(--hairline); border-radius: 18px; color: var(--ink); background: rgba(255,255,255,.9); box-shadow: 0 8px 22px rgba(30,35,47,.045); text-align: left; }
.status-card:active { transform: scale(.98); }
.status-dot { width: 8px; height: 28px; border-radius: 99px; background: var(--blue); }
.status-card.violet .status-dot { background: var(--purple); }
.status-card.rose .status-dot { background: #f05b72; }
.status-card.green .status-dot { background: var(--green); }
.status-card.dark .status-dot { background: #4b4b53; }
.status-copy { min-width: 0; display: grid; gap: 2px; }
.status-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; letter-spacing: -.015em; }
.status-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 9px; }
.status-card b { min-width: 27px; font-size: 24px; line-height: 1; letter-spacing: -.05em; text-align: right; }

.task-list { display: grid; gap: 10px; }
.task-card { position: relative; display: grid; grid-template-columns: 5px 1fr auto; gap: 13px; align-items: center; width: 100%; min-height: 94px; padding: 15px 14px 15px 10px; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: var(--radius-lg); background: var(--surface); box-shadow: 0 11px 27px rgba(30,35,47,.055); text-align: left; animation: cardIn .42s both; }
.task-card:active { transform: scale(.985); }
.waiting-task-card { grid-template-columns: 5px 1fr; cursor: default; }
.waiting-task-card:active { transform: none; }
.task-accent { align-self: stretch; width: 5px; border-radius: 99px; background: var(--blue); }
.task-accent.wait { background: var(--purple); }
.task-accent.review { background: var(--orange); }
.task-accent.done { background: var(--green); }
.task-accent.overdue { background: var(--red); }
.task-main { min-width: 0; }
.task-meta { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 650; letter-spacing: .05em; text-transform: uppercase; }
.type-pill { padding: 3px 6px; border-radius: 7px; color: #5b5b63; background: #f0f0f3; }
.task-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 680; letter-spacing: -.02em; }
.task-sub { display: flex; align-items: center; gap: 8px; margin-top: 7px; color: var(--muted); font-size: 11px; }
.task-sub .danger { color: var(--red); font-weight: 650; }
.task-side { display: grid; justify-items: end; gap: 9px; }
.status-pill { padding: 5px 8px; border-radius: 999px; color: var(--blue-deep); background: #e8f3ff; font-size: 9px; font-weight: 720; }
.status-pill.wait { color: #6548d6; background: #eeeaff; }
.status-pill.review { color: #a80e1b; background: #ffedf0; }
.status-pill.done { color: #168651; background: #e6f8ef; }
.status-pill.overdue { color: #d73027; background: #ffebe9; }
.chevron { color: #c5c5ca; font-size: 22px; font-weight: 300; }
.limited-voice-heading { margin: 2px 2px 23px; }
.limited-voice-heading .eyebrow { margin-top: 0; color: var(--accent); }
.limited-voice-heading .page-title { margin-bottom: 8px; font-size: clamp(38px,11vw,54px); }
.limited-voice-heading p { margin: 0; color: var(--muted); font-size: 14px; }
.voice-task-card { min-height: 108px; padding-top: 17px; padding-bottom: 17px; }
.voice-task-card .task-title { font-size: 17px; }
.voice-open-label { padding: 7px 10px; border-radius: 11px; color: var(--accent-dark); background: var(--accent-soft); font-size: 11px; font-weight: 740; }
.voice-task-summary { margin: 13px 0 4px; padding: 18px; border: 1px solid var(--hairline); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 8px 25px rgba(31,35,48,.05); }
.voice-task-summary small { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.voice-task-summary strong { display: block; margin-top: 5px; font-size: 18px; }

.filter-row { display: flex; gap: 8px; margin: 0 -18px 16px; padding: 0 18px 3px; overflow-x: auto; scrollbar-width: none; }
.filter-row::-webkit-scrollbar { display: none; }
.editor-filter { display: flex; gap: 8px; margin: 14px -18px 12px; padding: 2px 18px 5px; overflow-x: auto; scrollbar-width: none; }
.editor-filter::-webkit-scrollbar { display: none; }
.editor-filter button { flex: 0 0 auto; min-height: 45px; display: grid; align-content: center; padding: 7px 13px; border: 1px solid var(--hairline); border-radius: 16px; color: var(--ink); background: rgba(255,255,255,.86); text-align: left; box-shadow: 0 6px 18px rgba(30,35,47,.035); }
.editor-filter button span { font-size: 10px; font-weight: 720; }
.editor-filter button small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.editor-filter button.is-active { border-color: rgba(var(--accent-rgb),.22); color: var(--accent); background: var(--accent-soft); }
.filter { flex: 0 0 auto; border: 1px solid var(--hairline); border-radius: 999px; padding: 9px 14px; color: #676770; background: rgba(255,255,255,.72); font-size: 12px; font-weight: 620; }
.filter.is-active { border-color: var(--blue); color: white; background: var(--blue); box-shadow: 0 8px 20px rgba(var(--accent-rgb),.17); }

.empty { display: grid; place-items: center; min-height: 280px; padding: 32px 20px; text-align: center; }
.empty > div { width: min(100%, 320px); display: grid; justify-items: center; }
.empty-icon { width: 76px; height: 76px; display: grid; place-items: center; border: 1px solid rgba(var(--accent-rgb),.08); border-radius: 25px; color: var(--accent); background: linear-gradient(145deg, #fff, var(--accent-soft)); box-shadow: 0 16px 38px rgba(31,35,48,.08), inset 0 1px 0 #fff; }
.empty-icon svg { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.empty-icon-calm { color: var(--green); background: linear-gradient(145deg,#fff,#ecfaf3); border-color: rgba(33,178,111,.1); }
.empty-icon-data { color: var(--purple); background: linear-gradient(145deg,#fff,#f2efff); border-color: rgba(116,87,245,.1); }
.empty-icon-error { color: #65656d; background: linear-gradient(145deg,#fff,#f1f1f4); border-color: rgba(17,17,20,.07); }
.empty h3 { margin: 18px 0 6px; font-size: 19px; }
.empty p { max-width: 250px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }

.load-more { width: 100%; min-height: 58px; display: grid; place-items: center; gap: 2px; margin-top: 12px; padding: 10px 16px; border: 1px solid rgba(var(--accent-rgb),.12); border-radius: 18px; color: var(--accent); background: rgba(255,255,255,.88); box-shadow: 0 8px 24px rgba(31,35,48,.045); transition: transform .18s ease, opacity .18s ease; }
.load-more:active { transform: scale(.985); }
.load-more strong { font-size: 13px; font-weight: 720; }
.load-more small { color: var(--muted); font-size: 10px; }
.load-more.is-loading { opacity: .55; }

body.access-locked,
body.access-locked html { background: #fff; }
body.access-locked .ambient,
body.access-locked .topbar,
body.access-locked .preview-banner,
body.access-locked .bottom-nav { display: none !important; }
body.access-locked .app { max-width: none; min-height: 100dvh; padding: 0; background: #fff; }
body.access-locked .content { min-height: 100dvh; display: grid; place-items: center; padding: max(24px, var(--safe-top)) 24px max(24px, var(--safe-bottom)); background: #fff; }
.access-denied-screen { color: #111114; font-size: clamp(24px, 7vw, 34px); line-height: 1.1; font-weight: 740; letter-spacing: -.04em; text-align: center; }

.report-card, .panel { padding: 18px; border: 1px solid rgba(255,255,255,.88); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.month-switch { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.month-switch button { width: 36px; height: 36px; border: 0; border-radius: 12px; background: #f1f1f4; font-size: 18px; }
.month-switch strong { font-size: 16px; text-transform: capitalize; }
.progress-list { display: grid; gap: 15px; }
.progress-row-head { display: flex; justify-content: space-between; margin-bottom: 7px; font-size: 12px; }
.progress-row-head strong { text-transform: capitalize; }
.progress-row-head span { color: var(--muted); }
.bar { height: 8px; overflow: hidden; border-radius: 99px; background: #eeeef1; }
.bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), rgba(var(--accent-rgb),.55)); box-shadow: 0 0 10px rgba(var(--accent-rgb),.2); }
.personal-result .hero-stat { color: var(--accent-dark); background: var(--accent-soft); }
.personal-result .hero-stat span { color: rgba(var(--accent-rgb),.7); }

.report-person { cursor: pointer; }
.editor-report-cover { position: relative; min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 12px; overflow: hidden; padding: 15px 16px; border-radius: 24px; color: #fff; background: linear-gradient(145deg,#17171c,#33333b); box-shadow: 0 14px 34px rgba(17,17,20,.16); }
.editor-report-cover::after { content:""; position:absolute; width:150px; height:150px; right:-65px; top:-86px; border-radius:50%; background:rgba(var(--accent-rgb),.5); filter:blur(2px); }
.editor-report-person { position: relative; z-index: 1; display: flex; align-items: center; gap: 11px; min-width: 0; }
.editor-report-person > span { width: 44px; height: 44px; flex: 0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:15px; background:rgba(255,255,255,.11); font-size:16px; font-weight:760; }
.editor-report-person small { color:rgba(255,255,255,.55); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.editor-report-person h1 { overflow:hidden; margin:3px 0 0; text-overflow:ellipsis; white-space:nowrap; font-size:23px; line-height:1; letter-spacing:-.045em; }
.editor-report-period { position:relative; z-index:1; flex:0 0 auto; padding:6px 9px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.09); font-size:9px; font-weight:650; }
.editor-report-month { margin:10px 0 9px; padding:0 2px; }
.editor-report-kpis { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.editor-report-kpis article { min-width:0; padding:15px; border:1px solid var(--hairline); border-radius:19px; background:#fff; box-shadow:0 8px 24px rgba(31,35,48,.045); }
.editor-report-kpis strong { display:flex; align-items:center; gap:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:21px; letter-spacing:-.045em; }
.editor-report-kpis span { display:block; margin-top:4px; color:var(--muted); font-size:10px; }
.editor-report-rating { display:inline-flex; align-items:center; gap:2px; color:var(--muted); font-size:12px; font-style:normal; font-weight:720; letter-spacing:-.02em; }
.editor-report-rating i { color:#f4b400; font-size:14px; font-style:normal; line-height:1; text-shadow:0 1px 3px rgba(244,180,0,.24); }
.report-money-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.report-money-grid article { min-width:0; min-height:88px; padding:15px; border:1px solid var(--hairline); border-radius:20px; background:#fff; box-shadow:0 8px 24px rgba(31,35,48,.04); }
.report-money-grid span,.report-money-grid small { display:block; color:var(--muted); font-size:9px; }
.report-money-grid strong { display:block; overflow:hidden; margin:9px 0 4px; text-overflow:ellipsis; white-space:nowrap; font-size:20px; letter-spacing:-.04em; }
.report-money-grid .positive strong { color:var(--green); }
.report-money-grid .negative strong { color:var(--red); }
.report-money-grid .manual-bonus { grid-column:1/-1; }
.report-money-grid .total,.report-money-grid .manual-bonus { min-height:88px; }
.report-money-grid .total { color:#fff; border-color:transparent; background:linear-gradient(145deg,var(--accent),var(--accent-dark)); }
.report-money-grid .total span,.report-money-grid .total small { color:rgba(255,255,255,.66); }
.report-adjustments { display:grid; overflow:hidden; border:1px solid var(--hairline); border-radius:22px; background:#fff; box-shadow:var(--shadow); }
.report-adjustments article { min-height:64px; display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:11px; padding:10px 14px; border-bottom:1px solid var(--hairline); }
.report-adjustments article:last-child { border-bottom:0; }
.adjustment-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:12px; color:var(--accent); background:var(--accent-soft); font-size:16px; font-weight:780; }
.adjustment-icon.late,.adjustment-icon.deadline,.adjustment-icon.manual { color:var(--red); background:#fff0f1; }
.adjustment-icon.rework { color:var(--purple); background:#f1efff; }
.report-adjustments strong { display:block; font-size:12px; }
.report-adjustments small { display:block; margin-top:2px; color:var(--muted); font-size:9px; }
.report-adjustments b { font-size:13px; letter-spacing:-.02em; }
.report-types { margin-bottom:2px; }
.report-video .task-sub { flex-wrap:wrap; }
.report-tags { display:flex; flex-wrap:wrap; gap:4px; }
.report-tag { padding:3px 6px; border-radius:7px; font-size:8px; font-weight:700; }
.report-tag.positive { color:#138252; background:#e7f8ef; }
.report-tag.negative { color:#c92431; background:#ffebed; }
.report-tag.neutral { color:#6251c9; background:#efedff; }
.bar i.complete { background: linear-gradient(90deg, var(--green), #7bd9a9); }

.menu-list { display: grid; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.menu-row { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; min-height: 62px; padding: 8px 15px; border: 0; border-bottom: 1px solid var(--hairline); background: transparent; text-align: left; }
.menu-row:last-child { border-bottom: 0; }
.menu-row:active { background: #f5f5f7; }
.menu-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: white; background: var(--blue); }
.menu-icon.orange { background: var(--orange); }.menu-icon.green { background: var(--green); }.menu-icon.purple { background: var(--purple); }.menu-icon.dark { background: var(--blue); }.menu-icon.gold { color:#5b3900; background:linear-gradient(145deg,#ffe27a,#e9a913); box-shadow:0 6px 16px rgba(211,153,14,.25); }
.menu-copy strong { display: block; font-size: 14px; }
.menu-copy small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.menu-arrow { color: #b9b9c0; font-size: 20px; }

.profile-cover { position: relative; overflow: hidden; padding: 20px; border-radius: 28px; color: #fff; background: linear-gradient(145deg,var(--accent),var(--accent-dark)); box-shadow: 0 22px 48px rgba(var(--accent-rgb),.22); }
.profile-cover::after { content: ""; position: absolute; width: 190px; height: 190px; right: -85px; top: -105px; border-radius: 50%; background: rgba(255,255,255,.12); }
.profile-identity { position: relative; z-index: 1; display: flex; align-items: center; gap: 14px; }
.profile-avatar { width: 66px; height: 66px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 22px; color: white; background: rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); font-size: 24px; font-weight: 760; }
.profile-role { display: inline-block; margin-bottom: 4px; color: rgba(255,255,255,.7); font-size: 9px; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.profile-identity h1 { margin: 0; font-size: 27px; line-height: 1; letter-spacing: -.045em; }
.profile-identity p { margin: 5px 0 0; color: rgba(255,255,255,.65); font-size: 10px; }
.profile-wallet { position: relative; z-index: 1; width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2px 12px; margin-top: 20px; padding: 14px 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; color: #fff; background: rgba(255,255,255,.1); text-align: left; }
.profile-wallet small { grid-column: 1; color: rgba(255,255,255,.62); font-size: 9px; }
.profile-wallet strong { grid-column: 1; font-size: 23px; letter-spacing: -.04em; }
.profile-wallet span { grid-column: 2; grid-row: 1/3; align-self: center; font-size: 10px; font-weight: 700; }
.profile-month { margin: 2px 0 10px; padding: 0 2px; }
.profile-overview { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.profile-overview article { min-width: 0; padding: 14px 12px; border: 1px solid rgba(255,255,255,.9); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.profile-overview strong { display: block; overflow: hidden; text-overflow: ellipsis; font-size: 16px; letter-spacing: -.035em; }
.profile-overview span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.section-note { color: var(--muted); font-size: 11px; }
.type-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }
.type-grid article { position: relative; overflow: hidden; min-height: 76px; padding: 14px; border: 1px solid var(--hairline); border-radius: 18px; background: #fff; }
.type-grid article span { color: var(--muted); font-size: 10px; }
.type-grid article strong { display: block; margin-top: 7px; font-size: 24px; letter-spacing: -.04em; }
.type-grid article i { position: absolute; left: 0; bottom: 0; width: var(--fill); height: 3px; background: var(--blue); }

.over-goal { display: grid; gap: 3px; margin-bottom: 10px; padding: 18px; border: 1px solid rgba(33,178,111,.16); border-radius: 20px; background: linear-gradient(145deg,#eafaf2,#f8fffb); }
.over-goal span { color: #158657; font-size: 10px; font-weight: 720; letter-spacing: .07em; text-transform: uppercase; }
.over-goal strong { margin-top: 4px; color: #11764c; font-size: 27px; letter-spacing: -.045em; }
.over-goal small { color: #5f8f77; font-size: 9px; }
.goal-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }
.goal-card { padding: 14px; border: 1px solid var(--hairline); border-radius: 19px; background: #fff; box-shadow: 0 9px 24px rgba(31,35,48,.045); }
.goal-card.is-complete { border-color: rgba(33,178,111,.18); background: linear-gradient(150deg,#fff,#f1fbf6); }
.goal-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.goal-head span { color: var(--muted); font-size: 10px; font-weight: 680; }
.goal-head i { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 8px; color: var(--accent); background: var(--accent-soft); font-size: 9px; font-style: normal; font-weight: 800; }
.goal-card.is-complete .goal-head i { color: white; background: var(--green); box-shadow: 0 5px 12px rgba(33,178,111,.2); }
.goal-card > strong { display: block; margin-top: 8px; font-size: 25px; letter-spacing: -.045em; }
.goal-card > strong small { color: #aaaab1; font-size: 12px; }
.goal-bar { height: 4px; margin-top: 10px; overflow: hidden; border-radius: 4px; background: #ededf0; }
.goal-bar i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.goal-card.is-complete .goal-bar i { background: var(--green); }
.goal-card p { min-height: 22px; margin: 8px 0 0; color: var(--muted); font-size: 9px; line-height: 1.3; }
.goal-card.is-complete p { color: #20805a; }
.goal-card p.goal-script-summary { color: var(--muted); }
.goal-script-count { font-weight: 760; font-variant-numeric: tabular-nums; }
.goal-script-count.is-under { color: var(--red); }
.goal-script-count.is-over { color: var(--green); }
.goal-script-count.is-at-target { color: var(--muted); }

/* One month selector controls both format goals and daily income. */
.profile-page { padding: 0 0 24px; }
.profile-month { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 17px 0 2px; padding: 0; }
.profile-month > strong { font-size: 16px; font-weight: 700; letter-spacing: -.02em; text-transform: none; }
.profile-month > strong::first-letter { text-transform: uppercase; }
.profile-month button { width: 40px; height: 40px; }
.profile-month button:active { color: var(--accent); background: var(--accent-soft); transform: scale(.94); }
#profileAnalysis:not(:empty) { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--hairline); }
.profile-income { padding: 0; }
.profile-income-hero { padding: 0 0 22px; }
.profile-income-hero > div { min-width: 0; position: relative; z-index: 1; }
.profile-income-hero span,.profile-income-hero small { display: block; color: var(--muted); font-size: 12px; }
.profile-income-hero strong { display: block; margin: 5px 0 8px; font-size: clamp(30px,8.2vw,40px); font-weight: 760; line-height: 1; letter-spacing: -.055em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.profile-income-hero small { font-size: 11px; }
.profile-income-label { display: flex; align-items: center; gap: 7px; min-height: 36px; }
.profile-income-hero img { width: 36px; height: 36px; flex-shrink: 0; object-fit: contain; }
.profile-chart-caption { display: flex; justify-content: space-between; margin-bottom: 5px; color: var(--muted); font-size: 10px; }
.profile-analysis-chart { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 7px; height: 178px; margin: 0 0 22px; padding-bottom: 20px; }
.profile-analysis-axis { position: relative; color: #999ba4; font-size: 9px; text-align: right; }
.profile-analysis-axis span { position: absolute; right: 0; top: 8.333%; line-height: 1; transform: translateY(-50%); }
.profile-analysis-axis span:nth-child(2) { top: 50%; }
.profile-analysis-axis span:nth-child(3) { top: 91.666%; }
.profile-analysis-plot { position: relative; min-width: 0; }
.profile-income-chart { width: 100%; height: 100%; display: block; overflow: visible; }
.profile-income-gridline { stroke: #eff0f3; stroke-width: 1; vector-effect: non-scaling-stroke; }
.profile-income-track { fill: var(--accent-soft); }
.profile-income-bar { color: rgba(var(--accent-rgb),.25); transition: color .2s; }
.profile-income-bar.is-negative:not(.is-selected) { color: rgba(226,29,44,.4); }
.profile-analysis-days { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(var(--day-count),minmax(0,1fr)); }
.profile-analysis-day { position: relative; min-width: 0; padding: 0; border: 0; background: transparent; touch-action: manipulation; }
.profile-analysis-day > span { position: absolute; top: calc(100% + 2px); left: 50%; transform: translateX(-50%); color: #999ba4; font-size: 9px; }
.profile-analysis-day.is-selected > span { color: var(--accent); font-weight: 800; }
.profile-analysis-day:focus-visible { outline-offset: 1px; z-index: 1; border-radius: 5px; }
.profile-income-day { display: flex; justify-content: space-between; align-items: end; gap: 12px; padding: 16px 0 12px; border-top: 1px solid var(--hairline); }
.profile-income-day > div { display: grid; gap: 6px; }
.profile-income-day strong { font-size: 24px; font-weight: 730; letter-spacing: -.035em; }
.profile-income-day span { font-size: 11px; color: var(--muted); }
.profile-income-day .profile-income-date { font-size: 12px; color: var(--ink); }
.profile-income-work { display: flex; width: 100%; align-items: center; gap: 10px; min-height: 58px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--hairline); background: transparent; text-align: left; }
.profile-income-work:active { background: var(--accent-soft); }
.profile-income-work-mark { width: 25px; height: 25px; flex-shrink: 0; color: var(--accent); }
.profile-income-work-mark svg { width: 100%; height: 100%; }
.profile-income-work-title { min-width: 0; flex: 1; }
.profile-income-work-title strong { display: block; font-size: 12px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
.profile-income-work-title small { display: block; margin-top: 3px; font-size: 10px; color: var(--muted); }
.profile-income-work > b { max-width: 35%; font-size: 12px; font-weight: 650; text-align: right; }
.profile-income-chevron { flex-shrink: 0; color: #babcc4; font-size: 20px; }
.profile-income-empty { padding: 12px 0; color: var(--muted); font-size: 12px; }
.profile-settlement { margin-top: 14px; padding: 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.profile-settlement > summary { display: flex; align-items: center; gap: 8px; min-height: 58px; cursor: pointer; list-style: none; font-size: 12px; }
.profile-settlement > summary::-webkit-details-marker { display: none; }
.profile-settlement > summary strong { margin-left: auto; font-size: 14px; }
.profile-settlement-arrow { font-size: 20px; color: var(--muted); transition: transform .2s; }
.profile-settlement[open] .profile-settlement-arrow { transform: rotate(180deg); }
.profile-page .profile-overview { display: block; margin: 0 0 16px; }
.profile-page .profile-overview article { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.profile-page .profile-overview strong { font-size: 12px; }
.profile-page .profile-overview span { margin: 0; font-size: 11px; }
.profile-formats,.profile-payroll { margin-top: 28px; }
.profile-month + .profile-formats { margin-top: 12px; }
.profile-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.profile-section-title h2 { margin: 0; font-size: 20px; font-weight: 720; letter-spacing: -.035em; }
.profile-section-title > span { color: var(--muted); font-size: 10px; }
.profile-goal { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 0; border-bottom: 1px solid var(--hairline); }
.profile-goal:last-child { border-bottom: 0; }
.profile-goal-ring { width: 38px; height: 38px; flex-shrink: 0; }
.profile-goal-ring circle { fill: none; stroke: #edeef2; stroke-width: 3; }
.profile-goal-ring circle:nth-child(2) { stroke: var(--accent); stroke-linecap: round; transform: rotate(-90deg); transform-origin: 24px 24px; }
.profile-goal-ring path { fill: var(--accent); stroke: none; opacity: .6; }
.profile-goal.is-complete .profile-goal-ring circle:nth-child(2) { stroke: var(--green); }
.profile-goal-copy { flex: 1; min-width: 0; }
.profile-goal h3 { margin: 0; font-size: 14px; font-weight: 650; }
.profile-goal .goal-script-summary { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.profile-goal > strong { font-size: 24px; font-weight: 700; letter-spacing: -.04em; }
.profile-goal > strong small { font-size: 12px; font-weight: 500; letter-spacing: 0; color: var(--muted); }
.profile-over-goal { display: flex; justify-content: space-between; gap: 12px; padding: 16px 0; color: var(--green); font-size: 12px; }
.profile-format-list > div { display: flex; align-items: center; gap: 16px; min-height: 46px; font-size: 12px; }
.profile-format-list > div > span { flex: 0 0 66px; }
.profile-format-list i { display: block; flex: 1; height: 5px; background: #f0f1f4; border-radius: 4px; overflow: hidden; }
.profile-format-list i b { display: block; height: 100%; border-radius: inherit; background: var(--accent); opacity: .6; }
.profile-format-list strong { min-width: 24px; text-align: right; }
.profile-payroll dl { margin: 0; }
.profile-payroll dl > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; border-bottom: 1px solid var(--hairline); font-size: 12px; }
.profile-payroll dd { margin: 0; font-weight: 700; }
@media(min-width: 600px) {
  .profile-analysis-chart { height: 218px; }
  .profile-income-work-title strong { font-size: 14px; }
}
@media(max-width: 359px) {
  .profile-page { padding-left: 0; padding-right: 0; }
  .profile-income-hero strong { font-size: 30px; }
}

.creator-filter { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; margin: 0 0 10px; padding: 4px; border: 1px solid var(--hairline); border-radius: 16px; background: #ededf1; }
.creator-filter button { min-width: 0; min-height: 38px; padding: 7px 6px; border: 0; border-radius: 12px; color: #7e7e87; background: transparent; font-size: 10px; font-weight: 720; line-height: 1.15; }
.creator-filter button.is-active { color: var(--accent); background: #fff; box-shadow: 0 5px 14px rgba(31,35,48,.08); }
.theme-panel { padding: 15px; border: 1px solid var(--hairline); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.theme-panel label { display: flex; align-items: center; gap: 11px; }
.theme-panel label > span:nth-child(2) { min-width: 0; flex: 1; }
.theme-panel label strong, .theme-panel label small { display: block; }
.theme-panel label strong { font-size: 12px; }
.theme-panel label small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.theme-color-preview { width: 38px; height: 38px; flex: 0 0 auto; border: 4px solid white; border-radius: 13px; box-shadow: 0 0 0 1px var(--hairline),0 6px 14px rgba(31,35,48,.12); }
.theme-panel input[type="color"] { width: 44px; height: 38px; border: 0; padding: 0; background: transparent; cursor: pointer; }
.theme-presets { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--hairline); }
.theme-presets button { height: 29px; border: 4px solid #fff; border-radius: 10px; background: var(--swatch); box-shadow: 0 0 0 1px var(--hairline); }

.wallet-card { position: relative; overflow: hidden; padding: 22px; border-radius: 30px; color: #fff; background: linear-gradient(145deg,var(--accent),var(--accent-dark)); box-shadow: 0 24px 54px rgba(var(--accent-rgb),.25); }
.wallet-card::after { content: ""; position: absolute; width: 240px; height: 240px; right: -120px; top: -150px; border-radius: 50%; background: rgba(255,255,255,.12); }
.wallet-card-top { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 12px; color: rgba(255,255,255,.7); font-size: 10px; text-transform: capitalize; }
.wallet-card-top b { padding: 5px 8px; border-radius: 99px; color: #fff; background: rgba(255,255,255,.12); font-size: 8px; }
.wallet-card > small { position: relative; z-index: 1; display: block; margin-top: 28px; color: rgba(255,255,255,.6); font-size: 10px; }
.wallet-amount { position: relative; z-index: 1; margin-top: 4px; font-size: clamp(42px,12vw,62px); line-height: .95; font-weight: 770; letter-spacing: -.065em; }
.wallet-withdraw { position: relative; z-index: 1; width: 100%; min-height: 55px; margin-top: 24px; border: 0; border-radius: 17px; color: var(--blue-deep); background: #fff; box-shadow: 0 10px 24px rgba(85,0,9,.16); font-size: 14px; font-weight: 740; }
.wallet-withdraw:active { transform: scale(.985); }
.wallet-settings-link { position: relative; z-index: 1; width: 100%; margin-top: 13px; border: 0; color: rgba(255,255,255,.76); background: transparent; font-size: 10px; font-weight: 680; }
.wallet-details { display: grid; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow); }
.wallet-details div { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 15px; border-bottom: 1px solid var(--hairline); }
.wallet-details div:last-child { border-bottom: 0; }
.wallet-details span { color: var(--muted); font-size: 11px; }
.wallet-details strong { font-size: 14px; }
.wallet-month-flow { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 20px; }
.wallet-flow-card { min-width: 0; padding: 15px 14px; border: 1px solid transparent; border-radius: 19px; box-shadow: 0 9px 24px rgba(30,35,47,.045); }
.wallet-flow-card span,.wallet-flow-card small { display: block; }
.wallet-flow-card span { font-size: 9px; font-weight: 730; letter-spacing: .035em; text-transform: uppercase; }
.wallet-flow-card strong { display: block; margin-top: 7px; overflow: hidden; font-size: 19px; letter-spacing: -.045em; text-overflow: ellipsis; white-space: nowrap; }
.wallet-flow-card small { margin-top: 4px; color: var(--muted); font-size: 8px; text-transform: capitalize; }
.wallet-flow-card.credit { border-color: rgba(33,178,111,.16); background: linear-gradient(145deg,#ecfaf3,#f8fffb); }
.wallet-flow-card.credit span,.wallet-flow-card.credit strong { color: #128154; }
.wallet-flow-card.debit { border-color: rgba(224,48,73,.14); background: linear-gradient(145deg,#fff0f2,#fffafb); }
.wallet-flow-card.debit span,.wallet-flow-card.debit strong { color: #cf2c45; }
.wallet-history-head { margin-top: 15px; }
.wallet-history { display: grid; gap: 8px; }
.wallet-history article { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 11px; min-height: 64px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.9); border-radius: 18px; background: var(--surface); box-shadow: 0 8px 22px rgba(30,35,47,.045); }
.transaction-sign { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; font-weight: 800; }
.transaction-sign.plus { color: var(--green); background: #e9f9f1; }
.transaction-sign.minus { color: var(--blue); background: var(--blue-soft); }
.wallet-history article div { min-width: 0; }
.wallet-history article div strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.wallet-history article div small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.wallet-history article > b { font-size: 12px; }
.wallet-statement { overflow: hidden; border: 1px solid var(--hairline); border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: var(--shadow); }
.statement-date { padding: 14px 16px 7px; color: #9898a0; font-size: 9px; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.statement-row { display: grid; grid-template-columns: 11px minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 76px; padding: 13px 16px; border-bottom: 1px solid var(--hairline); }
.statement-row:last-child { border-bottom: 0; }
.statement-dot { width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 0 5px rgba(0,0,0,.025); }
.statement-dot.credit { background: #38c98a; }.statement-dot.debit { background: #f04d67; }
.statement-row div { min-width: 0; }.statement-row div strong { display: block; overflow: hidden; color: var(--ink); font-size: 11px; line-height: 1.28; text-overflow: ellipsis; white-space: nowrap; }
.statement-row div small { display: block; margin-top: 5px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.statement-row > b { font-size: 12px; white-space: nowrap; }.statement-row > b.credit { color: #139261; }.statement-row > b.debit { color: #d7324f; }
.pending-payouts { display: grid; gap: 8px; }.pending-payouts article { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 15px 17px; border: 1px solid #ffe2b8; border-radius: 19px; background: #fff9ef; }.pending-payouts span { color: #a46d17; font-size: 9px; }.pending-payouts strong { grid-row: 1/3; grid-column: 2; align-self: center; font-size: 17px; }.pending-payouts small { color: var(--muted); font-size: 8px; }
.payment-settings, .withdraw-methods { display: grid; gap: 9px; }
.currency-panel { overflow: hidden; padding: 7px; border: 1px solid var(--hairline); border-radius: 24px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); }
.currency-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 3px; border-radius: 18px; background: #f1f1f4; }
.currency-switch button { min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 15px; color: var(--muted); background: transparent; font-size: 11px; }
.currency-switch button span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 10px; color: var(--ink); background: rgba(255,255,255,.78); font-size: 15px; font-weight: 780; }
.currency-switch button strong { font-size: 11px; }
.currency-switch button.is-active { color: #fff; background: linear-gradient(145deg,var(--accent),var(--accent-dark)); box-shadow: 0 9px 22px rgba(var(--accent-rgb),.2); }
.currency-switch button.is-active span { color: var(--accent-dark); background: #fff; }
.currency-rate { min-height: 65px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px 4px; }
.currency-rate > span strong, .currency-rate > span small { display: block; }
.currency-rate > span strong { font-size: 11px; }
.currency-rate > span small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.currency-panel > p { margin: 2px 10px 9px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.wallet-admin-entry { width: 100%; min-height: 76px; display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid rgba(var(--accent-rgb),.13); border-radius: 23px; color: var(--ink); background: linear-gradient(145deg,rgba(var(--accent-rgb),.075),rgba(255,255,255,.96)); box-shadow: var(--shadow); text-align: left; }
.wallet-admin-entry:active { transform: scale(.985); }
.wallet-admin-entry > span:nth-child(2) { min-width: 0; }
.wallet-admin-entry strong,.wallet-admin-entry small { display: block; }
.wallet-admin-entry strong { font-size: 13px; }
.wallet-admin-entry small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.wallet-admin-entry > i { color: var(--accent); font-size: 21px; font-style: normal; }
.wallet-admin-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg,var(--accent),var(--accent-dark)); box-shadow: 0 9px 20px rgba(var(--accent-rgb),.22); font-size: 19px; font-weight: 780; }
.wallet-adjustment-note { display: grid; gap: 4px; padding: 13px 14px; border: 1px solid rgba(var(--accent-rgb),.10); border-radius: 17px; background: var(--accent-soft); }
.wallet-adjustment-note strong { font-size: 11px; }
.wallet-adjustment-note span { color: var(--muted); font-size: 9px; line-height: 1.45; }
.payment-settings > button, .withdraw-methods > button { width: 100%; min-height: 72px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--hairline); border-radius: 21px; color: var(--ink); background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(30,35,47,.045); text-align: left; }
.payment-settings button span:nth-child(2), .withdraw-methods button span:nth-child(2) { min-width: 0; }.payment-settings button strong, .withdraw-methods button strong { display: block; font-size: 12px; }.payment-settings button small, .withdraw-methods button small { display: block; margin-top: 4px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.payment-settings button > i, .withdraw-methods button > i { color: var(--accent); font-size: 9px; font-style: normal; font-weight: 750; }
.payment-method-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; font-size: 18px; font-weight: 780; }.payment-method-icon.card { color: #1764d9; background: #edf4ff; }.payment-method-icon.crypto { color: #8b5b00; background: #fff5da; }.payment-method-icon.cash { color: #178a5f; background: #eaf9f2; }
.privacy-note, .rating-private-note { margin: 11px 3px 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.saved-requisite { padding: 22px; border: 1px solid rgba(var(--accent-rgb),.14); border-radius: 24px; background: linear-gradient(145deg,#fff,var(--accent-soft)); box-shadow: var(--shadow); }.saved-requisite small, .saved-requisite span { display: block; color: var(--muted); font-size: 9px; }.saved-requisite strong { display: block; margin: 14px 0 7px; font-size: 30px; letter-spacing: -.04em; }
.amount-presets { display: flex; flex-wrap: wrap; gap: 7px; }.amount-presets button { min-height: 34px; padding: 0 12px; border: 1px solid var(--hairline); border-radius: 99px; color: var(--ink); background: #fff; font-size: 9px; font-weight: 700; }
.payment-insights { display: grid; margin: 8px 15px 0; overflow: hidden; border: 1px solid var(--hairline); border-radius: 18px; background: #fafafd; }
.payment-insight { min-width: 0; min-height: 58px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 9px 12px; border-bottom: 1px solid var(--hairline); }
.payment-insight:last-child { border-bottom: 0; }
.payment-insight > i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px; color: var(--accent); background: var(--accent-soft); font-style: normal; }
.payment-insight.pickup > i { color: #7b59d0; background: #f1edfb; }
.payment-insight.work > i { color: #168361; background: #eaf8f2; }
.payment-insight svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.payment-insight.ai svg path:first-child, .payment-insight.ai svg path:last-child { fill: currentColor; stroke: none; }
.payment-insight div { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.payment-insight small { color: var(--muted); font-size: 11px; line-height: 1.25; }
.payment-insight strong { flex: 0 0 auto; font-size: 14px; letter-spacing: -.02em; }
.payment-insight-open { min-height: 30px; border: 0; border-radius: 10px; padding: 0 10px; color: var(--accent-dark); background: var(--accent-soft); font-size: 10px; font-weight: 760; }
.payment-insight > .ai-rating { justify-self: end; font-size: 14px; white-space: nowrap; }
.payment-insight > .ai-rating span { color: #f4b400; font-size: 17px; line-height: 1; text-shadow: 0 1px 3px rgba(244,180,0,.24); }
.rating-payment-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; }
.rating-payment-list button { min-width: 0; min-height: 68px; display: grid; place-content: center; gap: 7px; padding: 8px 3px; border: 1px solid var(--hairline); border-radius: 16px; color: var(--ink); background: #fff; text-align: center; }
.rating-payment-list button span { color: #e2a21a; font-size: 12px; white-space: nowrap; }
.rating-payment-list button span b { color: var(--ink); font-size: 16px; }
.rating-payment-list button span i { color: var(--muted); font-size: 9px; font-style: normal; }
.rating-payment-list button strong { overflow: hidden; font-size: 10px; white-space: nowrap; text-overflow: ellipsis; }
.rating-payment-list button.is-active { border-color: var(--accent); background: var(--accent-soft); box-shadow: 0 0 0 2px rgba(var(--accent-rgb),.08); }

.finance-person { width: 100%; text-align: left; }
.notification-title { min-width: 0; align-items: end; flex-wrap: wrap; gap: 8px 14px; margin-top: 0; }
.notification-title .page-title { min-width: 0; margin-bottom: 0; overflow-wrap: anywhere; }
.notification-list { width: 100%; min-width: 0; display: grid; gap: 9px; overflow: hidden; }
.notification-card { width: 100%; min-width: 0; max-width: 100%; min-height: 86px; display: grid; grid-template-columns: 8px minmax(0,1fr) 14px; align-items: center; gap: 11px; overflow: hidden; border: 1px solid var(--hairline); border-radius: 20px; padding: 14px; background: rgba(255,255,255,.82); text-align: left; box-shadow: 0 8px 24px rgba(31,35,48,.04); }
.notification-card.is-unread { border-color: rgba(var(--accent-rgb),.16); background: linear-gradient(145deg,#fff,var(--accent-soft)); }
.notification-mark { width: 7px; height: 7px; border-radius: 50%; background: #d5d5da; }
.notification-card.is-unread .notification-mark { background: var(--accent); box-shadow: 0 0 0 5px rgba(var(--accent-rgb),.09); }
.notification-card > span:nth-child(2) { min-width: 0; max-width: 100%; overflow: hidden; }
.notification-card small { display: block; color: var(--muted); font-size: 8px; }
.notification-card strong { display: block; max-width: 100%; margin-top: 4px; overflow-wrap: anywhere; white-space: normal; font-size: 13px; }
.notification-card p { max-width: 100%; margin: 4px 0 0; overflow-wrap: anywhere; word-break: break-word; white-space: normal; color: var(--muted); font-size: 10px; line-height: 1.35; }
.notification-card > i { color: #b8b8bf; font-size: 20px; font-style: normal; }

.bottom-nav { position: fixed; z-index: 20; left: 50%; bottom: calc(10px + var(--safe-bottom)); width: min(calc(100% - 24px), 720px); height: 74px; display: grid; grid-template-columns: 1fr 1fr 68px 1fr 1fr; align-items: center; padding: 7px 10px; border: 1px solid rgba(255,255,255,.9); border-radius: 25px; background: rgba(255,255,255,.9); box-shadow: 0 18px 48px rgba(21,24,34,.18), inset 0 1px 0 #fff; backdrop-filter: blur(24px) saturate(1.5); transform: translateX(-50%); }
.nav-item { height: 56px; display: grid; place-content: center; justify-items: center; gap: 3px; border: 0; color: #9b9ba3; background: transparent; }
.nav-icon { width: 23px; height: 23px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s cubic-bezier(.2,.9,.2,1), color .25s; }
.nav-more-icon circle { fill: currentColor; stroke: none; }
.nav-item small { font-size: 9px; font-weight: 650; }
.nav-item.is-active { color: #17171a; }
.nav-item.is-active .nav-icon { color: var(--accent); transform: translateY(-2px) scale(1.08); }
.nav-create { width: 58px; height: 58px; display: grid; place-items: center; align-self: end; justify-self: center; margin-bottom: 3px; border: 0; border-radius: 20px; color: #fff; background: linear-gradient(145deg, var(--accent), var(--accent-dark)); box-shadow: 0 13px 26px rgba(var(--accent-rgb),.28), inset 0 1px 1px rgba(255,255,255,.28); font-size: 31px; font-weight: 280; transition: transform .2s; }
.nav-create svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.nav-create:active { transform: scale(.9) rotate(4deg); }

.modal-root { position: fixed; z-index: 100; inset: 0; pointer-events: none; }
.modal-root.is-open { pointer-events: auto; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(12,12,15,.28); backdrop-filter: blur(5px); animation: fadeIn .22s both; }
.sheet { position: absolute; left: 0; right: 0; bottom: 0; max-width: 760px; max-height: min(91dvh, 920px); margin: 0 auto; overflow-y: auto; padding: 9px 18px calc(24px + var(--safe-bottom)); border-radius: 30px 30px 0 0; background: #f8f8fa; box-shadow: 0 -20px 70px rgba(0,0,0,.2); animation: sheetIn .42s cubic-bezier(.16,1,.3,1) both; }
.sheet-handle { width: 38px; height: 5px; margin: 0 auto 15px; border-radius: 99px; background: #d2d2d7; }
.sheet-header { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.sheet-header h2 { margin: 0; font-size: 29px; line-height: 1.06; letter-spacing: -.045em; }
.sheet-header p { margin: 6px 0 0; color: var(--muted); font-size: 14px; line-height: 1.35; }
.close-button { width: 34px; height: 34px; flex: 0 0 auto; border: 0; border-radius: 50%; color: #6c6c74; background: #e7e7eb; font-size: 18px; }
.withdrawal-body { display: grid; gap: 18px; min-width: 0; }
.withdrawal-recipient { display: grid; gap: 5px; min-width: 0; }
.withdrawal-recipient small, .withdrawal-recipient span { color: #7d89a4; font-size: 13px; }
.withdrawal-recipient strong { color: #101936; font-size: 23px; overflow-wrap: anywhere; }
.withdrawal-field { min-width: 0; padding: 17px; border: 1px solid #e1e8f4; border-radius: 18px; background: #fff; }
.withdrawal-field > span { display: block; color: #7d89a4; font-size: 13px; }
.withdrawal-field > small { display: block; margin-top: 9px; color: #7d89a4; font-size: 12px; line-height: 1.45; }
.withdrawal-value-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 9px; }
.withdrawal-details, .withdrawal-amount { flex: 1 1 190px; min-width: 0; max-width: 100%; color: #101936; font-size: clamp(19px,5vw,24px); line-height: 1.3; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; user-select: text; }
.withdrawal-amount { font-size: clamp(25px,7vw,34px); }
.withdrawal-copy { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 7px; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 12px; background: var(--accent-soft); color: var(--accent); font: inherit; font-size: 12px; font-weight: 650; }
.withdrawal-copy svg { width: 19px; height: 19px; flex-shrink: 0; }
.withdrawal-note { margin: 0; color: #7d89a4; font-size: 13px; line-height: 1.55; }
.withdrawal-error { margin: 0; padding: 13px; border-radius: 12px; color: #a12030; background: #fff0f2; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.withdrawal-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; }
.withdrawal-actions .button { min-width: 0; min-height: 48px; border-radius: 14px; font-size: 15px; }
.withdrawal-sheet button:disabled { opacity: .55; cursor: wait; }
.detail-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 13px; }
.detail-meta span { padding: 7px 10px; border-radius: 10px; color: #5c5c65; background: #ececf0; font-size: 12px; font-weight: 650; }
.detail-block { padding: 17px; margin-top: 11px; border-radius: var(--radius-md); background: #fff; box-shadow: 0 6px 20px rgba(31,35,48,.05); }
.detail-block label { display: block; margin-bottom: 7px; color: var(--muted); font-size: 12px; font-weight: 680; letter-spacing: .07em; text-transform: uppercase; }
.detail-block p { margin: 0; font-size: 16px; line-height: 1.48; word-break: break-word; }
.detail-link { color: var(--blue); text-decoration: none; }
.finance-breakdown { overflow: hidden; margin: 12px 0 4px; border: 1px solid rgba(var(--accent-rgb),.12); border-radius: 24px; background: #fff; box-shadow: 0 12px 32px rgba(31,35,48,.07); }
.finance-head { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 17px; color: #fff; background: linear-gradient(145deg,var(--accent),var(--accent-dark)); }
.finance-head small { display: block; color: rgba(255,255,255,.7); font-size: 11px; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.finance-head strong { display: block; margin-top: 4px; font-size: 20px; letter-spacing: -.02em; }
.finance-head > span { padding: 8px 10px; border-radius: 11px; background: rgba(255,255,255,.16); font-size: 13px; font-weight: 760; }
.finance-lines { padding: 4px 15px; }
.finance-row { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--hairline); }
.finance-row:last-child { border-bottom: 0; }
.finance-row > div { min-width: 0; padding: 10px 0; }
.finance-row strong { display: block; font-size: 14px; }
.finance-row small { display: block; margin-top: 4px; overflow-wrap: anywhere; color: var(--muted); font-size: 11px; line-height: 1.4; }
.finance-row > b { flex: 0 0 auto; font-size: 15px; }
.finance-row-action { flex: 0 0 auto; display: grid; justify-items: end; gap: 5px; }
.finance-row-action > b { font-size: 15px; }
.finance-row-action > b.positive { color: var(--green); }
.finance-row-action > b.negative { color: var(--red); }
.finance-row-action > b.neutral { color: var(--muted); }
.finance-adjustment-buttons { display: flex; align-items: center; gap: 5px; padding-bottom: 5px; }
.finance-remove, .finance-edit { min-height: 29px; border: 0; border-radius: 9px; padding: 0 10px; font-size: 11px; font-weight: 720; }
.finance-remove { color: #9d1d26; background: #fff0f1; }
.finance-edit { color: #0064d8; background: #e8f2ff; }
.finance-edit:active, .finance-remove:active { transform: scale(.96); }
.finance-edit:focus-visible, .finance-remove:focus-visible { outline: 2px solid #007aff; outline-offset: 2px; }
.finance-row > b.positive { color: var(--green); }
.finance-row > b.negative { color: var(--red); }
.finance-row > b.neutral { color: var(--muted); }
.finance-row.cap { margin: 3px -7px; padding: 0 7px; border: 0; border-radius: 12px; background: #f3f3f6; }
.finance-row.compact { min-height: 48px; }
.finance-total { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px; border-top: 1px solid var(--hairline); background: #fafafd; }
.finance-total small { display: block; color: var(--muted); font-size: 11px; }
.finance-total strong { display: block; margin-top: 4px; font-size: 31px; letter-spacing: -.055em; }
.finance-total > span { padding: 7px 9px; border-radius: 10px; color: var(--accent-dark); background: var(--accent-soft); font-size: 11px; font-weight: 720; }
.shorts-fixed-payment { margin: 10px 0 16px; padding: 22px; border: 1px solid rgba(var(--accent-rgb),.12); border-radius: 24px; background: linear-gradient(145deg,#fff,var(--accent-soft)); box-shadow: var(--shadow); }
.shorts-fixed-payment small { color: var(--muted); font-size: 11px; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.shorts-fixed-payment strong { display: block; margin-top: 8px; font-size: 38px; letter-spacing: -.055em; }
.shorts-fixed-payment p { margin: 9px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.sheet .action-grid .button { min-height: 54px; font-size: 15px; }
.finance-breakdown.is-empty .finance-head { color: var(--ink); background: #fff; }
.finance-breakdown.is-empty .finance-head small { color: var(--muted); }
.event-history p { display: grid; gap: 2px; padding: 8px 0; border-bottom: 1px solid var(--hairline); }
.event-history p:last-child { border-bottom: 0; }
.event-history p small { color: var(--muted); font-size: 9px; overflow-wrap: anywhere; }
.dynamic-title { margin-top: 12px; overflow: hidden; font-size: clamp(25px, 8.2vw, 42px); line-height: 1.04; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-subtitle { margin: -10px 0 18px; color: var(--muted); font-size: 12px; line-height: 1.4; }

.editor-offer-carousel { position:relative; margin:0 0 16px; }
.editor-offer-track { display:flex; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.editor-offer-track::-webkit-scrollbar { display:none; }
.editor-offer-card { position: relative; flex:0 0 100%; min-width:0; margin:0; overflow: hidden; padding: 19px; border: 1px solid rgba(255,255,255,.9); border-radius: 27px; background: #fff; box-shadow: 0 16px 38px rgba(30,35,47,.08); scroll-snap-align:start; scroll-snap-stop:always; }
.editor-offer-card::after { content:""; position:absolute; width:130px; height:130px; right:-65px; top:-75px; border-radius:50%; background:var(--accent-soft); pointer-events:none; }
.editor-offer-head { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.editor-offer-head > span { flex:0 1 auto; min-width:0; color:var(--green); font-size:10px; font-weight:780; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.editor-offer-card.is-active .editor-offer-head > span { color:var(--accent); }
.editor-offer-inline-nav { height:27px; display:flex; align-items:center; gap:1px; padding:2px; border:1px solid rgba(28,28,30,.07); border-radius:999px; background:rgba(246,246,248,.94); box-shadow:0 4px 12px rgba(30,35,47,.05); }
.editor-offer-inline-nav button { width:23px; height:23px; display:grid; place-items:center; padding:0 0 2px; border:0; border-radius:50%; color:#29292d; background:#fff; font-size:17px; line-height:1; transition:opacity .18s ease,transform .18s ease; }
.editor-offer-inline-nav button:active:not(:disabled) { transform:scale(.9); }
.editor-offer-inline-nav button:disabled { opacity:.25; }
.editor-offer-inline-nav span { min-width:25px; color:var(--muted); font-size:9px; font-weight:760; text-align:center; font-variant-numeric:tabular-nums; }
.editor-offer-card h2 { position:relative; z-index:1; margin:12px 0 15px; font-size:23px; line-height:1.08; letter-spacing:-.035em; overflow-wrap:anywhere; }
.editor-offer-meta { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:8px; margin-bottom:14px; }
.editor-offer-meta > span { min-width:0; padding:10px 11px; border-radius:15px; background:#f6f6f8; }
.editor-offer-meta small,.editor-offer-meta strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.editor-offer-meta small { color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.editor-offer-meta strong { margin-top:4px; font-size:12px; }
.editor-take-now,.editor-open-work { position:relative; z-index:1; width:100%; min-height:52px; border:0; border-radius:17px; color:#fff; background:linear-gradient(145deg,#23b66e,#169657); box-shadow:0 12px 25px rgba(27,164,96,.22); font-size:14px; font-weight:760; }
.editor-take-now:active,.editor-open-work:active { transform:scale(.985); }
.editor-open-work { display:flex; align-items:center; justify-content:center; gap:8px; background:linear-gradient(145deg,var(--accent),var(--accent-dark)); box-shadow:0 12px 25px rgba(var(--accent-rgb),.2); }
.editor-open-work span { font-size:21px; font-weight:400; }

.voice-parts-list { display:grid; gap:8px; margin-top:8px; }
.voice-parts-list a { min-width:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 13px; border:1px solid var(--hairline); border-radius:16px; color:var(--ink); background:#fff; text-decoration:none; }
.voice-parts-list a span { min-width:0; display:grid; gap:3px; }
.voice-parts-list a small { color:var(--muted); font-size:9px; font-weight:680; letter-spacing:.06em; text-transform:uppercase; }
.voice-parts-list a strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.voice-parts-list a > i { flex:0 0 auto; color:var(--accent); font-size:10px; font-style:normal; font-weight:720; }
.voice-upload-choice { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.voice-upload-choice .button { min-width:0; min-height:66px; display:grid; align-content:center; gap:3px; padding:10px; }
.voice-upload-choice .button span { font-size:13px; }
.voice-upload-choice .button small { color:inherit; opacity:.66; font-size:8px; font-weight:600; }
.fortune-banner { width: 100%; min-height: 58px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px; margin-top: 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 17px; padding: 11px 13px; color: #fff; background: rgba(255,255,255,.13); text-align: left; }
.fortune-banner span { font-size: 9px; opacity: .72; }
.fortune-banner strong { grid-column: 1; font-size: 14px; }
.fortune-banner i { grid-column: 2; grid-row: 1/3; font-size: 10px; font-style: normal; font-weight: 720; }
.fortune-sheet { inset:0; width:100%; height:100%; max-width:none; max-height:100%; margin:0; display:flex; flex-direction:column; overflow:hidden; border-radius:0; box-shadow:none; background:radial-gradient(ellipse at 50% 42%,rgba(var(--accent-rgb),.055),transparent 66%),linear-gradient(145deg,#fff,#f9faff); padding:calc(14px + var(--safe-top)) clamp(6px,1.6vw,16px) calc(12px + var(--safe-bottom)); }
.fortune-sheet > .sheet-handle { display:none; }
.fortune-sheet .sheet-header { flex-shrink:0; margin:0 8px 8px; align-items:center; }
.fortune-sheet .sheet-header h2 { font-size:clamp(26px,5.8vw,36px); color:#0c1226; }
.fortune-sheet .close-button { color:#0c1226; }
.fortune-stage { position:relative; display:grid; grid-template-rows:auto minmax(0,1fr) auto clamp(92px,15dvh,148px); gap:7px; flex:1; min-height:0; padding:0 1px 2px; text-align:center; }
.fortune-topline { position:relative; display:flex; justify-content:center; align-items:center; min-height:32px; padding:0 44px; }
.fortune-availability { display:inline-flex; align-items:center; gap:9px; min-height:30px; margin:0 auto; padding:0 12px; border:1px solid #e8eaf0; border-radius:999px; color:#596071; background:#fff; box-shadow:0 7px 20px rgba(15,23,42,.07); font-size:11px; font-weight:680; }
.fortune-availability i { width:8px; height:8px; border-radius:50%; background:#20bd73; box-shadow:0 0 0 4px rgba(32,189,115,.13); }
.fortune-sound-button { position:absolute; right:8px; top:0; display:grid; place-items:center; width:32px; height:32px; padding:6px; border:1px solid rgba(var(--accent-rgb),.1); border-radius:50%; background:rgba(var(--accent-rgb),.045); color:var(--accent); cursor:pointer; transition:transform .16s ease,background .16s ease; }
.fortune-sound-button svg { width:19px; height:19px; }
.fortune-sound-button[aria-pressed="false"] { color:#9195a0; background:#f2f3f6; }
.fortune-sound-button:active { transform:scale(.96); }
.fortune-arena { min-height:0; container-type:size; display:grid; place-items:center; }
.fortune-wrap { position:relative; container-type:inline-size; width:min(100cqw,calc(100cqh - 40px)); aspect-ratio:1; margin:0; transform:translateY(10px); border-radius:50%; background:linear-gradient(145deg,#fff,#eef0f4); box-shadow:0 18px 32px rgba(31,39,57,.19),0 2px 9px rgba(31,39,57,.14),inset 0 1px 2px #fff; }
.fortune-wrap::after { content:""; position:absolute; inset:2.6%; border:1px solid rgba(109,126,151,.13); border-radius:50%; pointer-events:none; }
.fortune-pointer { position:absolute; z-index:5; top:-8%; left:50%; width:10%; aspect-ratio:52 / 70; transform:translateX(-50%); pointer-events:none; }
.fortune-flapper { display:block; width:100%; height:100%; transform-origin:50% 20%; filter:drop-shadow(0 .6cqw .7cqw rgba(40,55,88,.25)); will-change:transform; }
.fortune-pointer-mount { position:absolute; top:20%; left:50%; width:2.9cqw; height:2.9cqw; border-radius:50%; transform:translate(-50%,-50%); border:1px solid #a6afbd; background:radial-gradient(circle at 35% 30%,#fff,#e7ebf2 50%,#9aa5b6); box-shadow:0 .2cqw .4cqw rgba(40,55,88,.23); }
.fortune-pointer-mount::after { content:""; position:absolute; inset:29%; border-radius:50%; background:linear-gradient(140deg,#7e899b,#d0d7e2); box-shadow:inset 0 1px 1px #667084; }
.fortune-pegs { position:absolute; inset:0; z-index:4; pointer-events:none; will-change:transform; }
.fortune-peg-position { position:absolute; }
.fortune-peg { position:relative; display:block; width:1.35cqw; height:3.4cqw; border:1px solid rgba(122,134,152,.65); border-radius:.85cqw; background:linear-gradient(90deg,#818d9f,#edf2f9 40%,#ccd5e3 64%,#8591a2); box-shadow:0 .45cqw .55cqw rgba(36,49,73,.23),inset 0 1px 1px #fff; }
.fortune-peg::before { content:""; position:absolute; top:1px; left:10%; width:80%; height:.6cqw; border-radius:50%; background:linear-gradient(155deg,#fff,#cad3e2); }
.fortune-wheel { position:absolute; inset:2.8%; overflow:hidden; border-radius:50%; box-shadow:inset 0 0 12px rgba(69,90,130,.1); will-change:transform; }
.fortune-prize { position:absolute; z-index:1; inset:0; pointer-events:none; }
.fortune-label-position,.fortune-icon-position { position:absolute; transform:translate(-50%,-50%); }
.fortune-prize-content { display:block; will-change:transform; }
.fortune-prize em { width:13cqw; overflow:hidden; color:#0c132a; font-size:5cqw; font-style:normal; font-weight:760; letter-spacing:-.055em; line-height:1; text-align:center; white-space:nowrap; }
.fortune-prize img { width:8.3cqw; height:8.3cqw; object-fit:contain; }
.fortune-prize.is-selected:not(.is-jackpot):not(.is-food) em { color:#fff; }
.fortune-prize.is-food em { font-size:2.5cqw; letter-spacing:-.035em; }
.fortune-prize.is-jackpot em { color:#744400; }
.fortune-prize.is-grand-prize em { color:#fff; text-shadow:0 1px 4px rgba(135,0,28,.25); }
.fortune-prize.is-purple-prize em,.fortune-prize.is-purple-prize.is-selected em { color:#451575; }
.fortune-jackpot-glow { position:absolute; inset:0; overflow:hidden; isolation:isolate; background:radial-gradient(closest-side at 50% 50%,transparent 77%,rgba(255,81,0,.55) 93%,rgba(255,189,41,.94) 99%,rgba(255,75,0,.72) 100%),radial-gradient(circle at 50% 50%,rgba(111,0,20,.76) 19%,rgba(219,5,19,.38) 43%,rgba(255,63,0,.7) 67%,rgba(244,5,26,.26) 100%); animation:fortuneJackpotPulse 2.8s ease-in-out infinite; pointer-events:none; }
.fortune-jackpot-glow::before { content:""; position:absolute; inset:-8%; background:conic-gradient(from -24deg at 50% 50%,transparent 0deg 284deg,rgba(255,74,0,0) 289deg,rgba(255,99,0,.7) 304deg,rgba(255,212,63,.95) 313deg,rgba(255,132,15,.84) 320deg,transparent 337deg 360deg); animation:fortuneJackpotSweep 3.6s linear infinite; }
.fortune-jackpot-glow::after { content:""; position:absolute; inset:-20px; background:radial-gradient(circle,rgba(255,243,162,.98) 0 1px,rgba(255,140,9,.7) 1.6px,transparent 3px) 0 0 / 43px 39px,radial-gradient(circle,rgba(255,194,51,.95) 0 1.4px,transparent 3px) 18px 23px / 61px 57px; opacity:.7; animation:fortuneJackpotEmbers 3.8s ease-in-out infinite; }
.fortune-jackpot-glow.is-gold-glow { background:radial-gradient(closest-side at 50% 50%,transparent 78%,rgba(255,179,0,.36) 90%,rgba(255,250,178,.98) 99%,rgba(255,183,0,.6) 100%),radial-gradient(circle at 50% 50%,rgba(185,110,0,.48) 19%,rgba(244,178,11,.24) 46%,rgba(255,240,120,.8) 72%,rgba(249,169,0,.35) 100%); animation-duration:3.2s; }
.fortune-jackpot-glow.is-gold-glow::before { background:conic-gradient(from -24deg at 50% 50%,transparent 0deg 288deg,rgba(255,202,33,.1) 294deg,rgba(255,238,129,.86) 308deg,rgba(255,255,224,.98) 316deg,rgba(255,216,71,.75) 325deg,transparent 340deg 360deg); animation-duration:4.2s; }
.fortune-jackpot-glow.is-gold-glow::after { background:radial-gradient(circle,#fffad1 0 1px,rgba(255,214,53,.8) 1.6px,transparent 3px) 0 0 / 43px 39px,radial-gradient(circle,#fff1a4 0 1.4px,transparent 3px) 18px 23px / 61px 57px; }
.fortune-jackpot-glow.is-purple-glow { background:radial-gradient(closest-side at 50% 50%,transparent 80%,rgba(163,109,255,.24) 91%,rgba(225,194,255,.72) 99%,rgba(179,118,255,.25) 100%),radial-gradient(circle at 50% 50%,rgba(104,53,159,.14) 20%,rgba(156,110,226,.12) 48%,rgba(231,198,255,.4) 78%,transparent 100%); animation:fortunePurplePulse 4s ease-in-out infinite; }
.fortune-jackpot-glow.is-purple-glow::before { background:conic-gradient(from -24deg at 50% 50%,transparent 0deg 292deg,rgba(208,171,255,.1) 300deg,rgba(249,227,255,.5) 315deg,rgba(203,151,255,.3) 325deg,transparent 339deg 360deg); animation-duration:5.5s; }
.fortune-jackpot-glow.is-purple-glow::after { background:radial-gradient(circle,rgba(255,239,255,.6) 0 1px,transparent 2px) 12px 10px / 68px 63px; animation-duration:5.2s; }
.fortune-hub { position:absolute; z-index:3; inset:35%; display:grid; place-items:center; border-radius:50%; color:var(--accent); background:linear-gradient(145deg,#fff,#f9fbff); box-shadow:0 7px 15px rgba(43,64,104,.2),inset 0 1px 3px #fff; }
.fortune-idle-icon { display:grid; place-items:center; width:46%; aspect-ratio:1; }
.fortune-idle-icon svg { width:100%; height:100%; }
.fortune-wrap.is-spinning .fortune-idle-icon { animation:fortuneHubTurn 2s linear infinite; }
.fortune-hub.is-celebrating { animation:fortuneWinPop .55s cubic-bezier(.18,.8,.3,1) both; }
.fortune-hub.is-grand-win { box-shadow:0 0 30px rgba(255,24,59,.3),0 7px 15px rgba(43,64,104,.2); }
.fortune-win-burst { position:absolute; inset:0; border-radius:50%; pointer-events:none; }
.fortune-win-burst i { position:absolute; top:50%; left:50%; width:5px; height:10px; margin:-5px 0 0 -2.5px; border-radius:3px; background:var(--accent); opacity:0; animation:fortuneWinParticle .8s ease-out var(--burst-delay) both; }
.fortune-win-burst i:nth-child(3n) { background:#ffbf35; }
.fortune-win-burst i:nth-child(3n + 1) { background:#20c889; }
.fortune-hub.is-grand-win .fortune-win-burst i { background:#ff183b; }
.fortune-result { display:grid; justify-items:center; gap:3px; width:100%; padding:8px; text-align:center; }
.fortune-result:empty { display:none; }
.fortune-result small { color:#7a8092; font-size:2.1cqw; text-transform:uppercase; letter-spacing:.07em; font-weight:600; }
.fortune-result strong { letter-spacing:-.045em; }
.fortune-accessible-outcome { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.fortune-result.is-won strong { color:#15b879; font-size:7cqw; white-space:nowrap; line-height:1.1; animation:fadeUp .35s both; }
.fortune-result.is-won.is-jackpot strong { color:#bf8a16; font-size:5.2cqw; }
.fortune-result.is-won.is-grand-win strong { color:#ff183b; }
.fortune-result.is-food strong { color:#161a22; font-size:3.2cqw; }
.fortune-result.is-food > img { width:10cqw; height:10cqw; object-fit:contain; }
.fortune-result.is-current { gap:1px; padding:5px; }
.fortune-result.is-current small { font-size:1.8cqw; letter-spacing:.03em; }
.fortune-result.is-current > img { width:10cqw; height:10cqw; object-fit:contain; }
.fortune-result.is-current strong { color:#333e55; font-size:4.4cqw; line-height:1.1; white-space:nowrap; }
.fortune-result.is-current.is-food strong { font-size:2.8cqw; }
.fortune-result.is-current.is-current-rare strong { color:#b5821a; }
.fortune-spin-button { width:100%; min-height:58px; display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid transparent; border-radius:22px; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); box-shadow:0 10px 22px rgba(var(--accent-rgb),.2),inset 0 1px 0 rgba(255,255,255,.1); font:inherit; font-size:17px; font-weight:720; cursor:pointer; }
.fortune-spin-button svg { width:25px; height:25px; }
.fortune-spin-button { transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease; }
.fortune-spin-button:active:not(:disabled) { transform:scale(.965); box-shadow:0 3px 10px rgba(var(--accent-rgb),.18); }
.fortune-spin-button:disabled { opacity:.65; cursor:default; }
.fortune-controls { width:min(calc(100% - 16px),640px); margin:0 auto; }
.fortune-limit { margin:12px 0 0; text-align:center; color:var(--muted); font-size:12px; line-height:1.4; }
.fortune-history-panel { display:grid; grid-template-rows:auto minmax(0,1fr); min-height:0; width:min(calc(100% - 16px),640px); margin:0 auto; padding:2px 0 0; text-align:left; }
.fortune-history-scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; padding-right:2px; }
.fortune-history-heading { display:flex; align-items:center; justify-content:space-between; margin:0 0 7px; gap:12px; }
.fortune-history-heading h3 { margin:0; font-size:16px; letter-spacing:-.025em; }
.fortune-history-refresh { width:28px; height:28px; display:grid; place-items:center; border:1px solid rgba(var(--accent-rgb),.12); border-radius:10px; background:var(--accent-soft); color:var(--accent); cursor:pointer; transition:transform .16s; }
.fortune-history-refresh svg { width:17px; height:17px; }
.fortune-history-refresh:active { transform:scale(.93) rotate(-20deg); }
.fortune-history-row { display:flex; align-items:center; gap:10px; padding:7px 11px; margin-bottom:6px; border:1px solid #e9ebf0; border-radius:16px; background:#fff; animation:fadeUp .25s both; }
.fortune-history-prize-icon { display:grid; place-items:center; width:35px; height:35px; flex-shrink:0; border-radius:11px; background:#f1f7ff; }
.fortune-history-prize-icon img { width:33px; height:33px; object-fit:contain; }
.fortune-history-row > div { flex:1; min-width:0; }
.fortune-history-row strong { display:block; overflow-wrap:anywhere; font-size:12px; line-height:1.25; }
.fortune-history-row time { display:block; margin-top:3px; color:var(--muted); font-size:9px; }
.fortune-history-row > b { flex-shrink:0; color:#12a573; font-size:14px; letter-spacing:-.025em; }
.fortune-history-row.is-purple { background:linear-gradient(110deg,#fff,#f3ebff); border-color:#e6d8ff; }
.fortune-history-row.is-purple > b { color:#8a4ddd; }
.fortune-history-row.is-gold { background:linear-gradient(110deg,#fff,#fff4d5); border-color:#f5dea5; }
.fortune-history-row.is-gold > b { color:#b88108; }
.fortune-history-row.is-red { background:linear-gradient(110deg,#fff,#ffe9ed); border-color:#ffc5d0; }
.fortune-history-row.is-red > b { color:#ef2346; }
.fortune-history-empty { padding:8px 14px; margin:0; color:var(--muted); line-height:1.5; text-align:center; font-size:12px; }
.fortune-history-more { display:block; width:100%; padding:14px; border:1px solid rgba(var(--accent-rgb),.1); border-radius:16px; background:var(--accent-soft); color:var(--accent); font:inherit; font-weight:700; cursor:pointer; }
.fortune-history-more[hidden] { display:none; }
.fortune-history-more:disabled,.fortune-history-refresh:disabled { opacity:.5; cursor:wait; }
@keyframes fortunePurplePulse { 0%,100% { opacity:.35; } 50% { opacity:.65; } }
@keyframes fortuneJackpotPulse { 0%,100% { opacity:.62; filter:brightness(.96) saturate(1.12); } 50% { opacity:1; filter:brightness(1.2) saturate(1.2); } }
@keyframes fortuneJackpotSweep { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes fortuneJackpotEmbers { 0%,100% { opacity:.34; transform:translateY(8px); } 50% { opacity:.94; transform:translateY(-10px); } }
@keyframes fortuneHubTurn { to { transform:rotate(360deg); } }
@keyframes fortuneWinPop { 0% { transform:scale(.86); } 65% { transform:scale(1.055); } 100% { transform:scale(1); } }
@keyframes fortuneWinParticle { 0% { opacity:0; transform:rotate(var(--burst-angle)) translateY(-30px) scale(.5); } 15% { opacity:1; } 100% { opacity:0; transform:rotate(var(--burst-angle)) translateY(-95px) rotate(100deg) scale(.6); } }
@media (max-height:740px) { .fortune-sheet { padding-top:calc(8px + var(--safe-top)); padding-bottom:calc(8px + var(--safe-bottom)); } .fortune-sheet .sheet-header h2 { font-size:23px; } .fortune-availability { font-size:10px; } .fortune-spin-button { min-height:46px; } .fortune-limit { margin-top:7px; font-size:10px; } }
@media (min-width:600px) and (max-height:500px) { .fortune-stage { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto minmax(0,1fr); column-gap:20px; } .fortune-arena { grid-column:1; grid-row:1 / 4; } .fortune-topline { grid-column:2; grid-row:1; } .fortune-controls { grid-column:2; grid-row:2; } .fortune-history-panel { grid-column:2; grid-row:3; } }
@media (prefers-reduced-motion:reduce) { .fortune-jackpot-glow,.fortune-jackpot-glow.is-purple-glow,.fortune-jackpot-glow::before,.fortune-jackpot-glow::after,.fortune-wrap.is-spinning .fortune-idle-icon,.fortune-hub.is-celebrating,.fortune-win-burst i,.fortune-result.is-won strong,.fortune-history-row { animation:none; } .fortune-jackpot-glow { opacity:.92; filter:brightness(1.08) saturate(1.15); } .fortune-jackpot-glow.is-purple-glow { opacity:.4; } .fortune-jackpot-glow::before { transform:rotate(237deg); opacity:.65; } .fortune-jackpot-glow::after { opacity:.62; } }
.analysis-empty { display: grid; justify-items: center; padding: 30px 18px; border: 1px solid var(--hairline); border-radius: 22px; background: #fff; text-align: center; }
.analysis-empty > span { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 18px; color: #fff; background: var(--blue); font-size: 15px; font-weight: 780; }
.analysis-empty.is-error > span { background: #4b4b53; }
.analysis-empty h3 { margin: 16px 0 6px; font-size: 18px; }
.analysis-empty p { max-width: 330px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.analysis-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border-radius: 24px; color: #fff; background: linear-gradient(145deg,var(--accent),var(--accent-dark)); }
.analysis-hero small { display: block; color: rgba(255,255,255,.63); font-size: 10px; }
.analysis-hero strong { display: block; margin-top: 6px; font-size: 42px; line-height: .95; letter-spacing: -.06em; }
.analysis-hero strong i { font-size: 16px; font-style: normal; letter-spacing: -.02em; opacity: .62; }
.analysis-hero span { display: block; margin-top: 8px; color: rgba(255,255,255,.8); font-size: 11px; font-weight: 650; }
.analysis-ring { --score: 0%; width: 78px; height: 78px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#fff var(--score),rgba(255,255,255,.17) 0); }
.analysis-ring::before { content: ""; grid-area: 1/1; width: 61px; height: 61px; border-radius: 50%; background: var(--accent-dark); }
.analysis-ring b { position: relative; grid-area: 1/1; font-size: 13px; }
.analysis-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 10px; }
.analysis-summary div { padding: 13px 10px; border: 1px solid var(--hairline); border-radius: 16px; background: #fff; }
.analysis-summary strong { display: block; font-size: 18px; letter-spacing: -.04em; }
.analysis-summary span { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; }
.analysis-section { margin-top: 20px; }
.analysis-section h3 { margin: 0 0 10px; font-size: 16px; letter-spacing: -.025em; }
.effect-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.effect-grid article { padding: 12px; border: 1px solid var(--hairline); border-radius: 15px; background: #fff; }
.effect-grid span { display: block; color: var(--muted); font-size: 9px; }
.effect-grid strong { display: block; margin-top: 5px; font-size: 18px; }
.analysis-note { margin-top: 16px; padding: 15px; border-radius: 17px; color: #7d0a14; background: var(--blue-soft); }
.analysis-note small { font-size: 9px; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.analysis-note p { margin: 6px 0 0; font-size: 12px; line-height: 1.45; }
.technical-list { overflow: hidden; border: 1px solid var(--hairline); border-radius: 17px; background: #fff; }
.technical-list div { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 13px; border-bottom: 1px solid var(--hairline); }
.technical-list div:last-child { border-bottom: 0; }
.technical-list span { color: var(--muted); font-size: 10px; }
.technical-list strong { font-size: 11px; }
.analysis-disclaimer { margin: 13px 4px 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.analysis-empty.compact { margin-top: 10px; padding: 20px 16px; }
.analysis-empty.compact > span { width: 44px; height: 44px; border-radius: 14px; font-size: 12px; }
.analysis-empty.compact h3 { margin-top: 12px; font-size: 15px; }
.seo-ready { display: grid; gap: 4px; margin-bottom: 9px; padding: 16px; border: 1px solid rgba(var(--accent-rgb),.14); border-radius: 19px; background: linear-gradient(145deg,#fff,var(--accent-soft)); }
.seo-ready > span { color: var(--accent-dark); font-size: 9px; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.seo-ready > strong { margin-top: 2px; font-size: 15px; letter-spacing: -.02em; }
.seo-ready > small { color: var(--muted); font-size: 9px; }
.analysis-disclosure { margin-top: 8px; overflow: hidden; border: 1px solid var(--hairline); border-radius: 19px; background: #fff; box-shadow: 0 7px 20px rgba(31,35,48,.035); }
.analysis-disclosure > summary { min-height: 61px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 14px; cursor: pointer; list-style: none; }
.analysis-disclosure > summary::-webkit-details-marker { display: none; }
.analysis-disclosure > summary span { min-width: 0; }
.analysis-disclosure > summary small,.analysis-disclosure > summary strong { display: block; }
.analysis-disclosure > summary small { color: var(--muted); font-size: 8px; }
.analysis-disclosure > summary strong { margin-top: 3px; font-size: 13px; }
.analysis-disclosure > summary i { color: var(--muted); font-size: 18px; font-style: normal; transition: transform .2s; }
.analysis-disclosure[open] > summary i { transform: rotate(90deg); }
.analysis-disclosure-body { padding: 0 10px 10px; border-top: 1px solid var(--hairline); }
.seo-title-list { display: grid; gap: 7px; padding-top: 10px; }
.seo-title-row { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) 36px; align-items: center; gap: 9px; padding: 10px 9px 10px 11px; border: 1px solid var(--hairline); border-radius: 14px; background: #fafafd; }
.seo-title-row > span { min-width: 0; font-size: 11px; font-weight: 650; line-height: 1.38; overflow-wrap: anywhere; }
.seo-title-row > span small { display: inline-grid; width: 19px; height: 19px; place-items: center; margin-right: 7px; border-radius: 7px; color: var(--accent-dark); background: var(--accent-soft); font-size: 8px; font-weight: 800; vertical-align: 1px; }
.seo-title-row > button,.seo-description-card > button { border: 0; color: var(--accent-dark); background: var(--accent-soft); }
.seo-title-row > button { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; }
.seo-title-row svg,.seo-description-card svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.seo-description-card { position: relative; padding-top: 10px; }
.seo-description-card > button { min-height: 34px; display: flex; align-items: center; gap: 7px; margin: 0 0 8px auto; border-radius: 11px; padding: 0 11px; font-size: 9px; font-weight: 760; }
.seo-description-card pre { max-height: 340px; margin: 0; overflow: auto; border-radius: 14px; padding: 13px; color: var(--ink); background: #fafafd; font-family: inherit; font-size: 10px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.action-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; margin-top: 17px; }
.action-grid .wide { grid-column: 1/-1; }
.button { min-height: 49px; border: 0; border-radius: 15px; padding: 0 15px; color: #fff; background: var(--blue); font-size: 13px; font-weight: 680; box-shadow: 0 8px 18px rgba(var(--accent-rgb),.14); }
.button:active { transform: scale(.975); }
.button.blue { background: var(--blue); }.button.green { background: var(--green); }.button.red { background: var(--red); }.button.orange { background: var(--orange); }
.button.secondary { color: #333339; background: #e9e9ed; box-shadow: none; }
.button.ghost { color: var(--blue); background: var(--blue-soft); box-shadow: none; }

.form { display: grid; gap: 13px; }
.field { display: grid; gap: 7px; }
[hidden] { display: none !important; }
.field > span { margin-left: 2px; color: #6f6f78; font-size: 11px; font-weight: 650; }
.input { width: 100%; min-height: 50px; border: 1px solid rgba(20,20,23,.07); border-radius: 15px; padding: 0 14px; outline: none; color: var(--ink); background: #fff; box-shadow: inset 0 1px 2px rgba(0,0,0,.025); font-size: 14px; }
textarea.input { min-height: 92px; padding-top: 13px; resize: vertical; line-height: 1.4; }
.input:focus { border-color: rgba(var(--accent-rgb),.5); box-shadow: 0 0 0 4px rgba(var(--accent-rgb),.08); }
.segmented { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px; padding: 3px; border-radius: 13px; background: #e9e9ed; }
.segmented button { min-height: 38px; border: 0; border-radius: 10px; color: #71717a; background: transparent; font-size: 11px; font-weight: 650; }
.segmented button.is-active { color: #17171a; background: #fff; box-shadow: 0 2px 7px rgba(0,0,0,.08); }
.toggle { width: 48px; height: 29px; position: relative; border: 0; border-radius: 99px; background: #d9d9de; transition: background .2s; }
.toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 23px; height: 23px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(0,0,0,.22); transition: transform .25s cubic-bezier(.2,.9,.2,1); }
.toggle.is-on { background: var(--green); }.toggle.is-on::after { transform: translateX(19px); }
.setting-row { display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 6px 2px; border-bottom: 1px solid var(--hairline); }
.setting-row:last-child { border-bottom: 0; }
.setting-row strong { display: block; font-size: 13px; }.setting-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }

.toast-root { position: fixed; z-index: 200; top: calc(14px + var(--safe-top)); left: 50%; display: grid; gap: 7px; width: min(calc(100% - 32px), 420px); transform: translateX(-50%); pointer-events: none; }
.toast { padding: 13px 15px; border: 1px solid rgba(255,255,255,.22); border-radius: 15px; color: white; background: rgba(var(--accent-rgb),.94); box-shadow: 0 13px 35px rgba(var(--accent-rgb),.22); backdrop-filter: blur(16px); font-size: 12px; font-weight: 580; animation: toastIn .34s cubic-bezier(.16,1,.3,1) both; }
.button:disabled, button:disabled { cursor: default; opacity: .48; }
.preview-banner { position: sticky; z-index: 9; top: calc(82px + var(--safe-top)); display: flex; align-items: center; justify-content: space-between; margin: 0 18px 10px; padding: 10px 12px; border-radius: 13px; color: var(--accent-dark); background: var(--blue-soft); border: 1px solid rgba(var(--accent-rgb),.14); font-size: 11px; font-weight: 650; }
.preview-banner button { border: 0; color: white; background: var(--blue); border-radius: 9px; padding: 7px 9px; font-size: 10px; font-weight: 650; }
.toast.error { background: rgba(183,38,31,.94); }

.skeleton { position: relative; overflow: hidden; border-radius: 12px; background: #e9e9ed; }
.skeleton::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent); animation: shimmer 1.4s infinite; }
.skeleton-page { padding-top: 16px; }.skeleton.line { height: 24px; }.skeleton.w40 { width: 40%; }.skeleton.w55 { width: 55%; margin-top: 26px; }.hero-skeleton { height: 204px; margin-top: 20px; border-radius: 28px; }.card-skeleton { height: 94px; margin-top: 11px; border-radius: 22px; }

@keyframes brandIn { from { opacity: 0; transform: scale(.7) rotate(-8deg); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } }
@keyframes load { 0% { transform: translateX(-110%); } 50% { transform: translateX(120%); } 100% { transform: translateX(260%); } }
@keyframes pageIn { from { opacity: 0; transform: translateY(10px); } }
@keyframes cardIn { from { opacity: 0; transform: translateY(12px) scale(.985); } }
@keyframes fadeIn { from { opacity: 0; } }
@keyframes sheetIn { from { transform: translateY(102%); } }
@keyframes toastIn { from { opacity: 0; transform: translateY(-14px) scale(.97); } }
@keyframes shimmer { 100% { transform: translateX(100%); } }

@media (min-width: 700px) {
  .content { padding-left: 28px; padding-right: 28px; }
  .topbar { padding-left: 30px; padding-right: 30px; }
  .metrics { grid-template-columns: repeat(4,1fr); }
  .quick-grid { max-width: 440px; }
}
@media (max-width: 390px) {
  .profile-copy { display: none; }
  .quick-picker { grid-template-columns: 1fr; }
}
@media (max-width: 345px) {
  .balance-button { min-width: 148px; padding-left: 12px; padding-right: 12px; }
  .bottom-nav { grid-template-columns: 1fr 1fr 62px 1fr 1fr; padding-left: 6px; padding-right: 6px; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration: .001ms !important; transition-duration: .001ms !important; } }
