@import url('/static/surfaces.css?v=20261014-phone');
@import url('/static/skin-system.css?v=20261014-studio');
/* Root aliases keep shared chrome consistent even on pages with local palettes. */
:root {
  --header-ink: var(--ink); --header-muted: var(--muted); --header-paper: var(--paper);
  --header-surface: var(--surface); --header-panel: var(--panel); --header-soft: var(--panel-soft);
  --header-line: var(--line); --header-accent: var(--accent); --header-on-accent: var(--on-accent);
  --header-font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", sans-serif;
}
.unified-page { --sans: var(--header-font); --serif: var(--header-font); }
.global-header-frame { background: var(--header-paper); }
.global-header-shell { max-width: 1280px; padding: 0 36px; margin: auto; box-sizing: border-box; }
:is(.site-header,.workspace-menu,.theme-dialog,.header-allowance) {
  --ink: var(--header-ink); --muted: var(--header-muted); --paper: var(--header-paper);
  --surface: var(--header-surface); --panel: var(--header-panel); --panel-soft: var(--header-soft);
  --line: var(--header-line); --accent: var(--header-accent); --on-accent: var(--header-on-accent);
  --sans: var(--header-font); font-family: var(--header-font);
}
:root[data-theme] :is(.workspace-page,.unified-page) .site-header {
  display: grid; align-items: center; min-height: 88px; height: auto;
  padding: 0; border-bottom: 1px solid var(--line); box-sizing: border-box;
}
:root[data-theme] :is(.workspace-page,.unified-page) .site-header .brand {
  display: flex; align-items: center; gap: 10px; font: 750 27px/1 var(--header-font);
  letter-spacing: -1px; text-decoration: none; color: var(--ink); margin: 0;
}
.site-header .brand-wordmark { white-space: nowrap; line-height: 1; }
.site-header .brand-wordmark small { display: block; margin-top: 7px; font: 500 8px/1.2 var(--header-font); letter-spacing: 1.5px; }
.site-header .brand-logo { width: 44px; height: 44px; display: block; flex-shrink: 0; }
.site-header .section-nav { margin: 0; box-sizing: border-box; }
.site-header .section-nav a { box-sizing: border-box; }
.site-header .nav-icon { display: grid; place-items: center; }
.site-header .nav-icon .icon { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
:root[data-theme] :is(.workspace-page,.unified-page) .site-header .header-actions { justify-self: end; }
:root[data-theme] :is(.workspace-page,.unified-page) .site-header .workspace-menu-button { gap: 7px; padding: 10px 12px; min-width: 80px; white-space: nowrap; line-height: 22px; box-sizing: border-box; }
.workspace-menu-button span { font-size: 13px; }
.workspace-menu-items .workspace-price-link { min-width: 0; }
.workspace-menu-items [aria-current="page"] { font-weight: 700 !important; }
.menu-status { font-size: 12px; color: var(--ink); margin: 10px; }
.menu-status:empty { display: none; }
.workspace-menu-heading strong { line-height: 1.4; display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.workspace-menu-heading strong small { color: var(--muted); font-size: 10px; letter-spacing: .5px; font-weight: 500; }
.workspace-menu { width: 310px; padding: 12px; }
.workspace-menu-heading { padding: 0 0 8px 12px; }
.workspace-menu-heading button { flex-shrink: 0; }
:root[data-theme] :is(.workspace-page,.unified-page) .workspace-menu-items :is(a,button) { min-height: 44px; padding: 9px 12px; font-size: 14px; }
.menu-group + .menu-group { margin-top: 3px; padding-top: 4px; }
.menu-group-label { margin: 3px 12px 1px; }
:root[data-theme] :is(.workspace-page,.unified-page) .workspace-menu-items #logout-button { border-top: 1px solid var(--line); border-radius: 0 0 12px 12px; margin-top: 4px; }
.header-wallet { display: none; }
.header-wallet :is(a,button) { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-width: 0; min-height: 44px; padding: 0 8px; margin: 0; border: 0; background: transparent; color: var(--ink); font-family: var(--header-font); text-align: left; text-decoration: none; cursor: pointer; box-sizing: border-box; }
.header-wallet :is(a,button) > span { font-size: 10px; line-height: 1.2; color: var(--muted); white-space: nowrap; }
.header-wallet strong { display: flex; align-items: flex-end; gap: 2px; font-size: 16px; font-weight: 650; line-height: 1.1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.header-wallet strong b { font-size: inherit; font-weight: inherit; }
.header-wallet strong small { font-size: 8px; padding-bottom: 1px; color: var(--muted); }
.header-wallet .header-free { border-left: 1px solid var(--line); }
.header-wallet .header-free.is-summary > span { font-size: 11px; color: var(--ink); font-weight: 600; }
.header-wallet .header-free.is-summary strong { font-size: 10px; color: var(--muted); font-weight: 400; }
.header-wallet .header-free.is-summary strong::after { margin-bottom: 3px; }
.header-wallet .header-free strong::after { content: ''; width: 4px; height: 4px; border-right: 1px solid var(--muted); border-bottom: 1px solid var(--muted); transform: rotate(45deg); margin: 0 0 5px 4px; }
:root[data-theme] :is(.workspace-page,.unified-page).app-shell .site-header { grid-template-columns: minmax(0,1fr) auto; gap: 12px 8px; padding: 12px 0 10px; }
:root[data-theme] :is(.workspace-page,.unified-page).app-shell .site-header .section-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; }
:root[data-theme] :is(.workspace-page,.unified-page).app-shell .site-header .header-actions { grid-column: 2; grid-row: 1; }
:root[data-theme] :is(.workspace-page,.unified-page).header-signed-in.header-compact .site-header { grid-template-columns: auto minmax(0,1fr) auto; gap: 12px 8px; padding: 12px 0 10px; }
:root[data-theme] :is(.workspace-page,.unified-page).header-signed-in.header-compact .site-header .brand { grid-column: 1; grid-row: 1; min-height: 44px; }
:root[data-theme] :is(.workspace-page,.unified-page).header-signed-in.header-compact .site-header .brand-logo { width: 30px; height: 30px; }
:root[data-theme] :is(.workspace-page,.unified-page).header-signed-in.header-compact .site-header .brand-wordmark { display: none; }
:root[data-theme] :is(.workspace-page,.unified-page).header-signed-in.header-compact .header-wallet { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); grid-column: 2; grid-row: 1; width: 100%; max-width: 260px; }
:root[data-theme] :is(.workspace-page,.unified-page).header-signed-in.header-compact .site-header .header-actions { grid-column: 3; grid-row: 1; }
:root[data-theme] :is(.workspace-page,.unified-page).header-signed-in.header-compact .site-header .section-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; }
:root[data-theme] :is(.workspace-page,.unified-page).header-signed-in.header-compact .workspace-allowance { display: none; }
.workspace-menu.show-allowance { width: 400px; padding: 22px; }
.workspace-menu.show-allowance > :not(.header-allowance) { display: none; }
.header-allowance { color: var(--ink); }
.header-allowance[hidden] { display: none; }
.header-allowance-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.header-allowance h2 { margin: 0; font-size: 19px; letter-spacing: -.3px; }
.header-allowance-heading button { flex-shrink: 0; width: 44px; height: 44px; border: 0; border-radius: 50%; font-size: 24px; cursor: pointer; color: var(--ink); background: var(--panel-soft); }
.header-allowance p { font-size: 12px; line-height: 1.8; color: var(--muted); }
.header-allowance-list > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 7px 12px; padding: 18px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.header-allowance-list strong { font-variant-numeric: tabular-nums; }
.header-allowance-list small { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
.header-allowance > a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-size: 13px; text-underline-offset: 4px; }
.header-allowance > .allowance-purchase, .workspace-billing-hint > .allowance-purchase {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
  margin-top: 14px; padding: 10px 20px; box-sizing: border-box; border-radius: 14px;
  background: var(--accent); color: var(--on-accent); font-size: 14px; font-weight: 650;
  line-height: 1.4; text-decoration: none;
}
.workspace-billing-hint > .allowance-purchase { width: fit-content; min-width: 140px; }
.allowance-purchase:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
:is(.header-wallet a,.header-wallet button,.header-allowance button,.header-allowance a):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.allowance-balance .balance-amount { display: inline-flex; align-items: flex-end; gap: 3px; color: var(--ink); line-height: 1; }
.allowance-balance .balance-amount strong { font-size: 18px; line-height: 1.1; }
.allowance-balance .balance-unit { font-size: 9px; line-height: 1.1; color: var(--muted); padding-bottom: 1px; font-weight: 500; }
.balance-unit[hidden] { display: none; }
.unified-page.auth-body { display: block; padding: 0; place-items: normal; }
.unified-page.auth-body .global-header-frame { width: 100%; }
.unified-page .auth-shell { margin: 32px auto; width: min(1050px,calc(100% - 48px)); }
.unified-page .portal-shell { min-height: auto; }
.unified-page .portal-sidebar { min-height: auto; }
.unified-page .portal-sidebar { display: none; }
.unified-page .portal-shell { display: block; max-width: 1120px; }
.unified-page .portal-tools, .unified-page .portal-sidebar hr { display: none; }
.unified-page :is(#mobile-logout,#portal-logout) { display: none; }
.unified-page .pricing-shell { padding-top: 24px; }
.unified-page .theme-dialog { color: var(--ink); background: var(--paper); }
.unified-page .theme-dialog .quiet-button { color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 12px; min-height: 44px; padding: 8px 14px; cursor: pointer; }
.unified-page .theme-dialog .theme-choice { color: var(--ink); }
.unified-page .theme-dialog .eyebrow { font-size: 11px; letter-spacing: 2px; color: var(--muted); }
@media(max-width:1100px) {
  .global-header-shell { padding: 0 24px; }
  :root[data-theme] :is(.workspace-page,.unified-page) .site-header { padding: 16px 0 12px; }
}
@media(max-width:760px) {
  .global-header-shell { padding: 0 14px; }
  :root[data-theme] :is(.workspace-page,.unified-page) .site-header { padding: 12px 0 10px; }
  :root[data-theme] :is(.workspace-page,.unified-page) .site-header .brand { font-size: clamp(19px,5.6vw,23px); gap: 7px; }
  .site-header .brand-wordmark small { display: none; }
  :root[data-theme] :is(.workspace-page,.unified-page) .site-header .brand-logo { width: 30px; height: 30px; }
  .unified-page .auth-shell { margin: 20px auto; width: calc(100% - 28px); max-width: none; grid-template-columns: minmax(0,1fr); }
}
/* One category per page: secondary navigation never mixes tools and account actions. */
.section-subnav { display:flex; align-items:center; gap:18px; margin:0 0 24px; padding:10px 12px; border:1px solid var(--app-line,var(--line)); border-radius:18px; background:var(--app-surface,var(--surface)); }
.section-subnav-label { flex:none; padding:0 4px; color:var(--app-muted,var(--muted)); font-size:12px; font-weight:650; }
.download-shell > main > .section-subnav { margin-top:24px; }
.section-subnav-links { display:flex; flex-wrap:wrap; align-items:center; gap:4px; min-width:0; }
.section-subnav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 15px; border-radius:12px; color:var(--app-ink,var(--ink)); font-size:14px; font-weight:550; text-decoration:none; line-height:1.4; }
.section-subnav a:hover { background:color-mix(in srgb,var(--app-action,var(--accent)) 9%,transparent); }
.section-subnav a[aria-current="page"] { background:var(--app-action,var(--accent)); color:var(--app-on-action,var(--on-accent,#fff)); box-shadow:0 3px 10px color-mix(in srgb,var(--app-action,var(--accent)) 15%,transparent); }
.section-subnav a:focus-visible,.purchase-alternatives a:focus-visible,.faq-topics a:focus-visible,.faq-group summary:focus-visible { outline:2px solid var(--app-action,var(--accent)); outline-offset:3px; }
.purchase-alternatives { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:24px 0; border:1px solid var(--app-line,var(--line)); border-radius:20px; overflow:hidden; background:var(--app-surface,var(--surface)); }
.purchase-alternatives > a { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:78px; padding:18px 22px; color:var(--app-ink,var(--ink)); text-decoration:none; font-size:14px; }
.purchase-alternatives > a + a { border-left:1px solid var(--app-line,var(--line)); }
.purchase-alternatives > a > span { color:var(--app-muted,var(--muted)); }
.purchase-alternatives strong { color:var(--app-action,var(--accent)); }
.purchase-alternatives a:hover { background:color-mix(in srgb,var(--app-action,var(--accent)) 6%,transparent); }
.gift-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.gift-steps > div { position:relative; display:grid; gap:8px; padding:20px; border:1px solid var(--app-line,var(--line)); border-radius:18px; background:var(--app-surface,var(--surface)); }
.gift-steps b { color:var(--app-action,var(--accent)); font-size:13px; letter-spacing:1px; }
.gift-steps strong { color:var(--app-ink,var(--ink)); font-size:15px; }
.gift-steps span { color:var(--app-muted,var(--muted)); font-size:12px; line-height:1.6; }
#gift-reward-summary:not(:empty) { margin-top:10px; color:var(--app-action,var(--accent)); font-weight:600; }
.help-shell { max-width:980px; }
.faq-search { display:grid; gap:10px; font-size:13px; font-weight:600; color:var(--app-ink,var(--ink)); }
.faq-search input { width:100%; min-height:54px; border:1px solid var(--app-line,var(--line)); border-radius:16px; padding:14px 18px; font:inherit; font-size:16px; background:var(--app-surface,var(--surface)); color:var(--app-ink,var(--ink)); }
.faq-search input:focus { outline:2px solid var(--app-action,var(--accent)); outline-offset:2px; }
.faq-topics { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.faq-topics a { display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid var(--app-line,var(--line)); border-radius:24px; text-decoration:none; font-size:13px; color:var(--app-ink,var(--ink)); background:var(--app-surface,var(--surface)); }
.faq-group { margin:34px 0; scroll-margin-top:24px; }
.faq-group h2 { color:var(--app-ink,var(--ink)); font-size:20px; margin:0 0 14px; }
.faq-group details { border:1px solid var(--app-line,var(--line)); border-radius:16px; margin:10px 0; background:var(--app-surface,var(--surface)); overflow:hidden; }
.faq-group summary { cursor:pointer; padding:19px 22px; color:var(--app-ink,var(--ink)); font-size:15px; font-weight:600; line-height:1.7; }
.faq-group details[open] summary { border-bottom:1px solid var(--app-line,var(--line)); color:var(--app-action,var(--accent)); }
.faq-group details > div { padding:4px 22px 14px; font-size:14px; color:var(--app-muted,var(--muted)); line-height:1.9; }
.faq-group a,.help-contact > a:not(.portal-button) { color:var(--app-action,var(--accent)); text-underline-offset:3px; }
.help-contact { display:flex; align-items:center; flex-wrap:wrap; gap:18px; padding:24px; border-radius:22px; border:1px solid var(--app-line,var(--line)); background:var(--app-surface,var(--surface)); margin:36px 0; }
.help-contact > div { flex:1 1 300px; }
.help-contact h2 { font-size:20px; margin:0 0 8px; color:var(--app-ink,var(--ink)); }
.help-contact p { color:var(--app-muted,var(--muted)); font-size:14px; line-height:1.7; margin:0; }
.help-contact > a { font-size:14px; }
@media(max-width:760px) {
  .section-subnav { display:block; margin-bottom:20px; padding:10px; border-radius:16px; }
  .section-subnav-label { display:block; padding:2px 6px 8px; }
  .section-subnav-links { gap:4px; }
  .section-subnav-links:has(> a:nth-child(4)) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .section-subnav a { padding:0 12px; font-size:13px; }
  .purchase-alternatives { grid-template-columns:1fr; }
  .purchase-alternatives > a { padding:16px; min-height:70px; font-size:13px; }
  .purchase-alternatives > a + a { border-left:0; border-top:1px solid var(--app-line,var(--line)); }
  .gift-steps { gap:8px; }
  .gift-steps > div { padding:14px 10px; border-radius:14px; }
  .gift-steps strong { font-size:13px; }
  .gift-steps span { font-size:11px; }
  .faq-group summary { padding:16px; font-size:14px; }
  .faq-group details > div { padding:2px 16px 12px; }
}
