:root{
  --tpma-accent: #c9ab03;
  --tpma-bg-0: #05070d;
  --tpma-bg-1: #0b1020;
  --tpma-glass-bg: rgba(255,255,255,0.08);
  --tpma-glass-brd: rgba(255,255,255,0.20);
  --tpma-text-hi: rgba(255,255,255,0.94);
  --tpma-text-md: rgba(255,255,255,0.82);
  --tpma-text-lo: rgba(255,255,255,0.66);
  --tpma-radius: 18px;
  --tpma-z-dock-overlay: 2147483630;
  --tpma-z-dock: 2147483640;
  --tpma-z-toast: 2147483645;
  --tpma-z-modal: 2147483647;
}

/* Productivity recovery editor: remains usable when a rich-editor dependency is unavailable. */
.tpma-workspace-fallback {
    width: min(920px, calc(100% - 32px));
    margin: 24px auto;
    padding: clamp(18px, 3vw, 32px);
    display: grid;
    gap: 12px;
}

.tpma-workspace-fallback h2,
.tpma-workspace-fallback p {
    margin: 0;
}

.tpma-workspace-fallback-text {
    width: 100%;
    min-height: min(58vh, 560px);
    resize: vertical;
    padding: 16px;
    border: 1px solid rgba(201, 171, 3, 0.42);
    border-radius: 14px;
    background: #fffef8;
    color: #17150b;
    font: 500 14px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.tpma-workspace-fallback-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

html, body{
  height: 100%;
}

html{
  overflow-x: hidden;
}

body.tpma-body{
  margin: 0;
  min-height: 100%;
  background: linear-gradient(180deg, var(--tpma-bg-0) 0%, var(--tpma-bg-1) 45%, var(--tpma-bg-0) 100%);
  color: var(--tpma-text-hi);
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  overflow-x: hidden;
}

body.tpma-body #listify-login-popup{
  display: none !important;
}

body.tpma-body.tpma-body-embed{
  min-height: auto;
  background: transparent;
}

body.tpma-body.tpma-body-embed .tpma-bg{
  display: none;
}

body.tpma-body.tpma-body-embed .tpma-shell{
  width: 100%;
  max-width: none;
  padding: 12px;
  gap: 12px;
  min-height: auto;
  height: auto;
}

body.tpma-body.tpma-body-embed .tpma-topbar{
  display: none;
}

body.tpma-body.tpma-body-embed .tpma-hero{
  padding: 14px 16px;
}

body.tpma-body.tpma-body-embed .tpma-main{
  padding: 0;
  grid-template-columns: 1fr;
}

body.tpma-body.tpma-body-embed .tpma-card-input{
  position: static;
  top: auto;
}

body.tpma-body.tpma-body-embed .tpma-footer{
  display: none;
}

/* Embed mode should not surface portal login/passport/ownership UI inside iframes. */
body.tpma-body.tpma-body-embed #listify-login-popup,
body.tpma-body.tpma-body-embed .tpus-passportFab,
body.tpma-body.tpma-body-embed .tpus-passportSheet,
body.tpma-body.tpma-body-embed .tpus-historySheet,
body.tpma-body.tpma-body-embed .tpops-ownerbar,
body.tpma-body.tpma-body-embed .tpus-quickTasks{
  display: none !important;
}

body.tpma-body.tpma-body-embed .tpma-card-output{
  display: none;
}

body.tpma-body.tpma-body-embed .tpma-shell.tpma-embed-has-output .tpma-card-output{
  display: block;
}

/* Embed mode (iframe): shrink empty output instead of reserving tall space. */
body.tpma-body.tpma-body-embed .tpma-card-output,
body.tpma-body.tpma-body-embed .tpma-output-body{
  min-height: 0 !important;
}

.tpma-aipkit-shadow{
  display: none !important;
}

body.tpma-body-embed #tp-recovery-banner,
body.tpma-body-embed #tp-spaces-cta-float,
body.tpma-body-embed .tpus-passportFab,
body.tpma-body-embed .tpus-passportSheet,
body.tpma-body-embed .tpus-historySheet,
body.tpma-body-embed .tpops-ownerbar,
body.tpma-body-embed .tpus-quickTasks,
body.tpma-body-embed .tp-ai-studio-launcherShell,
body.tpma-body-embed .tp-ai-studio-launcher,
body.tpma-body-embed .tp-ai-studio-launcherBubbleWrap,
body.tpma-body-embed .tp-ai-studio__overlay,
body.tpma-body-embed .tpais-assist-overlay,
body.tpma-body-embed .tpais-assist-stow,
body.tpma-body-embed .tpais-assist-pip,
body.tpma-body-embed .tpais-assist-bubble,
body.tpma-body-embed [data-tp-launcher-shell],
body.tpma-body-embed #cookie-law-info-bar,
body.tpma-body-embed #cookie-notice,
body.tpma-body-embed #tp-consentv2,
body.tpma-body-embed #moove_gdpr_cookie_info_bar,
body.tpma-body-embed .cli-bar-container,
body.tpma-body-embed .cli-modal,
body.tpma-body-embed .cli-modal-backdrop,
body.tpma-body-embed .cky-consent-container,
body.tpma-body-embed .cky-modal,
body.tpma-body-embed .cky-overlay,
body.tpma-body-embed .cc-window,
body.tpma-body-embed .cookie-notice,
body.tpma-body-embed .cookie-notice-container,
body.tpma-body-embed .tp-consent,
body.tpma-body-embed [data-tp-consent]{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.tpma-body.tpma-body-embed.tpma-body-findanymenu{
  background: transparent !important;
  color: #17211d;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.tpma-body.tpma-body-embed.tpma-body-findanymenu .tpma-bg{
  display: none !important;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed{
  --fam-embed-ink: #17211d;
  --fam-embed-soft: rgba(23, 33, 29, 0.68);
  --fam-embed-muted: rgba(23, 33, 29, 0.52);
  --fam-embed-line: rgba(32, 49, 42, 0.14);
  --fam-embed-panel: rgba(255, 255, 251, 0.94);
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  gap: 10px;
  color: var(--fam-embed-ink);
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-card{
  border: 1px solid var(--fam-embed-line);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(242, 207, 102, 0.18), rgba(132, 200, 196, 0.13)),
    var(--fam-embed-panel);
  box-shadow: 0 14px 34px rgba(63, 81, 59, 0.10);
  color: var(--fam-embed-ink);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-card::after{
  display: none;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-fam-embed-card{
  display: grid;
  gap: 14px;
  padding: 14px;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-fam-embed-head{
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-fam-embed-mark{
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--fam-embed-line);
  border-radius: 999px;
  background: rgba(255, 255, 251, 0.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82);
  font-size: 18px;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-fam-embed-kicker{
  margin: 0 0 4px;
  color: #496f53;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.11em;
  line-height: 1;
  text-transform: uppercase;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed h1{
  margin: 0;
  color: var(--fam-embed-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 5.8vw, 30px);
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed p{
  margin: 6px 0 0;
  color: var(--fam-embed-soft);
  font-size: 13px;
  line-height: 1.45;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-form{
  display: grid;
  gap: 12px;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-fields{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(132px, 0.46fr);
  gap: 10px;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-field{
  min-width: 0;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-field label{
  color: var(--fam-embed-muted);
  font-size: 11px;
  font-weight: 800;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-field input,
body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-field textarea,
body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-field select{
  min-height: 42px;
  border-color: rgba(32, 49, 42, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 251, 0.86);
  color: var(--fam-embed-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.88);
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-field input:focus,
body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-field textarea:focus,
body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-field select:focus{
  border-color: rgba(73, 111, 83, 0.56);
  box-shadow: 0 0 0 3px rgba(73, 111, 83, 0.13);
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-form-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-btn{
  min-height: 38px;
  border-color: rgba(32, 49, 42, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 251, 0.74);
  color: var(--fam-embed-ink);
  box-shadow: none;
  font-size: 13px;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-btn-primary{
  border-color: #496f53;
  background: #496f53;
  color: #fffdf7;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-fam-embed-notes{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-fam-embed-notes span{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border: 1px solid rgba(32, 49, 42, 0.10);
  border-radius: 999px;
  background: rgba(255, 255, 251, 0.58);
  padding: 5px 9px;
  color: var(--fam-embed-soft);
  font-size: 11px;
  font-weight: 750;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-recents{
  margin-top: 0;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-output-head{
  padding-bottom: 10px;
  border-bottom-color: rgba(32, 49, 42, 0.12);
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-output-title{
  color: var(--fam-embed-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 650;
}

body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-output-body,
body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-output-empty{
  color: var(--fam-embed-soft);
}

@media (max-width: 520px){
  body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-fields,
  body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-form-actions{
    grid-template-columns: 1fr;
    display: grid;
  }

  body.tpma-body.tpma-body-embed .tpma-shell-findanymenu-embed .tpma-btn{
    width: 100%;
    justify-content: center;
  }
}

/* FindAnyMenu is an app surface; shared portal widgets should not cover menu cards. */
body.tpma-body-findanymenu .tpus-passportFab,
body.tpma-body-findanymenu .tpus-passportSheet,
body.tpma-body-findanymenu .tpus-historySheet,
body.tpma-body-findanymenu .tpus-quickTasks,
body.tpma-body-findanymenu .tpops-ownerbar,
body.tpma-body-findanymenu .tp-ai-studio-launcher,
body.tpma-body-findanymenu .tp-ai-studio-launcherShell,
body.tpma-body-findanymenu .tpais-assist-overlay,
body.tpma-body-findanymenu .tpais-assist-pip,
body.tpma-body-findanymenu .tpais-assist-stow,
body.tpma-body-findanymenu .tpais-assist-bubble,
body.tpma-body-findanymenu #tp-recovery-banner,
body.tpma-body-findanymenu #tp-spaces-cta-float,
html:has(.tpma-shell[data-app="findany_menu"]) .tpus-passportFab,
html:has(.tpma-shell[data-app="findany_menu"]) .tpus-passportSheet,
html:has(.tpma-shell[data-app="findany_menu"]) .tpus-historySheet,
html:has(.tpma-shell[data-app="findany_menu"]) .tpus-quickTasks,
html:has(.tpma-shell[data-app="findany_menu"]) .tpops-ownerbar,
html:has(.tpma-shell[data-app="findany_menu"]) .tp-ai-studio-launcher,
html:has(.tpma-shell[data-app="findany_menu"]) .tp-ai-studio-launcherShell,
html:has(.tpma-shell[data-app="findany_menu"]) .tpais-assist-overlay,
html:has(.tpma-shell[data-app="findany_menu"]) .tpais-assist-pip,
html:has(.tpma-shell[data-app="findany_menu"]) .tpais-assist-stow,
html:has(.tpma-shell[data-app="findany_menu"]) .tpais-assist-bubble,
html:has(.tpma-shell[data-app="findany_menu"]) #tp-recovery-banner,
html:has(.tpma-shell[data-app="findany_menu"]) #tp-spaces-cta-float{
  display: none !important;
}

html.tp-recovery-banner--lock:has(.tpma-shell[data-app="findany_menu"]){
  overflow: auto !important;
}

.tpma-shell[data-app="mini_apps_hub"]{
  padding-bottom: calc(140px + env(safe-area-inset-bottom));
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-overlay{
  position: fixed;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease;
  background: rgba(0,0,0,0.38);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: var(--tpma-z-dock-overlay);
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub.is-dock-open .tpma-hub-dock-overlay{
  opacity: 1;
  pointer-events: auto;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-wrap{
  position: fixed;
  left: 50%;
  bottom: calc(14px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(1120px, calc(100% - 24px));
  z-index: var(--tpma-z-dock);
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockdrawer{
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 12px);
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(8,10,18,0.72);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: 24px;
  padding: 12px;
  box-shadow: 0 28px 90px rgba(0,0,0,0.55);
  max-height: min(62vh, 640px);
  overflow: auto;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub.is-dock-open .tpma-hub-dockdrawer{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockdrawer-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockdrawer-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockdrawer-close{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-md);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockdrawer-close:hover{
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.20);
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 22px 70px rgba(0,0,0,0.45);
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapps{
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 2px 4px;
  flex: 1;
  min-width: 0;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapps::-webkit-scrollbar{
  display: none;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapps-empty{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.2;
  white-space: nowrap;
  padding: 0 8px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapps-group{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapps-divider{
  width: 1px;
  height: 34px;
  background: rgba(255,255,255,0.18);
  flex: 0 0 auto;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapp{
  width: 52px;
  height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  position: relative;
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapp:hover{
  transform: translateY(-6px) scale(1.05);
  border-color: rgba(255,255,255,0.28);
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapp.is-favorite{
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.22));
  background: rgba(201,171,3,0.10);
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapp-img{
  width: 24px;
  height: 24px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.34));
  object-fit: contain;
  border-radius: 6px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapp-img.is-error{
  display: none;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapp-emoji{
  font-size: 22px;
  line-height: 1;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockcontrols{
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-docktabs{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-left: 10px;
  margin-left: 6px;
  border-left: 1px solid rgba(255,255,255,0.14);
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-btn,
.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-tab{
  appearance: none;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-md);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-btn:hover,
.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-tab:hover{
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-tab.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 78%, #000000 22%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-ico{
  font-size: 16px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-badge{
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.45);
  color: var(--tpma-text-hi);
  font-size: 11px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-badge[hidden]{
  display: none;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-panel{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.14);
  padding: 12px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-panel + .tpma-hub-dock-panel{
  margin-top: 10px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-actions-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-actions-note{
  margin-top: 10px;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.4;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-title-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-recents-empty{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-item{
  display: flex;
  align-items: center;
  gap: 10px;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-item .tpma-hub-recent{
  flex: 1;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-star{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.24);
  color: color-mix(in oklab, var(--tpma-accent) 90%, #ffffff 10%);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-star:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

@media (max-width: 520px){
  .tpma-shell[data-app="mini_apps_hub"]{
    padding-bottom: calc(156px + env(safe-area-inset-bottom));
  }

  .tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-wrap{
    bottom: calc(10px + env(safe-area-inset-bottom));
    width: calc(100% - 20px);
  }

  .tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockbar{
    gap: 10px;
    padding: 9px 10px;
  }

  .tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dockapp{
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-btn,
  .tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-tab{
    width: 40px;
    height: 40px;
  }

  .tpma-shell[data-app="mini_apps_hub"] .tpma-hub-dock-actions-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-shell[data-app="kids_hub"]{
  padding-bottom: calc(140px + env(safe-area-inset-bottom));
}

.tpma-shell-kids:not([data-app="kids_hub"]){
  padding-bottom: calc(112px + env(safe-area-inset-bottom));
}

.tpma-shell[data-app="kids_hub"] .tpma-topbar,
.tpma-shell[data-app="kids_hub"] .tpma-hero,
.tpma-shell[data-app="kids_hub"] .tpma-main{
  width: min(1040px, 100%);
}

.tpma-shell-kids .tpma-topbar,
.tpma-shell-kids .tpma-hero,
.tpma-shell-kids .tpma-main{
  width: min(1040px, 100%);
  margin: 0 auto;
}

.tpma-kids-nav{
  position: fixed;
  left: 50%;
  bottom: calc(14px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(1040px, calc(100% - 24px));
  z-index: var(--tpma-z-dock);
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.20);
  background: color-mix(in oklab, rgba(255,255,255,0.08) 78%, var(--tpma-accent) 10%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow:
    0 22px 70px rgba(0,0,0,0.45),
    0 0 70px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-kids-nav-items{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-kids-nav-item{
  appearance: none;
  font: inherit;
  cursor: pointer;
  flex: 1 1 0;
  min-width: 0;
  text-decoration: none;
  color: var(--tpma-text-md);
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  border-radius: 999px;
  padding: 10px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  line-height: 1;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-kids-nav-item:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,0.28);
}

.tpma-kids-nav-item.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 78%, #000000 22%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.30));
}

.tpma-kids-nav-ico{
  width: 22px;
  height: 22px;
  display: block;
}

.tpma-kids-nav-label{
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 0.2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

@media (max-width: 520px){
  .tpma-kids-nav{
    padding: 9px 10px;
  }
  .tpma-kids-nav-item{
    padding: 10px 6px;
  }
  .tpma-kids-nav-label{
    font-size: 10px;
  }
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-overlay{
  position: fixed;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease;
  background: rgba(0,0,0,0.38);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: var(--tpma-z-dock-overlay);
}

.tpma-shell[data-app="kids_hub"] .tpma-hub.is-dock-open .tpma-hub-dock-overlay{
  opacity: 1;
  pointer-events: auto;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-wrap{
  position: fixed;
  left: 50%;
  bottom: calc(14px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(1040px, calc(100% - 24px));
  z-index: var(--tpma-z-dock);
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockdrawer{
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 12px);
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(8,10,18,0.72);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: 24px;
  padding: 12px;
  box-shadow: 0 28px 90px rgba(0,0,0,0.55);
  max-height: min(62vh, 640px);
  overflow: auto;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 180ms ease, transform 180ms ease;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub.is-dock-open .tpma-hub-dockdrawer{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockdrawer-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockdrawer-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockdrawer-close{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-md);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockdrawer-close:hover{
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.20);
  background: color-mix(in oklab, rgba(255,255,255,0.08) 78%, var(--tpma-accent) 10%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow:
    0 22px 70px rgba(0,0,0,0.45),
    0 0 70px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapps{
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 2px 4px;
  flex: 1;
  min-width: 0;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapps::-webkit-scrollbar{
  display: none;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapps-empty{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.2;
  white-space: nowrap;
  padding: 0 8px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapps-group{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapps-divider{
  width: 1px;
  height: 34px;
  background: rgba(255,255,255,0.18);
  flex: 0 0 auto;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapp{
  width: 52px;
  height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  position: relative;
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapp:hover{
  transform: translateY(-6px) scale(1.05);
  border-color: rgba(255,255,255,0.28);
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapp.is-favorite{
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.22));
  background: rgba(255,126,182,0.10);
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapp-img{
  width: 24px;
  height: 24px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,0.34));
  object-fit: contain;
  border-radius: 6px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapp-img.is-error{
  display: none;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockapp-emoji{
  font-size: 22px;
  line-height: 1;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dockcontrols{
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-docktabs{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-left: 10px;
  margin-left: 6px;
  border-left: 1px solid rgba(255,255,255,0.14);
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-btn,
.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-tab{
  appearance: none;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-md);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-btn:hover,
.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-tab:hover{
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-tab.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 78%, #000000 22%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-ico{
  font-size: 16px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-badge{
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.45);
  color: var(--tpma-text-hi);
  font-size: 11px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-badge[hidden]{
  display: none;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-panel{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.14);
  padding: 12px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-panel + .tpma-hub-dock-panel{
  margin-top: 10px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-actions-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-actions-note{
  margin-top: 10px;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.4;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-title-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-recents-empty{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-item{
  display: flex;
  align-items: center;
  gap: 10px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-item .tpma-hub-recent{
  flex: 1;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-star{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.24);
  color: color-mix(in oklab, var(--tpma-accent) 90%, #ffffff 10%);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell[data-app="kids_hub"] .tpma-hub-dock-star:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

@media (max-width: 520px){
  .tpma-shell[data-app="kids_hub"]{
    padding-bottom: calc(156px + env(safe-area-inset-bottom));
  }

  .tpma-shell[data-app="kids_hub"] .tpma-hub-dock-wrap{
    bottom: calc(10px + env(safe-area-inset-bottom));
    width: calc(100% - 20px);
  }

  .tpma-shell[data-app="kids_hub"] .tpma-hub-dockbar{
    gap: 10px;
    padding: 9px 10px;
  }

  .tpma-shell[data-app="kids_hub"] .tpma-hub-dockapps{
    gap: 8px;
  }

  .tpma-shell[data-app="kids_hub"] .tpma-hub-dockapp{
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .tpma-shell[data-app="kids_hub"] .tpma-hub-dock-btn,
  .tpma-shell[data-app="kids_hub"] .tpma-hub-dock-tab{
    width: 40px;
    height: 40px;
  }

  .tpma-shell[data-app="kids_hub"] .tpma-hub-dock-actions-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-bg{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.tpma-bg::before{
  content: "";
  position: absolute;
  inset: -20% -10% auto -10%;
  height: 70vh;
  background:
    radial-gradient(60% 60% at 12% 22%, color-mix(in oklab, var(--tpma-accent) 22%, transparent), transparent 60%),
    radial-gradient(55% 55% at 92% 12%, rgba(57,213,255,0.18), transparent 60%),
    radial-gradient(45% 45% at 74% 78%, rgba(255,123,110,0.14), transparent 60%);
  filter: blur(30px);
  opacity: 0.9;
  animation: tpma-floatbg 18s ease-in-out infinite alternate;
}

.tpma-bg::after{
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  background-image: radial-gradient(rgba(255,255,255,0.6) 1px, transparent 1px);
  background-size: 26px 26px;
}

/* Scroll performance: reduce expensive blur while scrolling (helps iOS Safari). */
body.tpma-is-scrolling .tpma-bg::before{
  animation: none !important;
  filter: none !important;
  opacity: 0.78 !important;
}

body.tpma-is-scrolling .tpma-bg::after{
  opacity: 0.04 !important;
}

body.tpma-is-scrolling .tpma-kids-fx{
  display: none !important;
}

body.tpma-is-scrolling .tpma-kids-fx::before{
  animation: none !important;
  filter: blur(28px) saturate(1.2) !important;
}

body.tpma-is-scrolling .tpma-kids-fx::after{
  animation: none !important;
}

body.tpma-is-scrolling .tpma-topbar,
body.tpma-is-scrolling .tpma-card,
body.tpma-is-scrolling .tpma-chip,
body.tpma-is-scrolling .tpma-hub-dockbar,
body.tpma-is-scrolling .tpma-hub-dockdrawer,
body.tpma-is-scrolling .tpma-hub-dock-overlay,
body.tpma-is-scrolling .tpma-games-dock,
body.tpma-is-scrolling .tpma-gamepill,
body.tpma-is-scrolling .tpma-gamecard,
body.tpma-is-scrolling .tpma-kids-nav{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Performance mode: reduce blur/animations and canvas load. */
body.tpma-perf .tpma-bg::before{
  animation: none !important;
  filter: none !important;
  opacity: 0.72 !important;
}

body.tpma-perf .tpma-bg::after{
  opacity: 0.04 !important;
}

body.tpma-perf .tpma-kids-fx{
  display: none !important;
}

body.tpma-perf .tpma-topbar,
body.tpma-perf .tpma-card,
body.tpma-perf .tpma-chip,
body.tpma-perf .tpma-hub-dockbar,
body.tpma-perf .tpma-hub-dockdrawer,
body.tpma-perf .tpma-hub-dock-overlay,
body.tpma-perf .tpma-games-dock,
body.tpma-perf .tpma-gamepill,
body.tpma-perf .tpma-gamecard,
body.tpma-perf .tpma-kids-nav{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

@keyframes tpma-floatbg{
  from{ transform: translateY(-14px); }
  to{ transform: translateY(18px); }
}

@keyframes tpma-kids-glowshift{
  from{ transform: translate3d(-10px, -18px, 0) scale(1) rotate(-1deg); }
  to{ transform: translate3d(12px, 16px, 0) scale(1.02) rotate(1.1deg); }
}

.tpma-kids-fx{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
  display: none;
}

body.tpma-kids-mode .tpma-kids-fx{
  display: block;
}

body.tpma-kids-mode.tpma-kids-fx-off .tpma-kids-fx{
  display: none !important;
}

body.tpma-kids-mode.tpma-kids-fx-off .tpma-bg::before{
  animation: none !important;
}

body.tpma-kids-mode.tpma-kids-fx-off .tpma-bg::after{
  animation: none !important;
}

body.tpma-kids-mode .tpma-kids-fx::before{
  content: "";
  position: absolute;
  inset: -28% -22%;
  background:
    radial-gradient(60% 60% at 18% 28%, color-mix(in oklab, var(--tpma-kids-fx1) 34%, transparent), transparent 62%),
    radial-gradient(60% 60% at 84% 24%, color-mix(in oklab, var(--tpma-kids-fx2) 30%, transparent), transparent 64%),
    radial-gradient(55% 55% at 72% 82%, color-mix(in oklab, var(--tpma-kids-fx3) 26%, transparent), transparent 68%),
    conic-gradient(from 140deg at 50% 40%,
      transparent 0 18%,
      color-mix(in oklab, var(--tpma-kids-fx2) 18%, transparent) 18% 30%,
      transparent 30% 58%,
      color-mix(in oklab, var(--tpma-kids-fx3) 16%, transparent) 58% 72%,
      transparent 72% 100%
    );
  filter: blur(46px) saturate(1.5);
  opacity: 0.55;
  mix-blend-mode: screen;
  animation: tpma-kids-aurora calc(24s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite alternate;
  z-index: 0;
}

body.tpma-kids-mode .tpma-kids-fx::after{
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.20;
  background-image:
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx2) 62%, transparent) 1px, transparent 1px),
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx1) 50%, transparent) 1px, transparent 1px),
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx3) 52%, transparent) 2px, transparent 2px);
  background-size: 36px 36px, 24px 24px, 72px 72px;
  background-position: 0 0, 12px 18px, 18px 9px;
  mix-blend-mode: screen;
  animation: tpma-kids-twinkle calc(8s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite alternate;
  z-index: 1;
}

.tpma-kids-fx-item{
  z-index: 2;
}

.tpma-kids-fx-item{
  position: absolute;
  width: clamp(44px, 6.5vw, 90px);
  height: auto;
  opacity: 0.14;
  color: color-mix(in oklab, var(--tpma-kids-fx1, var(--tpma-accent)) 62%, rgba(255,255,255,0.92));
  filter:
    drop-shadow(0 18px 50px rgba(0,0,0,0.35))
    drop-shadow(0 0 18px color-mix(in oklab, currentColor 36%, transparent));
  animation: tpma-kids-fx-float calc(26s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite;
  will-change: transform;
}

.tpma-kids-fx-item-1{ left: 6%; top: 14%; color: var(--tpma-kids-fx2, var(--tpma-accent)); opacity: 0.10; animation-duration: calc(30s * var(--tpma-kids-motion-speed, 1)); }
.tpma-kids-fx-item-2{ right: 8%; top: 18%; color: var(--tpma-kids-fx1, var(--tpma-accent)); opacity: 0.12; animation-duration: calc(28s * var(--tpma-kids-motion-speed, 1)); animation-delay: -6s; }
.tpma-kids-fx-item-3{ right: 10%; top: 58%; color: var(--tpma-kids-fx3, var(--tpma-accent)); opacity: 0.10; animation-duration: calc(34s * var(--tpma-kids-motion-speed, 1)); animation-delay: -14s; }
.tpma-kids-fx-item-4{ left: 10%; top: 64%; color: var(--tpma-kids-fx3, var(--tpma-accent)); opacity: 0.10; animation-duration: calc(32s * var(--tpma-kids-motion-speed, 1)); animation-delay: -18s; }
.tpma-kids-fx-item-5{ left: 48%; bottom: 10%; color: var(--tpma-kids-fx2, var(--tpma-accent)); opacity: 0.09; width: clamp(40px, 6vw, 82px); animation-duration: calc(36s * var(--tpma-kids-motion-speed, 1)); animation-delay: -10s; }
.tpma-kids-fx-item-6{ left: 18%; bottom: 18%; color: var(--tpma-kids-fx1, var(--tpma-accent)); opacity: 0.08; width: clamp(64px, 9vw, 120px); animation-duration: calc(40s * var(--tpma-kids-motion-speed, 1)); animation-delay: -22s; }

@keyframes tpma-kids-fx-float{
  0%{ transform: translate3d(0, 0, 0) rotate(0deg); }
  50%{ transform: translate3d(0, -22px, 0) rotate(7deg); }
  100%{ transform: translate3d(0, 10px, 0) rotate(-5deg); }
}

@keyframes tpma-kids-aurora{
  from{ transform: translate3d(-18px, -12px, 0) rotate(-2deg) scale(1); }
  to{ transform: translate3d(22px, 16px, 0) rotate(2deg) scale(1.04); }
}

@keyframes tpma-kids-twinkle{
  from{ opacity: 0.16; transform: translate3d(0, 0, 0); }
  to{ opacity: 0.24; transform: translate3d(18px, -12px, 0); }
}

@media (max-width: 640px){
  .tpma-kids-fx-item{ opacity: 0.08; }
  .tpma-kids-fx-item-3,
  .tpma-kids-fx-item-4{ display: none; }
}

.tpma-shell{
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  min-height: calc(var(--tpma-vh, 1vh) * 100);
  padding: 18px 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.tpma-topbar,
.tpma-hero,
.tpma-main{
  width: min(1120px, 100%);
  margin: 0 auto;
}

.tpma-topbar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tpma-brand{
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--tpma-text-hi);
}

.tpma-logo{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06));
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 16px 40px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.05) inset;
}

.tpma-brand-text{
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.tpma-brand-title{
  font-weight: 700;
  letter-spacing: 0.2px;
}

.tpma-brand-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-topbar-actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

.tpma-user{
  position: relative;
}

.tpma-user-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tpma-user-dot{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(255,255,255,0.26);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.10) inset, 0 10px 20px rgba(0,0,0,0.35);
}

.tpma-user-dot.is-on{
  background: #35C2A1;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.18) inset, 0 0 0 4px rgba(53,194,161,0.12);
}

.tpma-user-caret{
  opacity: 0.75;
}

.tpma-user-menu{
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: min(320px, calc(100vw - 20px));
  min-width: 220px;
  padding: 10px;
  border-radius: 18px;
  background: var(--tpma-glass-bg);
  border: 1px solid var(--tpma-glass-brd);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.08);
  z-index: 60;
}

.tpma-user-card{
  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.05);
  margin-bottom: 10px;
}

.tpma-user-name{
  font-weight: 700;
  color: var(--tpma-text-hi);
}

.tpma-user-sub{
  margin-top: 3px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-user-item{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: var(--tpma-text-md);
  text-decoration: none;
}

.tpma-user-item + .tpma-user-item{
  margin-top: 8px;
}

.tpma-user-item:hover{
  border-color: rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.06);
}

.tpma-user-item-btn{
  appearance: none;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.tpma-user-danger{
  border-color: rgba(255,77,109,0.28);
}

.tpma-link{
  color: var(--tpma-text-md);
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  padding: 8px 10px;
  border-radius: 999px;
}

.tpma-link.tpma-link-btn{
  appearance: none;
  cursor: pointer;
  font: inherit;
}

.tpma-link:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-hero{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 2px 2px;
}

.tpma-hero-title{
  display: flex;
  align-items: center;
  gap: 10px;
}

.tpma-hero-emoji{
  font-size: 30px;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,0.35));
}

.tpma-hero h1{
  margin: 0;
  font-size: clamp(22px, 4vw, 36px);
  letter-spacing: 0.2px;
}

.tpma-hero-sub{
  margin: 0;
  color: var(--tpma-text-md);
  max-width: 72ch;
  line-height: 1.55;
}

.tpma-main{
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 14px;
  align-items: start;
}

.tpma-main > *{
  min-width: 0;
}

.tpma-main-embed{
  grid-template-columns: 1fr;
}

.tpma-main-hub{
  grid-template-columns: 1fr;
}

.tpma-shell-events .tpma-topbar,
.tpma-shell-events .tpma-hero,
.tpma-shell-events .tpma-main{
  width: 100%;
  max-width: none;
}

.tpma-main.tpma-main-events{
  grid-template-columns: 1fr;
}

.tpma-events-wrap{
  width: min(1420px, 100%);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tpma-events-fields{
  align-items: flex-end;
}

.tpma-events-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.tpma-events-meta{
  margin-left: auto;
  color: var(--tpma-text-lo);
  font-size: 13px;
}

@media (max-width: 720px){
  .tpma-events-meta{
    width: 100%;
    margin-left: 0;
  }
}

.tpma-events-explore-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-events-explore-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-events-explore-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
}

.tpma-events-explore-groups{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 980px){
  .tpma-events-explore-groups{
    grid-template-columns: 1fr;
  }
}

.tpma-events-group-title{
  color: var(--tpma-text-md);
  font-size: 13px;
  margin-bottom: 8px;
}

.tpma-events-chips{
  gap: 8px;
}

.tpma-events-chip{
  user-select: none;
}

.tpma-events-chip.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 62%, rgba(255,255,255,0.28));
  background: color-mix(in oklab, var(--tpma-accent) 16%, rgba(255,255,255,0.08));
  color: color-mix(in oklab, var(--tpma-accent) 80%, white);
  font-weight: 900;
}

.tpma-events-layout{
  display: grid;
  grid-template-columns: 1.6fr 0.9fr;
  gap: 14px;
  align-items: start;
}

@media (max-width: 980px){
  .tpma-events-layout{
    grid-template-columns: 1fr;
  }
}

.tpma-events-feed .tpma-output-head{
  position: sticky;
  top: 10px;
  z-index: 2;
  background: rgba(0,0,0,0.15);
  border-radius: 14px;
  padding: 10px 10px;
  margin: -4px -4px 10px;
}

.tpma-events-status{
  color: var(--tpma-text-lo);
  font-size: 13px;
  margin-bottom: 10px;
}

.tpma-events-list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 720px){
  .tpma-events-list{
    grid-template-columns: 1fr;
  }
}

.tpma-events-item{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-decoration: none;
  color: var(--tpma-text-hi);
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.18);
  border-radius: 18px;
  padding: 12px;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-events-item:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.22);
  background: rgba(0,0,0,0.22);
}

.tpma-events-thumb{
  width: 74px;
  height: 74px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 22px;
  line-height: 1;
}

.tpma-events-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tpma-events-body{
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  flex: 1;
}

.tpma-events-title{
  font-weight: 900;
  letter-spacing: 0.15px;
  line-height: 1.18;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tpma-events-item-meta{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-events-item-chips{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-events-chipmini{
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  color: var(--tpma-text-md);
}

.tpma-events-side-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  margin-bottom: 10px;
}

.tpma-events-side-links{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-events-side-note{
  margin-top: 10px;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.45;
}

@media (max-width: 980px){
  .tpma-main{
    grid-template-columns: 1fr;
  }
}

.tpma-sr-only{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.tpma-card{
  position: relative;
  overflow: hidden;
  background: var(--tpma-glass-bg);
  border: 1px solid var(--tpma-glass-brd);
  border-radius: var(--tpma-radius);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.08);
  padding: 14px;
}

.tpma-card::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 200ms ease;
  background: radial-gradient(420px circle at var(--tpma-mx, 50%) var(--tpma-my, 20%), rgba(255,255,255,0.22), transparent 40%);
}

.tpma-card::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.25;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.00));
}

.tpma-card:hover::before{
  opacity: 1;
}

.tpma-card-input{
  position: sticky;
  top: 12px;
}

@media (max-width: 980px){
  .tpma-card-input{
    position: static;
  }
}

.tpma-form{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-fields{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tpma-field{
  min-width: min(260px, 100%);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tpma-field label{
  font-size: 13px;
  color: var(--tpma-text-md);
}

.tpma-required{
  margin-left: 5px;
  color: var(--tpma-accent);
}

.tpma-field input,
.tpma-field textarea,
.tpma-field select{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  color: var(--tpma-text-hi);
  font-size: 15px;
}

.tpma-field textarea{
  resize: vertical;
  min-height: 92px;
  line-height: 1.4;
}

.tpma-shell-kids .tpma-field textarea{
  min-height: 120px;
  padding: 14px 14px;
  border-radius: 18px;
  font-size: 16px;
}

.tpma-field.has-dictate,
.tpma-field.has-scan{
	  position: relative;
	}

.tpma-dictate-wrap{
  position: relative;
}

.tpma-field.has-dictate input,
.tpma-field.has-dictate textarea,
.tpma-field.has-scan input,
.tpma-field.has-scan textarea{
	  padding-right: 52px;
	}

.tpma-dictate-wrap.has-dictate input,
.tpma-dictate-wrap.has-dictate textarea{
  padding-right: 52px;
}

.tpma-field.has-dictate.has-scan input,
.tpma-field.has-dictate.has-scan textarea{
	  padding-right: 94px;
	}

.tpma-dictate{
	  position: absolute;
	  right: 10px;
	  bottom: 10px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-hi);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
	}

.tpma-scan{
	  position: absolute;
	  right: 10px;
	  bottom: 10px;
	  width: 36px;
	  height: 36px;
	  border-radius: 12px;
	  border: 1px solid rgba(255,255,255,0.16);
	  background: rgba(0,0,0,0.22);
	  color: var(--tpma-text-hi);
	  cursor: pointer;
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  font-size: 16px;
	  line-height: 1;
	  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
	}

.tpma-field.has-dictate.has-scan .tpma-scan{
	  right: 52px;
	}

.tpma-scan:hover{
	  transform: translateY(-1px);
	  border-color: rgba(255,255,255,0.28);
	}

.tpma-scan:disabled{
	  opacity: 0.6;
	  cursor: not-allowed;
	  transform: none;
	}

.tpma-dictate:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

.tpma-dictate:disabled{
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.tpma-field input::placeholder,
.tpma-field textarea::placeholder{
  color: rgba(255,255,255,0.55);
}

.tpma-field input:focus,
.tpma-field textarea:focus,
.tpma-field select:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.25));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 22%, transparent);
}

.tpma-form-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-btn{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-btn:hover{
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

.tpma-btn:disabled{
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.tpma-btn-primary{
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 78%, #000000 22%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
  color: #0b1020;
  box-shadow: 0 16px 40px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-btn-primary:hover{
  border-color: color-mix(in oklab, var(--tpma-accent) 78%, rgba(255,255,255,0.3));
}

.tpma-btn-ghost{
  background: transparent;
}

.tpma-btn-xs{
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 13px;
}

.tpma-help{
  margin: 0;
  padding-left: 18px;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.5;
}

.tpma-tool-error{
  display: none;
  margin: 10px 0 0;
  color: #ff7b6e;
  font-size: 13px;
  line-height: 1.4;
}

.tpma-recents{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-recent-list{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  cursor: pointer;
  text-decoration: none;
  max-width: 100%;
}

.tpma-chip:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-chip-live{
  border-color: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 42%, rgba(255,255,255,0.16));
  background: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 16%, rgba(255,255,255,0.08));
  color: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 70%, white);
  font-weight: 900;
  letter-spacing: 0.4px;
  padding: 7px 10px;
}

.tpma-chip-live:hover{
  border-color: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 62%, rgba(255,255,255,0.28));
}

.tpma-chip .tpma-chip-main{
  display: inline-flex;
  flex-direction: column;
  gap: 1px;
}

.tpma-chip .tpma-chip-title{
  font-weight: 700;
  color: var(--tpma-text-hi);
  font-size: 13px;
}

.tpma-chip .tpma-chip-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-advanced{
  margin-top: 10px;
}

.tpma-advanced summary{
  cursor: pointer;
  user-select: none;
  color: var(--tpma-text-md);
}

.tpma-advanced-inner{
  margin-top: 10px;
}

/* Make the embedded AiPKit form feel consistent inside Advanced. */
.tpma-advanced-inner .aipkit-ai-form-wrapper{
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 16px;
  padding: 12px;
}

.tpma-voice{
  margin-top: 12px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
}

.tpma-voice-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-voice-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-voice-right{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-voice-status{
  font-size: 12px;
  color: var(--tpma-text-lo);
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.05);
}

.tpma-voice-hint{
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--tpma-text-lo);
}

.tpma-voice-log{
  margin-top: 10px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.22);
  min-height: 120px;
  max-height: 280px;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-voice-empty{
  font-size: 13px;
  color: var(--tpma-text-lo);
}

.tpma-voice-msg{
  max-width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  white-space: pre-wrap;
  word-break: break-word;
}

.tpma-voice-msg-user{
  align-self: flex-end;
  border-color: color-mix(in oklab, var(--tpma-accent) 42%, rgba(255,255,255,0.18));
}

.tpma-voice-msg-assistant{
  align-self: flex-start;
}

.tpma-voice-foot{
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-voice-foot-left,
.tpma-voice-foot-right{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-voice-audio{
  height: 0;
  overflow: hidden;
}

.tpma-card-output{
  min-height: 420px;
}

.tpma-card-embed{
  padding: 12px;
}

.tpma-embed-frame-wrap{
  margin-top: 12px;
  overflow: hidden;
  border-radius: calc(var(--tpma-radius) - 6px);
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
}

.tpma-embed-frame{
  display: block;
  width: 100%;
  height: min(86vh, 1200px);
  border: 0;
  background: transparent;
}

.tpma-output-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
  margin-bottom: 12px;
}

.tpma-output-title{
  font-weight: 800;
  letter-spacing: 0.2px;
}

.tpma-output-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-output-body{
  min-height: 360px;
  padding: 2px;
  color: var(--tpma-text-hi);
}

[data-output][data-tpma-view] .tpma-panel{
  display: none;
}

[data-output][data-tpma-view="canvas"] .tpma-panel[data-tpma-panel="canvas"]{
  display: block;
}

[data-output][data-tpma-view="text"] .tpma-panel[data-tpma-panel="text"]{
  display: block;
}

[data-output][data-tpma-view="links"] .tpma-panel[data-tpma-panel="links"]{
  display: block;
}

[data-output][data-tpma-view="saved"] .tpma-panel[data-tpma-panel="saved"]{
  display: block;
}

[data-output][data-tpma-view="history"] .tpma-panel[data-tpma-panel="history"]{
  display: block;
}

[data-output][data-tpma-view="discover"] .tpma-panel[data-tpma-panel="discover"]{
  display: block;
}

.tpma-canvas-tabs{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
  margin-bottom: 12px;
}

.tpma-tab{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
  letter-spacing: 0.2px;
}

.tpma-tab.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 78%, #000000 22%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
}

.tpma-canvas{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-canvas-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.tpma-pill{
  display: inline-flex;
  gap: 8px;
  align-items: baseline;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  max-width: 100%;
}

.tpma-pill-k{
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-pill-v{
  font-size: 13px;
  font-weight: 800;
  color: var(--tpma-text-hi);
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

.tpma-canvas-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-menu{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-menu-heading{
  font-weight: 900;
  letter-spacing: 0.2px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.03));
}

.tpma-menu-line{
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.12);
  color: var(--tpma-text-md);
  overflow-wrap: anywhere;
}

.tpma-menu-gap{
  height: 8px;
}

.tpma-fam-canvas{
  gap: 14px;
}

.tpma-lookup-canvas{
  gap: 14px;
}

.tpma-lookup-board{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
}

.tpma-lookup-canvas .tpma-fam-menu-section{
  grid-column: span 6;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  background: rgba(255,255,255,0.06);
}

.tpma-lookup-canvas .tpma-fam-menu-section.is-wide{
  grid-column: 1 / -1;
}

.tpma-lookup-section-top{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.14)) !important;
}

.tpma-lookup-section-price{
  border-color: rgba(244, 201, 91, 0.34) !important;
}

.tpma-lookup-section-source{
  border-color: rgba(125, 211, 252, 0.28) !important;
}

.tpma-lookup-section-status{
  border-color: rgba(255,255,255,0.20) !important;
}

.tpma-lookup-canvas .tpma-fam-menu-section-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-lookup-canvas .tpma-fam-menu-section-head span{
  display: block;
  color: var(--tpma-text-lo);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.tpma-lookup-canvas .tpma-fam-menu-section-head strong{
  display: block;
  margin-top: 5px;
  color: var(--tpma-text-hi);
  font-size: 17px;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.tpma-lookup-canvas .tpma-fam-menu-section-head em{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  color: var(--tpma-text-lo);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.tpma-lookup-items{
  display: grid;
  gap: 9px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.tpma-lookup-item{
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-md);
  overflow-wrap: anywhere;
}

.tpma-lookup-item.is-muted{
  border-style: dashed;
  background: rgba(255,255,255,0.04);
}

.tpma-lookup-line-top{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.tpma-lookup-title{
  min-width: min(100%, 12rem);
  flex: 1 1 13rem;
  color: var(--tpma-text-hi);
  font-size: 14px;
  line-height: 1.3;
}

.tpma-lookup-price,
.tpma-lookup-source{
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  color: var(--tpma-text-hi);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.tpma-lookup-price{
  border-color: rgba(244, 201, 91, 0.32);
  background: rgba(244, 201, 91, 0.10);
}

.tpma-lookup-source{
  color: var(--tpma-text-md);
}

.tpma-lookup-detail{
  display: grid;
  gap: 4px;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.42;
}

.tpma-lookup-source-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.tpma-lookup-source-card{
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-hi);
  text-decoration: none;
}

.tpma-lookup-source-card:hover{
  border-color: color-mix(in oklab, var(--tpma-accent) 46%, rgba(255,255,255,0.14));
}

.tpma-lookup-source-card img{
  width: 22px;
  height: 22px;
  border-radius: 6px;
  object-fit: contain;
}

.tpma-lookup-source-card > span:last-child{
  display: grid;
  gap: 2px;
  min-width: 0;
}

.tpma-lookup-source-card strong,
.tpma-lookup-source-card em,
.tpma-lookup-source-card small{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-lookup-source-card strong{
  white-space: nowrap;
  font-size: 13px;
  font-weight: 900;
}

.tpma-lookup-source-card em,
.tpma-lookup-source-card small{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-style: normal;
  line-height: 1.3;
}

.tpma-fam-hero,
.tpma-fam-result-hero,
.tpma-fam-loading,
.tpma-fam-empty{
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.03)),
    rgba(0,0,0,0.16);
  box-shadow: 0 20px 46px rgba(0,0,0,0.24);
}

.tpma-fam-hero{
  padding: 18px;
  display: grid;
  gap: 8px;
}

.tpma-fam-kicker{
  color: color-mix(in oklab, var(--tpma-accent) 78%, #ffffff 22%);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tpma-fam-hero-title,
.tpma-fam-result-title{
  color: var(--tpma-text-hi);
  font-weight: 950;
  line-height: 1.1;
  letter-spacing: 0;
}

.tpma-fam-hero-title{
  font-size: 34px;
  max-width: 780px;
}

.tpma-fam-hero-copy,
.tpma-fam-section-sub,
.tpma-fam-empty-body,
.tpma-fam-loading-sub{
  color: var(--tpma-text-lo);
  font-size: 14px;
  line-height: 1.45;
}

.tpma-fam-result-hero{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
}

.tpma-fam-result-title{
  font-size: 20px;
  max-width: 720px;
}

.tpma-fam-result-metrics,
.tpma-fam-card-foot{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-fam-result-metrics span,
.tpma-fam-card-foot span,
.tpma-fam-badge{
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  padding: 5px 8px;
}

.tpma-orderpath{
  display: block;
}

.tpma-orderpath[hidden]{
  display: none !important;
}

.tpma-orderpath-panel{
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 8px;
  background:
    radial-gradient(circle at 14% 0%, rgba(200,138,61,0.17), transparent 34%),
    linear-gradient(135deg, rgba(42,157,143,0.14), rgba(255,255,255,0.04)),
    rgba(3,12,16,0.34);
  padding: 15px;
  display: grid;
  gap: 12px;
  box-shadow: 0 18px 38px rgba(0,0,0,0.22);
}

.tpma-orderpath-panel.is-loading{
  color: var(--tpma-text-lo);
}

.tpma-orderpath-head{
  display: grid;
  gap: 4px;
}

.tpma-orderpath-head span{
  color: color-mix(in oklab, var(--tpma-accent) 74%, #ffffff 26%);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tpma-orderpath-head strong{
  color: var(--tpma-text-hi);
  font-size: 18px;
  line-height: 1.15;
}

.tpma-orderpath-head p,
.tpma-orderpath-status{
  margin: 0;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.4;
}

.tpma-orderpath-field,
.tpma-orderpath-courier label{
  display: grid;
  gap: 5px;
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 700;
}

.tpma-orderpath-field input,
.tpma-orderpath-courier input,
.tpma-orderpath-courier select,
.tpma-orderpath-courier textarea{
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 8px;
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  padding: 9px 10px;
  font: inherit;
  box-sizing: border-box;
}

.tpma-orderpath-options{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

.tpma-orderpath-btn{
  min-height: 46px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 8px;
  background: rgba(255,255,255,0.09);
  color: var(--tpma-text-hi);
  padding: 8px 10px;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
}

.tpma-orderpath-btn:hover{
  border-color: rgba(42,157,143,0.46);
  background: rgba(42,157,143,0.18);
}

.tpma-orderpath-btn:disabled{
  opacity: 0.6;
  cursor: progress;
}

.tpma-orderpath-logo{
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(255,255,255,0.96);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.08);
  display: inline-grid;
  place-items: center;
  flex: 0 0 28px;
  overflow: hidden;
  position: relative;
  color: #10201b;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
}

.tpma-orderpath-logo[data-orderpath-initial]::before{
  content: attr(data-orderpath-initial);
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}

.tpma-orderpath-logo img{
  display: block;
  width: 20px;
  height: 20px;
  object-fit: contain;
  position: relative;
  z-index: 1;
}

.tpma-orderpath-logo--generic{
  background:
    linear-gradient(135deg, rgba(200,138,61,0.88), rgba(42,157,143,0.88)),
    rgba(255,255,255,0.96);
}

.tpma-orderpath-logo--generic::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,0.92);
  box-shadow: 9px 0 0 -3px rgba(255,255,255,0.92);
}

.tpma-orderpath-btn-label{
  min-width: 0;
  overflow-wrap: anywhere;
}

.tpma-orderpath-courier-strip{
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px;
  background: rgba(255,255,255,0.07);
  padding: 10px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.tpma-orderpath-courier-strip span{
  display: block;
  color: color-mix(in oklab, var(--tpma-accent) 74%, #ffffff 26%);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tpma-orderpath-courier-strip strong{
  display: block;
  color: var(--tpma-text-hi);
  font-size: 13px;
  line-height: 1.2;
}

.tpma-orderpath-courier-strip p{
  margin: 3px 0 0;
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.35;
}

.tpma-orderpath-courier-links{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.tpma-orderpath-courier-link,
.tpma-orderpath-courier-toggle{
  min-height: 36px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 8px;
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-hi);
  padding: 6px 8px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.tpma-orderpath-courier-toggle{
  cursor: pointer;
  font: inherit;
}

.tpma-orderpath-modal{
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: grid;
  place-items: center;
  padding: 18px;
}

.tpma-orderpath-modal-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(3,10,12,0.72);
  backdrop-filter: blur(14px);
}

.tpma-orderpath-modal-panel{
  position: relative;
  width: min(620px, 100%);
  max-height: min(760px, calc(100vh - 36px));
  overflow: auto;
  border: 1px solid rgba(37,31,27,0.14);
  border-radius: 8px;
  background: linear-gradient(180deg, #fffdf8 0%, #f7f1e7 100%);
  box-shadow: 0 28px 88px rgba(0,0,0,0.38);
  padding: 18px;
  display: grid;
  gap: 14px;
  color: #1d1712;
}

.tpma-orderpath-modal-close{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(37,31,27,0.14);
  border-radius: 8px;
  background: rgba(255,255,255,0.88);
  color: #1d1712;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}

.tpma-orderpath-modal-head{
  display: grid;
  gap: 5px;
  padding-right: 38px;
}

.tpma-orderpath-modal-head span{
  color: #0f7a64;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tpma-orderpath-modal-head strong{
  color: #16120f;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.15;
}

.tpma-orderpath-modal-head p,
.tpma-orderpath-modal-empty{
  margin: 0;
  color: #51463c;
  font-size: 14px;
  line-height: 1.55;
}

.tpma-orderpath-modal-items{
  display: grid;
  gap: 8px;
}

.tpma-orderpath-modal-item{
  min-height: 52px;
  border: 1px solid rgba(37,31,27,0.13);
  border-radius: 8px;
  background: rgba(255,255,255,0.82);
  color: #1d1712;
  padding: 8px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 64px;
  gap: 9px;
  align-items: center;
}

.tpma-orderpath-modal-item input[type="checkbox"]{
  accent-color: #128c7e;
}

.tpma-orderpath-modal-item strong,
.tpma-orderpath-modal-item small{
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.tpma-orderpath-modal-item strong{
  color: #17130f;
  font-size: 14px;
  line-height: 1.25;
}

.tpma-orderpath-modal-item small{
  margin-top: 2px;
  color: #5f5349;
  font-size: 12px;
  line-height: 1.25;
}

.tpma-orderpath-modal-item input[type="number"]{
  width: 64px;
  min-height: 34px;
  border: 1px solid rgba(37,31,27,0.18);
  border-radius: 8px;
  background: #ffffff;
  color: #1d1712;
  padding: 6px;
}

.tpma-orderpath-modal-field{
  display: grid;
  gap: 6px;
  color: #352d26;
  font-size: 13px;
  font-weight: 800;
}

.tpma-orderpath-modal-field > span{
  color: #2d2721;
}

.tpma-orderpath-modal-field input,
.tpma-orderpath-modal-field textarea{
  width: 100%;
  border: 1px solid rgba(37,31,27,0.18);
  border-radius: 8px;
  background: #ffffff;
  color: #1d1712;
  padding: 10px;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  box-sizing: border-box;
}

.tpma-orderpath-modal-field textarea{
  min-height: 92px;
  resize: vertical;
}

.tpma-orderpath-modal-field input::placeholder,
.tpma-orderpath-modal-field textarea::placeholder{
  color: #73675d;
  opacity: 1;
}

.tpma-orderpath-modal-close:focus-visible,
.tpma-orderpath-modal-item input:focus-visible,
.tpma-orderpath-modal-field input:focus-visible,
.tpma-orderpath-modal-field textarea:focus-visible,
.tpma-orderpath-modal-primary:focus-visible,
.tpma-orderpath-modal-secondary:focus-visible{
  outline: 3px solid rgba(18,140,126,0.28);
  outline-offset: 2px;
}

.tpma-orderpath-modal-actions{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px;
}

.tpma-orderpath-modal-primary,
.tpma-orderpath-modal-secondary{
  min-height: 40px;
  border-radius: 8px;
  padding: 9px 13px;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.tpma-orderpath-modal-primary{
  border: 1px solid #0b6b5f;
  background: #0f7668;
  color: #ffffff;
}

.tpma-orderpath-modal-secondary{
  border: 1px solid rgba(37,31,27,0.16);
  background: #ffffff;
  color: #1d1712;
}

.tpma-orderpath-courier{
  border-top: 1px solid rgba(255,255,255,0.11);
  padding-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-orderpath-courier[hidden]{
  display: none !important;
}

.tpma-orderpath-courier-title,
.tpma-orderpath-partners,
.tpma-orderpath-courier label:last-of-type,
.tpma-orderpath-courier .tpma-btn{
  grid-column: 1 / -1;
}

.tpma-orderpath-courier-title{
  color: var(--tpma-text-hi);
  font-size: 13px;
  font-weight: 900;
}

.tpma-orderpath-partners{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.tpma-orderpath-partner{
  display: block;
  min-width: 0;
  cursor: pointer;
}

.tpma-orderpath-partner input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.tpma-orderpath-partner > span{
  min-height: 42px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 8px;
  background: rgba(255,255,255,0.07);
  color: var(--tpma-text-hi);
  padding: 7px 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tpma-orderpath-partner input:checked + span,
.tpma-orderpath-partner:focus-within > span{
  border-color: rgba(200,138,61,0.48);
  background: rgba(200,138,61,0.14);
}

.tpma-orderpath-partner strong{
  min-width: 0;
  font-size: 12px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.tpma-orderpath-status[data-tone="success"]{
  color: #a7f3d0;
}

.tpma-orderpath-status[data-tone="error"]{
  color: #fecaca;
}

.tpma-orderpath-status-link{
  color: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 640px){
  .tpma-orderpath-options{
    grid-template-columns: 1fr;
  }

  .tpma-orderpath-courier-strip{
    grid-template-columns: 1fr;
  }

  .tpma-orderpath-courier-links{
    justify-content: flex-start;
  }

  .tpma-orderpath-courier,
  .tpma-orderpath-partners{
    grid-template-columns: 1fr;
  }

  .tpma-orderpath-modal{
    padding: 10px;
  }

  .tpma-orderpath-modal-panel{
    max-height: calc(100vh - 20px);
  }

  .tpma-orderpath-modal-item{
    grid-template-columns: 20px minmax(0, 1fr) 58px;
  }
}

.tpma-fam-section-head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 12px;
}

.tpma-fam-grid,
.tpma-fam-mini-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}

.tpma-fam-card{
  grid-column: span 6;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 16px;
  padding: 14px;
  background: rgba(0,0,0,0.18);
}

.tpma-fam-mini-grid .tpma-fam-card{
  grid-column: span 4;
}

.tpma-fam-card-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.tpma-fam-card-title{
  color: var(--tpma-text-hi);
  font-weight: 900;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.tpma-fam-card-meta{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

.tpma-fam-card-preview{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-fam-badge{
  flex: 0 0 auto;
  color: var(--tpma-text-hi);
  font-size: 11px;
  font-weight: 850;
}

.tpma-fam-card-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.tpma-fam-loading{
  padding: 18px;
  display: grid;
  gap: 14px;
  overflow: hidden;
}

.tpma-fam-loading-title{
  color: var(--tpma-text-hi);
  font-size: 22px;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.1;
}

.tpma-fam-loading-track{
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  overflow: hidden;
}

.tpma-fam-loading-track span{
  display: block;
  width: 42%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #35C2A1, color-mix(in oklab, var(--tpma-accent) 80%, #ffffff 20%), #ffcf5a);
  animation: tpma-fam-loading 1.45s ease-in-out infinite;
}

@keyframes tpma-fam-loading{
  0%{ transform: translateX(-110%); }
  100%{ transform: translateX(260%); }
}

.tpma-fam-loading-steps{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-fam-loading-steps span{
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 7px 9px;
  font-size: 12px;
  font-weight: 800;
}

.tpma-fam-empty{
  padding: 16px;
}

.tpma-fam-empty-title{
  color: var(--tpma-text-hi);
  font-weight: 900;
  margin-bottom: 4px;
}

.tpma-fam-skeleton{
  display: grid;
  gap: 12px;
}

.tpma-fam-skeleton div{
  min-height: 92px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.14), rgba(255,255,255,0.05));
  background-size: 200% 100%;
  animation: tpma-skeleton 1200ms linear infinite;
}

.tpma-fam-suggestion-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}

.tpma-fam-suggestion{
  grid-column: span 6;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 12px;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 16px;
  background: rgba(0,0,0,0.18);
  overflow: hidden;
}

.tpma-fam-suggestion-img{
  width: 100%;
  height: 100%;
  min-height: 132px;
  object-fit: cover;
  background: linear-gradient(135deg, rgba(53,194,161,0.25), rgba(255,207,90,0.18));
}

.tpma-fam-suggestion-img-empty{
  min-height: 132px;
}

.tpma-fam-suggestion-body{
  min-width: 0;
  padding: 12px 12px 12px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-place-card-slot{
  margin: 12px 0 14px;
}

.tpma-link-card.tpma-link-card-single{
  width: 100%;
}

.tpma-place-skel{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  padding: 12px;
  overflow: hidden;
}

.tpma-place-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.tpma-icon-link{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-hi);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 140ms ease, border-color 140ms ease;
  flex: 0 0 auto;
}

.tpma-icon-link:hover{
  border-color: rgba(255,255,255,0.24);
  transform: translateY(-1px);
}

.tpma-icon-link svg{
  width: 18px;
  height: 18px;
}

.tpma-icon-glyph{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 12px;
}

.tpma-place-action{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-hi);
  text-decoration: none;
  font-size: 13px;
}

.tpma-place-action:hover{
  border-color: rgba(255,255,255,0.24);
}

.tpma-place-note{
  color: var(--tpma-text-lo);
  font-size: 13px;
  margin-top: 10px;
}

.tpma-place-note a{
  color: var(--tpma-text-hi);
  text-decoration: underline;
}

.tpma-link-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}

.tpma-link-card{
  grid-column: span 6;
  display: flex;
  gap: 12px;
  align-items: stretch;
  text-decoration: none;
  color: var(--tpma-text-hi);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 16px;
  background: rgba(0,0,0,0.16);
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  transition: transform 140ms ease, border-color 140ms ease;
}

.tpma-link-card:hover{
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

.tpma-link-img{
  width: 138px;
  height: 100%;
  object-fit: cover;
  flex: 0 0 auto;
  background: rgba(255,255,255,0.06);
}

.tpma-link-body{
  padding: 10px 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.tpma-link-top{
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-link-icon{
  width: 18px;
  height: 18px;
  border-radius: 4px;
}

.tpma-link-domain{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-link-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-link-desc{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tpma-visual-references{
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  background: rgba(255,255,255,0.06);
}

.tpma-visual-references-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tpma-visual-references-head span{
  font-size: 13px;
  font-weight: 900;
  color: var(--tpma-text-hi);
}

.tpma-visual-references-head em{
  font-style: normal;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-visual-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.tpma-visual-card{
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: hidden;
  color: var(--tpma-text-hi);
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 14px;
  background: rgba(0,0,0,0.18);
}

.tpma-visual-card-img{
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  background: rgba(255,255,255,0.06);
}

.tpma-visual-card-body{
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
}

.tpma-visual-card-body strong,
.tpma-visual-card-body em,
.tpma-visual-card-body span{
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-visual-card-body strong{
  white-space: nowrap;
  font-size: 13px;
  font-weight: 900;
}

.tpma-visual-card-body em,
.tpma-visual-card-body span{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-style: normal;
  line-height: 1.3;
}

.tpma-visual-card-body span{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.tpma-visual-card.is-image-missing{
  grid-template-rows: 1fr;
  border-style: dashed;
}

.tpma-visual-card.is-image-missing::before{
  content: "Source";
  align-self: start;
  justify-self: start;
  margin: 10px 10px 0;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: var(--tpma-text-lo);
  font-size: 11px;
  font-weight: 900;
}

@media (max-width: 920px){
  .tpma-lookup-canvas .tpma-fam-menu-section,
  .tpma-lookup-canvas .tpma-fam-menu-section.is-wide{
    grid-column: 1 / -1;
  }

  .tpma-lookup-source-grid{
    grid-template-columns: 1fr;
  }

  .tpma-link-card{
    grid-column: span 12;
  }
  .tpma-link-img{
    width: 110px;
  }
  .tpma-visual-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tpma-fam-card,
  .tpma-fam-mini-grid .tpma-fam-card,
  .tpma-fam-suggestion{
    grid-column: span 12;
  }
  .tpma-fam-result-hero{
    flex-direction: column;
  }
}

@media (max-width: 640px){
  .tpma-lookup-board{
    grid-template-columns: 1fr;
  }

  .tpma-lookup-title{
    flex-basis: 100%;
  }

  .tpma-visual-grid{
    grid-template-columns: 1fr;
  }
  .tpma-fam-hero,
  .tpma-fam-result-hero,
  .tpma-fam-loading{
    border-radius: 14px;
    padding: 14px;
  }
  .tpma-fam-hero-title{
    font-size: 25px;
  }
  .tpma-fam-section-head{
    align-items: flex-start;
    flex-direction: column;
  }
  .tpma-fam-suggestion{
    grid-template-columns: 88px minmax(0, 1fr);
  }
  .tpma-fam-suggestion-img,
  .tpma-fam-suggestion-img-empty{
    min-height: 122px;
  }
  .tpma-canvas-header{
    flex-direction: column;
  }
  .tpma-canvas-actions{
    justify-content: flex-start;
  }
}

@keyframes tpma-skeleton{
  from{ background-position: 0% 0%; }
  to{ background-position: 200% 0%; }
}

.tpma-link-skel{
  grid-column: span 6;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  padding: 12px;
  overflow: hidden;
}

.tpma-skel-bar,
.tpma-skel-title,
.tpma-skel-desc{
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.16), rgba(255,255,255,0.06));
  background-size: 200% 100%;
  animation: tpma-skeleton 1200ms linear infinite;
}

.tpma-skel-bar{
  width: 55%;
  margin-bottom: 10px;
}

.tpma-skel-title{
  width: 85%;
  height: 14px;
  margin-bottom: 10px;
}

.tpma-skel-desc{
  width: 95%;
}

@media (max-width: 920px){
  .tpma-link-skel{
    grid-column: span 12;
  }
}

@media (prefers-reduced-motion: reduce){
  .tpma-bg::before{ animation: none; }
  .tpma-bg::after{ animation: none; }
  .tpma-kids-fx::before,
  .tpma-kids-fx::after{ animation: none !important; }
  .tpma-kids-fx-item{ animation: none; }
  .tpma-hub-kids .tpma-kids-hero-title{ animation: none !important; }
  .tpma-hub-kids .tpma-kids-hero-art{ animation: none !important; }
  .tpma-skel-bar,
  .tpma-skel-title,
  .tpma-skel-desc,
  .tpma-fam-loading-track span,
  .tpma-fam-skeleton div{ animation: none; }
  .tpma-btn,
  .tpma-card,
  .tpma-link-card,
  .tpma-icon-link{ transition: none !important; }
}

.tpma-output-empty{
  color: var(--tpma-text-lo);
  padding: 10px 2px;
}

.tpma-output-text{
  white-space: pre-wrap;
  line-height: 1.65;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 14px;
}

.tpma-output-rich{
  line-height: 1.65;
  font-size: 15px;
  color: var(--tpma-text-hi);
}

/* FindAnyMenu editorial surface */
body.tpma-body-findanymenu{
  --tpma-accent: #1f715b;
  --tpma-bg-0: #f8fcff;
  --tpma-bg-1: #eef8f2;
  --tpma-glass-bg: rgba(255,255,255,0.76);
  --tpma-glass-brd: rgba(31,113,91,0.14);
  --tpma-text-hi: #12372d;
  --tpma-text-md: rgba(18,55,45,0.78);
  --tpma-text-lo: rgba(18,55,45,0.58);
  --tpma-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,248,228,0.68) 0%, rgba(247,252,255,0.94) 32%, rgba(236,248,242,0.94) 100%);
  color: var(--tpma-text-hi);
}

body.tpma-body-findanymenu .tpma-bg::before{
  inset: -22% -8% auto -8%;
  height: 74vh;
  background:
    radial-gradient(56% 64% at 16% 20%, rgba(255,207,90,0.28), transparent 60%),
    radial-gradient(46% 54% at 92% 18%, rgba(103,180,217,0.20), transparent 62%),
    radial-gradient(50% 58% at 70% 86%, rgba(31,113,91,0.18), transparent 60%);
  filter: blur(26px);
  opacity: 1;
}

body.tpma-body-findanymenu .tpma-bg::after{
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(31,113,91,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31,113,91,0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.7), transparent 72%);
}

.tpma-shell-findanymenu{
  padding: 22px 18px 34px;
  gap: 20px;
}

.tpma-shell-findanymenu,
.tpma-shell-findanymenu *{
  box-sizing: border-box;
}

.tpma-shell-findanymenu .tpma-topbar,
.tpma-shell-findanymenu .tpma-hero,
.tpma-shell-findanymenu .tpma-main,
.tpma-shell-findanymenu .tpma-footer{
  width: min(1280px, 100%);
}

.tpma-shell-findanymenu .tpma-topbar{
  min-height: 58px;
  padding: 8px 10px;
  border: 1px solid rgba(31,113,91,0.12);
  border-radius: 999px;
  background: rgba(255,255,255,0.66);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 18px 46px rgba(23,72,58,0.08);
}

.tpma-shell-findanymenu .tpma-brand,
.tpma-shell-findanymenu .tpma-link,
.tpma-shell-findanymenu .tpma-user-item{
  color: var(--tpma-text-hi);
}

.tpma-shell-findanymenu .tpma-logo{
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.92), rgba(236,248,242,0.72)),
    #ffffff;
  border-color: rgba(31,113,91,0.12);
  box-shadow: 0 12px 28px rgba(28,88,70,0.12);
}

.tpma-shell-findanymenu .tpma-brand-title{
  font-weight: 850;
}

.tpma-shell-findanymenu .tpma-brand-sub{
  color: rgba(18,55,45,0.54);
}

.tpma-shell-findanymenu .tpma-link,
.tpma-shell-findanymenu .tpma-link.tpma-link-btn{
  border-color: rgba(31,113,91,0.14);
  background: rgba(255,255,255,0.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

.tpma-shell-findanymenu .tpma-link:hover{
  border-color: rgba(31,113,91,0.28);
  background: rgba(255,255,255,0.88);
}

.tpma-shell-findanymenu .tpma-hero{
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.78fr);
  column-gap: 34px;
  row-gap: 14px;
  align-items: center;
  padding: 24px 8px 6px;
}

.tpma-shell-findanymenu .tpma-hero-title{
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.tpma-shell-findanymenu .tpma-hero-emoji{
  width: 48px;
  height: 48px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(31,113,91,0.14);
  box-shadow: 0 16px 34px rgba(23,72,58,0.10);
  font-size: 25px;
  filter: none;
  flex: 0 0 auto;
}

.tpma-shell-findanymenu .tpma-hero h1{
  margin: 0;
  max-width: 11ch;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 54px;
  line-height: 0.98;
  letter-spacing: 0;
  color: #10372f;
}

.tpma-shell-findanymenu .tpma-hero-sub{
  max-width: 58ch;
  font-size: 17px;
  line-height: 1.62;
  color: rgba(18,55,45,0.72);
}

.tpma-fam-editorial-media{
  grid-column: 2;
  grid-row: 1 / span 3;
  min-width: 0;
  position: relative;
  display: grid;
  gap: 12px;
}

.tpma-fam-editorial-frame{
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,0.72);
  background: rgba(255,255,255,0.52);
  box-shadow: 0 30px 80px rgba(21,83,65,0.16);
}

.tpma-fam-editorial-frame > img{
  display: block;
  width: 100%;
  aspect-ratio: 1.46 / 1;
  object-fit: cover;
}

.tpma-fam-editorial-float{
  position: absolute;
  width: min(230px, 58%);
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.76);
  background: rgba(255,255,255,0.76);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 18px 48px rgba(21,83,65,0.16);
}

.tpma-fam-editorial-float span{
  display: block;
  margin-bottom: 4px;
  color: #1f715b;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tpma-fam-editorial-float strong{
  display: block;
  color: #12372d;
  font-size: 13px;
  line-height: 1.25;
}

.tpma-fam-editorial-float-a{
  left: 18px;
  bottom: 18px;
}

.tpma-fam-editorial-float-b{
  right: 18px;
  top: 18px;
}

.tpma-fam-editorial-strip{
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 12px;
}

.tpma-fam-editorial-strip img{
  width: 100%;
  aspect-ratio: 1.48 / 1;
  object-fit: cover;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.78);
  background: rgba(255,255,255,0.62);
  box-shadow: 0 20px 52px rgba(21,83,65,0.10);
}

.tpma-shell-findanymenu .tpma-main{
  grid-template-columns: minmax(320px, 392px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.tpma-shell-findanymenu .tpma-card{
  border: 1px solid rgba(31,113,91,0.14);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.82), rgba(255,255,255,0.66)),
    rgba(255,255,255,0.72);
  box-shadow:
    0 24px 70px rgba(21,83,65,0.12),
    inset 0 1px 0 rgba(255,255,255,0.82);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.tpma-shell-findanymenu .tpma-card::after{
  opacity: 0.56;
  background: linear-gradient(180deg, rgba(255,255,255,0.66), rgba(255,255,255,0));
}

.tpma-shell-findanymenu .tpma-card-input{
  top: 18px;
  padding: 18px;
}

.tpma-shell-findanymenu .tpma-form{
  gap: 14px;
}

.tpma-shell-findanymenu .tpma-field label{
  color: rgba(18,55,45,0.64);
  font-weight: 800;
}

.tpma-shell-findanymenu .tpma-field input,
.tpma-shell-findanymenu .tpma-field textarea,
.tpma-shell-findanymenu .tpma-field select{
  border-color: rgba(31,113,91,0.16);
  background: rgba(255,255,255,0.82);
  color: #12372d;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

.tpma-shell-findanymenu .tpma-field input::placeholder,
.tpma-shell-findanymenu .tpma-field textarea::placeholder{
  color: rgba(18,55,45,0.38);
}

.tpma-shell-findanymenu .tpma-field input:focus,
.tpma-shell-findanymenu .tpma-field textarea:focus,
.tpma-shell-findanymenu .tpma-field select:focus{
  border-color: rgba(31,113,91,0.46);
  box-shadow: 0 0 0 4px rgba(31,113,91,0.12);
}

.tpma-shell-findanymenu .tpma-help{
  color: rgba(18,55,45,0.58);
}

.tpma-shell-findanymenu .tpma-advanced{
  display: none;
}

.tpma-shell-findanymenu .tpma-advanced summary{
  color: rgba(18,55,45,0.68);
}

.tpma-shell-findanymenu .tpma-advanced-inner .aipkit-ai-form-wrapper{
  border-color: rgba(31,113,91,0.12);
  background: rgba(255,255,255,0.64);
}

.tpma-shell-findanymenu .tpma-btn{
  min-height: 42px;
  border-color: rgba(31,113,91,0.16);
  background: rgba(255,255,255,0.66);
  color: #12372d;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

.tpma-shell-findanymenu .tpma-btn:hover{
  border-color: rgba(31,113,91,0.30);
  background: rgba(255,255,255,0.92);
}

.tpma-shell-findanymenu .tpma-btn-primary{
  color: #ffffff;
  border-color: rgba(31,113,91,0.42);
  background: linear-gradient(180deg, #2f8a70, #1f715b);
  box-shadow: 0 18px 42px rgba(31,113,91,0.24);
}

.tpma-shell-findanymenu .tpma-btn-primary:hover{
  border-color: rgba(24,84,68,0.62);
  background: linear-gradient(180deg, #318f75, #1a604e);
}

.tpma-shell-findanymenu .tpma-btn-ghost{
  background: rgba(255,255,255,0.48);
}

.tpma-shell-findanymenu .tpma-btn-xs{
  min-height: 34px;
  padding: 7px 10px;
}

.tpma-shell-findanymenu .tpma-card-output{
  min-height: 650px;
}

.tpma-shell-findanymenu .tpma-output-head{
  border-bottom-color: rgba(31,113,91,0.12);
}

.tpma-shell-findanymenu .tpma-output-title{
  font-weight: 900;
  color: #12372d;
}

.tpma-shell-findanymenu .tpma-output-body{
  color: #12372d;
}

.tpma-shell-findanymenu .tpma-output-empty{
  color: rgba(18,55,45,0.56);
}

.tpma-shell-findanymenu .tpma-canvas-tabs{
  padding: 6px;
  gap: 6px;
  border: 1px solid rgba(31,113,91,0.12);
  border-radius: 999px;
  background: rgba(244,250,246,0.78);
}

.tpma-shell-findanymenu .tpma-tab{
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(18,55,45,0.64);
}

.tpma-shell-findanymenu .tpma-tab.is-active{
  color: #ffffff;
  background: #1f715b;
  box-shadow: 0 10px 24px rgba(31,113,91,0.20);
}

.tpma-shell-findanymenu .tpma-canvas{
  gap: 16px;
}

.tpma-shell-findanymenu .tpma-canvas-header{
  padding: 4px 0 2px;
}

.tpma-shell-findanymenu .tpma-pill,
.tpma-shell-findanymenu .tpma-menu-heading,
.tpma-shell-findanymenu .tpma-menu-line{
  border-color: rgba(31,113,91,0.12);
  background: rgba(255,255,255,0.70);
}

.tpma-shell-findanymenu .tpma-pill-k,
.tpma-shell-findanymenu .tpma-link-domain{
  color: rgba(18,55,45,0.54);
}

.tpma-shell-findanymenu .tpma-pill-v,
.tpma-shell-findanymenu .tpma-menu-heading,
.tpma-shell-findanymenu .tpma-menu-line{
  color: #12372d;
}

.tpma-shell-findanymenu .tpma-menu{
  gap: 9px;
}

.tpma-shell-findanymenu .tpma-menu-heading{
  font-size: 14px;
}

.tpma-shell-findanymenu .tpma-menu-line{
  line-height: 1.52;
  color: rgba(18,55,45,0.78);
}

.tpma-shell-findanymenu .tpma-link-card,
.tpma-shell-findanymenu .tpma-fam-card,
.tpma-shell-findanymenu .tpma-fam-suggestion,
.tpma-shell-findanymenu .tpma-place-skel,
.tpma-shell-findanymenu .tpma-fam-empty,
.tpma-shell-findanymenu .tpma-fam-loading,
.tpma-shell-findanymenu .tpma-fam-hero,
.tpma-shell-findanymenu .tpma-fam-result-hero{
  border-color: rgba(31,113,91,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,255,255,0.62)),
    rgba(255,255,255,0.72);
  box-shadow: 0 18px 46px rgba(21,83,65,0.10);
}

.tpma-shell-findanymenu .tpma-fam-hero{
  border-radius: 24px;
  padding: 20px;
}

.tpma-fam-hero-empty{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 18px;
  align-items: center;
  overflow: hidden;
}

.tpma-fam-hero-copycol{
  min-width: 0;
}

.tpma-shell-findanymenu .tpma-fam-kicker{
  color: #1f715b;
  letter-spacing: 0.08em;
}

.tpma-shell-findanymenu .tpma-fam-hero-title{
  max-width: 720px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36px;
  font-weight: 850;
  line-height: 1.02;
  color: #12372d;
}

.tpma-shell-findanymenu .tpma-fam-hero-copy,
.tpma-shell-findanymenu .tpma-fam-section-sub,
.tpma-shell-findanymenu .tpma-fam-empty-body,
.tpma-shell-findanymenu .tpma-fam-loading-sub{
  color: rgba(18,55,45,0.62);
}

.tpma-fam-feature-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.tpma-fam-feature-row span,
.tpma-shell-findanymenu .tpma-fam-result-metrics span,
.tpma-shell-findanymenu .tpma-fam-card-foot span,
.tpma-shell-findanymenu .tpma-fam-badge,
.tpma-shell-findanymenu .tpma-fam-loading-steps span{
  border: 1px solid rgba(31,113,91,0.14);
  background: rgba(238,248,242,0.78);
  color: rgba(18,55,45,0.78);
}

.tpma-fam-feature-row span{
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 850;
}

.tpma-fam-hero-side-img{
  width: 100%;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.82);
  box-shadow: 0 22px 54px rgba(21,83,65,0.12);
}

.tpma-fam-editorial-cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tpma-fam-editorial-cards article{
  min-width: 0;
  border: 1px solid rgba(31,113,91,0.12);
  border-radius: 20px;
  padding: 15px;
  background: rgba(255,255,255,0.66);
  box-shadow: 0 16px 38px rgba(21,83,65,0.08);
}

.tpma-fam-editorial-cards span{
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  margin-bottom: 12px;
  background: #1f715b;
  color: #ffffff;
  font-weight: 900;
  font-size: 12px;
}

.tpma-fam-editorial-cards strong{
  display: block;
  color: #12372d;
  font-size: 15px;
  line-height: 1.2;
}

.tpma-fam-editorial-cards p{
  margin: 7px 0 0;
  color: rgba(18,55,45,0.62);
  font-size: 13px;
  line-height: 1.42;
}

.tpma-shell-findanymenu .tpma-fam-section-head{
  margin: 10px 0 0;
  align-items: center;
}

.tpma-shell-findanymenu .tpma-fam-card{
  padding: 16px;
}

.tpma-shell-findanymenu .tpma-fam-card-title,
.tpma-shell-findanymenu .tpma-fam-empty-title,
.tpma-shell-findanymenu .tpma-link-title{
  color: #12372d;
}

.tpma-shell-findanymenu .tpma-fam-card-meta,
.tpma-shell-findanymenu .tpma-fam-card-foot{
  color: rgba(18,55,45,0.54);
}

.tpma-shell-findanymenu .tpma-fam-card-preview,
.tpma-shell-findanymenu .tpma-link-desc{
  color: rgba(18,55,45,0.70);
}

.tpma-shell-findanymenu .tpma-fam-result-hero{
  align-items: center;
  padding: 18px;
}

.tpma-shell-findanymenu .tpma-fam-result-title{
  color: #12372d;
  font-size: 22px;
}

.tpma-shell-findanymenu .tpma-fam-loading-title{
  color: #12372d;
}

.tpma-shell-findanymenu .tpma-fam-loading-track{
  background: rgba(31,113,91,0.10);
}

.tpma-shell-findanymenu .tpma-fam-loading-track span{
  background: linear-gradient(90deg, #1f715b, #67b4d9, #ffcf5a);
}

.tpma-shell-findanymenu .tpma-fam-skeleton div,
.tpma-shell-findanymenu .tpma-skel-bar,
.tpma-shell-findanymenu .tpma-skel-title,
.tpma-shell-findanymenu .tpma-skel-desc{
  border-color: rgba(31,113,91,0.12);
  background: linear-gradient(90deg, rgba(31,113,91,0.05), rgba(255,255,255,0.88), rgba(31,113,91,0.05));
}

.tpma-shell-findanymenu .tpma-fam-suggestion{
  grid-template-columns: 158px minmax(0, 1fr);
  border-radius: 22px;
}

.tpma-shell-findanymenu .tpma-fam-suggestion-img{
  min-height: 154px;
  background: linear-gradient(135deg, rgba(31,113,91,0.16), rgba(255,207,90,0.22));
}

.tpma-shell-findanymenu .tpma-fam-suggestion-body{
  padding: 14px 14px 14px 0;
}

.tpma-shell-findanymenu .tpma-link-card{
  color: #12372d;
  border-radius: 22px;
}

.tpma-shell-findanymenu .tpma-link-card:hover,
.tpma-shell-findanymenu .tpma-fam-card:hover,
.tpma-shell-findanymenu .tpma-fam-suggestion:hover{
  border-color: rgba(31,113,91,0.24);
  transform: translateY(-1px);
}

.tpma-shell-findanymenu .tpma-link-img{
  background: rgba(31,113,91,0.08);
}

.tpma-shell-findanymenu .tpma-place-actions{
  gap: 8px;
}

.tpma-shell-findanymenu .tpma-icon-link,
.tpma-shell-findanymenu .tpma-place-action{
  border-color: rgba(31,113,91,0.14);
  background: rgba(255,255,255,0.68);
  color: #12372d;
}

.tpma-shell-findanymenu .tpma-place-note,
.tpma-shell-findanymenu .tpma-place-note a{
  color: rgba(18,55,45,0.66);
}

.tpma-shell-findanymenu .tpma-output-rich,
.tpma-shell-findanymenu .tpma-output-text{
  color: #12372d;
}

.tpma-shell-findanymenu .tpma-output-rich pre,
.tpma-shell-findanymenu .tpma-output-rich code{
  background: rgba(238,248,242,0.78);
  border-color: rgba(31,113,91,0.12);
  color: #12372d;
}

.tpma-shell-findanymenu .tpma-output-rich th,
.tpma-shell-findanymenu .tpma-output-rich td{
  border-color: rgba(31,113,91,0.12);
}

.tpma-shell-findanymenu .tpma-output-rich a,
.tpma-shell-findanymenu .tpma-output-text a{
  color: #1f715b;
}

.tpma-shell-findanymenu .tpma-footer{
  color: rgba(18,55,45,0.50);
}

.tpma-shell-findanymenu .tpma-user-menu,
.tpma-shell-findanymenu .tpma-user-card,
.tpma-shell-findanymenu .tpma-user-item{
  border-color: rgba(31,113,91,0.12);
  background: rgba(255,255,255,0.82);
}

.tpma-shell-findanymenu .tpma-user-dot{
  background: rgba(31,113,91,0.30);
}

@media (max-width: 1100px){
  .tpma-shell-findanymenu .tpma-hero{
    grid-template-columns: 1fr;
  }

  .tpma-shell-findanymenu .tpma-hero h1{
    max-width: 13ch;
    font-size: 42px;
  }

  .tpma-fam-editorial-media{
    grid-column: 1;
    grid-row: auto;
  }
}

/* Workspace reliability and keyboard/mobile access hardening. */
.tpma-shell.tpma-shell-workspace{
  height: 100dvh;
  min-height: 100dvh;
}

.tpma-shell.tpma-shell-workspace .tpma-ws-rail{
  height: 100dvh;
}

.tpma-ws-rail:focus-within{
  width: 230px;
}

.tpma-ws-rail:focus-within .tpma-ws-rail-text{
  display: inline;
}

.tpma-ws-rail:focus-within .tpma-ws-rail-app{
  justify-content: flex-start;
}

.tpma-shell.tpma-shell-workspace :is(a, button, input, textarea, select, [tabindex]):focus-visible{
  outline: 2px solid var(--tpma-luna-gold, #f4d64e);
  outline-offset: 2px;
}

.tpma-shell.tpma-shell-workspace .tpma-ws-stage{
  scroll-padding-bottom: calc(110px + env(safe-area-inset-bottom));
}

.tpma-shell.tpma-shell-workspace .tpma-ws-stage-body,
.tpma-shell.tpma-shell-workspace .tpma-sheets,
.tpma-shell.tpma-shell-workspace .tpma-sheets-grid,
.tpma-shell.tpma-shell-workspace .tpma-sheets-surface{
  min-width: 0;
  max-width: 100%;
}

.tpma-shell.tpma-shell-workspace .tpma-sheets-surface{
  overflow: auto;
  overscroll-behavior: contain;
}

@media (max-width: 1100px){
  .tpma-notes:not(.is-sidebar-open) .tpma-notes-folders,
  .tpma-notes:not(.is-list-open) .tpma-notes-list,
  .tpma-slides:not(.is-slides-open) .tpma-slides-side,
  .tpma-slides:not(.is-props-open) .tpma-slides-props{
    visibility: hidden;
    pointer-events: none;
  }

  .tpma-notes.is-sidebar-open .tpma-notes-folders,
  .tpma-notes.is-list-open .tpma-notes-list,
  .tpma-slides.is-slides-open .tpma-slides-side,
  .tpma-slides.is-props-open .tpma-slides-props{
    visibility: visible;
    pointer-events: auto;
  }
}

@media (max-width: 980px){
  .tpma-docs:not(.is-sidebar-open) .tpma-docs-sidebar,
  .tpma-sheets:not(.is-files-open) .tpma-sheets-files{
    visibility: hidden;
    pointer-events: none;
  }

  .tpma-docs.is-sidebar-open .tpma-docs-sidebar,
  .tpma-sheets.is-files-open .tpma-sheets-files{
    visibility: visible;
    pointer-events: auto;
  }
}

@media (max-width: 860px){
  .tpma-shell.tpma-shell-workspace .tpma-ws-rail{
    height: auto;
    width: 100%;
  }

  .tpma-shell.tpma-shell-workspace .tpma-ws-rail:focus-within{
    width: 100%;
  }

  .tpma-shell.tpma-shell-workspace .tpma-ws-rail:focus-within .tpma-ws-rail-text{
    display: inline !important;
  }

  .tpma-shell.tpma-shell-workspace .tpma-ws-dock-btn,
  .tpma-shell.tpma-shell-workspace .tpma-ws-head .tpma-btn,
  .tpma-shell.tpma-shell-workspace :is(.tpma-docs-head, .tpma-notes-head, .tpma-sheets-head, .tpma-slides-head) .tpma-btn{
    min-height: 44px;
  }

  .tpma-shell.tpma-shell-workspace :is(.tpma-docs-toolbar, .tpma-notes-editor-toolbar) button{
    min-width: 38px;
    min-height: 38px;
  }
}

@media (max-width: 520px){
  .tpma-shell.tpma-shell-workspace .tpma-ws-stage-head{
    align-items: flex-start;
  }

  .tpma-shell.tpma-shell-workspace .tpma-ws-stage-copy{
    flex: 1 1 auto;
  }

  .tpma-shell.tpma-shell-workspace .tpma-ws-stage-sub{
    max-width: none;
    overflow: visible;
    text-align: left;
    text-overflow: clip;
    white-space: normal;
    line-height: 1.3;
  }

  .tpma-shell.tpma-shell-workspace .tpma-ws-dock-btn:focus-visible .tpma-ws-dock-label{
    display: block;
  }
}

@media (max-width: 980px){
  .tpma-shell-findanymenu .tpma-main{
    grid-template-columns: 1fr;
  }

  .tpma-shell-findanymenu .tpma-card-input{
    position: static;
  }
}

@media (max-width: 760px){
  .tpma-shell-findanymenu{
    padding: 14px 12px 26px;
    gap: 14px;
  }

  .tpma-shell-findanymenu .tpma-topbar{
    border-radius: 22px;
    align-items: flex-start;
    flex-direction: column;
  }

  .tpma-shell-findanymenu .tpma-topbar-actions{
    width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .tpma-shell-findanymenu .tpma-link{
    white-space: nowrap;
  }

  .tpma-shell-findanymenu .tpma-hero{
    padding-top: 12px;
  }

  .tpma-shell-findanymenu .tpma-hero-title{
    align-items: flex-start;
  }

  .tpma-shell-findanymenu .tpma-hero h1{
    max-width: 12ch;
    font-size: 34px;
    line-height: 1.02;
  }

  .tpma-shell-findanymenu .tpma-hero-sub{
    font-size: 15px;
  }

  .tpma-fam-editorial-frame{
    border-radius: 22px;
  }

  .tpma-fam-editorial-float{
    position: static;
    width: auto;
    margin: 8px;
  }

  .tpma-fam-editorial-strip,
  .tpma-fam-hero-empty,
  .tpma-fam-editorial-cards{
    grid-template-columns: 1fr;
  }

  .tpma-fam-hero-side-img{
    max-height: 260px;
    object-fit: cover;
  }

  .tpma-shell-findanymenu .tpma-output-actions,
  .tpma-shell-findanymenu .tpma-form-actions,
  .tpma-shell-findanymenu .tpma-canvas-actions{
    justify-content: flex-start;
  }

  .tpma-shell-findanymenu .tpma-canvas-tabs{
    border-radius: 18px;
  }

  .tpma-shell-findanymenu .tpma-tab{
    flex: 1 1 auto;
  }

  .tpma-shell-findanymenu .tpma-fam-suggestion{
    grid-template-columns: 1fr;
  }

  .tpma-shell-findanymenu .tpma-fam-suggestion-img{
    min-height: 168px;
    aspect-ratio: 1.9 / 1;
  }

  .tpma-shell-findanymenu .tpma-fam-suggestion-body{
    padding: 14px;
  }
}

@media (max-width: 480px){
  .tpma-shell-findanymenu .tpma-hero h1{
    font-size: 30px;
  }

  .tpma-shell-findanymenu .tpma-hero-emoji{
    width: 42px;
    height: 42px;
    border-radius: 15px;
    font-size: 22px;
  }

  .tpma-shell-findanymenu .tpma-card,
  .tpma-shell-findanymenu .tpma-fam-hero,
  .tpma-shell-findanymenu .tpma-fam-result-hero,
  .tpma-shell-findanymenu .tpma-fam-loading,
  .tpma-shell-findanymenu .tpma-fam-card,
  .tpma-shell-findanymenu .tpma-fam-suggestion,
  .tpma-fam-editorial-cards article{
    border-radius: 18px;
  }

  .tpma-shell-findanymenu .tpma-card-output{
    min-height: 520px;
  }

  .tpma-shell-findanymenu .tpma-output-head{
    align-items: flex-start;
    flex-direction: column;
  }

  .tpma-shell-findanymenu .tpma-fam-hero-title{
    font-size: 28px;
  }

  .tpma-fam-editorial-float strong{
    font-size: 12px;
  }
}

/* FindAnyMenu lifestyle chocolate surface */
body.tpma-body-findanymenu{
  --tpma-accent: #c88a4a;
  --tpma-bg-0: #1d0f0a;
  --tpma-bg-1: #3a1f13;
  --tpma-glass-bg: rgba(55, 30, 19, 0.58);
  --tpma-glass-brd: rgba(255, 226, 190, 0.20);
  --tpma-text-hi: #fff3e5;
  --tpma-text-md: rgba(255, 243, 229, 0.78);
  --tpma-text-lo: rgba(255, 243, 229, 0.58);
  background:
    linear-gradient(145deg, #180c08 0%, #2a160f 33%, #5e331e 67%, #f0c38e 150%);
  color: var(--tpma-text-hi);
}

body.tpma-body-findanymenu .tpma-bg::before{
  inset: 0;
  height: auto;
  filter: none;
  opacity: 0.95;
  background:
    linear-gradient(120deg, rgba(255, 213, 158, 0.16), transparent 38%),
    linear-gradient(225deg, rgba(89, 141, 115, 0.20), transparent 48%),
    linear-gradient(180deg, rgba(28, 13, 8, 0.08), rgba(28, 13, 8, 0.48));
}

body.tpma-body-findanymenu .tpma-bg::after{
  opacity: 0.18;
  background-image:
    linear-gradient(rgba(255, 236, 212, 0.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 236, 212, 0.08) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.8), transparent 82%);
}

.tpma-shell-findanymenu{
  padding: 20px 18px 36px;
}

.tpma-shell-findanymenu .tpma-topbar{
  border-color: rgba(255, 226, 190, 0.18);
  background: rgba(38, 20, 13, 0.54);
  box-shadow: 0 22px 70px rgba(14, 7, 4, 0.26);
}

.tpma-shell-findanymenu .tpma-brand,
.tpma-shell-findanymenu .tpma-link,
.tpma-shell-findanymenu .tpma-user-item{
  color: #fff3e5;
}

.tpma-shell-findanymenu .tpma-logo{
  background: linear-gradient(145deg, rgba(255, 232, 201, 0.92), rgba(199, 125, 63, 0.70));
  border-color: rgba(255, 230, 196, 0.30);
  box-shadow: 0 14px 38px rgba(10, 5, 3, 0.24);
}

.tpma-shell-findanymenu .tpma-brand-title{
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 800;
}

.tpma-shell-findanymenu .tpma-brand-sub{
  color: rgba(255, 232, 201, 0.64);
}

.tpma-shell-findanymenu .tpma-link,
.tpma-shell-findanymenu .tpma-link.tpma-link-btn{
  border-color: rgba(255, 226, 190, 0.16);
  background: rgba(255, 232, 201, 0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
}

.tpma-shell-findanymenu .tpma-link:hover{
  border-color: rgba(255, 226, 190, 0.34);
  background: rgba(255, 232, 201, 0.18);
}

.tpma-shell-findanymenu .tpma-hero{
  grid-template-columns: minmax(0, 0.86fr) minmax(420px, 0.92fr);
  column-gap: 36px;
  align-items: end;
  padding: 28px 6px 10px;
}

.tpma-shell-findanymenu .tpma-hero-emoji{
  background: rgba(255, 237, 214, 0.16);
  border-color: rgba(255, 226, 190, 0.22);
  box-shadow: 0 18px 48px rgba(13, 7, 4, 0.20);
}

.tpma-shell-findanymenu .tpma-hero h1{
  max-width: 13ch;
  color: #fff0dc;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 62px;
  line-height: 0.94;
  font-weight: 800;
  letter-spacing: 0;
  text-wrap: balance;
  text-shadow: 0 14px 48px rgba(0,0,0,0.30);
}

.tpma-shell-findanymenu .tpma-hero-sub{
  max-width: 50ch;
  color: rgba(255, 241, 224, 0.74);
  font-size: 18px;
  line-height: 1.58;
}

.tpma-fam-hero-journal{
  grid-column: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: min(620px, 100%);
  margin-top: 6px;
}

.tpma-fam-hero-card{
  appearance: none;
  display: block;
  min-width: 0;
  min-height: 104px;
  padding: 13px 14px;
  border: 1px solid rgba(255, 226, 190, 0.18);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 242, 224, 0.16), rgba(255, 242, 224, 0.08)),
    rgba(40, 20, 13, 0.50);
  color: #fff3e5;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 18px 48px rgba(12, 6, 4, 0.20), inset 0 1px 0 rgba(255,255,255,0.10);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.tpma-fam-hero-card:hover,
.tpma-fam-hero-card:focus-visible{
  border-color: rgba(244, 181, 111, 0.42);
  background:
    linear-gradient(180deg, rgba(255, 242, 224, 0.22), rgba(255, 242, 224, 0.10)),
    rgba(54, 27, 17, 0.58);
  transform: translateY(-1px);
  outline: none;
}

.tpma-fam-hero-card span{
  display: block;
  color: #f4b56f;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.tpma-fam-hero-card strong{
  display: block;
  margin-top: 8px;
  color: #fff3e5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.08;
  letter-spacing: 0;
}

.tpma-fam-hero-card small{
  display: block;
  margin-top: 7px;
  color: rgba(255, 241, 224, 0.62);
  font-size: 12px;
  line-height: 1.34;
}

.tpma-fam-lifestyle-media{
  grid-column: 2;
  grid-row: 1 / span 3;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 12px;
  min-width: 0;
  align-items: start;
}

.tpma-fam-lifestyle-media figure{
  min-width: 0;
  margin: 0;
}

.tpma-fam-life-main{
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(255, 229, 196, 0.24);
  background: rgba(255, 232, 201, 0.11);
  box-shadow: 0 34px 90px rgba(12, 6, 4, 0.36);
}

.tpma-fam-life-main img{
  display: block;
  width: 100%;
  height: 440px;
  object-fit: cover;
  object-position: 52% 44%;
  filter: saturate(1.05) contrast(1.03) brightness(0.92);
}

.tpma-fam-life-main::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 34%, rgba(21, 10, 7, 0.76) 100%);
  pointer-events: none;
}

.tpma-fam-life-main figcaption{
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 1;
  padding: 14px 16px;
  border: 1px solid rgba(255, 229, 196, 0.24);
  border-radius: 18px;
  background: rgba(45, 23, 15, 0.50);
  color: #fff0dc;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.tpma-fam-life-main figcaption span,
.tpma-fam-life-note span,
.tpma-fam-mood-card span,
.tpma-fam-lifestyle-cards span{
  display: block;
  color: #f4b56f;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.tpma-fam-life-main figcaption strong,
.tpma-fam-life-note strong{
  display: block;
  margin-top: 5px;
  color: #fff3e5;
  font-size: 18px;
  line-height: 1.16;
}

.tpma-fam-life-stack{
  display: grid;
  gap: 12px;
}

.tpma-fam-life-stack figure{
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(255, 229, 196, 0.22);
  background: rgba(255, 232, 201, 0.10);
  box-shadow: 0 20px 58px rgba(12, 6, 4, 0.26);
}

.tpma-fam-life-stack img{
  display: block;
  width: 100%;
  height: 154px;
  object-fit: cover;
}

.tpma-fam-life-stack figure:first-child img{
  object-position: 58% 48%;
}

.tpma-fam-life-stack figure:nth-child(2) img{
  object-position: 50% 45%;
}

.tpma-fam-life-stack figcaption{
  padding: 10px 11px 11px;
  color: rgba(255, 241, 224, 0.78);
  font-size: 12px;
  font-weight: 850;
}

.tpma-fam-life-note{
  position: absolute;
  top: 18px;
  right: 174px;
  width: 238px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 229, 196, 0.24);
  border-radius: 20px;
  background: rgba(255, 243, 229, 0.14);
  box-shadow: 0 22px 64px rgba(12, 6, 4, 0.28);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.tpma-shell-findanymenu .tpma-main{
  grid-template-columns: minmax(320px, 390px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 8px;
}

.tpma-shell-findanymenu .tpma-card,
.tpma-shell-findanymenu .tpma-link-card,
.tpma-shell-findanymenu .tpma-fam-card,
.tpma-shell-findanymenu .tpma-fam-suggestion,
.tpma-shell-findanymenu .tpma-place-skel,
.tpma-shell-findanymenu .tpma-fam-empty,
.tpma-shell-findanymenu .tpma-fam-loading,
.tpma-shell-findanymenu .tpma-fam-hero,
.tpma-shell-findanymenu .tpma-fam-result-hero{
  border-color: rgba(255, 226, 190, 0.18);
  background:
    linear-gradient(180deg, rgba(255, 242, 224, 0.14), rgba(255, 242, 224, 0.07)),
    rgba(40, 20, 13, 0.58);
  color: #fff3e5;
  box-shadow:
    0 24px 80px rgba(12, 6, 4, 0.28),
    inset 0 1px 0 rgba(255,255,255,0.12);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.tpma-shell-findanymenu .tpma-card::after{
  background: linear-gradient(180deg, rgba(255, 240, 220, 0.12), rgba(255, 240, 220, 0));
}

.tpma-shell-findanymenu .tpma-card-input{
  top: 18px;
}

.tpma-shell-findanymenu .tpma-field label{
  color: rgba(255, 241, 224, 0.76);
}

.tpma-shell-findanymenu .tpma-field input,
.tpma-shell-findanymenu .tpma-field textarea,
.tpma-shell-findanymenu .tpma-field select{
  border-color: rgba(255, 226, 190, 0.18);
  background: rgba(255, 243, 229, 0.90);
  color: #2b160f;
}

.tpma-shell-findanymenu .tpma-field input::placeholder,
.tpma-shell-findanymenu .tpma-field textarea::placeholder{
  color: rgba(70, 37, 24, 0.48);
}

.tpma-shell-findanymenu .tpma-field input:focus,
.tpma-shell-findanymenu .tpma-field textarea:focus,
.tpma-shell-findanymenu .tpma-field select:focus{
  border-color: rgba(244, 181, 111, 0.72);
  box-shadow: 0 0 0 4px rgba(244, 181, 111, 0.18);
}

.tpma-shell-findanymenu .tpma-help{
  color: rgba(255, 241, 224, 0.58);
}

.tpma-shell-findanymenu .tpma-btn{
  border-color: rgba(255, 226, 190, 0.18);
  background: rgba(255, 243, 229, 0.12);
  color: #fff3e5;
}

.tpma-shell-findanymenu .tpma-btn:hover{
  border-color: rgba(255, 226, 190, 0.34);
  background: rgba(255, 243, 229, 0.20);
}

.tpma-shell-findanymenu .tpma-btn-primary{
  color: #2a160f;
  border-color: rgba(255, 213, 158, 0.72);
  background: linear-gradient(180deg, #ffd59e, #c88948);
  box-shadow: 0 18px 50px rgba(198, 126, 63, 0.30);
}

.tpma-shell-findanymenu .tpma-btn-primary:hover{
  border-color: rgba(255, 229, 196, 0.86);
  background: linear-gradient(180deg, #ffe0b4, #d89551);
}

.tpma-shell-findanymenu .tpma-output-title,
.tpma-shell-findanymenu .tpma-output-body,
.tpma-shell-findanymenu .tpma-fam-card-title,
.tpma-shell-findanymenu .tpma-fam-empty-title,
.tpma-shell-findanymenu .tpma-link-title,
.tpma-shell-findanymenu .tpma-fam-loading-title,
.tpma-shell-findanymenu .tpma-fam-result-title,
.tpma-shell-findanymenu .tpma-output-rich,
.tpma-shell-findanymenu .tpma-output-text{
  color: #fff3e5;
}

.tpma-shell-findanymenu .tpma-output-head{
  border-bottom-color: rgba(255, 226, 190, 0.14);
}

.tpma-shell-findanymenu .tpma-output-empty,
.tpma-shell-findanymenu .tpma-fam-card-meta,
.tpma-shell-findanymenu .tpma-fam-card-foot,
.tpma-shell-findanymenu .tpma-fam-card-preview,
.tpma-shell-findanymenu .tpma-link-desc,
.tpma-shell-findanymenu .tpma-fam-hero-copy,
.tpma-shell-findanymenu .tpma-fam-section-sub,
.tpma-shell-findanymenu .tpma-fam-empty-body,
.tpma-shell-findanymenu .tpma-fam-loading-sub,
.tpma-shell-findanymenu .tpma-place-note,
.tpma-shell-findanymenu .tpma-place-note a{
  color: rgba(255, 241, 224, 0.66);
}

.tpma-shell-findanymenu .tpma-canvas-tabs{
  border-color: rgba(255, 226, 190, 0.16);
  background: rgba(255, 243, 229, 0.10);
}

.tpma-shell-findanymenu .tpma-tab{
  color: rgba(255, 241, 224, 0.68);
}

.tpma-shell-findanymenu .tpma-tab.is-active{
  color: #2a160f;
  background: #f4b56f;
  box-shadow: 0 10px 28px rgba(244, 181, 111, 0.22);
}

.tpma-shell-findanymenu .tpma-fam-kicker{
  color: #f4b56f;
  letter-spacing: 0.11em;
}

.tpma-shell-findanymenu .tpma-fam-hero{
  border-radius: 26px;
  padding: 22px;
}

.tpma-fam-hero-empty{
  grid-template-columns: minmax(0, 1fr) minmax(220px, 312px);
}

.tpma-shell-findanymenu .tpma-fam-hero-title{
  color: #fff3e5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  line-height: 1.02;
  letter-spacing: 0;
}

.tpma-fam-mood-card{
  display: grid;
  gap: 10px;
  min-width: 0;
}

.tpma-fam-hero-side-img{
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: 52% 58%;
  border-color: rgba(255, 229, 196, 0.22);
  background: rgba(255, 232, 201, 0.10);
  box-shadow: 0 24px 64px rgba(12, 6, 4, 0.22);
}

.tpma-fam-mood-card span{
  padding-left: 2px;
}

.tpma-fam-lifestyle-cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tpma-fam-lifestyle-cards article{
  min-width: 0;
  border: 1px solid rgba(255, 226, 190, 0.16);
  border-radius: 22px;
  padding: 16px;
  background: rgba(255, 243, 229, 0.10);
  box-shadow: 0 18px 48px rgba(12, 6, 4, 0.18);
}

.tpma-fam-lifestyle-cards strong{
  display: block;
  margin-top: 9px;
  color: #fff3e5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.15;
  letter-spacing: 0;
}

.tpma-fam-lifestyle-cards p{
  margin: 9px 0 0;
  color: rgba(255, 241, 224, 0.66);
  font-size: 13px;
  line-height: 1.48;
}

.tpma-shell-findanymenu .tpma-pill,
.tpma-shell-findanymenu .tpma-menu-heading,
.tpma-shell-findanymenu .tpma-menu-line,
.tpma-shell-findanymenu .tpma-place-action,
.tpma-shell-findanymenu .tpma-icon-link,
.tpma-shell-findanymenu .tpma-fam-feature-row span,
.tpma-shell-findanymenu .tpma-fam-result-metrics span,
.tpma-shell-findanymenu .tpma-fam-card-foot span,
.tpma-shell-findanymenu .tpma-fam-badge,
.tpma-shell-findanymenu .tpma-fam-loading-steps span{
  border-color: rgba(255, 226, 190, 0.16);
  background: rgba(255, 243, 229, 0.12);
  color: rgba(255, 241, 224, 0.78);
}

.tpma-shell-findanymenu .tpma-pill-v,
.tpma-shell-findanymenu .tpma-menu-heading,
.tpma-shell-findanymenu .tpma-menu-line{
  color: #fff3e5;
}

.tpma-shell-findanymenu .tpma-link-domain,
.tpma-shell-findanymenu .tpma-pill-k{
  color: rgba(255, 241, 224, 0.55);
}

.tpma-shell-findanymenu .tpma-fam-suggestion{
  border-radius: 24px;
}

.tpma-shell-findanymenu .tpma-fam-suggestion-img{
  background: rgba(255, 243, 229, 0.10);
}

.tpma-shell-findanymenu .tpma-fam-suggestion-img img{
  filter: saturate(1.04) contrast(1.02);
}

.tpma-shell-findanymenu .tpma-link-card:hover,
.tpma-shell-findanymenu .tpma-fam-card:hover,
.tpma-shell-findanymenu .tpma-fam-suggestion:hover{
  border-color: rgba(244, 181, 111, 0.34);
  transform: translateY(-1px);
}

.tpma-shell-findanymenu .tpma-output-rich pre,
.tpma-shell-findanymenu .tpma-output-rich code{
  background: rgba(255, 243, 229, 0.10);
  border-color: rgba(255, 226, 190, 0.16);
  color: #fff3e5;
}

.tpma-shell-findanymenu .tpma-output-rich th,
.tpma-shell-findanymenu .tpma-output-rich td{
  border-color: rgba(255, 226, 190, 0.16);
}

.tpma-shell-findanymenu .tpma-output-rich a,
.tpma-shell-findanymenu .tpma-output-text a{
  color: #ffd59e;
}

.tpma-shell-findanymenu .tpma-fam-loading-track{
  background: rgba(255, 243, 229, 0.12);
}

.tpma-shell-findanymenu .tpma-fam-loading-track span{
  background: linear-gradient(90deg, #ffd59e, #ba6841, #7fa281);
}

.tpma-shell-findanymenu .tpma-fam-skeleton div,
.tpma-shell-findanymenu .tpma-skel-bar,
.tpma-shell-findanymenu .tpma-skel-title,
.tpma-shell-findanymenu .tpma-skel-desc{
  border-color: rgba(255, 226, 190, 0.12);
  background: linear-gradient(90deg, rgba(255, 243, 229, 0.08), rgba(255, 243, 229, 0.22), rgba(255, 243, 229, 0.08));
}

.tpma-shell-findanymenu .tpma-user-menu,
.tpma-shell-findanymenu .tpma-user-card,
.tpma-shell-findanymenu .tpma-user-item{
  border-color: rgba(255, 226, 190, 0.18);
  background: rgba(38, 20, 13, 0.88);
}

.tpma-shell-findanymenu .tpma-footer{
  color: rgba(255, 241, 224, 0.52);
}

@media (max-width: 1100px){
  .tpma-shell-findanymenu .tpma-hero{
    grid-template-columns: 1fr;
  }

  .tpma-shell-findanymenu .tpma-hero h1{
    max-width: 12ch;
    font-size: 48px;
  }

  .tpma-fam-lifestyle-media{
    grid-column: 1;
    grid-row: auto;
  }

  .tpma-fam-hero-journal{
    width: 100%;
  }
}

@media (max-width: 980px){
  .tpma-shell-findanymenu .tpma-main{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px){
  .tpma-shell-findanymenu{
    padding: 14px 12px 28px;
  }

  .tpma-shell-findanymenu .tpma-topbar{
    gap: 12px;
    padding: 12px;
    border-radius: 24px;
  }

  .tpma-shell-findanymenu .tpma-logo{
    width: 46px;
    height: 46px;
    border-radius: 16px;
    font-size: 22px;
  }

  .tpma-shell-findanymenu .tpma-brand-title{
    font-size: 20px;
  }

  .tpma-shell-findanymenu .tpma-brand-sub{
    font-size: 12px;
  }

  .tpma-shell-findanymenu .tpma-topbar-actions{
    width: 100%;
    gap: 8px;
    overflow-x: auto;
  }

  .tpma-shell-findanymenu .tpma-link,
  .tpma-shell-findanymenu .tpma-link.tpma-link-btn{
    min-height: 36px;
    padding: 7px 11px;
    font-size: 13px;
    white-space: nowrap;
  }

  .tpma-shell-findanymenu .tpma-hero{
    padding-top: 14px;
  }

  .tpma-shell-findanymenu .tpma-hero h1{
    font-size: 40px;
    line-height: 0.98;
  }

  .tpma-shell-findanymenu .tpma-hero-sub{
    font-size: 15px;
  }

  .tpma-fam-hero-journal{
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(172px, 1fr);
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 2px 0 8px;
    scrollbar-width: none;
  }

  .tpma-fam-hero-journal::-webkit-scrollbar{
    display: none;
  }

  .tpma-fam-hero-card{
    min-height: 92px;
    padding: 12px;
    border-radius: 18px;
  }

  .tpma-fam-hero-card strong{
    font-size: 15px;
  }

  .tpma-fam-hero-card small{
    font-size: 11px;
  }

  .tpma-fam-lifestyle-media{
    grid-template-columns: 1fr;
  }

  .tpma-fam-life-main{
    border-radius: 24px;
  }

  .tpma-fam-life-main img{
    height: 260px;
  }

  .tpma-fam-life-stack{
    display: none;
  }

  .tpma-fam-life-note{
    display: none;
  }

  .tpma-fam-hero-empty,
  .tpma-fam-lifestyle-cards{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px){
  .tpma-shell-findanymenu .tpma-hero h1{
    font-size: 34px;
  }

  .tpma-fam-life-main img{
    height: 224px;
  }

  .tpma-fam-life-main figcaption{
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 12px;
  }

  .tpma-fam-life-main figcaption strong,
  .tpma-fam-life-note strong{
    font-size: 15px;
  }

  .tpma-fam-life-stack{
    grid-template-columns: 1fr;
  }

  .tpma-fam-life-stack img{
    height: 154px;
  }

  .tpma-shell-findanymenu .tpma-fam-hero-title{
    font-size: 30px;
  }
}

/* FindAnyMenu result upscale */
.tpma-shell-findanymenu .tpma-fam-result-hero{
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  min-height: 166px;
  border-color: rgba(94, 234, 212, 0.22);
  background:
    radial-gradient(circle at 8% 0%, rgba(94, 234, 212, 0.22), transparent 38%),
    radial-gradient(circle at 92% 12%, rgba(251, 191, 36, 0.18), transparent 34%),
    linear-gradient(145deg, rgba(16, 72, 64, 0.72), rgba(42, 19, 13, 0.72));
}

.tpma-shell-findanymenu .tpma-fam-result-hero::after{
  content: "";
  position: absolute;
  inset: auto 18px 18px auto;
  width: 110px;
  height: 110px;
  border-radius: 999px;
  border: 1px solid rgba(255, 229, 196, 0.16);
  background:
    linear-gradient(90deg, rgba(255,255,255,0.10) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,0.10) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity: 0.32;
  pointer-events: none;
}

.tpma-shell-findanymenu .tpma-fam-result-copy{
  position: relative;
  z-index: 1;
  min-width: 0;
}

.tpma-shell-findanymenu .tpma-fam-result-copyline{
  margin-top: 9px;
  color: rgba(255, 241, 224, 0.70);
  font-size: 14px;
  line-height: 1.42;
}

.tpma-shell-findanymenu .tpma-fam-result-metrics{
  position: relative;
  z-index: 1;
  justify-content: flex-end;
  max-width: 360px;
}

.tpma-shell-findanymenu .tpma-fam-decision-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tpma-shell-findanymenu .tpma-fam-decision-card{
  min-width: 0;
  min-height: 164px;
  padding: 16px;
  border: 1px solid rgba(255, 226, 190, 0.16);
  border-radius: 22px;
  background: rgba(255, 243, 229, 0.10);
  box-shadow: 0 18px 48px rgba(12, 6, 4, 0.18);
}

.tpma-shell-findanymenu .tpma-fam-decision-card-top{
  border-color: rgba(94, 234, 212, 0.32);
  background: linear-gradient(145deg, rgba(20, 184, 166, 0.16), rgba(255, 243, 229, 0.08));
}

.tpma-shell-findanymenu .tpma-fam-decision-card-price{
  border-color: rgba(251, 191, 36, 0.32);
  background: linear-gradient(145deg, rgba(251, 191, 36, 0.14), rgba(255, 243, 229, 0.08));
}

.tpma-shell-findanymenu .tpma-fam-decision-card-source{
  border-color: rgba(125, 211, 252, 0.30);
  background: linear-gradient(145deg, rgba(14, 165, 233, 0.14), rgba(255, 243, 229, 0.08));
}

.tpma-shell-findanymenu .tpma-fam-decision-card span,
.tpma-shell-findanymenu .tpma-fam-menu-section-head span{
  display: block;
  color: #f4b56f;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.tpma-shell-findanymenu .tpma-fam-decision-card strong{
  display: block;
  margin-top: 10px;
  color: #fff3e5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.tpma-shell-findanymenu .tpma-fam-decision-card p{
  margin: 10px 0 0;
  color: rgba(255, 241, 224, 0.66);
  font-size: 13px;
  line-height: 1.48;
}

.tpma-shell-findanymenu .tpma-fam-result-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.tpma-shell-findanymenu .tpma-fam-menu-board{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
}

.tpma-shell-findanymenu .tpma-fam-menu-section{
  grid-column: span 6;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(255, 226, 190, 0.16);
  border-radius: 22px;
  background: rgba(255, 243, 229, 0.10);
  box-shadow: 0 18px 48px rgba(12, 6, 4, 0.16);
}

.tpma-shell-findanymenu .tpma-fam-menu-section.is-wide{
  grid-column: 1 / -1;
}

.tpma-shell-findanymenu .tpma-fam-menu-section-top{
  border-color: rgba(94, 234, 212, 0.30);
}

.tpma-shell-findanymenu .tpma-fam-menu-section-order{
  border-color: rgba(251, 191, 36, 0.28);
}

.tpma-shell-findanymenu .tpma-fam-menu-section-source{
  border-color: rgba(125, 211, 252, 0.28);
}

.tpma-shell-findanymenu .tpma-fam-menu-section-status{
  border-color: rgba(251, 113, 133, 0.30);
}

.tpma-shell-findanymenu .tpma-fam-menu-section-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 226, 190, 0.12);
}

.tpma-shell-findanymenu .tpma-fam-menu-section-head strong{
  display: block;
  margin-top: 6px;
  color: #fff3e5;
  font-size: 18px;
  line-height: 1.14;
  overflow-wrap: anywhere;
}

.tpma-shell-findanymenu .tpma-fam-menu-section-head em{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 226, 190, 0.16);
  border-radius: 999px;
  color: rgba(255, 241, 224, 0.74);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.tpma-shell-findanymenu .tpma-fam-menu-items{
  display: grid;
  gap: 9px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}

.tpma-shell-findanymenu .tpma-fam-menu-items li{
  position: relative;
  min-width: 0;
  padding: 10px 10px 10px 28px;
  border: 1px solid rgba(255, 226, 190, 0.12);
  border-radius: 16px;
  background: rgba(255, 243, 229, 0.07);
  color: rgba(255, 241, 224, 0.82);
  font-size: 14px;
  line-height: 1.48;
  overflow-wrap: anywhere;
}

.tpma-shell-findanymenu .tpma-fam-menu-items li::before{
  content: "";
  position: absolute;
  left: 12px;
  top: 17px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #5eead4;
  box-shadow: 0 0 0 4px rgba(94, 234, 212, 0.12);
}

.tpma-shell-findanymenu .tpma-fam-menu-section-order .tpma-fam-menu-items li::before{
  background: #fbbf24;
  box-shadow: 0 0 0 4px rgba(251, 191, 36, 0.12);
}

.tpma-shell-findanymenu .tpma-fam-menu-section-source .tpma-fam-menu-items li::before{
  background: #7dd3fc;
  box-shadow: 0 0 0 4px rgba(125, 211, 252, 0.12);
}

.tpma-shell-findanymenu .tpma-fam-menu-section-status .tpma-fam-menu-items li::before{
  background: #fb7185;
  box-shadow: 0 0 0 4px rgba(251, 113, 133, 0.12);
}

.tpma-shell-findanymenu .tpma-fam-menu-items a{
  color: #ffd59e;
}

.tpma-shell-findanymenu .tpma-fam-menu-item-has-source{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 8px 10px;
}

.tpma-shell-findanymenu .tpma-fam-menu-item-has-source .tpma-fam-inline-source{
  grid-column: 2;
}

.tpma-shell-findanymenu .tpma-fam-inline-source{
  width: fit-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  border: 1px solid rgba(255,226,190,0.14);
  border-radius: 999px;
  background: rgba(255,243,229,0.08);
  color: #ffd59e;
  padding: 5px 10px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
  overflow: hidden;
}

.tpma-shell-findanymenu .tpma-fam-inline-source img{
  width: 16px;
  height: 16px;
  border-radius: 4px;
  object-fit: contain;
  flex: 0 0 auto;
}

.tpma-shell-findanymenu .tpma-fam-inline-source span{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-shell-findanymenu .tpma-fam-oembed-grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-top: 14px;
}

.tpma-shell-findanymenu .tpma-fam-place-oembed{
  min-height: 154px;
  border-color: rgba(255,226,190,0.18);
  background: rgba(255,252,245,0.08);
}

.tpma-shell-findanymenu .tpma-fam-place-oembed .tpma-link-img{
  width: 132px;
  min-height: 154px;
  object-fit: cover;
}

.tpma-shell-findanymenu .tpma-fam-place-oembed .tpma-link-title{
  font-family: Georgia,"Times New Roman",serif;
  font-size: 18px;
  line-height: 1.14;
}

@media (max-width: 760px){
  .tpma-shell-findanymenu .tpma-fam-oembed-grid{
    grid-template-columns: 1fr;
  }

  .tpma-shell-findanymenu .tpma-fam-place-oembed .tpma-link-img{
    width: 100%;
    min-height: 150px;
  }
}

.tpma-shell-findanymenu .tpma-fam-entry-card{
  min-height: 190px;
}

.tpma-shell-findanymenu .tpma-fam-entry-card .tpma-fam-card-preview{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tpma-shell-findanymenu .tpma-fam-card-top > div{
  min-width: 0;
}

.tpma-shell-findanymenu .tpma-fam-empty-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

@media (max-width: 760px){
  .tpma-shell-findanymenu .tpma-fam-result-hero{
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .tpma-shell-findanymenu .tpma-fam-result-metrics{
    justify-content: flex-start;
    max-width: none;
  }

  .tpma-shell-findanymenu .tpma-fam-decision-grid,
  .tpma-shell-findanymenu .tpma-fam-menu-board{
    grid-template-columns: 1fr;
  }

  .tpma-shell-findanymenu .tpma-fam-menu-section,
  .tpma-shell-findanymenu .tpma-fam-menu-section.is-wide{
    grid-column: 1 / -1;
  }

  .tpma-shell-findanymenu .tpma-fam-result-actions{
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .tpma-shell-findanymenu .tpma-fam-result-actions::-webkit-scrollbar{
    display: none;
  }

  .tpma-shell-findanymenu .tpma-fam-result-actions .tpma-btn,
  .tpma-shell-findanymenu .tpma-fam-card-actions .tpma-btn,
  .tpma-shell-findanymenu .tpma-fam-empty-actions .tpma-btn{
    flex: 1 0 auto;
    white-space: nowrap;
  }

  .tpma-shell-findanymenu .tpma-fam-card,
  .tpma-shell-findanymenu .tpma-fam-mini-grid .tpma-fam-card{
    grid-column: 1 / -1;
  }
}

@media (max-width: 480px){
  .tpma-shell-findanymenu .tpma-fam-result-title{
    font-size: 24px;
  }

  .tpma-shell-findanymenu .tpma-fam-decision-card,
  .tpma-shell-findanymenu .tpma-fam-menu-section{
    border-radius: 18px;
    padding: 14px;
  }

  .tpma-shell-findanymenu .tpma-fam-menu-items li{
    padding-right: 9px;
    font-size: 13px;
  }
}

/* FindAnyMenu final editorial finish: image-led, high-contrast, and not espresso-dominated. */
body.tpma-body-findanymenu{
  --tpma-accent: #20a486;
  --tpma-bg-0: #081716;
  --tpma-bg-1: #eef8f7;
  --tpma-glass-bg: rgba(8, 23, 22, 0.62);
  --tpma-glass-brd: rgba(218, 248, 241, 0.20);
  --tpma-text-hi: #f8fffc;
  --tpma-text-md: rgba(248, 255, 252, 0.78);
  --tpma-text-lo: rgba(248, 255, 252, 0.58);
  background:
    linear-gradient(128deg, #071211 0%, #0c2f2b 38%, #165746 72%, #eef8f7 155%);
  color: var(--tpma-text-hi);
}

body.tpma-body-findanymenu .tpma-bg::before{
  background:
    linear-gradient(118deg, rgba(32, 164, 134, 0.28), transparent 42%),
    linear-gradient(232deg, rgba(236, 93, 82, 0.18), transparent 48%),
    linear-gradient(180deg, rgba(6, 16, 15, 0.08), rgba(6, 16, 15, 0.48));
}

body.tpma-body-findanymenu .tpma-bg::after{
  background-image:
    linear-gradient(rgba(218, 248, 241, 0.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(218, 248, 241, 0.08) 1px, transparent 1px);
}

.tpma-shell-findanymenu .tpma-topbar,
.tpma-shell-findanymenu .tpma-card,
.tpma-shell-findanymenu .tpma-link-card,
.tpma-shell-findanymenu .tpma-fam-card,
.tpma-shell-findanymenu .tpma-fam-suggestion,
.tpma-shell-findanymenu .tpma-place-skel,
.tpma-shell-findanymenu .tpma-fam-empty,
.tpma-shell-findanymenu .tpma-fam-loading,
.tpma-shell-findanymenu .tpma-fam-hero,
  .tpma-shell-findanymenu .tpma-fam-result-hero,
  .tpma-shell-findanymenu .tpma-fam-decision-card,
  .tpma-shell-findanymenu .tpma-fam-menu-section,
  .tpma-shell-findanymenu .tpma-visual-references,
  .tpma-shell-findanymenu .tpma-visual-card,
  .tpma-fam-hero-card,
  .tpma-fam-lifestyle-cards article{
  border-color: rgba(218, 248, 241, 0.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.06)),
    rgba(5, 22, 20, 0.62);
  color: #f8fffc;
  box-shadow:
    0 24px 78px rgba(2, 10, 9, 0.30),
    inset 0 1px 0 rgba(255,255,255,0.10);
}

.tpma-shell-findanymenu .tpma-fam-result-hero{
  background:
    linear-gradient(128deg, rgba(6, 30, 28, 0.90), rgba(19, 104, 82, 0.72)),
    rgba(5, 22, 20, 0.62);
}

.tpma-shell-findanymenu .tpma-fam-result-hero::after{
  display: none;
}

.tpma-shell-findanymenu .tpma-logo{
  background: linear-gradient(145deg, rgba(232, 255, 250, 0.92), rgba(32, 164, 134, 0.72));
  border-color: rgba(218, 248, 241, 0.32);
}

.tpma-shell-findanymenu .tpma-hero h1,
.tpma-shell-findanymenu .tpma-output-title,
.tpma-shell-findanymenu .tpma-output-body,
.tpma-shell-findanymenu .tpma-fam-card-title,
.tpma-shell-findanymenu .tpma-fam-empty-title,
.tpma-shell-findanymenu .tpma-link-title,
.tpma-shell-findanymenu .tpma-fam-loading-title,
.tpma-shell-findanymenu .tpma-fam-result-title,
.tpma-shell-findanymenu .tpma-output-rich,
.tpma-shell-findanymenu .tpma-output-text,
.tpma-shell-findanymenu .tpma-fam-decision-card strong,
.tpma-shell-findanymenu .tpma-fam-menu-section-head strong,
.tpma-fam-hero-card strong,
.tpma-fam-lifestyle-cards strong,
.tpma-fam-life-main figcaption strong,
.tpma-fam-life-note strong{
  color: #f8fffc;
}

.tpma-shell-findanymenu .tpma-brand-sub,
.tpma-shell-findanymenu .tpma-hero-sub,
.tpma-shell-findanymenu .tpma-output-empty,
.tpma-shell-findanymenu .tpma-fam-card-meta,
.tpma-shell-findanymenu .tpma-fam-card-foot,
.tpma-shell-findanymenu .tpma-fam-card-preview,
.tpma-shell-findanymenu .tpma-link-desc,
.tpma-shell-findanymenu .tpma-fam-hero-copy,
.tpma-shell-findanymenu .tpma-fam-section-sub,
.tpma-shell-findanymenu .tpma-fam-empty-body,
.tpma-shell-findanymenu .tpma-fam-loading-sub,
.tpma-shell-findanymenu .tpma-place-note,
.tpma-shell-findanymenu .tpma-place-note a,
.tpma-shell-findanymenu .tpma-fam-decision-card p,
.tpma-shell-findanymenu .tpma-fam-menu-items li,
.tpma-fam-hero-card small,
.tpma-fam-lifestyle-cards p{
  color: rgba(248, 255, 252, 0.70);
}

.tpma-shell-findanymenu .tpma-fam-kicker,
.tpma-shell-findanymenu .tpma-fam-decision-card span,
.tpma-shell-findanymenu .tpma-fam-menu-section-head span,
.tpma-fam-hero-card span,
.tpma-fam-life-main figcaption span,
.tpma-fam-life-note span,
.tpma-fam-mood-card span,
.tpma-fam-lifestyle-cards span{
  color: #f4c95b;
}

.tpma-shell-findanymenu .tpma-btn-primary{
  color: #05211d;
  border-color: rgba(244, 201, 91, 0.72);
  background: linear-gradient(180deg, #f8dd83, #20a486);
  box-shadow: 0 18px 50px rgba(32, 164, 134, 0.28);
}

.tpma-shell-findanymenu .tpma-btn-primary:hover{
  border-color: rgba(248, 221, 131, 0.86);
  background: linear-gradient(180deg, #ffe695, #24b092);
}

.tpma-shell-findanymenu .tpma-tab.is-active{
  color: #05211d;
  background: #f4c95b;
  box-shadow: 0 10px 28px rgba(244, 201, 91, 0.20);
}

.tpma-shell-findanymenu .tpma-fam-loading-track span{
  background: linear-gradient(90deg, #f4c95b, #20a486, #ec5d52);
}

.tpma-fam-life-main,
.tpma-fam-life-stack figure{
  border-color: rgba(218, 248, 241, 0.22);
  background: rgba(5, 22, 20, 0.58);
  box-shadow: 0 34px 90px rgba(2, 10, 9, 0.34);
}

.tpma-fam-life-main::after{
  background: linear-gradient(180deg, transparent 34%, rgba(4, 16, 15, 0.78) 100%);
}

.tpma-fam-life-main figcaption,
.tpma-fam-life-note{
  border-color: rgba(218, 248, 241, 0.20);
  background: rgba(5, 22, 20, 0.58);
}

/* FindAnyMenu editorial restraint pass: quieter, flatter, and form-led. */
body.tpma-body-findanymenu{
  --tpma-accent: #9fac84;
  --tpma-bg-0: #111413;
  --tpma-bg-1: #111413;
  --tpma-glass-bg: #171c1a;
  --tpma-glass-brd: rgba(244, 241, 232, 0.10);
  --tpma-text-hi: #f4f1e8;
  --tpma-text-md: rgba(244, 241, 232, 0.76);
  --tpma-text-lo: rgba(244, 241, 232, 0.54);
  --tpma-radius: 8px;
  background: #111413;
  color: var(--tpma-text-hi);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.tpma-body-findanymenu .tpma-bg::before,
body.tpma-body-findanymenu .tpma-bg::after{
  display: none;
}

.tpma-shell-findanymenu{
  width: min(1240px, 100%);
  margin: 0 auto;
  padding: 24px 20px 64px;
  gap: 18px;
}

.tpma-shell-findanymenu .tpma-topbar,
.tpma-shell-findanymenu .tpma-hero,
.tpma-shell-findanymenu .tpma-main,
.tpma-shell-findanymenu .tpma-footer{
  width: min(1200px, 100%);
}

.tpma-shell-findanymenu .tpma-topbar{
  min-height: 0;
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid rgba(244, 241, 232, 0.10);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.tpma-shell-findanymenu .tpma-logo{
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #1b211e;
  border-color: rgba(244, 241, 232, 0.12);
  box-shadow: none;
  font-size: 16px;
}

.tpma-shell-findanymenu .tpma-brand-title{
  color: #f4f1e8;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 650;
  letter-spacing: 0;
}

.tpma-shell-findanymenu .tpma-brand-sub{
  color: rgba(244, 241, 232, 0.52);
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tpma-shell-findanymenu .tpma-topbar-actions [data-action="media"],
.tpma-shell-findanymenu .tpma-user{
  display: none !important;
}

.tpma-shell-findanymenu .tpma-link,
.tpma-shell-findanymenu .tpma-link.tpma-link-btn{
  min-height: 34px;
  padding: 7px 12px;
  border-color: rgba(244, 241, 232, 0.12);
  border-radius: 8px;
  background: transparent;
  color: rgba(244, 241, 232, 0.76);
  box-shadow: none;
  font-size: 13px;
}

.tpma-shell-findanymenu .tpma-link:hover{
  border-color: rgba(159, 172, 132, 0.48);
  background: rgba(244, 241, 232, 0.04);
}

.tpma-shell-findanymenu .tpma-hero{
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
  column-gap: 42px;
  row-gap: 18px;
  align-items: end;
  padding: 30px 0 22px;
  border-bottom: 1px solid rgba(244, 241, 232, 0.10);
}

.tpma-shell-findanymenu .tpma-hero-title{
  display: block;
}

.tpma-shell-findanymenu .tpma-hero-emoji{
  display: inline-flex;
  width: auto;
  height: auto;
  margin-bottom: 18px;
  padding: 7px 9px;
  border: 1px solid rgba(244, 241, 232, 0.12);
  border-radius: 8px;
  background: #171c1a;
  box-shadow: none;
  font-size: 18px;
  filter: none;
}

.tpma-shell-findanymenu .tpma-hero h1{
  max-width: 14ch;
  color: #f4f1e8;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 56px;
  font-weight: 560;
  line-height: 0.96;
  letter-spacing: 0;
  text-shadow: none;
}

.tpma-shell-findanymenu .tpma-hero-sub{
  max-width: 50ch;
  margin-top: 18px;
  color: rgba(244, 241, 232, 0.68);
  font-size: 16px;
  line-height: 1.65;
}

.tpma-fam-hero-journal{
  grid-column: 1;
  width: min(620px, 100%);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 20px;
}

.tpma-fam-hero-card{
  min-height: 0;
  padding: 11px 12px;
  border-radius: 8px;
  border-color: rgba(244, 241, 232, 0.10);
  background: #171c1a;
  color: #f4f1e8;
  box-shadow: none;
}

.tpma-fam-hero-card span{
  color: #9fac84;
  font-size: 9px;
  letter-spacing: 0.08em;
}

.tpma-fam-hero-card strong{
  margin-top: 6px;
  color: #f4f1e8;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}

.tpma-fam-hero-card small{
  margin-top: 5px;
  color: rgba(244, 241, 232, 0.52);
  font-size: 11px;
  line-height: 1.35;
}

.tpma-fam-lifestyle-media{
  grid-column: 2;
  grid-row: 1 / span 3;
  display: block;
}

.tpma-fam-life-main{
  border-radius: 8px;
  border-color: rgba(244, 241, 232, 0.12);
  background: #171c1a;
  box-shadow: none;
}

.tpma-fam-life-main img{
  height: 324px;
  filter: saturate(0.88) contrast(0.98) brightness(0.86);
}

.tpma-fam-life-main figcaption{
  left: 14px;
  right: 14px;
  bottom: 14px;
  padding: 12px;
  border-radius: 8px;
  border-color: rgba(244, 241, 232, 0.12);
  background: rgba(17, 20, 19, 0.78);
  box-shadow: none;
}

.tpma-fam-life-main figcaption span,
.tpma-fam-life-note span,
.tpma-fam-mood-card span,
.tpma-fam-lifestyle-cards span{
  color: #9fac84;
  font-size: 9px;
  letter-spacing: 0.08em;
}

.tpma-fam-life-main figcaption strong{
  color: #f4f1e8;
  font-size: 15px;
  line-height: 1.2;
}

.tpma-fam-life-stack,
.tpma-fam-life-note{
  display: none;
}

.tpma-shell-findanymenu .tpma-main{
  grid-template-columns: minmax(290px, 360px) minmax(0, 1fr);
  gap: 16px;
  margin-top: 0;
}

.tpma-shell-findanymenu .tpma-card,
.tpma-shell-findanymenu .tpma-link-card,
.tpma-shell-findanymenu .tpma-fam-card,
.tpma-shell-findanymenu .tpma-fam-suggestion,
.tpma-shell-findanymenu .tpma-place-skel,
.tpma-shell-findanymenu .tpma-fam-empty,
.tpma-shell-findanymenu .tpma-fam-loading,
.tpma-shell-findanymenu .tpma-fam-hero,
.tpma-shell-findanymenu .tpma-fam-result-hero,
.tpma-shell-findanymenu .tpma-fam-decision-card,
.tpma-shell-findanymenu .tpma-fam-menu-section,
.tpma-fam-lifestyle-cards article{
  border-color: rgba(244, 241, 232, 0.10);
  border-radius: 8px;
  background: #171c1a;
  color: #f4f1e8;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.tpma-shell-findanymenu .tpma-card::after{
  display: none;
}

.tpma-shell-findanymenu .tpma-card-input{
  top: 16px;
  padding: 16px;
}

.tpma-shell-findanymenu .tpma-field label{
  color: rgba(244, 241, 232, 0.66);
  font-size: 12px;
  font-weight: 700;
}

.tpma-shell-findanymenu .tpma-field input,
.tpma-shell-findanymenu .tpma-field textarea,
.tpma-shell-findanymenu .tpma-field select{
  min-height: 42px;
  border-color: rgba(244, 241, 232, 0.12);
  border-radius: 8px;
  background: #111413;
  color: #f4f1e8;
  box-shadow: none;
}

.tpma-shell-findanymenu .tpma-field input::placeholder,
.tpma-shell-findanymenu .tpma-field textarea::placeholder{
  color: rgba(244, 241, 232, 0.38);
}

.tpma-shell-findanymenu .tpma-field input:focus,
.tpma-shell-findanymenu .tpma-field textarea:focus,
.tpma-shell-findanymenu .tpma-field select:focus{
  border-color: rgba(159, 172, 132, 0.78);
  box-shadow: 0 0 0 3px rgba(159, 172, 132, 0.16);
}

.tpma-shell-findanymenu .tpma-help{
  color: rgba(244, 241, 232, 0.54);
  font-size: 12px;
  line-height: 1.45;
}

.tpma-shell-findanymenu .tpma-btn{
  min-height: 38px;
  padding: 8px 12px;
  border-color: rgba(244, 241, 232, 0.12);
  border-radius: 8px;
  background: transparent;
  color: rgba(244, 241, 232, 0.82);
  box-shadow: none;
  font-size: 13px;
}

.tpma-shell-findanymenu .tpma-btn:hover{
  border-color: rgba(159, 172, 132, 0.50);
  background: rgba(244, 241, 232, 0.04);
}

.tpma-shell-findanymenu .tpma-btn-primary{
  color: #111413;
  border-color: #d6dfc2;
  background: #d6dfc2;
  box-shadow: none;
}

.tpma-shell-findanymenu .tpma-btn-primary:hover{
  border-color: #edf3dc;
  background: #edf3dc;
}

.tpma-shell-findanymenu .tpma-card-output{
  min-height: 540px;
}

.tpma-shell-findanymenu .tpma-output-head{
  padding-bottom: 12px;
  border-bottom-color: rgba(244, 241, 232, 0.10);
}

.tpma-shell-findanymenu .tpma-output-title,
.tpma-shell-findanymenu .tpma-output-body,
.tpma-shell-findanymenu .tpma-fam-card-title,
.tpma-shell-findanymenu .tpma-fam-empty-title,
.tpma-shell-findanymenu .tpma-link-title,
.tpma-shell-findanymenu .tpma-fam-loading-title,
.tpma-shell-findanymenu .tpma-fam-result-title,
.tpma-shell-findanymenu .tpma-output-rich,
.tpma-shell-findanymenu .tpma-output-text,
.tpma-shell-findanymenu .tpma-fam-decision-card strong,
.tpma-shell-findanymenu .tpma-fam-menu-section-head strong,
.tpma-fam-lifestyle-cards strong{
  color: #f4f1e8;
}

.tpma-shell-findanymenu .tpma-output-title{
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 600;
}

.tpma-shell-findanymenu .tpma-output-empty,
.tpma-shell-findanymenu .tpma-fam-card-meta,
.tpma-shell-findanymenu .tpma-fam-card-foot,
.tpma-shell-findanymenu .tpma-fam-card-preview,
.tpma-shell-findanymenu .tpma-link-desc,
.tpma-shell-findanymenu .tpma-fam-hero-copy,
.tpma-shell-findanymenu .tpma-fam-section-sub,
.tpma-shell-findanymenu .tpma-fam-empty-body,
.tpma-shell-findanymenu .tpma-fam-loading-sub,
.tpma-shell-findanymenu .tpma-place-note,
.tpma-shell-findanymenu .tpma-place-note a,
.tpma-shell-findanymenu .tpma-fam-decision-card p,
.tpma-shell-findanymenu .tpma-fam-menu-items li,
.tpma-fam-lifestyle-cards p{
  color: rgba(244, 241, 232, 0.66);
}

.tpma-shell-findanymenu .tpma-fam-kicker,
.tpma-shell-findanymenu .tpma-fam-decision-card span,
.tpma-shell-findanymenu .tpma-fam-menu-section-head span,
.tpma-shell-findanymenu .tpma-fam-card-foot span,
.tpma-shell-findanymenu .tpma-fam-badge,
.tpma-shell-findanymenu .tpma-fam-loading-steps span{
  color: #9fac84;
}

.tpma-shell-findanymenu .tpma-canvas-tabs{
  gap: 2px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(244, 241, 232, 0.10);
  border-radius: 0;
  background: transparent;
}

.tpma-shell-findanymenu .tpma-tab{
  min-height: 36px;
  padding: 8px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(244, 241, 232, 0.58);
  font-size: 12px;
  font-weight: 700;
}

.tpma-shell-findanymenu .tpma-tab.is-active{
  color: #f4f1e8;
  background: transparent;
  box-shadow: inset 0 -2px 0 #9fac84;
}

.tpma-shell-findanymenu .tpma-fam-hero{
  padding: 18px;
}

.tpma-shell-findanymenu .tpma-fam-hero-title{
  color: #f4f1e8;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 560;
  line-height: 1.04;
}

.tpma-fam-hero-empty,
.tpma-fam-lifestyle-cards,
.tpma-shell-findanymenu .tpma-fam-decision-grid,
.tpma-shell-findanymenu .tpma-fam-menu-board{
  gap: 10px;
}

.tpma-fam-lifestyle-cards article{
  padding: 14px;
}

.tpma-fam-lifestyle-cards strong{
  margin-top: 8px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
}

.tpma-shell-findanymenu .tpma-fam-result-hero{
  min-height: 0;
  background: #171c1a;
}

.tpma-shell-findanymenu .tpma-fam-decision-card,
.tpma-shell-findanymenu .tpma-fam-menu-section{
  min-height: 0;
  padding: 14px;
}

.tpma-shell-findanymenu .tpma-fam-decision-card-top,
.tpma-shell-findanymenu .tpma-fam-decision-card-price,
.tpma-shell-findanymenu .tpma-fam-decision-card-source,
.tpma-shell-findanymenu .tpma-fam-menu-section-top,
.tpma-shell-findanymenu .tpma-fam-menu-section-order,
.tpma-shell-findanymenu .tpma-fam-menu-section-source,
.tpma-shell-findanymenu .tpma-fam-menu-section-status{
  border-color: rgba(244, 241, 232, 0.10);
  background: #171c1a;
}

.tpma-shell-findanymenu .tpma-fam-menu-items li{
  padding: 8px 10px 8px 24px;
  border-color: rgba(244, 241, 232, 0.08);
  border-radius: 8px;
  background: #111413;
}

.tpma-shell-findanymenu .tpma-fam-menu-items li::before{
  top: 15px;
  background: #9fac84;
  box-shadow: none;
}

.tpma-shell-findanymenu .tpma-output-rich a,
.tpma-shell-findanymenu .tpma-output-text a,
.tpma-shell-findanymenu .tpma-fam-menu-items a{
  color: #d6dfc2;
}

.tpma-shell-findanymenu .tpma-footer{
  padding-top: 10px;
  color: rgba(244, 241, 232, 0.42);
  font-size: 12px;
}

body.tpma-body-findanymenu #tp-consentv2{
  left: auto !important;
  right: 18px !important;
  bottom: 18px !important;
  width: min(420px, calc(100vw - 24px)) !important;
  max-width: 420px !important;
  padding: 10px !important;
  border-radius: 12px !important;
  background: rgba(17, 20, 19, 0.94) !important;
  box-shadow: none !important;
}

body.tpma-body-findanymenu #tp-consentv2 > div{
  gap: 8px !important;
  align-items: center !important;
}

body.tpma-body-findanymenu #tp-consentv2 div{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.tpma-body-findanymenu #tp-consentv2 a{
  font-size: 11px !important;
  line-height: 1.2 !important;
}

body.tpma-body-findanymenu #tp-consentv2 button{
  min-width: 0 !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

@media (max-width: 1100px){
  .tpma-shell-findanymenu .tpma-hero{
    grid-template-columns: 1fr;
  }

  .tpma-shell-findanymenu .tpma-hero h1{
    max-width: 15ch;
    font-size: 44px;
  }

  .tpma-fam-lifestyle-media{
    grid-column: 1;
    grid-row: auto;
  }

  .tpma-fam-life-main img{
    height: 260px;
  }
}

@media (max-width: 980px){
  .tpma-shell-findanymenu .tpma-main{
    grid-template-columns: 1fr;
  }

  .tpma-shell-findanymenu .tpma-card-input{
    position: static;
  }
}

@media (max-width: 760px){
  .tpma-shell-findanymenu{
    padding: 16px 14px 48px;
    gap: 14px;
  }

  .tpma-shell-findanymenu .tpma-topbar{
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
  }

  .tpma-shell-findanymenu .tpma-topbar-actions{
    width: auto;
    overflow: visible;
    padding-bottom: 0;
  }

  .tpma-shell-findanymenu .tpma-brand{
    min-width: 0;
  }

  .tpma-shell-findanymenu .tpma-brand-title{
    font-size: 16px;
  }

  .tpma-shell-findanymenu .tpma-brand-sub{
    font-size: 10px;
  }

  .tpma-shell-findanymenu .tpma-logo{
    width: 30px;
    height: 30px;
    border-radius: 7px;
  }

  .tpma-shell-findanymenu .tpma-hero{
    padding: 22px 0 16px;
  }

  .tpma-shell-findanymenu .tpma-hero-emoji{
    margin-bottom: 14px;
    font-size: 15px;
  }

  .tpma-shell-findanymenu .tpma-hero h1{
    max-width: 12ch;
    font-size: 36px;
    line-height: 1;
  }

  .tpma-shell-findanymenu .tpma-hero-sub{
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.55;
  }

  .tpma-fam-hero-journal{
    display: none;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: 1fr;
    margin-top: 0;
  }

  .tpma-fam-hero-card{
    padding: 10px;
  }

  .tpma-fam-lifestyle-media{
    display: none;
  }

  .tpma-shell-findanymenu .tpma-card-input{
    padding: 14px;
  }

  .tpma-shell-findanymenu .tpma-fields{
    gap: 10px;
  }

  .tpma-shell-findanymenu .tpma-form-actions,
  .tpma-shell-findanymenu .tpma-output-actions{
    gap: 8px;
  }

  .tpma-shell-findanymenu .tpma-btn{
    min-height: 36px;
    padding: 8px 10px;
  }

  .tpma-shell-findanymenu .tpma-card-output{
    min-height: 0;
  }

  .tpma-shell-findanymenu .tpma-output-head{
    align-items: flex-start;
    flex-direction: column;
  }

  .tpma-shell-findanymenu .tpma-canvas-tabs{
    overflow-x: auto;
    scrollbar-width: none;
  }

  .tpma-shell-findanymenu .tpma-canvas-tabs::-webkit-scrollbar{
    display: none;
  }

  .tpma-shell-findanymenu .tpma-tab{
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .tpma-shell-findanymenu .tpma-fam-hero-title{
    font-size: 26px;
  }

  .tpma-fam-hero-empty,
  .tpma-fam-lifestyle-cards,
  .tpma-shell-findanymenu .tpma-fam-decision-grid,
  .tpma-shell-findanymenu .tpma-fam-menu-board{
    grid-template-columns: 1fr;
  }

  body.tpma-body-findanymenu #tp-consentv2{
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    width: auto !important;
    max-width: none !important;
    padding: 8px !important;
  }

  body.tpma-body-findanymenu #tp-consentv2 > div{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
  }

  body.tpma-body-findanymenu #tp-consentv2 > div > div:first-child{
    min-width: 0 !important;
    gap: 1px !important;
  }

  body.tpma-body-findanymenu #tp-consentv2 > div > div:first-child > div:first-child{
    font-size: 12px !important;
    line-height: 1.1 !important;
  }

  body.tpma-body-findanymenu #tp-consentv2 > div > div:first-child > div:nth-child(2){
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  body.tpma-body-findanymenu #tp-consentv2 > div > div:last-child{
    gap: 5px !important;
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 480px){
  .tpma-shell-findanymenu .tpma-hero h1{
    font-size: 32px;
  }

  .tpma-shell-findanymenu .tpma-link,
  .tpma-shell-findanymenu .tpma-link.tpma-link-btn{
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
  }
}

.tpma-output-rich pre,
.tpma-output-rich code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 14px;
  white-space: pre-wrap;
}

.tpma-output-rich table{
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
}

.tpma-output-rich th,
.tpma-output-rich td{
  border: 1px solid rgba(255,255,255,0.14);
  padding: 8px 10px;
  vertical-align: top;
}

.tpma-output-text a{
  color: color-mix(in oklab, var(--tpma-accent) 85%, #ffffff 15%);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tpma-output-rich a{
  color: color-mix(in oklab, var(--tpma-accent) 85%, #ffffff 15%);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tpma-toast{
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.70);
  border: 1px solid rgba(255,255,255,0.18);
  color: var(--tpma-text-hi);
  padding: 10px 12px;
  border-radius: 999px;
  z-index: var(--tpma-z-toast);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.55);
}

.tpma-modal-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.60);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  z-index: var(--tpma-z-modal);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.tpma-modal{
  width: min(720px, 100%);
  background: rgba(10,12,18,0.78);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--tpma-radius);
  box-shadow: 0 28px 90px rgba(0,0,0,0.62);
  overflow: hidden;
}

.tpma-modal.tpma-modal-wide{
  width: min(860px, 100%);
}

.tpma-modal-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 14px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-modal-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-modal-x{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  width: 36px;
  height: 36px;
  border-radius: 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
}

.tpma-modal-body{
  padding: 14px;
  max-height: min(62vh, 620px);
  overflow: auto;
}

.tpma-modal-foot{
  padding: 12px 14px 14px;
  border-top: 1px solid rgba(255,255,255,0.10);
  display: flex;
  justify-content: flex-end;
}

.tpma-hub-toolkit-subtitle{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
  margin-bottom: 12px;
}

.tpma-hub-toolkit-steps{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-hub-toolkit-step{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  text-decoration: none;
}

.tpma-hub-toolkit-step:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-hub-toolkit-step-emoji{
  width: 34px;
  height: 34px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex: 0 0 auto;
}

.tpma-hub-toolkit-step-text{
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.tpma-hub-toolkit-step-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-hub-toolkit-step-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 64ch;
}

.tpma-hub-toolkit-step-go{
  margin-left: auto;
  color: var(--tpma-text-lo);
  font-weight: 900;
}

.tpma-hub-info-sub{
  color: var(--tpma-text-md);
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 12px;
}

.tpma-hub-info-row{
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 10px 0 0;
}

.tpma-hub-info-k{
  flex: 0 0 auto;
  width: 96px;
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.tpma-hub-info-v{
  color: var(--tpma-text-hi);
  font-weight: 800;
  letter-spacing: 0.1px;
}

.tpma-hub-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.tpma-hub-tag{
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-md);
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
}

.tpma-hub-info-split{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.tpma-hub-info-block{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  padding: 12px;
}

.tpma-hub-info-h{
  font-weight: 900;
  letter-spacing: 0.2px;
  margin-bottom: 8px;
}

.tpma-hub-info-list{
  margin: 0;
  padding-left: 18px;
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-hub-info-note{
  margin-top: 12px;
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.35;
}

.tpma-modal-foot.tpma-hub-info-foot{
  justify-content: space-between;
  gap: 10px;
}

.tpma-media-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.tpma-media-search{
  flex: 1;
  min-width: min(320px, 100%);
}

.tpma-media-filters{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-media-sort{
  min-width: min(180px, 100%);
  flex: 0 0 auto;
}

.tpma-media-sort-select{
  padding: 10px 12px;
}

.tpma-media-filter{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-media-filter:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-media-filter.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 78%, #000000 22%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
}

.tpma-media-upload{
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.tpma-media-upload-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  cursor: pointer;
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-media-upload-btn:hover{
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

.tpma-media-upload-hint{
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.35;
}

.tpma-media-upload-disabled{
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.12);
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

.tpma-media-status{
  margin-top: 10px;
  min-height: 18px;
  color: var(--tpma-text-lo);
  font-size: 13px;
}

.tpma-media-grid{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.tpma-media-card{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  content-visibility: auto;
  contain-intrinsic-size: 320px 260px;
}

.tpma-media-thumb{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tpma-media-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tpma-media-vid{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tpma-media-vidthumb{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: rgba(0,0,0,0.12);
}

.tpma-media-ico{
  font-size: 34px;
  opacity: 0.92;
}

.tpma-media-meta{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.tpma-media-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-media-url{
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.2;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-media-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-media-more{
  margin-top: 12px;
  display: flex;
  justify-content: center;
}

.tpma-media-empty{
  grid-column: 1 / -1;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.4;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.12);
}

@media (max-width: 720px){
  .tpma-hub-info-split{
    grid-template-columns: 1fr;
  }

  .tpma-media-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-prompt-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-prompt-item{
  appearance: none;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 16px;
  padding: 12px 12px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-prompt-item:hover{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  background: rgba(255,255,255,0.08);
  transform: translateY(-1px);
}

.tpma-prompt-item-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  margin-bottom: 6px;
}

.tpma-prompt-item-snippet{
  font-size: 13px;
  line-height: 1.45;
  color: var(--tpma-text-lo);
}

.tpma-ccgen{
  margin: 12px 0 14px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  position: relative;
  overflow: hidden;
}

.tpma-ccgen::before{
  content: "";
  position: absolute;
  inset: -40% -30%;
  background:
    radial-gradient(60% 60% at 22% 30%, color-mix(in oklab, var(--tpma-accent) 34%, transparent), transparent 60%),
    radial-gradient(55% 55% at 82% 10%, rgba(57,213,255,0.16), transparent 60%),
    radial-gradient(45% 45% at 70% 85%, rgba(255,123,110,0.12), transparent 60%);
  filter: blur(18px);
  opacity: 0.9;
  pointer-events: none;
}

.tpma-ccgen > *{
  position: relative;
  z-index: 1;
}

.tpma-ccgen-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-ccgen-actions{
  display: flex;
  align-items: center;
  gap: 8px;
}

.tpma-ccgen-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-ccgen-sub{
  margin-top: 4px;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.4;
}

.tpma-ccgen-kicker{
  margin-top: 12px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-ccgen-chips{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-ccgen-chips[data-ccgen-examples]{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 860px){
  .tpma-ccgen-chips[data-ccgen-examples]{
    grid-template-columns: 1fr;
  }
}

.tpma-ccgen-chips[data-ccgen-examples] .tpma-ccgen-chip{
  width: 100%;
  justify-content: center;
  padding: 12px 12px;
  border-radius: 16px;
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-ccgen-chip{
  max-width: 100%;
}

.tpma-ccgen-chips .tpma-btn.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  background: rgba(255,255,255,0.10);
}

.tpma-ccgen-occasion{
  margin-top: 10px;
}

.tpma-ccgen-occasion-label{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-ccgen-grid{
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 860px){
  .tpma-ccgen-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-ccgen-label{
  display: block;
  margin: 6px 0 6px;
  font-size: 13px;
  color: var(--tpma-text-md);
}

.tpma-ccgen-textarea{
  width: 100%;
  min-height: 110px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  color: var(--tpma-text-hi);
  font: inherit;
  resize: vertical;
}

.tpma-ccgen-textarea::placeholder{
  color: rgba(255,255,255,0.55);
}

.tpma-ccgen-textarea:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.25));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 22%, transparent);
}

.tpma-ccgen-row{
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-ccgen-simple .tpma-ccgen-head{
  align-items: center;
}

.tpma-ccgen-simple .tpma-ccgen-title{
  font-size: 15px;
}

.tpma-ccgen-simple .tpma-ccgen-textarea{
  min-height: 130px;
  font-size: 15px;
}

.tpma-ccgen-advanced,
.tpma-vgen-advanced{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.12);
  display: grid;
  gap: 10px;
}

@media (max-width: 560px){
  .tpma-ccgen-simple:not(.tpma-vgen) .tpma-ccgen-row{
    flex-direction: column;
    align-items: stretch;
  }

  .tpma-ccgen-simple:not(.tpma-vgen) .tpma-ccgen-row > .tpma-btn-primary{
    width: 100%;
  }
}

.tpma-vgen-simple .tpma-ccgen-row > .tpma-btn-primary{
  flex: 1 1 220px;
}

.tpma-ccgen-aspects{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-ccgen-aspects .tpma-btn.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  background: rgba(255,255,255,0.10);
}

.tpma-ccgen-status{
  margin-top: 8px;
  min-height: 18px;
  color: var(--tpma-text-lo);
  font-size: 13px;
}

.tpma-ccgen-statusbar{
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-ccgen-statusbar .tpma-ccgen-status{
  margin-top: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.tpma-ccgen-statusbar .tpma-btn{
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 560px){
  .tpma-ccgen-statusbar{
    flex-direction: column;
    align-items: stretch;
  }

  .tpma-ccgen-statusbar .tpma-btn{
    width: 100%;
  }
}

.tpma-ccgen-promptrow{
  display: flex;
  align-items: stretch;
  gap: 10px;
}

.tpma-ccgen-promptmain{
  width: auto;
  flex: 1 1 auto;
  min-width: 0;
}

.tpma-ccgen-promptactions{
  display: flex;
  align-items: center;
  gap: 8px;
}

.tpma-ccgen-mode{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-ccgen-toggle{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.2px;
  cursor: pointer;
  user-select: none;
}

.tpma-ccgen-toggle input{
  margin: 0;
  accent-color: var(--tpma-accent);
}

.tpma-footer{
  width: min(1120px, 100%);
  margin: 6px auto 0;
  color: var(--tpma-text-lo);
  font-size: 12px;
  text-align: center;
}

.tpma-body-celebrate .tpma-shell,
.tpma-body-create .tpma-shell{
  padding-bottom: calc(170px + env(safe-area-inset-bottom));
}

.tpma-celebrate-dock,
.tpma-create-dock{
  position: fixed;
  left: 50%;
  bottom: calc(14px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  z-index: 9700;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 999px;
  background: rgba(10,12,18,0.72);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 22px 70px rgba(0,0,0,0.56);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  max-width: min(96vw, 1120px);
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.tpma-celebrate-dock::-webkit-scrollbar,
.tpma-create-dock::-webkit-scrollbar{
  display: none;
}

.tpma-celebrate-btn,
.tpma-create-btn{
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 16px;
  padding: 8px 10px;
  min-width: 54px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
  flex: 0 0 auto;
}

.tpma-celebrate-btn:hover,
.tpma-create-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.09);
  border-color: rgba(255,255,255,0.24);
}

.tpma-celebrate-btn.is-active,
.tpma-create-btn.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-celebrate-ico,
.tpma-create-ico{
  font-size: 18px;
  line-height: 1;
}

.tpma-celebrate-label,
.tpma-create-label{
  font-size: 11px;
  line-height: 1;
  color: var(--tpma-text-md);
}

@media (max-width: 520px){
  .tpma-celebrate-label,
  .tpma-create-label{
    display: none;
  }
  .tpma-celebrate-btn,
  .tpma-create-btn{
    min-width: 48px;
    padding: 9px 10px;
  }
}

.tpma-body-games .tpma-shell{
  padding-bottom: calc(110px + env(safe-area-inset-bottom));
}

.tpma-body-games .tpma-shell-game.is-focus{
  padding-bottom: calc(90px + env(safe-area-inset-bottom));
}

.tpma-body-games{
  overscroll-behavior: none;
}

.tpma-games-dock{
  position: fixed;
  left: 50%;
  bottom: calc(14px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  z-index: 9700;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 999px;
  background: rgba(10,12,18,0.72);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 22px 70px rgba(0,0,0,0.56);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  max-width: min(96vw, 1120px);
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.tpma-games-dock::-webkit-scrollbar{
  display: none;
}

.tpma-games-btn{
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 16px;
  padding: 8px 10px;
  min-width: 54px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
  flex: 0 0 auto;
}

.tpma-games-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.09);
  border-color: rgba(255,255,255,0.24);
}

.tpma-games-btn.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-games-ico{
  width: 20px;
  height: 20px;
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.88);
}

.tpma-games-btn.is-active .tpma-games-ico{
  color: var(--tpma-accent);
}

.tpma-games-ico svg{
  width: 20px;
  height: 20px;
  display: block;
}

.tpma-games-label{
  font-size: 11px;
  line-height: 1;
  color: var(--tpma-text-md);
}

@media (max-width: 520px){
  .tpma-games-label{
    display: none;
  }
  .tpma-games-btn{
    min-width: 48px;
    padding: 9px 10px;
  }
}

.tpma-main-games{
  grid-template-columns: 1fr;
}

.tpma-card-games-hub,
.tpma-card-game{
  grid-column: 1 / -1;
}

.tpma-mini-ad{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(260px, 1.05fr);
  gap: 14px;
  align-items: center;
  margin-top: 14px;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.12);
  background:
    radial-gradient(circle at top left, color-mix(in oklab, var(--tpma-accent) 18%, transparent), transparent 44%),
    rgba(255,255,255,0.045);
  color: var(--tpma-text-hi);
}

.tpma-mini-ad-copy{
  min-width: 0;
  display: grid;
  gap: 6px;
}

.tpma-mini-ad-copy span{
  color: color-mix(in oklab, var(--tpma-accent) 62%, white);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tpma-mini-ad-copy strong{
  font-size: 1rem;
  line-height: 1.25;
}

.tpma-mini-ad-copy p{
  margin: 0;
  color: var(--tpma-text-md);
  line-height: 1.45;
}

.tpma-mini-ad-unit{
  min-height: 90px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(0,0,0,0.16);
  border: 1px solid rgba(255,255,255,0.08);
}

.tpma-mini-ad-ins{
  min-height: 90px;
}

@media (max-width: 720px){
  .tpma-mini-ad{
    grid-template-columns: 1fr;
  }
}

.tpma-shell-game.is-focus .tpma-topbar,
.tpma-shell-game.is-focus .tpma-hero,
.tpma-shell-game.is-focus .tpma-footer{
  display: none;
}

.tpma-shell-game.is-focus{
  min-height: 100vh;
  min-height: 100dvh;
  min-height: calc(var(--tpma-vh, 1vh) * 100);
  height: 100vh;
  height: 100dvh;
  height: calc(var(--tpma-vh, 1vh) * 100);
  overflow: hidden;
  gap: 10px;
  padding-top: calc(12px + env(safe-area-inset-top));
  padding-left: calc(16px + env(safe-area-inset-left));
  padding-right: calc(16px + env(safe-area-inset-right));
}

.tpma-shell-game.is-focus .tpma-main-games{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
  width: min(1120px, 100%);
  margin: 0 auto;
}

.tpma-shell-game.is-focus .tpma-mini-ad{
  display: none;
}

.tpma-shell-game.is-focus .tpma-card-game{
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  background: rgba(10,12,18,0.92);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.tpma-shell-game.is-focus .tpma-game-stage{
  flex: 1;
  min-height: 0;
}

.tpma-shell-game.is-focus .tpma-game-surface{
  height: 100%;
  min-height: 0;
}

.tpma-shell-game.is-focus .tpma-game-social{
  flex: 0 0 auto;
  max-height: min(360px, 38vh);
  max-height: min(360px, 38dvh);
  max-height: min(360px, calc(var(--tpma-vh, 1vh) * 38));
  overflow: auto;
}

.tpma-shell-game.is-focus .tpma-game-bar{
  position: relative;
  z-index: 2;
}

.tpma-shell-game.is-focus .tpma-game-stage{
  position: relative;
  z-index: 1;
}

/* Focus mode: on wider screens, keep the board tall by docking Arena to the side. */
@media (min-width: 920px){
  .tpma-shell-game.is-focus .tpma-card-game{
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    grid-template-rows: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "bar bar"
      "stage social"
      "footer social";
  }

  .tpma-shell-game.is-focus .tpma-game-bar{
    grid-area: bar;
  }

  .tpma-shell-game.is-focus .tpma-game-stage{
    grid-area: stage;
    min-height: 0;
  }

  .tpma-shell-game.is-focus .tpma-game-footer{
    grid-area: footer;
  }

  .tpma-shell-game.is-focus .tpma-game-social{
    grid-area: social;
    max-height: none;
    overflow: auto;
    border-top: 0;
    border-left: 1px solid rgba(255,255,255,0.12);
  }
}

.tpma-shell-game.is-focus .tpma-game-panel{
  min-height: 0;
}

@media (max-width: 520px){
  .tpma-shell-game.is-focus{
    padding-top: 10px;
    gap: 8px;
  }

  .tpma-shell-game.is-focus .tpma-game-bar{
    padding: 8px 10px;
    gap: 8px;
  }

  .tpma-shell-game.is-focus .tpma-game-bar-left{
    flex-wrap: nowrap;
    min-width: 0;
    gap: 8px;
  }

  .tpma-shell-game.is-focus .tpma-game-score,
  .tpma-shell-game.is-focus .tpma-game-best{
    padding: 5px 8px;
  }

  .tpma-shell-game.is-focus .tpma-game-score-label,
  .tpma-shell-game.is-focus .tpma-game-status{
    display: none;
  }

  .tpma-shell-game.is-focus .tpma-game-bar-right{
    gap: 6px;
    flex-wrap: nowrap;
  }

  .tpma-shell-game.is-focus .tpma-game-bar-right{
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .tpma-shell-game.is-focus .tpma-game-bar-right::-webkit-scrollbar{
    display: none;
  }

  .tpma-shell-game.is-focus .tpma-game-bar-right .tpma-btn{
    flex: 0 0 auto;
  }

  .tpma-shell-game.is-focus .tpma-game-footer{
    padding: 10px 12px 12px;
    gap: 8px;
  }

  .tpma-shell-game.is-focus .tpma-game-controls{
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .tpma-shell-game.is-focus .tpma-game-controls::-webkit-scrollbar{
    display: none;
  }

  .tpma-shell-game.is-focus .tpma-game-controls .tpma-btn,
  .tpma-shell-game.is-focus .tpma-game-controls .tpma-chip{
    flex: 0 0 auto;
  }

  .tpma-shell-game.is-focus .tpma-game-hint{
    display: none;
  }

  .tpma-shell-game.is-focus .tpma-game-social{
    max-height: min(220px, 26vh);
    max-height: min(220px, 26dvh);
    max-height: min(220px, calc(var(--tpma-vh, 1vh) * 26));
  }

  .tpma-shell-game.is-focus .tpma-game-social.is-collapsed{
    padding: 10px 12px;
    gap: 10px;
  }
}

.tpma-games-hub{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tpma-games-identity{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background:
    radial-gradient(1000px 280px at 0% 0%, color-mix(in oklab, var(--tpma-accent) 22%, transparent), transparent 62%),
    rgba(0,0,0,0.20);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.tpma-games-identity-meta{
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1 1 auto;
}

.tpma-games-identity-name{
  font-weight: 900;
  letter-spacing: 0.2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-games-identity-sub{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-games-identity-actions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.tpma-game-avatar-btn-hub{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.16), rgba(0,0,0,0.20));
  border-color: rgba(255,255,255,0.18);
}

.tpma-games-search{
  display: flex;
  align-items: center;
  gap: 10px;
}

.tpma-games-q{
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  color: var(--tpma-text-hi);
  font-size: 16px;
}

.tpma-games-q::placeholder{
  color: rgba(255,255,255,0.55);
}

.tpma-games-q:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.25));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 22%, transparent);
}

.tpma-games-tags{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-games-featured{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
}

.tpma-games-featured-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.tpma-games-featured-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-games-featured-sub{
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-games-grid.tpma-games-grid-featured{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 960px){
  .tpma-games-grid.tpma-games-grid-featured{
    grid-template-columns: 1fr;
  }
}

.tpma-gamecard.is-featured{
  padding: 16px;
  border-radius: 20px;
}

.tpma-gamecard.is-featured .tpma-gamecard-ico{
  width: 46px;
  height: 46px;
  font-size: 34px;
}

.tpma-gamecard.is-featured .tpma-gamecard-title{
  font-size: 18px;
}

.tpma-games-tag-btn{
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-games-tag-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.26);
}

.tpma-games-tag-btn.is-active{
  background: color-mix(in oklab, var(--tpma-accent) 16%, rgba(255,255,255,0.08));
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.22));
  color: var(--tpma-text-hi);
}

.tpma-games-row{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-games-row-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.tpma-games-row-title{
  font-weight: 800;
  letter-spacing: 0.2px;
}

.tpma-games-row-sub{
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-games-row-items{
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
}

.tpma-games-row-items::-webkit-scrollbar{
  display: none;
}

.tpma-games-row-empty{
  color: var(--tpma-text-lo);
  font-size: 13px;
}

.tpma-gamepill{
  --tpma-pill-accent: var(--tpma-accent);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  text-decoration: none;
  color: var(--tpma-text-hi);
  border: 1px solid color-mix(in oklab, var(--tpma-pill-accent) 22%, rgba(255,255,255,0.14));
  background:
    radial-gradient(circle at 18% 0%, color-mix(in oklab, var(--tpma-pill-accent) 22%, transparent) 0%, transparent 62%),
    rgba(255,255,255,0.06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  flex: 0 0 auto;
  scroll-snap-align: start;
}

.tpma-gamepill:hover{
  background:
    radial-gradient(circle at 18% 0%, color-mix(in oklab, var(--tpma-pill-accent) 28%, transparent) 0%, transparent 62%),
    rgba(255,255,255,0.09);
  border-color: color-mix(in oklab, var(--tpma-pill-accent) 34%, rgba(255,255,255,0.26));
}

.tpma-gamepill-ico{
  width: 18px;
  height: 18px;
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.86);
}

.tpma-gamepill-ico svg{
  width: 18px;
  height: 18px;
  display: block;
}

.tpma-gamepill-label{
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.tpma-gamepill-badge{
  margin-left: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--tpma-pill-accent) 32%, rgba(255,255,255,0.18));
  background: color-mix(in oklab, var(--tpma-pill-accent) 16%, rgba(0,0,0,0.20));
  color: var(--tpma-text-hi);
  font-size: 11px;
  font-weight: 900;
}

.tpma-games-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 960px){
  .tpma-games-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px){
  .tpma-games-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-gamecard{
  --tpma-card-accent: var(--tpma-accent);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid color-mix(in oklab, var(--tpma-card-accent) 18%, rgba(255,255,255,0.14));
  background:
    radial-gradient(circle at 18% 0%, color-mix(in oklab, var(--tpma-card-accent) 34%, transparent) 0%, transparent 64%),
    rgba(0,0,0,0.22);
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  text-decoration: none;
  color: var(--tpma-text-hi);
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

.tpma-gamecard:hover{
  transform: translateY(-2px);
  background:
    radial-gradient(circle at 18% 0%, color-mix(in oklab, var(--tpma-card-accent) 44%, transparent) 0%, transparent 66%),
    rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-card-accent) 34%, rgba(255,255,255,0.26));
}

.tpma-gamecard-link{
  position: absolute;
  inset: 0;
  border-radius: inherit;
  z-index: 1;
}

.tpma-gamecard-link:focus-visible{
  outline: 3px solid color-mix(in oklab, var(--tpma-card-accent) 38%, transparent);
  outline-offset: 2px;
}

.tpma-gamecard-body{
  position: relative;
  z-index: 0;
}

.tpma-gamecard-fav{
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.32);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--tpma-text-hi);
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(0,0,0,0.24);
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

.tpma-gamecard-fav:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.26);
  background: rgba(0,0,0,0.38);
}

.tpma-gamecard-fav.is-on{
  border-color: color-mix(in oklab, var(--tpma-card-accent) 46%, rgba(255,255,255,0.18));
  background: color-mix(in oklab, var(--tpma-card-accent) 20%, rgba(0,0,0,0.26));
  color: color-mix(in oklab, var(--tpma-card-accent) 70%, white);
}

.tpma-gamecard-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-gamecard-ico{
  width: 36px;
  height: 36px;
  font-size: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--tpma-card-accent, var(--tpma-accent));
  filter: drop-shadow(0 12px 26px rgba(0,0,0,0.4));
}

.tpma-gamecard-ico svg{
  width: 34px;
  height: 34px;
  display: block;
}

.tpma-gamecard-tags{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-games-hub .tpma-chip,
.tpma-game-controls .tpma-chip,
.tpma-gamecard-tags .tpma-chip{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--tpma-text-md);
  font-size: 12px;
  font-weight: 700;
}

.tpma-chip-muted{
  color: var(--tpma-text-lo);
}

.tpma-chip-series{
  border-color: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 36%, rgba(255,255,255,0.12));
  background: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 14%, rgba(255,255,255,0.06));
  color: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 78%, white);
}

.tpma-gamecard-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-gamecard-desc{
  color: var(--tpma-text-md);
  line-height: 1.5;
}

.tpma-gamecard-meta{
  margin-top: auto;
  color: var(--tpma-text-lo);
  font-size: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-gamecard-meta-me{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tpma-gamecard-podium{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tpma-gamecard-podium-empty{
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-gamecard-podium-list{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tpma-podium-item{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  font-size: 12px;
  font-weight: 800;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-podium-score{
  color: var(--tpma-text-hi);
  font-weight: 900;
}

.tpma-gamecard-go{
  font-weight: 800;
  color: color-mix(in oklab, var(--tpma-card-accent) 62%, white);
}

.tpma-games-extra-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  margin: 16px 0 10px;
}

.tpma-card-game{
  padding: 0;
  background: rgba(10,12,18,0.78);
  border-color: rgba(255,255,255,0.16);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.tpma-card-game::before,
.tpma-card-game::after{
  display: none;
}

.tpma-game-bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.12);
}

.tpma-game-bar-left{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-game-score,
.tpma-game-best{
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
}

.tpma-game-score-label{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 800;
}

.tpma-game-score-value{
  font-weight: 900;
}

.tpma-game-status{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 700;
}

.tpma-game-bar-right{
  display: flex;
  align-items: center;
  gap: 8px;
}

.tpma-btn-audio{
  min-width: 40px;
}

.tpma-btn-audio[aria-pressed="true"]{
  border-color: color-mix(in oklab, var(--tpma-accent) 56%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 18%, rgba(255,255,255,0.04));
  color: var(--tpma-text-hi);
}

.tpma-btn-audio[aria-pressed="false"]{
  opacity: 0.78;
}

.tpma-btn-perf{
  min-width: 40px;
}

.tpma-btn-perf[aria-pressed="true"]{
  border-color: color-mix(in oklab, var(--tpma-accent) 56%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 18%, rgba(255,255,255,0.04));
  color: var(--tpma-text-hi);
}

.tpma-btn-perf[aria-pressed="false"]{
  opacity: 0.78;
}

.tpma-game-stage{
  position: relative;
  outline: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: none;
  overscroll-behavior: contain;
}

.tpma-game-stage:focus{
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 22%, transparent);
}

.tpma-game-surface{
  position: relative;
  width: 100%;
  height: clamp(360px, 60vh, 720px);
  height: clamp(360px, 60dvh, 720px);
  height: clamp(360px, calc(var(--tpma-vh, 1vh) * 60), 720px);
  background: rgba(0,0,0,0.62);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
  touch-action: none;
  overscroll-behavior: contain;
}

.tpma-game-canvas{
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.72);
  touch-action: none;
}

.tpma-game-dom{
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0,0,0,0.72);
  touch-action: none;
}

.tpma-ttt{
  width: min(420px, 100%);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-ttt-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-ttt-modes{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tpma-ttt-title{
  text-align: center;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: 0.2px;
}

.tpma-ttt-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.tpma-ttt-cell{
  aspect-ratio: 1;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  font-size: clamp(34px, 8vw, 56px);
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}

.tpma-ttt-cell:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.22);
}

.tpma-ttt-cell:active{
  transform: translateY(1px);
}

.tpma-ttt-cell.is-win{
  border-color: color-mix(in oklab, var(--tpma-accent) 56%, rgba(255,255,255,0.20));
  background: color-mix(in oklab, var(--tpma-accent) 18%, rgba(255,255,255,0.06));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-ttt-cell:disabled{
  cursor: default;
  opacity: 0.78;
  transform: none;
}

.tpma-ttt-meta{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-gf{
  width: min(820px, 100%);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-gf-top{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.tpma-gf-stat{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  padding: 10px 12px;
}

.tpma-gf-stat-title{
  font-size: 11px;
  font-weight: 900;
  color: var(--tpma-text-lo);
  letter-spacing: 0.24px;
}

.tpma-gf-stat-val{
  margin-top: 6px;
  font-weight: 900;
  color: var(--tpma-text-hi);
}

.tpma-gf-log{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.20);
  padding: 10px 12px;
  min-height: 60px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tpma-gf-logline{
  font-size: 12px;
  line-height: 1.35;
  color: rgba(255,255,255,0.86);
}

.tpma-gf-hand{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  padding: 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-gf-hand-title{
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.2px;
}

.tpma-gf-ranks{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-gf-rank{
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  font-weight: 950;
  cursor: pointer;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

.tpma-gf-rank:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.22);
}

.tpma-gf-rank:active{
  transform: translateY(1px);
}

.tpma-gf-rank:disabled{
  cursor: default;
  opacity: 0.6;
  transform: none;
}

.tpma-gf-rank-count{
  font-size: 11px;
  font-weight: 900;
  color: var(--tpma-text-lo);
}

.tpma-gf-empty{
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px dashed rgba(255,255,255,0.18);
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-gf-actions{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 520px){
  .tpma-game-bar{
    padding: 10px 10px;
  }

  .tpma-game-surface{
    height: clamp(320px, 70vh, 720px);
    height: clamp(320px, 70dvh, 720px);
    height: clamp(320px, calc(var(--tpma-vh, 1vh) * 70), 720px);
  }

  .tpma-game-dom{
    padding: 12px;
  }

  .tpma-ttt-cell{
    border-radius: 16px;
  }

  .tpma-gf-top{
    grid-template-columns: 1fr;
  }

  .tpma-gf-stat,
  .tpma-gf-log,
  .tpma-gf-hand{
    border-radius: 16px;
  }

  .tpma-gf-ranks{
    gap: 6px;
  }

  .tpma-gf-rank{
    padding: 7px 9px;
  }
}

.tpma-game-reactions{
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
  pointer-events: none;
  z-index: 2;
}

.tpma-rotate-hint{
  position: absolute;
  left: 12px;
  right: 12px;
  top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.56);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 4;
  pointer-events: auto;
}

.tpma-rotate-hint-msg{
  font-size: 12px;
  font-weight: 900;
  color: var(--tpma-text-hi);
}

.tpma-rotate-hint-close{
  min-width: 42px;
}

body.tpma-perf .tpma-rotate-hint{
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.tpma-touch-controls{
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: calc(110px + env(safe-area-inset-bottom));
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  pointer-events: none;
  z-index: 3;
}

.tpma-touch-controls-toggle{
  position: absolute;
  right: 14px;
  bottom: calc(110px + env(safe-area-inset-bottom));
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.36);
  color: var(--tpma-text-hi);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 14px 50px rgba(0,0,0,0.42);
}

.tpma-touch-controls-toggle:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
}

.tpma-shell-game:not(.is-focus) .tpma-touch-controls,
.tpma-shell-game:not(.is-focus) .tpma-touch-controls-toggle{
  display: none;
}

.tpma-touch-pad{
  pointer-events: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.tpma-touch-pad-row{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  pointer-events: none;
}

.tpma-touch-pad-spacer{
  width: 46px;
  height: 46px;
  pointer-events: none;
}

.tpma-touch-btn{
  pointer-events: auto;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

.tpma-touch-btn:active{
  transform: translateY(1px);
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.26);
}

.tpma-touch-action{
  pointer-events: none;
  display: flex;
  align-items: flex-end;
}

.tpma-touch-btn-action{
  width: 78px;
  height: 78px;
  border-radius: 24px;
  font-size: 28px;
  background: color-mix(in oklab, var(--tpma-accent) 18%, rgba(0,0,0,0.26));
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.18));
}

.tpma-touch-close{
  position: absolute;
  top: -10px;
  right: 0;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.36);
  color: rgba(255,255,255,0.92);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.tpma-touch-close:hover{
  background: rgba(255,255,255,0.08);
}

@media (max-width: 520px){
  .tpma-touch-controls{
    bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .tpma-touch-controls-toggle{
    bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .tpma-touch-btn{
    width: 44px;
    height: 44px;
    border-radius: 15px;
  }

  .tpma-touch-pad-spacer{
    width: 44px;
    height: 44px;
  }

  .tpma-touch-btn-action{
    width: 72px;
    height: 72px;
    border-radius: 22px;
  }
}

.tpma-game-reaction{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.36);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--tpma-text-hi);
  font-weight: 800;
  transform: translateY(6px);
  opacity: 0;
  animation: tpmaReactionIn 140ms ease forwards;
  max-width: min(260px, 80vw);
  box-shadow: 0 14px 34px rgba(0,0,0,0.32);
}

.tpma-game-reaction-from{
  font-size: 14px;
  line-height: 1;
}

.tpma-game-reaction-e{
  font-size: 16px;
  line-height: 1;
}

.tpma-game-reaction.is-out{
  animation: tpmaReactionOut 360ms ease forwards;
}

@keyframes tpmaReactionIn{
  to{
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes tpmaReactionOut{
  to{
    transform: translateY(-10px);
    opacity: 0;
  }
}

.tpma-game-overlay{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.16), rgba(0,0,0,0.72));
  touch-action: none;
}

.tpma-game-overlay-card{
  width: min(520px, 100%);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(10,12,18,0.72);
  box-shadow: 0 22px 70px rgba(0,0,0,0.56);
  padding: 16px 16px;
  text-align: center;
}

.tpma-game-overlay-title{
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-game-overlay-sub{
  margin-top: 8px;
  color: var(--tpma-text-md);
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tpma-game-overlay-actions{
  margin-top: 12px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-trek3d-overlay{
  text-align: left;
}

.tpma-trek3d-overlay .tpma-game-overlay-title{
  text-align: center;
}

.tpma-trek3d-overlay .tpma-game-overlay-sub{
  text-align: center;
}

.tpma-trek3d-overlay-grid{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-trek3d-overlay-item{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.20);
  padding: 10px 10px;
}

.tpma-trek3d-overlay-k{
  color: rgba(255,255,255,0.72);
  font-size: 11px;
  font-weight: 800;
}

.tpma-trek3d-overlay-v{
  margin-top: 6px;
  font-weight: 950;
  letter-spacing: 0.2px;
}

.tpma-trek3d-shop-grid{
  grid-template-columns: 1fr;
}

.tpma-trek3d-shop-row{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  padding: 10px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tpma-trek3d-shop-item{
  font-weight: 800;
  color: rgba(255,255,255,0.88);
}

.tpma-trek3d-shop-meta{
  margin-top: 10px;
  text-align: center;
  color: rgba(255,255,255,0.76);
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 520px){
  .tpma-trek3d-overlay-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-trek3d-hud{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

.tpma-trek3d-top{
  position: absolute;
  top: max(10px, env(safe-area-inset-top));
  left: max(10px, env(safe-area-inset-left));
  right: max(10px, env(safe-area-inset-right));
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.tpma-trek3d-panel{
  pointer-events: auto;
  touch-action: none;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(10,12,18,0.46);
  box-shadow: 0 22px 70px rgba(0,0,0,0.42), inset 0 0 0 1px rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: 12px 14px;
  max-width: min(420px, 62vw);
}

.tpma-trek3d-panel-left.is-collapsed .tpma-trek3d-title{
  display: none;
}

.tpma-trek3d-panel-left.is-collapsed .tpma-trek3d-stat:not([data-tpma-trek3d-stat="hp"]){
  display: none;
}

.tpma-trek3d-panel-left.is-collapsed .tpma-trek3d-obj{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-trek3d-title{
  font-weight: 950;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.tpma-trek3d-sub{
  margin-top: 2px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(255,255,255,0.78);
}

.tpma-trek3d-stats{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tpma-trek3d-stat{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.20);
  color: rgba(255,255,255,0.90);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-trek3d-obj{
  margin-top: 8px;
  font-size: 12px;
  color: rgba(255,255,255,0.86);
}

.tpma-trek3d-actions{
  display: flex;
  gap: 8px;
  pointer-events: auto;
  touch-action: none;
}

.tpma-trek3d-btn{
  pointer-events: auto;
  touch-action: none;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(10,12,18,0.38);
  box-shadow: 0 18px 55px rgba(0,0,0,0.38), inset 0 0 0 1px rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: rgba(255,255,255,0.92);
  height: 38px;
  min-width: 38px;
  padding: 0 12px;
  font-weight: 900;
  cursor: pointer;
}

.tpma-trek3d-btn[aria-pressed="true"]{
  border-color: rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.32);
  background: rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.18);
}

.tpma-trek3d-btn:active{
  transform: translateY(1px);
}

.tpma-trek3d-btn-big{
  height: 52px;
  min-width: 52px;
  font-size: 16px;
}

.tpma-trek3d-bottom{
  position: absolute;
  left: max(10px, env(safe-area-inset-left));
  right: max(10px, env(safe-area-inset-right));
  bottom: max(10px, env(safe-area-inset-bottom));
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.tpma-trek3d-right{
  display: flex;
  gap: 10px;
  pointer-events: auto;
  align-items: flex-end;
}

.tpma-trek3d-buttons{
  display: flex;
  gap: 10px;
}

.tpma-trek3d-look{
  width: 108px;
  height: 108px;
  position: relative;
  pointer-events: auto;
  touch-action: none;
  display: none;
}

.tpma-trek3d-look-base{
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(10,12,18,0.28);
  box-shadow: 0 22px 70px rgba(0,0,0,0.32), inset 0 0 0 1px rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.tpma-trek3d-look-stick{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 44px;
  height: 44px;
  margin-left: -22px;
  margin-top: -22px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.10);
  box-shadow: 0 18px 55px rgba(0,0,0,0.26);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transform: translate(0,0);
  transition: transform 60ms ease-out;
}

@media (hover: none) and (pointer: coarse){
  .tpma-trek3d-look{
    display: block;
    order: 2;
  }
  .tpma-trek3d-buttons{
    order: 1;
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(2, auto);
    gap: 10px;
    justify-content: end;
  }
  .tpma-trek3d-btn-act{
    grid-column: 1;
    grid-row: 2;
  }
  .tpma-trek3d-btn-atk{
    grid-column: 2;
    grid-row: 2;
  }
  .tpma-trek3d-btn-block{
    grid-column: 2;
    grid-row: 1;
  }
  .tpma-trek3d-right{
    flex-direction: column;
    align-items: flex-end;
  }
}

.tpma-trek3d-joy{
  width: 124px;
  height: 124px;
  position: relative;
  pointer-events: auto;
  touch-action: none;
}

.tpma-trek3d-joy-base{
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(10,12,18,0.32);
  box-shadow: 0 22px 70px rgba(0,0,0,0.36), inset 0 0 0 1px rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.10);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.tpma-trek3d-joy-stick{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 52px;
  height: 52px;
  margin-left: -26px;
  margin-top: -26px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.10);
  box-shadow: 0 18px 55px rgba(0,0,0,0.32);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transform: translate(0,0);
  transition: transform 60ms ease-out;
}

@media (max-width: 520px){
  .tpma-trek3d-panel{
    max-width: calc(100vw - 20px - 52px);
    padding: 10px 12px;
  }

  .tpma-trek3d-panel-left.is-collapsed{
    padding: 10px 12px;
  }

  .tpma-trek3d-top{
    top: max(8px, env(safe-area-inset-top));
    left: max(8px, env(safe-area-inset-left));
    right: max(8px, env(safe-area-inset-right));
    gap: 8px;
  }

  .tpma-trek3d-actions{
    flex-direction: column;
    gap: 8px;
  }

  .tpma-trek3d-bottom{
    left: max(8px, env(safe-area-inset-left));
    right: max(8px, env(safe-area-inset-right));
    bottom: max(8px, env(safe-area-inset-bottom));
  }

  .tpma-trek3d-joy{
    width: 128px;
    height: 128px;
  }

  .tpma-trek3d-look{
    width: 112px;
    height: 112px;
  }

  .tpma-trek3d-btn-big{
    height: 56px;
    min-width: 56px;
    font-size: 17px;
  }
}

.tpma-trek3d-dialog{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 12px;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  background: radial-gradient(circle at 30% 10%, rgba(255,255,255,0.10), rgba(0,0,0,0.62));
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: auto;
  z-index: 4;
}

.tpma-trek3d-dialog[hidden]{
  display: none !important;
}

.tpma-trek3d-dialog-card{
  width: min(620px, 100%);
  max-height: min(72vh, 620px);
  max-height: min(72dvh, 620px);
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(10,12,18,0.70);
  box-shadow: 0 22px 70px rgba(0,0,0,0.62), inset 0 0 0 1px rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.10);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.tpma-trek3d-dialog-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-trek3d-dialog-head-actions{
  display: flex;
  align-items: center;
  gap: 8px;
}

.tpma-trek3d-dialog-name{
  font-weight: 950;
  letter-spacing: -0.01em;
}

.tpma-trek3d-dialog-close{
  min-width: 40px;
  height: 40px;
  padding: 0;
  font-size: 18px;
}

.tpma-trek3d-dialog-voice[aria-pressed="true"]{
  border-color: rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.32);
  background: rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.20);
}

.tpma-trek3d-dialog-feed{
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-trek3d-msg{
  max-width: 88%;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
  line-height: 1.35;
  white-space: pre-wrap;
}

.tpma-trek3d-msg-you{
  align-self: flex-end;
  background: rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.18);
  border-color: rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.28);
}

.tpma-trek3d-msg-npc{
  align-self: flex-start;
}

.tpma-trek3d-dialog-chips{
  padding: 0 12px 12px;
  display: flex;
  gap: 8px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.tpma-trek3d-chip{
  pointer-events: auto;
  flex: 0 0 auto;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.94);
  padding: 8px 12px;
  font-weight: 900;
  cursor: pointer;
}

.tpma-trek3d-chip:active{
  transform: translateY(1px);
}

.tpma-trek3d-dialog-form{
  display: flex;
  gap: 8px;
  padding: 12px;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  border-top: 1px solid rgba(255,255,255,0.10);
}

.tpma-trek3d-dialog-input{
  flex: 1;
  min-width: 0;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
  padding: 10px 12px;
  outline: none;
}

.tpma-trek3d-dialog-input:focus{
  box-shadow: 0 0 0 3px rgba(var(--tpma-trek3d-accent-rgb, 57,213,255), 0.22);
}

.tpma-trek3d-dialog-send{
  height: 42px;
}

.tpma-pool-mode-actions .tpma-btn{
  min-width: 132px;
}

.tpma-pool-online-card{
  width: min(720px, 100%);
}

.tpma-pool-online-actions{
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-pool-online-join{
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
}

.tpma-pool-online-join .tpma-modal-input{
  flex: 1;
  min-width: 160px;
}

.tpma-pool-online-list{
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 8px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  max-height: 280px;
  overflow: auto;
}

.tpma-pool-online-row{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-hi);
  cursor: pointer;
  text-align: left;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-pool-online-row:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.22);
  background: rgba(0,0,0,0.26);
}

.tpma-pool-online-row:active{
  transform: translateY(0);
}

.tpma-pool-online-code{
  font-weight: 900;
  letter-spacing: 0.4px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(201,171,3,0.24);
  background: rgba(201,171,3,0.12);
  color: color-mix(in oklab, var(--tpma-text-hi) 80%, var(--tpma-accent));
  font-size: 13px;
  flex: 0 0 auto;
}

.tpma-pool-online-host{
  flex: 1;
  min-width: 0;
  color: var(--tpma-text-md);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-pool-online-cta{
  font-weight: 900;
  color: var(--tpma-text-hi);
  opacity: 0.8;
  flex: 0 0 auto;
}

@media (max-width: 520px){
  .tpma-pool-online-join{
    flex-direction: column;
    align-items: stretch;
  }
  .tpma-pool-mode-actions .tpma-btn{
    min-width: 0;
    width: 100%;
  }
}

.tpma-game-footer{
  padding: 12px 14px 14px;
  border-top: 1px solid rgba(255,255,255,0.12);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-game-hint{
  color: var(--tpma-text-lo);
  font-size: 13px;
}

.tpma-game-controls{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-game-social{
  padding: 14px;
  border-top: 1px solid rgba(255,255,255,0.12);
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: rgba(0,0,0,0.10);
}

.tpma-game-social-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-game-social-title{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-game-social-meta{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 800;
}

.tpma-game-online{
  font-weight: 900;
  color: color-mix(in oklab, var(--tpma-accent) 72%, white);
}

.tpma-game-avatar-btn{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.20);
  color: var(--tpma-text-hi);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease;
}

.tpma-game-avatar-btn:hover{
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

.tpma-game-social-actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.tpma-game-arena-btn{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.20);
  color: var(--tpma-text-hi);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease;
}

.tpma-game-arena-btn:hover{
  border-color: rgba(255,255,255,0.28);
  transform: translateY(-1px);
}

.tpma-game-social.is-collapsed .tpma-game-social-grid{
  display: none;
}

.tpma-game-social-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 820px){
  .tpma-game-social-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-shell-game.is-focus .tpma-game-social.is-collapsed{
  max-height: none;
  overflow: hidden;
}

.tpma-shell-game.is-focus .tpma-game-social.is-collapsed .tpma-game-social-head{
  flex-wrap: nowrap;
}

.tpma-shell-game.is-focus .tpma-game-social.is-collapsed .tpma-game-social-title{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-game-panel{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.16);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 180px;
}

.tpma-game-panel-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-game-panel-actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.tpma-game-panel-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-gamelb{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tpma-gamelb-row{
  display: grid;
  grid-template-columns: 30px 34px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}

.tpma-gamelb-row.is-me{
  border-color: color-mix(in oklab, var(--tpma-accent) 40%, rgba(255,255,255,0.20));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(255,255,255,0.06));
}

.tpma-gamelb-rank{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 900;
}

.tpma-gamelb-avatar{
  font-size: 18px;
  line-height: 1;
}

.tpma-gamelb-name{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
  color: var(--tpma-text-md);
}

.tpma-gamelb-score{
  text-align: right;
  font-weight: 900;
}

.tpma-game-presence{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-pres-dot{
  width: 26px;
  height: 26px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
}

.tpma-pres-empty{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 700;
}

.tpma-game-emoji-feed{
  flex: 1;
  max-height: 220px;
  overflow: auto;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.18);
  padding: 10px 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-emoji-row{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  width: fit-content;
}

.tpma-emoji-from{
  width: 24px;
  height: 24px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
}

.tpma-emoji-e{
  font-size: 18px;
  line-height: 1;
}

.tpma-game-emoji-picker{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-emoji-btn{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-hi);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease;
}

.tpma-emoji-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

.tpma-emoji-btn:active{
  transform: translateY(0);
}

.tpma-2048{
  width: min(520px, 100%);
}

.tpma-2048-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
}

.tpma-2048-cell{
  height: clamp(54px, 11vw, 86px);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(18px, 3.6vw, 28px);
  font-weight: 900;
  letter-spacing: 0.2px;
  text-shadow: 0 10px 20px rgba(0,0,0,0.35);
}

.tpma-mm{
  width: min(620px, 100%);
}

.tpma-mm-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.tpma-mm-card{
  position: relative;
  height: clamp(64px, 14vw, 110px);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-hi);
  cursor: pointer;
  perspective: 600px;
  overflow: hidden;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-mm-card:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,0.28);
  border-color: rgba(255,255,255,0.24);
}

.tpma-mm-face{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(20px, 4.2vw, 36px);
  font-weight: 900;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  transition: transform 180ms ease;
}

.tpma-mm-front{
  transform: rotateY(0deg);
  color: rgba(255,255,255,0.82);
}

.tpma-mm-back{
  transform: rotateY(180deg);
}

.tpma-mm-card.is-open .tpma-mm-front{
  transform: rotateY(180deg);
}

.tpma-mm-card.is-open .tpma-mm-back{
  transform: rotateY(0deg);
}

.tpma-mm-card.is-matched{
  border-color: color-mix(in oklab, var(--tpma-accent) 48%, rgba(255,255,255,0.18));
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--tpma-accent) 18%, transparent) inset;
}

.tpma-mole{
  width: min(520px, 100%);
  margin: 0 auto;
}

.tpma-mole-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tpma-mole-hole{
  height: clamp(86px, 22vw, 140px);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.22);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-mole-hole:hover{
  transform: translateY(-1px);
  background: rgba(0,0,0,0.28);
  border-color: rgba(255,255,255,0.24);
}

.tpma-mole-hole.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 48%, rgba(255,255,255,0.18));
  background: rgba(255,255,255,0.06);
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--tpma-accent) 18%, transparent) inset;
}

.tpma-mole-emoji{
  font-size: clamp(26px, 6vw, 44px);
  line-height: 1;
}

.tpma-flood{
  width: min(760px, 100%);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-flood-grid{
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 6px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
}

.tpma-flood-cell{
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08) inset;
}

.tpma-flood-cell.is-in{
  box-shadow: 0 0 0 2px rgba(255,255,255,0.26) inset;
}

.tpma-flood-palette{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-flood-swatch{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,0.18);
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease;
}

.tpma-flood-swatch:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.32);
}

.tpma-flood-swatch.is-active{
  border-color: rgba(255,255,255,0.7);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-cs,
.tpma-mq,
.tpma-geo,
.tpma-ml,
.tpma-bdj,
.tpma-fgn{
  width: min(860px, 100%);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-cs-top,
.tpma-mq-top,
.tpma-geo-top,
.tpma-ml-top,
.tpma-bdj-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.tpma-cs-title,
.tpma-ml-title,
.tpma-bdj-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 16px;
}

.tpma-cs-actions,
.tpma-ml-actions,
.tpma-bdj-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-cs-canvas{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  padding: 12px;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tpma-cs-svg{
  width: 100%;
  height: 100%;
  display: block;
}

.tpma-cs-svg [data-cs-region]{
  cursor: pointer;
  transition: transform 120ms ease, filter 120ms ease;
  transform-origin: center;
}

.tpma-cs-svg [data-cs-region]:hover{
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.25));
  transform: translateY(-1px);
}

.tpma-cs-palette{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-cs-swatch{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,0.18);
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease;
}

.tpma-cs-swatch:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.32);
}

.tpma-cs-swatch.is-active{
  border-color: rgba(255,255,255,0.76);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 16%, transparent);
}

.tpma-mq,
.tpma-geo{
  width: min(560px, 100%);
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
}

.tpma-mq-badge,
.tpma-geo-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-mq-levels{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-mq-level{
  appearance: none;
  font: inherit;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.16);
  color: var(--tpma-text-md);
  border-radius: 999px;
  padding: 6px 10px;
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-mq-level:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.26);
}

.tpma-mq-level.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 76%, #000000 24%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.30));
}

.tpma-mq-q{
  margin-top: 8px;
  padding: 18px 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  text-align: center;
  font-weight: 900;
  letter-spacing: 0.3px;
  font-size: clamp(28px, 6vw, 44px);
}

.tpma-mq-opts,
.tpma-geo-opts{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.tpma-mq-opt,
.tpma-geo-opt{
  appearance: none;
  font: inherit;
  height: clamp(56px, 9vw, 72px);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.16);
  color: var(--tpma-text-hi);
  font-weight: 900;
  font-size: clamp(18px, 4.6vw, 28px);
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  min-width: 0;
}

.tpma-mq-opt:hover,
.tpma-geo-opt:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.26);
  background: rgba(255,255,255,0.08);
}

.tpma-mq-opt:active,
.tpma-geo-opt:active{
  transform: translateY(0);
}

.tpma-mq-foot,
.tpma-geo-foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.tpma-mq-meta,
.tpma-geo-meta{
  font-size: 13px;
  color: var(--tpma-text-lo);
}

.tpma-geo-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-geo-clue{
  margin-top: 10px;
  padding: 12px 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  font-size: 15px;
  line-height: 1.35;
}

.tpma-ml{
  width: min(900px, 100%);
}

.tpma-ml-grid{
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-ml-row{
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.tpma-ml-rowlab{
  font-weight: 900;
  letter-spacing: 0.2px;
  color: var(--tpma-text-md);
}

.tpma-ml-steps{
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
}

.tpma-ml-step{
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
}

.tpma-ml-step:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.26);
}

.tpma-ml-step.is-on{
  background: color-mix(in oklab, var(--tpma-accent) 18%, rgba(255,255,255,0.06));
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.16));
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--tpma-accent) 18%, transparent) inset;
}

.tpma-ml-step.is-head{
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 26%, transparent), 0 0 0 2px rgba(255,255,255,0.14) inset;
}

.tpma-ml-foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  color: var(--tpma-text-lo);
  font-size: 13px;
}

.tpma-ml-bpm{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  color: var(--tpma-text-md);
}

.tpma-ml-bpm input[type="range"]{
  width: 160px;
}

.tpma-bdj{
  width: min(560px, 100%);
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
}

.tpma-bdj-layers{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.tpma-bdj-layer{
  appearance: none;
  font: inherit;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  cursor: pointer;
  padding: 12px 12px;
  font-weight: 900;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-bdj-layer:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.26);
}

.tpma-bdj-layer.is-on{
  background: color-mix(in oklab, var(--tpma-accent) 18%, rgba(255,255,255,0.06));
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.16));
}

.tpma-bdj-timer{
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.16);
}

.tpma-bdj-timer-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  margin-bottom: 8px;
}

.tpma-bdj-timer-opts{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-bdj-timer-btn{
  appearance: none;
  font: inherit;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  cursor: pointer;
  padding: 6px 10px;
  font-weight: 900;
  font-size: 12px;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-bdj-timer-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.26);
}

.tpma-bdj-timer-btn.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 76%, #000000 24%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.30));
}

.tpma-bdj-meta{
  margin-top: 8px;
  color: var(--tpma-text-lo);
  font-size: 13px;
}

.tpma-fgn-top{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-fgn-score{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-fgn-team{
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  grid-template-areas:
    "name btns"
    "val  btns";
  gap: 8px 10px;
}

.tpma-fgn-teamname{
  grid-area: name;
  font-weight: 900;
  letter-spacing: 0.2px;
  color: var(--tpma-text-md);
}

.tpma-fgn-teamval{
  grid-area: val;
  font-weight: 900;
  font-size: 30px;
  line-height: 1;
}

.tpma-fgn-teambtns{
  grid-area: btns;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tpma-fgn-btn{
  appearance: none;
  font: inherit;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  cursor: pointer;
  padding: 6px 10px;
  font-weight: 900;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-fgn-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.26);
}

.tpma-fgn-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-fgn-card{
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.22);
  box-shadow: 0 18px 50px rgba(0,0,0,0.35);
}

.tpma-fgn-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  margin-bottom: 8px;
}

.tpma-fgn-prompt{
  font-size: 16px;
  line-height: 1.35;
  color: var(--tpma-text-hi);
}

.tpma-fgn-mini{
  color: var(--tpma-text-lo);
  font-size: 13px;
}

@media (max-width: 520px){
  .tpma-ml-row{
    grid-template-columns: 1fr;
  }

  .tpma-ml-bpm input[type="range"]{
    width: 140px;
  }

  .tpma-bdj-layers{
    grid-template-columns: 1fr;
  }
}

.tpma-slide{
  width: min(560px, 100%);
  margin: 0 auto;
}

.tpma-slide-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
}

.tpma-slide-tile{
  height: clamp(64px, 14vw, 98px);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.08);
  color: var(--tpma-text-hi);
  font-weight: 900;
  font-size: clamp(16px, 3.6vw, 26px);
  cursor: pointer;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

.tpma-slide-tile:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.26);
}

.tpma-slide-tile.is-blank{
  background: rgba(0,0,0,0.14);
  border-color: rgba(255,255,255,0.08);
  cursor: default;
}

.tpma-hub{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tpma-hub-controls{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-hub-search-row{
  display: flex;
  align-items: center;
  gap: 10px;
}

.tpma-hub-search-row input{
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  color: var(--tpma-text-hi);
  font-size: 16px;
}

.tpma-hub-search-row input::placeholder{
  color: rgba(255,255,255,0.55);
}

.tpma-hub-search-row input:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.25));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 22%, transparent);
}

.tpma-hub-voice,
.tpma-hub-scan{
	  width: 46px;
	  height: 46px;
	  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  cursor: pointer;
  flex: 0 0 auto;
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
	}

.tpma-hub-voice:hover,
.tpma-hub-scan:hover{
	  transform: translateY(-1px);
	  border-color: rgba(255,255,255,0.28);
	}

.tpma-hub-voice[disabled],
.tpma-hub-scan[disabled]{
	  opacity: 0.55;
	  cursor: not-allowed;
	  transform: none;
	}

.tpma-hub-search-hint{
  margin-top: 8px;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

.tpma-hub-guided{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-hub-guided-row{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.tpma-hub-goals{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-hub-goal{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 10px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
  letter-spacing: 0.2px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tpma-hub-goal:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-hub-goal.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 78%, #000000 22%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
}

.tpma-hub-goal-emoji{
  font-size: 16px;
}

.tpma-hub-toolkits{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-hub-toolkit{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  border-radius: 16px;
  padding: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-hub-toolkit:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

.tpma-hub-toolkit-emoji{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex: 0 0 auto;
}

.tpma-hub-toolkit-text{
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.tpma-hub-toolkit-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-hub-toolkit-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 44ch;
}

.tpma-hub-suggest{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-hub-suggest-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.tpma-hub-suggest-title{
  margin: 0;
  font-size: 16px;
  letter-spacing: 0.2px;
}

.tpma-hub-suggest-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
  text-align: right;
}

.tpma-hub-suggest-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}

.tpma-hub-suggest-card{
  grid-column: span 6;
  padding-right: 72px;
}

.tpma-hub-suggest-link{
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: var(--tpma-text-hi);
  width: 100%;
}

.tpma-hub-suggest-empty[hidden]{
  display: none;
}

.tpma-hub-suggest-empty{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.4;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.12);
}

.tpma-hub-filters{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-hub-filter{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
  letter-spacing: 0.2px;
}

.tpma-hub-filter:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-hub-filter.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 78%, #000000 22%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
}

.tpma-hub-meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--tpma-text-lo);
  font-size: 13px;
}

.tpma-hub-count{
  font-weight: 800;
  color: var(--tpma-text-md);
}

.tpma-hub-recents{
  padding: 12px;
}

.tpma-hub-recents[hidden]{
  display: none;
}

.tpma-hub-recents-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  margin-bottom: 10px;
}

.tpma-hub-recents-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tpma-hub-recent{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  text-decoration: none;
  max-width: 100%;
}

.tpma-hub-recent:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-hub-recent-emoji{
  position: relative;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.tpma-hub-recent-img{
  width: 20px;
  height: 20px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,0.30));
  object-fit: contain;
  border-radius: 5px;
}

.tpma-hub-recent-img.is-error{
  display: none;
}

.tpma-hub-recent-fallback{
  font-size: 18px;
  line-height: 1;
}

.tpma-hub-recent-text{
  display: inline-flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.tpma-hub-recent-title{
  font-weight: 900;
  font-size: 13px;
  line-height: 1.1;
}

.tpma-hub-recent-sub{
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 42ch;
}

.tpma-hub-sections{
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.tpma-hub-section-head{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 4px 2px 10px;
}

.tpma-hub-section-title{
  margin: 0;
  font-size: 18px;
  letter-spacing: 0.2px;
}

.tpma-hub-section-sub{
  margin: 0;
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

.tpma-hub-empty[hidden]{
  display: none;
}

.tpma-hub-empty-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  margin-bottom: 6px;
}

.tpma-hub-empty-sub{
  color: var(--tpma-text-lo);
}

.tpma-hub-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}

.tpma-hub-card{
  grid-column: span 6;
  padding-right: 72px;
  content-visibility: auto;
  contain-intrinsic-size: 540px 120px;
}

.tpma-hub-card-link{
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: var(--tpma-text-hi);
  width: 100%;
}

.tpma-hub-card-link:focus{
  outline: none;
}

.tpma-hub-card-link:focus-visible{
  outline: 3px solid color-mix(in oklab, var(--tpma-accent) 36%, rgba(255,255,255,0.35));
  outline-offset: 3px;
  border-radius: 14px;
}

.tpma-hub-card:hover{
  border-color: rgba(255,255,255,0.30);
}

.tpma-hub-emoji{
  position: relative;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.tpma-hub-icon-img{
  width: 28px;
  height: 28px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,0.30));
  object-fit: contain;
  border-radius: 7px;
}

.tpma-hub-icon-img.is-error{
  display: none;
}

.tpma-hub-icon-fallback{
  font-size: 28px;
  line-height: 1;
}

.tpma-hub-meta{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.tpma-hub-title{
  font-weight: 800;
  letter-spacing: 0.2px;
}

.tpma-hub-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.3;
}

.tpma-campaign-badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(252,209,22,0.24);
  background: linear-gradient(135deg, rgba(206,17,38,0.16), rgba(252,209,22,0.14), rgba(0,107,63,0.16));
  color: rgba(255,255,255,0.92);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.tpma-hub-go{
  margin-left: auto;
  color: var(--tpma-text-lo);
  font-weight: 900;
}

.tpma-hub-card-actions{
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: inline-flex;
  gap: 8px;
}

.tpma-fav,
.tpma-hub-info{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.24);
  color: rgba(255,255,255,0.70);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease, color 120ms ease, background 120ms ease;
}

.tpma-fav:hover,
.tpma-hub-info:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

.tpma-fav.is-active{
  color: color-mix(in oklab, var(--tpma-accent) 90%, #ffffff 10%);
  border-color: color-mix(in oklab, var(--tpma-accent) 45%, rgba(255,255,255,0.28));
  background: rgba(0,0,0,0.32);
}

.tpma-hub-info{
  font-size: 14px;
}

@media (max-width: 920px){
  .tpma-hub-card{
    grid-column: span 12;
  }

  .tpma-hub-suggest-card{
    grid-column: span 12;
  }
}

@media (max-width: 720px){
  .tpma-hub-toolkits{
    grid-template-columns: 1fr;
  }
}

/* Workspace apps (Docs/Notes/Slides/Sheets) */
.tpma-shell[data-app-type="workspace"] .tpma-topbar,
.tpma-shell[data-app-type="workspace"] .tpma-hero,
.tpma-shell[data-app-type="workspace"] .tpma-main{
  width: min(1280px, 100%);
}

.tpma-main-workspace{
  grid-template-columns: 1fr;
}

.tpma-ws-shell{
  padding: 12px;
}

.tpma-ws-head{
  display: grid;
  grid-template-columns: 1fr minmax(0, 1fr) 1fr;
  gap: 10px;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-ws-head-left,
.tpma-ws-head-right{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-ws-head-right{
  justify-content: flex-end;
}

.tpma-ws-head-mid{
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}

.tpma-ws-filename{
  font-weight: 900;
  letter-spacing: 0.2px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-ws-status{
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-ws-grid{
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) 360px;
  gap: 12px;
  margin-top: 12px;
  align-items: stretch;
}

.tpma-ws-panel{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 520px;
}

.tpma-ws-panel-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-ws-panel-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-ws-panel-body{
  padding: 10px;
  overflow: auto;
  flex: 1;
  min-height: 0;
}

.tpma-ws-panel-foot{
  padding: 10px 10px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.tpma-ws-tip{
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.35;
}

.tpma-ws-filelist{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-ws-fileitem{
  appearance: none;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 14px;
  padding: 10px 10px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-ws-fileitem:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.26);
}

.tpma-ws-fileitem.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-ws-fileitem-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-ws-fileitem-meta{
  margin-top: 3px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-ws-surface{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
  min-height: 520px;
}

.tpma-ws-textarea{
  width: 100%;
  min-height: 520px;
  padding: 14px 14px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--tpma-text-hi);
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  resize: vertical;
}

.tpma-ws-surface .CodeMirror{
  height: 520px;
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

.tpma-ws-surface .cm-s-dracula.CodeMirror{
  background: rgba(0,0,0,0.00) !important;
}

.tpma-ws-surface .CodeMirror-scroll{
  padding: 12px 14px;
}

.tpma-ws-surface .CodeMirror-gutters{
  background: rgba(0,0,0,0.20);
  border-right: 1px solid rgba(255,255,255,0.10);
}

.tpma-ws-preview{
  min-height: 100%;
}

.tpma-ws-preview-md h1,
.tpma-ws-preview-md h2,
.tpma-ws-preview-md h3{
  letter-spacing: 0.2px;
}

.tpma-ws-preview-md h1{
  font-size: 26px;
  margin-top: 0;
}

.tpma-ws-preview-md h2{
  font-size: 20px;
}

.tpma-ws-preview-md p{
  margin: 0 0 12px;
}

.tpma-ws-preview-md ul,
.tpma-ws-preview-md ol{
  padding-left: 20px;
}

.tpma-ws-foot{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.10);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-ws-foot-left{
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-ws-foot-right{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-ws-drawer{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.62);
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  padding: 16px;
  z-index: var(--tpma-z-modal);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.tpma-ws-drawer-card{
  width: min(540px, 100%);
  height: 100%;
  background: rgba(10,12,18,0.88);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--tpma-radius);
  box-shadow: 0 28px 90px rgba(0,0,0,0.62);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.tpma-ws-drawer-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 14px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-ws-drawer-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-ws-drawer-x{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  width: 36px;
  height: 36px;
  border-radius: 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
}

.tpma-ws-drawer-body{
  padding: 14px;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-ws-ai-presets{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-ws-ai-label{
  font-weight: 900;
  font-size: 13px;
  letter-spacing: 0.2px;
  color: var(--tpma-text-md);
}

.tpma-ws-ai-input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  outline: none;
}

.tpma-ws-ai-input:focus{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  box-shadow: 0 0 0 3px rgba(201,171,3,0.18);
}

.tpma-ws-ai-opts{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
}

.tpma-ws-ai-opt{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--tpma-text-md);
  font-size: 13px;
}

.tpma-ws-ai-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tpma-ws-ai-output{
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  border-radius: 16px;
  padding: 12px;
  min-height: 140px;
  overflow: auto;
}

.tpma-reveal{
  height: 100%;
}

.tpma-ws-sheet{
  height: 100%;
  min-height: 520px;
}

.tpma-ws-sheet .x-spreadsheet{
  width: 100%;
  height: 100%;
  background: transparent;
  color: var(--tpma-text-hi);
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}

.tpma-ws-sheet .x-spreadsheet-toolbar,
.tpma-ws-sheet .x-spreadsheet-bottombar{
  background: rgba(0,0,0,0.26);
  border-color: rgba(255,255,255,0.10);
}

.tpma-ws-sheet .x-spreadsheet-contextmenu,
.tpma-ws-sheet .x-spreadsheet-modal{
  background: rgba(10,12,18,0.92);
  color: var(--tpma-text-hi);
  border-color: rgba(255,255,255,0.18);
}

.tpma-ws-sheet .x-spreadsheet-button,
.tpma-ws-sheet .x-spreadsheet-item{
  color: var(--tpma-text-hi);
}

.tpma-modal-form{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-modal-label{
  font-weight: 900;
  font-size: 13px;
  letter-spacing: 0.2px;
  color: var(--tpma-text-md);
}

.tpma-modal-input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  outline: none;
}

.tpma-modal-input:focus{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  box-shadow: 0 0 0 3px rgba(201,171,3,0.18);
}

.tpma-modal-help{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.4;
}

@media (max-width: 1260px){
  .tpma-ws-grid{
    grid-template-columns: 240px minmax(0, 1fr) 320px;
  }
}

@media (max-width: 1100px){
  .tpma-ws-grid{
    grid-template-columns: 240px minmax(0, 1fr);
  }
  .tpma-ws-panel-preview{
    position: fixed;
    right: 16px;
    top: 88px;
    bottom: 16px;
    width: min(92vw, 520px);
    z-index: 9000;
    transform: translateX(110%);
    transition: transform 160ms ease;
    box-shadow: 0 28px 90px rgba(0,0,0,0.62);
  }
  .tpma-ws-shell.is-preview-open .tpma-ws-panel-preview{
    transform: translateX(0);
  }
}

@media (max-width: 980px){
  .tpma-ws-head{
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .tpma-ws-head-mid{
    align-items: flex-start;
  }
  .tpma-ws-grid{
    grid-template-columns: 1fr;
  }
  .tpma-ws-panel-files{
    position: fixed;
    left: 16px;
    top: 88px;
    bottom: 16px;
    width: min(92vw, 420px);
    z-index: 9000;
    transform: translateX(-110%);
    transition: transform 160ms ease;
    box-shadow: 0 28px 90px rgba(0,0,0,0.62);
  }
  .tpma-ws-shell.is-files-open .tpma-ws-panel-files{
    transform: translateX(0);
  }
}

/* JokeBuddy (chat UI) */
.tpma-shell[data-app="joke_buddy"] .tpma-form-actions [data-action="autofill"],
.tpma-shell[data-app="joke_buddy"] .tpma-form-actions [data-action="gps"],
.tpma-shell[data-app="joke_buddy"] .tpma-recents{
  display: none !important;
}

/* Baby Decoder (voice-led) */
.tpma-shell[data-app="baby_live_translator"] .tpma-main{
  grid-template-columns: 1fr;
}

.tpma-shell[data-app="baby_live_translator"] .tpma-card-output{
  display: none !important;
}

.tpma-shell[data-app="baby_live_translator"] .tpma-card-input form.tpma-form,
.tpma-shell[data-app="baby_live_translator"] .tpma-advanced,
.tpma-shell[data-app="baby_live_translator"] .tpma-recents{
  display: none !important;
}

.tpma-shell[data-app="baby_live_translator"] .tpma-voice{
  margin-top: 0;
  padding: 14px;
  border-radius: 20px;
  background: rgba(0,0,0,0.20);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 22px 70px rgba(0,0,0,0.28);
}

.tpma-shell[data-app="baby_live_translator"] .tpma-voice-log{
  min-height: 220px;
  max-height: min(52vh, 520px);
  -webkit-overflow-scrolling: touch;
}

.tpma-shell[data-app="baby_live_translator"] .tpma-voice-right .tpma-btn-xs{
  padding: 12px 14px;
  font-size: 14px;
  border-radius: 14px;
}

.tpma-shell[data-app="baby_live_translator"] .tpma-voice-status{
  font-size: 13px;
}

.tpma-shell[data-app="joke_buddy"] .tpma-main{
  grid-template-columns: minmax(0, 1fr) 380px;
}

.tpma-shell[data-app="joke_buddy"] .tpma-card-output{
  grid-column: 1;
  grid-row: 1;
  min-height: 640px;
}

.tpma-shell[data-app="joke_buddy"] .tpma-card-input{
  grid-column: 2;
  grid-row: 1;
}

@media (max-width: 980px){
  .tpma-shell[data-app="joke_buddy"] .tpma-hero-sub{
    display: none;
  }

  .tpma-shell[data-app="joke_buddy"] .tpma-main{
    grid-template-columns: 1fr;
  }
  .tpma-shell[data-app="joke_buddy"] .tpma-card-output{
    grid-row: 1;
    min-height: auto;
    grid-column: 1;
  }
  .tpma-shell[data-app="joke_buddy"] .tpma-card-input{
    grid-row: 2;
    grid-column: 1;
  }

  .tpma-shell[data-app="joke_buddy"] .tpma-jb-chat{
    min-height: 0;
  }

  .tpma-shell[data-app="joke_buddy"] .tpma-jb-messages{
    max-height: 52vh;
    min-height: 140px;
    -webkit-overflow-scrolling: touch;
  }

  .tpma-shell[data-app="joke_buddy"] .tpma-jb-modes,
  .tpma-shell[data-app="joke_buddy"] .tpma-jb-personas-row,
  .tpma-shell[data-app="joke_buddy"] .tpma-jb-quick,
  .tpma-shell[data-app="joke_buddy"] .tpma-jb-dock-tabs{
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
    gap: 8px;
  }
}

.tpma-shell[data-app="joke_buddy"] .tpma-output-actions{
  display: none !important;
}

.tpma-shell[data-app="joke_buddy"] .tpma-output-body{
  min-height: auto;
}

.tpma-shell[data-app="joke_buddy"]::before{
  content: "";
  position: fixed;
  inset: -20% -10% auto -10%;
  height: 70vh;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(60% 60% at 20% 30%, color-mix(in oklab, var(--tpma-accent) 32%, transparent), transparent 60%),
    radial-gradient(55% 55% at 90% 20%, rgba(174,79,255,0.18), transparent 60%),
    radial-gradient(45% 45% at 70% 85%, rgba(57,213,255,0.18), transparent 60%);
  filter: blur(38px);
  opacity: 0.95;
}

.tpma-shell[data-app="joke_buddy"] .tpma-card-output .tpma-voice{
  margin-top: 0;
  margin-bottom: 12px;
  border-radius: 20px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 22px 70px rgba(0,0,0,0.35);
}

.tpma-shell[data-app="joke_buddy"] .tpma-card-output .tpma-voice-title{
  font-size: 14px;
}

.tpma-shell[data-app="joke_buddy"] .tpma-card-output .tpma-voice-log{
  max-height: 210px;
}

.tpma-shell[data-app="joke_buddy"] .tpma-card-output .tpma-output-head{
  display: none;
}

.tpma-shell[data-app="joke_buddy"] .tpma-card-output .tpma-voice.is-empty .tpma-voice-log{
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
  min-height: 0;
  max-height: 0;
  overflow: hidden;
}

.tpma-shell[data-app="joke_buddy"] .tpma-card-output .tpma-voice.is-empty .tpma-voice-empty{
  display: none;
}

.tpma-shell[data-app="joke_buddy"] .tpma-card-output .tpma-voice.is-empty .tpma-voice-foot{
  margin-top: 8px;
}

.tpma-jb-hint{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-md);
  line-height: 1.45;
}

.tpma-jb-chat{
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 520px;
}

@media (max-width: 520px){
  .tpma-shell[data-app="joke_buddy"]{
    padding: 14px 12px 20px;
    gap: 12px;
  }

  .tpma-shell[data-app="joke_buddy"] .tpma-card{
    padding: 12px;
  }

  .tpma-shell[data-app="joke_buddy"] .tpma-card-output{
    min-height: auto;
  }

  .tpma-shell[data-app="joke_buddy"] .tpma-card-output .tpma-voice-log{
    max-height: 150px;
  }

  .tpma-jb-chat{
    min-height: 0;
  }

  .tpma-jb-messages{
    min-height: 120px;
    max-height: 42vh;
    -webkit-overflow-scrolling: touch;
  }

  .tpma-jb-chat-top{
    padding-bottom: 8px;
  }

  .tpma-jb-modes,
  .tpma-jb-personas-row,
  .tpma-jb-quick{
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
    gap: 8px;
  }

  .tpma-jb-persona,
  .tpma-jb-mode,
  .tpma-jb-chip{
    white-space: nowrap;
  }

  .tpma-jb-msg{
    max-width: 96%;
  }

  .tpma-jb-share-grid{
    grid-template-columns: 1fr;
  }

  .tpma-jb-saved-item{
    flex-direction: column;
    align-items: stretch;
  }

  .tpma-jb-saved-item-actions{
    justify-content: flex-start;
  }
}

.tpma-jb-chat-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 2px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-jb-personas{
  padding: 0 2px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-jb-personas-title{
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 900;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.tpma-jb-personas-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-jb-persona{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tpma-jb-persona:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-jb-persona.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 74%, #000000 26%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
}

.tpma-jb-persona-emoji{
  font-size: 14px;
}

.tpma-jb-persona-label{
  line-height: 1;
}

.tpma-jb-modes{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-jb-mode{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 7px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 12px;
}

.tpma-jb-mode:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-jb-mode.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 74%, #000000 26%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
}

.tpma-jb-messages{
  flex: 1;
  overflow: auto;
  padding: 6px 4px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  scroll-behavior: smooth;
}

.tpma-jb-empty{
  padding: 16px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.14);
}

.tpma-jb-empty-title{
  font-weight: 900;
  margin-bottom: 6px;
}

.tpma-jb-empty-sub{
  color: var(--tpma-text-md);
  line-height: 1.55;
}

.tpma-jb-msg{
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 92%;
}

.tpma-jb-msg-user{
  margin-left: auto;
  align-items: flex-end;
}

.tpma-jb-msg-assistant{
  margin-right: auto;
  align-items: flex-start;
}

.tpma-jb-bubble{
  padding: 10px 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.08);
  color: var(--tpma-text-hi);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.tpma-jb-msg-user .tpma-jb-bubble{
  border-color: rgba(0,0,0,0.12);
  background: linear-gradient(135deg, color-mix(in oklab, var(--tpma-accent) 86%, #ffffff 14%), color-mix(in oklab, var(--tpma-accent) 66%, #000000 34%));
  color: #0b1020;
}

.tpma-jb-msg-actions{
  display: flex;
  gap: 8px;
}

.tpma-jb-mini{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-md);
  padding: 6px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
}

.tpma-jb-mini:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-jb-composer{
  display: flex;
  gap: 10px;
  align-items: flex-end;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.tpma-jb-input{
  flex: 1;
  min-height: 44px;
  max-height: 140px;
  resize: vertical;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.16);
  color: var(--tpma-text-hi);
  font: inherit;
  line-height: 1.4;
}

.tpma-jb-input::placeholder{
  color: rgba(255,255,255,0.55);
}

.tpma-jb-input:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--tpma-accent) 62%, rgba(255,255,255,0.35));
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--tpma-accent) 16%, transparent);
}

.tpma-jb-quick{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-jb-chip{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
}

.tpma-jb-chip:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-jb-dock{
  margin-top: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  overflow: hidden;
}

.tpma-jb-dock-summary{
  list-style: none;
  cursor: pointer;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  user-select: none;
}

.tpma-jb-dock-summary::-webkit-details-marker{
  display: none;
}

.tpma-jb-dock-summary::marker{
  content: "";
}

.tpma-jb-dock-summary:focus{
  outline: none;
}

.tpma-jb-dock-summary-left{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.tpma-jb-dock-summary-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-jb-dock-summary-sub{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-jb-dock-summary-icon{
  opacity: 0.7;
  transition: transform 160ms ease, opacity 160ms ease;
}

.tpma-jb-dock[open] .tpma-jb-dock-summary{
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-jb-dock[open] .tpma-jb-dock-summary-icon{
  transform: rotate(180deg);
  opacity: 0.9;
}

.tpma-jb-dock-inner{
  padding: 12px;
}

.tpma-jb-dock-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-jb-tab{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
}

.tpma-jb-tab:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-jb-tab.is-active{
  color: #0b1020;
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 74%, #000000 26%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
}

.tpma-jb-panels{
  margin-top: 10px;
}

.tpma-jb-panel{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.14);
  padding: 10px;
}

.tpma-jb-panel + .tpma-jb-panel{
  margin-top: 10px;
}

.tpma-jb-panel-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-jb-panel-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-jb-panel-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-jb-saved-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 220px;
  overflow: auto;
  padding-right: 2px;
}

.tpma-jb-note,
.tpma-jb-share{
  width: 100%;
  resize: vertical;
  min-height: 140px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.16);
  color: var(--tpma-text-hi);
  font: inherit;
  line-height: 1.4;
}

.tpma-jb-note::placeholder,
.tpma-jb-share::placeholder{
  color: rgba(255,255,255,0.55);
}

.tpma-jb-share-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}

.tpma-jb-share-btn{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  padding: 10px 12px;
  border-radius: 16px;
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
  text-align: center;
}

.tpma-jb-share-btn:hover{
  border-color: rgba(255,255,255,0.28);
}

.tpma-jb-saved-empty{
  color: var(--tpma-text-md);
  line-height: 1.5;
  padding: 4px 2px;
}

.tpma-jb-saved-item{
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: flex-start;
  padding: 10px 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
}

.tpma-jb-saved-text{
  flex: 1;
  min-width: 0;
  color: var(--tpma-text-hi);
  line-height: 1.45;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.tpma-jb-saved-item[data-jb-expanded="0"] .tpma-jb-saved-text{
  max-height: 6.2em;
  overflow: hidden;
}

.tpma-jb-saved-item[data-jb-expanded="1"] .tpma-jb-saved-text{
  max-height: none;
}

.tpma-jb-saved-item-actions{
  display: flex;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Workspace v2 shell (Docs/Notes/Sheets/Slides). */
body.tpma-body.tpma-body-workspace{
  overflow: hidden;
}

/* Prevent third-party chat widgets from blocking the workspace UI. */
body.tpma-body.tpma-body-workspace .fc-message-root,
body.tpma-body.tpma-body-workspace #fc_frame{
  display: none !important;
}

.tpma-shell.tpma-shell-workspace{
  padding: 0;
  gap: 0;
  min-height: 100vh;
  position: fixed;
  inset: 0;
  overflow: hidden;
  z-index: var(--tpma-z-dock-overlay);
}

.tpma-ws-frame{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  height: 100%;
}

.tpma-ws-rail{
  position: sticky;
  top: 0;
  height: 100vh;
  width: 76px;
  padding: 14px 10px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: rgba(10,12,18,0.62);
  border-right: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: width 160ms ease;
  overflow: hidden;
}

.tpma-ws-rail:hover{
  width: 230px;
}

.tpma-ws-rail-brand{
  width: 52px;
  height: 52px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  text-decoration: none;
  color: var(--tpma-text-hi);
  background: linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 16px 40px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.05) inset;
  font-size: 22px;
}

.tpma-ws-rail-nav{
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  overflow: auto;
  padding: 2px 0;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.tpma-ws-rail-nav::-webkit-scrollbar{
  display: none;
}

.tpma-ws-rail-app{
  width: 100%;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  text-decoration: none;
  box-shadow: 0 16px 40px rgba(0,0,0,0.28);
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  user-select: none;
}

.tpma-ws-rail-app:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.09);
  border-color: rgba(255,255,255,0.26);
}

.tpma-ws-rail-app.is-active{
  background: rgba(0,0,0,0.34);
  border-color: color-mix(in oklab, var(--tpma-accent) 46%, rgba(255,255,255,0.26));
}

.tpma-ws-rail-ico{
  font-size: 20px;
  line-height: 1;
}

.tpma-ws-rail-text{
  display: none;
  font-weight: 900;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

.tpma-ws-rail:hover .tpma-ws-rail-text{
  display: inline;
}

.tpma-ws-rail:hover .tpma-ws-rail-app{
  justify-content: flex-start;
}

.tpma-ws-rail-link{
  text-decoration: none;
  color: var(--tpma-text-lo);
  font-size: 12px;
  text-align: center;
  padding: 8px 8px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.18);
  transition: border-color 120ms ease, background 120ms ease, color 120ms ease;
}

.tpma-ws-rail:hover .tpma-ws-rail-link{
  text-align: left;
}

.tpma-ws-rail-link:hover{
  color: var(--tpma-text-hi);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.22);
}

.tpma-ws-stage{
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 18px calc(24px + var(--tpma-dock-offset, 0px)) 18px;
  min-width: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.tpma-ws-stage-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px;
  border-radius: 18px;
  background: rgba(10,12,18,0.56);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.tpma-ws-stage-title{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  letter-spacing: 0.2px;
  min-width: 0;
}

.tpma-ws-stage-name{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-ws-stage-emoji{
  font-size: 20px;
  line-height: 1;
}

.tpma-ws-stage-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
  text-align: right;
  max-width: 56ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-ws-stage-body{
  min-width: 0;
}

.tpma-shell.tpma-shell-workspace.is-focus .tpma-ws-frame{
  grid-template-columns: 1fr;
}

.tpma-shell.tpma-shell-workspace.is-focus .tpma-ws-rail{
  display: none;
}

.tpma-shell.tpma-shell-workspace.is-focus .tpma-ws-stage-head{
  display: none;
}

.tpma-shell.tpma-shell-workspace.is-focus .tpma-ws-stage{
  padding-top: 16px;
}

@media (max-width: 860px){
  .tpma-ws-frame{
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
  }
  .tpma-ws-rail{
    position: static;
    height: auto;
    width: 100%;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .tpma-ws-rail:hover{
    width: 100%;
  }
  .tpma-ws-rail-nav{
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .tpma-ws-rail-nav::-webkit-scrollbar{
    display: none;
  }
  .tpma-ws-rail-text{
    display: none !important;
  }
  .tpma-ws-rail-app{
    width: auto;
    justify-content: center !important;
  }
  .tpma-ws-rail-link{
    white-space: nowrap;
  }
}

.tpma-ws-ai-panel .tpma-ws-drawer-card{
  width: 100%;
  height: 100%;
  max-height: none;
}

.tpma-ws-ai-panel .tpma-ws-drawer-body{
  flex: 1;
  min-height: 0;
}

.tpma-ws-media-panel .tpma-ws-drawer-card{
  width: 100%;
  height: 100%;
  max-height: none;
}

.tpma-ws-media-panel .tpma-ws-drawer-body{
  flex: 1;
  min-height: 0;
}

/* Workspace floating panels (no fullscreen takeover). */
.tpma-ws-drawtools-panel .tpma-ws-drawer-card{
  width: 100%;
  height: 100%;
  max-height: none;
}

.tpma-ws-drawtools-panel .tpma-ws-drawer-body{
  flex: 1;
  min-height: 0;
}

.tpma-ws-ai-panel{
  position: fixed;
  right: 16px;
  bottom: calc(16px + var(--tpma-dock-offset, 0px));
  width: min(440px, calc(100vw - 24px));
  height: min(72vh, 720px);
  z-index: 9500;
}

.tpma-ws-drawtools-panel{
  position: fixed;
  right: 16px;
  bottom: calc(16px + var(--tpma-dock-offset, 0px));
  width: min(520px, calc(100vw - 24px));
  height: min(74vh, 760px);
  z-index: 9500;
}

.tpma-ws-media-panel{
  position: fixed;
  right: 16px;
  bottom: calc(16px + var(--tpma-dock-offset, 0px));
  width: min(980px, calc(100vw - 24px));
  height: min(82vh, 900px);
  z-index: 9500;
}

.tpma-drawtools-group{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-drawtools-title{
  font-weight: 900;
  font-size: 13px;
  letter-spacing: 0.2px;
  color: var(--tpma-text-md);
}

.tpma-drawtools-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.tpma-drawtools-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-drawtools-actions .tpma-btn.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-drawtools-btn{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 14px;
  padding: 10px 10px;
  cursor: pointer;
  font-weight: 800;
  letter-spacing: 0.2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-drawtools-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.26);
}

.tpma-drawtools-btn.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

@media (max-width: 720px){
  .tpma-ws-ai-panel{
    left: 12px;
    right: 12px;
    width: auto;
    height: min(58vh, 660px);
  }

  .tpma-ws-drawtools-panel{
    left: 12px;
    right: 12px;
    width: auto;
    height: min(60vh, 720px);
  }

  .tpma-ws-media-panel{
    left: 12px;
    right: 12px;
    width: auto;
    height: min(70vh, 820px);
  }
}

.tpma-ws-dock{
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: max-content;
  z-index: 9700;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 999px;
  background: rgba(10,12,18,0.72);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 22px 70px rgba(0,0,0,0.56);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  max-width: min(96vw, 980px);
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.tpma-shell[data-workspace="slides"] .tpma-ws-dock [data-ws-draw-only]{
  display: none;
}

.tpma-shell.tpma-has-draw[data-workspace="slides"] .tpma-ws-dock [data-ws-draw-only]{
  display: inline-flex;
}

.tpma-ws-dock::-webkit-scrollbar{
  display: none;
}

.tpma-ws-dock-sep{
  width: 1px;
  height: 36px;
  background: rgba(255,255,255,0.14);
  margin: 0 2px;
  flex: 0 0 auto;
}

.tpma-ws-dock-btn{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 16px;
  padding: 8px 10px;
  min-width: 56px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
  user-select: none;
  flex: 0 0 auto;
}

.tpma-ws-dock-btn.tpma-ws-dock-tool{
  min-width: 46px;
  padding: 8px 8px;
}

.tpma-ws-dock-btn.tpma-ws-dock-tool .tpma-ws-dock-label{
  display: none;
}

.tpma-ws-dock-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.09);
  border-color: rgba(255,255,255,0.24);
}

.tpma-ws-dock-btn.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-ws-dock-ico{
  font-size: 18px;
  line-height: 1;
}

.tpma-ws-dock-label{
  font-size: 11px;
  line-height: 1;
  color: var(--tpma-text-md);
}

@media (max-width: 520px){
  .tpma-ws-dock-label{
    display: none;
  }
  .tpma-ws-dock-btn{
    min-width: 50px;
    padding: 9px 10px;
  }
}

.tpma-ws-media-panel .tpma-media-source-tabs{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.tpma-ws-media-panel .tpma-media-source-tabs .tpma-btn.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-ws-media-panel .tpma-media-search{
  margin-top: 10px;
}

.tpma-ws-media-panel .tpma-media-search input{
  width: 100%;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  outline: none;
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}

.tpma-ws-media-panel .tpma-media-search input:focus{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  box-shadow: 0 0 0 3px rgba(201,171,3,0.16);
}

.tpma-ws-media-panel .tpma-media-grid{
  flex: 1;
  min-height: 520px;
  margin-top: 10px;
  border-radius: 18px;
  overflow: auto;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.12);
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
}

.tpma-ws-media-panel .tpma-media-item{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 16px;
  padding: 10px;
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-ws-media-panel .tpma-media-item:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.09);
  border-color: rgba(255,255,255,0.26);
}

.tpma-ws-media-panel .tpma-media-thumb{
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  background: rgba(0,0,0,0.28);
  border: 1px solid rgba(255,255,255,0.12);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tpma-ws-media-panel .tpma-media-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tpma-ws-media-panel .tpma-media-thumb-icon{
  font-size: 34px;
  opacity: 0.82;
  color: rgba(255,255,255,0.92);
}

.tpma-ws-media-panel .tpma-media-meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.tpma-ws-media-panel .tpma-media-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 13px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-ws-media-panel .tpma-media-badges{
  display: inline-flex;
  gap: 6px;
  flex: 0 0 auto;
}

.tpma-ws-media-panel .tpma-media-badge{
  font-size: 11px;
  color: var(--tpma-text-lo);
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  border-radius: 999px;
  padding: 2px 8px;
}

.tpma-ws-media-panel .tpma-media-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-ws-media-panel .tpma-media-actions .tpma-btn{
  justify-content: center;
}

/* Docs/Notes/Sheets/Slides (workspace apps). */
/* Copied from workspace v3 styles (keeps headers visible on desktop). */

/* Docs (word processor) */
.tpma-docs{
  padding: 12px;
}

.tpma-docs-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-docs-head-left,
.tpma-docs-head-right{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-docs-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.14);
  max-width: min(44vw, 520px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-docs-status{
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-docs-grid{
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 12px;
  margin-top: 12px;
  align-items: stretch;
}

.tpma-docs.is-focus .tpma-docs-grid{
  grid-template-columns: minmax(0, 1fr);
}

.tpma-docs.is-focus .tpma-docs-sidebar{
  display: none;
}

.tpma-docs.is-focus .tpma-docs-toolbar{
  display: none;
}

.tpma-docs-sidebar{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 680px;
}

.tpma-docs-sidebar-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-docs-sidebar-search{
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-docs-sidebar-search input{
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  outline: none;
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}

.tpma-docs-sidebar-search input:focus{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  box-shadow: 0 0 0 3px rgba(201,171,3,0.16);
}

.tpma-docs-sidebar-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-docs-sidebar-body{
  padding: 10px;
  overflow: auto;
  flex: 1;
  min-height: 0;
}

.tpma-docs-sidebar-foot{
  padding: 10px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.tpma-docs-tip{
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.35;
}

.tpma-docs-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-docs-item{
  appearance: none;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 14px;
  padding: 10px 10px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-docs-item:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.26);
}

.tpma-docs-item.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-docs-item-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-docs-item-meta{
  margin-top: 3px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-docs-canvas{
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 680px;
}

.tpma-docs-toolbar{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  padding: 8px 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.tpma-docs-toolbar .ql-formats{
  margin-right: 6px;
}

.tpma-docs-toolbar.ql-toolbar,
.tpma-docs-toolbar .ql-toolbar{
  border: 0 !important;
  padding: 0 !important;
}

.tpma-docs-toolbar button,
.tpma-docs-toolbar select{
  color: rgba(255,255,255,0.90) !important;
}

.tpma-docs-toolbar .ql-stroke{
  stroke: rgba(255,255,255,0.86) !important;
}

.tpma-docs-toolbar .ql-fill{
  fill: rgba(255,255,255,0.86) !important;
}

.tpma-docs-toolbar .ql-picker{
  color: rgba(255,255,255,0.90) !important;
}

.tpma-docs-toolbar .ql-picker-options{
  background: rgba(10,12,18,0.92) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: rgba(255,255,255,0.92) !important;
}

.tpma-docs-paper{
  flex: 1;
  border-radius: 18px;
  background: rgba(255,255,255,0.96);
  color: #111;
  border: 1px solid rgba(255,255,255,0.22);
  box-shadow: 0 20px 60px rgba(0,0,0,0.28);
  overflow: hidden;
}

.tpma-docs-paper .ql-container{
  border: 0 !important;
}

.tpma-docs-paper .ql-editor{
  padding: 26px 24px;
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.75;
}

.tpma-docs-paper .ql-editor a{
  color: #c9ab03;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tpma-docs-paper .ql-editor p{
  margin: 0 0 14px;
}

.tpma-docs-paper .ql-editor h1{
  font-size: 28px;
  margin: 12px 0 14px;
}

.tpma-docs-paper .ql-editor h2{
  font-size: 22px;
  margin: 12px 0 12px;
}

@media (max-width: 980px){
  .tpma-docs-grid{
    grid-template-columns: 1fr;
  }

  .tpma-docs-sidebar{
    position: fixed;
    left: 16px;
    top: 88px;
    bottom: 16px;
    width: min(92vw, 420px);
    z-index: 9000;
    transform: translateX(-110%);
    transition: transform 160ms ease;
    box-shadow: 0 28px 90px rgba(0,0,0,0.62);
  }

  .tpma-docs.is-sidebar-open .tpma-docs-sidebar{
    transform: translateX(0);
  }
}

/* Notes (Apple Notes-ish) */
.tpma-notes{
  padding: 12px;
}

.tpma-notes-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-notes-head-left,
.tpma-notes-head-right{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-notes-search{
  min-width: min(520px, 46vw);
}

.tpma-notes-search input{
  width: 100%;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  outline: none;
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}

.tpma-notes-search input:focus{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  box-shadow: 0 0 0 3px rgba(201,171,3,0.16);
}

.tpma-notes-grid{
  display: grid;
  grid-template-columns: 250px 320px minmax(0, 1fr);
  gap: 12px;
  margin-top: 12px;
  align-items: stretch;
}

.tpma-notes.is-focus .tpma-notes-grid{
  grid-template-columns: minmax(0, 1fr);
}

.tpma-notes.is-focus .tpma-notes-folders,
.tpma-notes.is-focus .tpma-notes-list{
  display: none;
}

.tpma-notes.is-focus .tpma-notes-editor-toolbar{
  display: none;
}

.tpma-notes-pane{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 680px;
}

.tpma-notes-pane-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-notes-pane-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-notes-pane-meta{
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-notes-pane-body{
  padding: 10px;
  overflow: auto;
  flex: 1;
  min-height: 0;
}

.tpma-notes-folder-list,
.tpma-notes-note-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-notes-folder{
  appearance: none;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 14px;
  padding: 10px 10px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-notes-folder:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.26);
}

.tpma-notes-folder.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-notes-folder-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-notes-folder-meta{
  margin-top: 3px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-notes-note{
  appearance: none;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 14px;
  padding: 10px 10px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-notes-note:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.26);
}

.tpma-notes-note.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-notes-note-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-notes-note-snippet{
  margin-top: 3px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.35;
  max-height: 3.9em;
  overflow: hidden;
}

.tpma-notes-editor{
  padding: 10px 10px;
}

.tpma-notes-editor-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-notes-title{
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  font-weight: 900;
  outline: none;
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}

.tpma-notes-title:focus{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  box-shadow: 0 0 0 3px rgba(201,171,3,0.16);
}

.tpma-notes-editor-meta{
  color: var(--tpma-text-lo);
  font-size: 12px;
  flex-shrink: 0;
}

.tpma-notes-editor-toolbar{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  padding: 8px 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.tpma-notes-editor-toolbar.ql-toolbar,
.tpma-notes-editor-toolbar .ql-toolbar{
  border: 0 !important;
  padding: 0 !important;
}

.tpma-notes-editor-toolbar button{
  color: rgba(255,255,255,0.90) !important;
}

.tpma-notes-editor-toolbar .ql-stroke{
  stroke: rgba(255,255,255,0.86) !important;
}

.tpma-notes-editor-toolbar .ql-fill{
  fill: rgba(255,255,255,0.86) !important;
}

.tpma-notes-editor-body{
  margin-top: 10px;
  flex: 1;
  min-height: 0;
  display: flex;
}

.tpma-notes-editor-canvas{
  flex: 1;
  border-radius: 18px;
  background: rgba(255,255,255,0.96);
  color: #111;
  border: 1px solid rgba(255,255,255,0.22);
  box-shadow: 0 20px 60px rgba(0,0,0,0.28);
  overflow: hidden;
}

.tpma-notes-editor-canvas .ql-container{
  border: 0 !important;
}

.tpma-notes-editor-canvas .ql-editor{
  padding: 22px 20px;
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
}

.tpma-notes-editor-canvas .ql-editor a{
  color: #c9ab03;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 1100px){
  .tpma-notes-grid{
    grid-template-columns: 1fr;
  }

  .tpma-notes-folders,
  .tpma-notes-list{
    position: fixed;
    left: 16px;
    top: 88px;
    bottom: 16px;
    width: min(92vw, 420px);
    z-index: 9000;
    transform: translateX(-110%);
    transition: transform 160ms ease;
    box-shadow: 0 28px 90px rgba(0,0,0,0.62);
  }

  .tpma-notes-list{
    left: auto;
    right: 16px;
    transform: translateX(110%);
  }

  .tpma-notes.is-sidebar-open .tpma-notes-folders{
    transform: translateX(0);
  }

  .tpma-notes.is-list-open .tpma-notes-list{
    transform: translateX(0);
  }
}

/* Sheets (Google Sheets-ish) */
.tpma-sheets{
  padding: 12px;
}

.tpma-sheets-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-sheets-head-left,
.tpma-sheets-head-right{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-sheets-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.14);
  max-width: min(44vw, 520px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-sheets-hint{
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-sheets-grid{
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 12px;
  margin-top: 12px;
  align-items: stretch;
}

.tpma-sheets.is-focus .tpma-sheets-grid{
  grid-template-columns: minmax(0, 1fr);
}

.tpma-sheets.is-focus .tpma-sheets-files{
  display: none;
}

.tpma-sheets-files{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 680px;
}

.tpma-sheets-files-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-sheets-files-search{
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-sheets-files-search input{
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  outline: none;
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}

.tpma-sheets-files-search input:focus{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
  box-shadow: 0 0 0 3px rgba(201,171,3,0.16);
}

.tpma-sheets-files-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-sheets-files-body{
  padding: 10px;
  overflow: auto;
  flex: 1;
  min-height: 0;
}

.tpma-sheets-file-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-sheets-file{
  appearance: none;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 14px;
  padding: 10px 10px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-sheets-file:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.26);
}

.tpma-sheets-file.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-sheets-file-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-sheets-file-meta{
  margin-top: 3px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-sheets-surface{
  min-height: 680px;
}

.tpma-sheets-sheet{
  height: 100%;
  min-height: 520px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
  box-shadow: 0 28px 90px rgba(0,0,0,0.45);
}

.tpma-sheets-sheet .x-spreadsheet{
  background: rgba(0,0,0,0.00) !important;
  color: rgba(255,255,255,0.90);
}

.tpma-sheets-sheet .x-spreadsheet-toolbar,
.tpma-sheets-sheet .x-spreadsheet-bottombar{
  background: rgba(10,12,18,0.78) !important;
  border-color: rgba(255,255,255,0.10) !important;
}

.tpma-sheets-sheet .x-spreadsheet-contextmenu,
.tpma-sheets-sheet .x-spreadsheet-modal{
  background: rgba(10,12,18,0.92) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  color: rgba(255,255,255,0.92) !important;
}

.tpma-sheets-sheet .x-spreadsheet-button,
.tpma-sheets-sheet .x-spreadsheet-item{
  color: rgba(255,255,255,0.90) !important;
}

.tpma-sheets-sheet .x-spreadsheet-button:hover{
  background: rgba(255,255,255,0.08) !important;
}

@media (max-width: 980px){
  .tpma-sheets-grid{
    grid-template-columns: 1fr;
  }

  .tpma-sheets-files{
    position: fixed;
    left: 16px;
    top: 88px;
    bottom: 16px;
    width: min(92vw, 420px);
    z-index: 9000;
    transform: translateX(-110%);
    transition: transform 160ms ease;
    box-shadow: 0 28px 90px rgba(0,0,0,0.62);
  }

  .tpma-sheets.is-files-open .tpma-sheets-files{
    transform: translateX(0);
  }
}

/* Slides (canvas editor) */
.tpma-slides{
  padding: 12px;
  --tpma-slides-side-w: 260px;
  --tpma-slides-props-w: 320px;
}

.tpma-slides-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-slides-head-left,
.tpma-slides-head-right{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-draw-toolbar{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  padding-top: 6px;
}

.tpma-draw-tool{
  border-radius: 999px;
  letter-spacing: 0.2px;
}

.tpma-draw-tool.is-active{
  background: rgba(0,0,0,0.3);
  border-color: color-mix(in oklab, var(--tpma-accent) 48%, rgba(255,255,255,0.2));
  color: var(--tpma-text-hi);
}

.tpma-draw-tool:disabled{
  opacity: 0.5;
  cursor: not-allowed;
}

.tpma-slides [data-slides-toggle].is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-slides-title{
  appearance: none;
  cursor: pointer;
  font-weight: 900;
  letter-spacing: 0.2px;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.14);
  max-width: min(44vw, 520px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-slides-title:focus-visible{
  outline: 2px solid color-mix(in oklab, var(--tpma-accent) 60%, rgba(255,255,255,0.34));
  outline-offset: 2px;
}

.tpma-slides-zoom{
  font-weight: 900;
  letter-spacing: 0.2px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: 12px;
  color: var(--tpma-text-hi);
}

.tpma-slides-status{
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-slides-grid{
  display: grid;
  grid-template-columns: var(--tpma-slides-side-w) minmax(0, 1fr) var(--tpma-slides-props-w);
  gap: 12px;
  margin-top: 12px;
  align-items: stretch;
}

.tpma-slides.tpma-slides-excalidraw{
  --tpma-slides-props-w: 0px;
  overflow: visible;
}

.tpma-slides.tpma-slides-excalidraw .tpma-slides-grid{
  grid-template-columns: var(--tpma-slides-side-w) minmax(0, 1fr);
}

.tpma-slides.tpma-slides-excalidraw .tpma-slides-props{
  display: none;
}

.tpma-slides.tpma-slides-excalidraw .tpma-draw-toolbar,
.tpma-slides.tpma-slides-excalidraw .tpma-slides-zoom{
  display: none;
}

.tpma-slides:not(.is-slides-open){
  --tpma-slides-side-w: 0px;
}

.tpma-slides:not(.is-props-open){
  --tpma-slides-props-w: 0px;
}

.tpma-slides.is-focus .tpma-slides-grid{
  grid-template-columns: minmax(0, 1fr);
}

.tpma-slides.is-focus .tpma-slides-side,
.tpma-slides.is-focus .tpma-slides-props{
  display: none;
}

.tpma-slides-side{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 680px;
}

.tpma-slides-side-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-slides-side-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-slides-side-body{
  padding: 10px;
  overflow: auto;
  flex: 1;
  min-height: 0;
}

.tpma-slides-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-slides-side-divider{
  height: 1px;
  background: rgba(255,255,255,0.10);
  margin: 14px 0;
}

.tpma-slides-frames-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-slides-frames-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  opacity: 0.92;
}

.tpma-slides-frames-list{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-frame-item{
  appearance: none;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.05);
  color: var(--tpma-text-hi);
  border-radius: 12px;
  padding: 8px 10px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  display: flex;
  gap: 10px;
  align-items: center;
}

.tpma-frame-item:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.22);
}

.tpma-frame-item.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-frame-item-thumb{
  width: 34px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 12px;
  box-shadow: 0 14px 34px rgba(0,0,0,0.18);
  flex: 0 0 auto;
}

.tpma-frame-item-meta{
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.tpma-frame-item-title{
  font-weight: 750;
  font-size: 13px;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-frame-item-sub{
  margin-top: 2px;
  font-size: 12px;
  opacity: 0.72;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-frames-empty{
  border: 1px dashed rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  border-radius: 12px;
  padding: 10px 10px;
  font-size: 13px;
  opacity: 0.82;
}

.tpma-slides-item{
  appearance: none;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 14px;
  padding: 10px 10px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  display: flex;
  gap: 10px;
  align-items: center;
}

.tpma-slides-item:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.26);
}

.tpma-slides-item.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-slides-item-thumb{
  width: 42px;
  height: 32px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  box-shadow: 0 14px 34px rgba(0,0,0,0.20);
  flex: 0 0 auto;
}

.tpma-slides-item-meta{
  flex: 1;
  min-width: 0;
}

.tpma-slides-item-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-slides-item-sub{
  margin-top: 3px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-slides-stage{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 680px;
  overflow: auto;
}

.tpma-slides.tpma-slides-excalidraw .tpma-slides-stage{
  align-items: stretch;
  justify-content: flex-start;
}

.tpma-slides-canvas-wrap{
  border-radius: 18px;
  background: rgba(0,0,0,0.12);
  border: 1px solid rgba(255,255,255,0.14);
  padding: 12px;
  box-shadow: 0 28px 90px rgba(0,0,0,0.45);
  position: relative;
}

.tpma-slides.tpma-slides-excalidraw .tpma-slides-canvas-wrap{
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: visible;
}

.tpma-draw-canvas{
  width: 100%;
  height: 100%;
  min-height: 640px;
  border-radius: 16px;
  background: #fdfdfb;
  overflow: hidden;
}

.tpma-slides.tpma-slides-excalidraw .tpma-draw-canvas{
  min-width: 0;
  overflow: visible;
}

.tpma-draw-canvas > div,
.tpma-draw-canvas .excalidraw{
  width: 100%;
  height: 100%;
}

.tpma-slides.tpma-slides-excalidraw .excalidraw{
  --color-primary: var(--tpma-accent);
  --color-primary-dark: color-mix(in oklab, var(--tpma-accent) 68%, #000);
  --color-primary-light: color-mix(in oklab, var(--tpma-accent) 40%, #fff);
}

.tpma-slides-canvas{
  border-radius: 10px;
  background: #fff;
  display: block;
}

.tpma-slides-canvas-wrap canvas,
.tpma-slides-canvas-wrap .canvas-container{
  touch-action: none;
}

.tpma-slides-props{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 680px;
}

.tpma-slides-props-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.tpma-slides-props-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-slides-props-body{
  padding: 10px;
  overflow: auto;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-slides-prop{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tpma-slides-prop label{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-slides-prop input[type="color"]{
  height: 44px;
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  padding: 6px;
}

.tpma-slides-prop input[type="number"],
.tpma-slides-prop textarea{
  width: 100%;
  padding: 10px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  font-family: "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  outline: none;
}

.tpma-slides-prop textarea{
  resize: vertical;
  min-height: 96px;
}

.tpma-slides-prop-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.tpma-slides-prop-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-slides-prop-actions .tpma-btn{
  min-width: 44px;
  justify-content: center;
}

.tpma-slides-prop-actions .tpma-btn.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-slides-props-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.tpma-slides-media-tabs{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-slides-media-tabs .tpma-btn.is-active{
  background: rgba(0,0,0,0.28);
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.26));
}

.tpma-slides-media-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

@media (max-width: 1100px){
  .tpma-slides-grid{
    grid-template-columns: 1fr;
  }

  .tpma-slides.tpma-slides-excalidraw .tpma-slides-grid{
    grid-template-columns: 1fr;
  }

  .tpma-slides.tpma-slides-excalidraw .tpma-slides-stage{
    grid-column: 1 / -1;
    width: 100%;
  }


  .tpma-slides-side{
    position: fixed;
    left: 16px;
    top: 88px;
    bottom: calc(16px + var(--tpma-dock-offset, 0px));
    width: min(92vw, 420px);
    z-index: 9000;
    transform: translateX(-110%);
    transition: transform 160ms ease;
    box-shadow: 0 28px 90px rgba(0,0,0,0.62);
  }

  .tpma-slides.is-slides-open .tpma-slides-side{
    transform: translateX(0);
  }

  .tpma-slides-stage{
    min-height: unset;
    justify-content: flex-start;
  }

  .tpma-slides-props{
    min-height: unset;
    position: fixed;
    left: 16px;
    right: 16px;
    top: 88px;
    bottom: calc(16px + var(--tpma-dock-offset, 0px));
    width: auto;
    z-index: 9000;
    transform: translateY(110%);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: transform 160ms ease, opacity 160ms ease;
    box-shadow: 0 28px 90px rgba(0,0,0,0.62);
  }

  .tpma-slides.is-props-open .tpma-slides-props{
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
}

@media (min-width: 1101px){
  .tpma-slides-side,
  .tpma-slides-props{
    transition: opacity 160ms ease, transform 160ms ease;
  }

  .tpma-slides:not(.is-slides-open) .tpma-slides-side{
    opacity: 0;
    transform: translateX(-10px);
    pointer-events: none;
    overflow: hidden;
  }

  .tpma-slides:not(.is-props-open) .tpma-slides-props{
    opacity: 0;
    transform: translateX(10px);
    pointer-events: none;
    overflow: hidden;
  }
}

/* ============ TortoiseAgent ============ */

.tpma-shell-agent{
  position: relative;
  overflow: hidden;
}

.tpma-shell-agent::before{
  content: "";
  position: absolute;
  inset: -38%;
  background:
    radial-gradient(circle at 18% 24%, color-mix(in oklab, var(--tpma-accent) 30%, rgba(255,255,255,0.08)), transparent 56%),
    radial-gradient(circle at 82% 30%, rgba(255,255,255,0.09), transparent 60%),
    radial-gradient(circle at 55% 92%, rgba(60,130,255,0.10), transparent 62%);
  filter: blur(30px) saturate(1.15);
  opacity: 0.88;
  pointer-events: none;
  z-index: 0;
  animation: tpmaAgentDrift 18s ease-in-out infinite alternate;
}

.tpma-shell-agent::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.10), rgba(0,0,0,0.50)),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.065) 0 1px, transparent 1px 14px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.045) 0 1px, transparent 1px 14px);
  opacity: 0.10;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 0;
}

.tpma-shell-agent .tpma-topbar,
.tpma-shell-agent .tpma-hero,
.tpma-shell-agent .tpma-main,
.tpma-shell-agent .tpma-footer{
  position: relative;
  z-index: 1;
}

@keyframes tpmaAgentDrift{
  0%{ transform: translate3d(0,0,0) scale(1); }
  60%{ transform: translate3d(3%, -2.5%, 0) scale(1.02); }
  100%{ transform: translate3d(-2.5%, 2%, 0) scale(1.01); }
}

@media (prefers-reduced-motion: reduce){
  .tpma-shell-agent::before{ animation: none; }
}

.tpma-agent-flow{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.tpma-agent-flow-step{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: var(--tpma-text-md);
  letter-spacing: 0.55px;
  text-transform: uppercase;
  user-select: none;
}

.tpma-agent-flow-step.is-done{
  border-color: color-mix(in oklab, var(--tpma-accent) 38%, rgba(255,255,255,0.14));
  background: color-mix(in oklab, var(--tpma-accent) 10%, rgba(255,255,255,0.05));
  color: rgba(255,255,255,0.92);
}

.tpma-agent-flow-step.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 70%, rgba(255,255,255,0.14));
  background: color-mix(in oklab, var(--tpma-accent) 22%, rgba(255,255,255,0.05));
  color: rgba(255,255,255,0.98);
  box-shadow:
    0 18px 60px rgba(0,0,0,0.55),
    0 0 26px color-mix(in oklab, var(--tpma-accent) 26%, transparent);
}

.tpma-agent-panel-next .tpma-agent-panel-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-agent-next{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-agent-next-block{
  display: none;
  flex-direction: column;
  gap: 6px;
}

.tpma-agent-next-block.is-on{
  display: flex;
}

.tpma-agent-next-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 12px;
  color: rgba(255,255,255,0.92);
}

.tpma-agent-next-empty{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-agent-how{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tpma-agent-hero-quick{
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 24px 70px rgba(0,0,0,0.40);
}

.tpma-agent-hero-quick-title{
  font-weight: 900;
  letter-spacing: 0.6px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  text-transform: uppercase;
}

.tpma-agent-hero-quick-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-agent-hero-quick-note{
  color: var(--tpma-text-md);
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 980px){
  .tpma-agent-hero-quick{
    display: none;
  }
}

.tpma-agent-how-item{
  flex: 1;
  min-width: min(260px, 100%);
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.tpma-agent-how-ico{
  width: 34px;
  height: 34px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: color-mix(in oklab, var(--tpma-accent) 20%, rgba(255,255,255,0.08));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}

.tpma-agent-how-body{
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.tpma-agent-how-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 13px;
}

.tpma-agent-how-sub{
  color: var(--tpma-text-md);
  font-size: 12px;
  line-height: 1.35;
}

.tpma-shell-agent .tpma-agent-card{
  border-color: color-mix(in oklab, var(--tpma-accent) 28%, rgba(255,255,255,0.20));
  box-shadow:
    0 28px 90px rgba(0,0,0,0.55),
    inset 0 1px 0 rgba(255,255,255,0.10),
    0 0 44px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-badge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: var(--tpma-text-md);
  text-transform: uppercase;
  letter-spacing: 0.7px;
  vertical-align: middle;
}

.tpma-main-agent{
  grid-template-columns: 1fr;
}

.tpma-shell-agent .tpma-card-input{
  position: relative;
  top: auto;
}

.tpma-agent-card{
  padding: 14px;
}

.tpma-agent-bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.tpma-agent-bar-left{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.tpma-agent-status{
  font-weight: 800;
  letter-spacing: 0.2px;
}

.tpma-agent-tip{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.35;
  max-width: 72ch;
}

.tpma-agent-bar-right{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.tpma-agent-grid{
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 14px;
  align-items: start;
  min-height: min(78vh, 880px);
}

@media (max-width: 980px){
  .tpma-agent-grid{
    grid-template-columns: 1fr;
    min-height: unset;
  }
}

.tpma-agent-chat{
  display: flex;
  flex-direction: column;
  min-height: 520px;
  min-width: 0;
}

.tpma-agent-log{
  flex: 1;
  overflow: auto;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.18);
  padding: 12px;
}

.tpma-agent-objective{
  margin-top: 10px;
  border-radius: 14px;
  border: 1px dashed rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.04);
  padding: 8px 10px;
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-agent-choices{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-agent-choices .tpma-btn{
  white-space: nowrap;
}

.tpma-agent-empty{
  color: var(--tpma-text-md);
  line-height: 1.55;
}

.tpma-agent-msg{
  display: flex;
  margin: 10px 0;
}

.tpma-agent-msg-user{
  justify-content: flex-end;
}

.tpma-agent-msg-assistant{
  justify-content: flex-start;
}

.tpma-agent-bubble{
  max-width: min(74ch, 92%);
  padding: 10px 12px;
  border-radius: 14px;
  line-height: 1.55;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
}

.tpma-agent-msg-user .tpma-agent-bubble{
  border-color: rgba(57,213,255,0.35);
  background: rgba(57,213,255,0.10);
}

.tpma-agent-bubble a{
  color: rgba(255,255,255,0.92);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tpma-agent-compose{
  margin-top: 10px;
  display: flex;
  gap: 10px;
  align-items: flex-end;
}

.tpma-agent-mic{
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tpma-agent-mic.is-on{
  border-color: color-mix(in oklab, var(--tpma-accent) 70%, rgba(255,255,255,0.14));
  background: color-mix(in oklab, var(--tpma-accent) 16%, rgba(0,0,0,0.18));
  box-shadow:
    0 20px 60px rgba(0,0,0,0.45),
    0 0 0 2px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-agent-input{
  flex: 1;
  resize: none;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  font: inherit;
  line-height: 1.4;
  min-height: 44px;
}

.tpma-agent-input:focus{
  outline: none;
  border-color: rgba(57,213,255,0.55);
  box-shadow: 0 0 0 2px rgba(57,213,255,0.18);
}

.tpma-agent-side{
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.tpma-agent-gate{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-agent-gate-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-agent-gate-sub{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-agent-auto-prompt{
  margin: 0 0 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(57,213,255,0.10);
  color: var(--tpma-text-hi);
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-agent-auto-prompt-title{
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-agent-auto-prompt-copy{
  color: var(--tpma-text-md);
  font-size: 12px;
  line-height: 1.45;
}

.tpma-agent-auto-prompt-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-agent-auto-prompt-actions .tpma-btn{
  white-space: nowrap;
  min-width: 0;
}

.tpma-agent-ui-highlight{
  outline: 3px solid rgba(87,238,255,0.95);
  outline-offset: 4px;
  border-radius: 10px;
  box-shadow: 0 0 0 0 rgba(87,238,255,0.4);
  animation: tpma-agent-ui-highlight 2.2s ease;
}

@keyframes tpma-agent-ui-highlight{
  0%{
    box-shadow: 0 0 0 0 rgba(87,238,255,0.55);
  }
  58%{
    box-shadow: 0 0 0 14px rgba(87,238,255,0);
  }
  100%{
    box-shadow: 0 0 0 0 rgba(87,238,255,0);
  }
}

.tpma-agent-panel{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.18);
  padding: 12px;
}

.tpma-agent-panel-head{
  font-weight: 900;
  letter-spacing: 0.2px;
  margin-bottom: 8px;
}

.tpma-agent-list{
  margin: 0;
  padding-left: 18px;
  color: var(--tpma-text-md);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tpma-agent-list-empty{
  list-style: none;
  padding-left: 0;
  color: var(--tpma-text-lo);
}

.tpma-agent-actions{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-agent-action{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  padding: 10px;
}

.tpma-agent-action--blocked{
  border-color: rgba(255,120,120,0.45);
  background: rgba(255,100,100,0.10);
}

.tpma-agent-action-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.tpma-agent-action-meta{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.tpma-agent-action-title{
  font-weight: 800;
  color: var(--tpma-text-hi);
}

.tpma-agent-action-pill{
  width: fit-content;
  font-size: 11px;
  color: var(--tpma-text-md);
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  padding: 3px 8px;
  border-radius: 999px;
}

.tpma-agent-action-pill.is-blocked{
  color: #ffd8d8;
  border-color: rgba(255,140,140,0.5);
  background: rgba(140,0,0,0.22);
}

.tpma-agent-action-btns{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.tpma-agent-action-btns .is-blocked{
  opacity: 0.6;
  cursor: not-allowed;
}

.tpma-agent-action-body{
  margin-top: 10px;
  color: var(--tpma-text-md);
  line-height: 1.5;
}

.tpma-agent-action-body-blocked{
  border: 1px solid rgba(255,140,140,0.32);
  background: rgba(255,140,140,0.08);
  border-radius: 10px;
  padding: 8px 10px;
}

.tpma-agent-action-blocked{
  color: #ffd8d8;
  font-size: 13px;
}

.tpma-agent-action-strong{
  font-weight: 900;
  color: var(--tpma-text-hi);
  margin-bottom: 6px;
}

.tpma-agent-action-muted{
  color: var(--tpma-text-lo);
  font-size: 12px;
  margin-bottom: 8px;
}

.tpma-agent-action-pre{
  white-space: pre-wrap;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.16);
  padding: 10px;
  font-size: 12px;
}

.tpma-shell-agent .tpma-voice{
  margin-top: 14px;
}

.tpma-agent-quick{
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-agent-quick-title{
  font-size: 12px;
  color: var(--tpma-text-lo);
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.tpma-agent-quick-row{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-agent-quick-inline{
  display: none;
  margin-bottom: 10px;
}

.tpma-agent-quick-inline-row{
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  overflow: auto;
  padding: 2px 0 6px;
  -webkit-overflow-scrolling: touch;
}

.tpma-agent-quick-inline-row .tpma-agent-chip{
  flex: 0 0 auto;
  white-space: nowrap;
}

.tpma-agent-chip{
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 999px;
  padding: 7px 10px;
  font: inherit;
  font-size: 12px;
  line-height: 1.2;
  cursor: pointer;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}

.tpma-agent-chip:hover{
  background: rgba(255,255,255,0.10);
  border-color: rgba(57,213,255,0.35);
  transform: translateY(-1px);
}

@media (max-width: 980px){
  .tpma-agent-quick-inline{
    display: block;
  }

  .tpma-agent-panel-quick{
    display: none;
  }
}

.tpma-agent-panel-caps .tpma-agent-panel-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-agent-caps-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

@media (max-width: 980px){
  .tpma-agent-caps-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-agent-cap{
  display: flex;
  gap: 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  padding: 10px;
  min-width: 0;
}

.tpma-agent-cap.is-on{
  border-color: rgba(57,213,255,0.35);
  background: rgba(57,213,255,0.10);
}

.tpma-agent-cap.is-off{
  opacity: 0.78;
}

.tpma-agent-cap-ico{
  width: 32px;
  height: 32px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tpma-agent-cap-body{
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.tpma-agent-cap-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 13px;
}

.tpma-agent-cap-sub{
  color: var(--tpma-text-md);
  font-size: 12px;
  line-height: 1.35;
}

.tpma-agent-caps-note{
  margin-top: 10px;
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.45;
}

.tpma-agent-caps-setup{
  margin-left: 8px;
  color: rgba(255,255,255,0.92);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* TortoiseAgent canvas v2 (card-first, fluid, @tortoise-like interaction). */
.tpma-shell-agent .tpma-agent-card{
  padding: 14px;
}

.tpma-shell-agent .tpma-agent-canvas{
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.95fr);
  gap: 14px;
  align-items: start;
}

.tpma-shell-agent .tpma-agent-main,
.tpma-shell-agent .tpma-agent-stage,
.tpma-shell-agent .tpma-agent-side{
  min-width: 0;
}

.tpma-shell-agent .tpma-agent-stage{
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.20);
  padding: 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07);
}

.tpma-shell-agent [data-agent-phase="plan"] .tpma-agent-stage{
  border-color: color-mix(in oklab, var(--tpma-accent) 34%, rgba(255,255,255,0.14));
}

.tpma-shell-agent [data-agent-phase="research"] .tpma-agent-stage{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.14));
}

.tpma-shell-agent [data-agent-phase="act"] .tpma-agent-stage{
  border-color: color-mix(in oklab, var(--tpma-accent) 56%, rgba(255,255,255,0.14));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.12),
    0 18px 56px color-mix(in oklab, var(--tpma-accent) 14%, transparent);
}

.tpma-shell-agent [data-agent-phase="next"] .tpma-agent-stage{
  border-color: color-mix(in oklab, var(--tpma-accent) 46%, rgba(255,255,255,0.14));
}

.tpma-shell-agent .tpma-agent-stage-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-agent .tpma-agent-stage-meta{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.tpma-shell-agent .tpma-agent-status{
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.96);
  letter-spacing: 0.35px;
  font-size: 12px;
  text-transform: uppercase;
}

.tpma-shell-agent .tpma-agent-tip{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
  max-width: 72ch;
}

.tpma-shell-agent .tpma-agent-flow{
  gap: 8px;
}

.tpma-shell-agent .tpma-agent-flow-step{
  padding: 5px 11px;
  font-size: 11px;
}

.tpma-shell-agent .tpma-agent-objective{
  margin-top: 0;
  border-style: solid;
  border-color: color-mix(in oklab, var(--tpma-accent) 26%, rgba(255,255,255,0.16));
  background: color-mix(in oklab, var(--tpma-accent) 10%, rgba(255,255,255,0.04));
  color: rgba(255,255,255,0.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.tpma-shell-agent .tpma-agent-chat{
  min-height: min(46vh, 560px);
}

.tpma-shell-agent .tpma-agent-log{
  min-height: min(38vh, 420px);
  border-radius: 16px;
  border-color: rgba(255,255,255,0.14);
  background:
    radial-gradient(1200px 380px at 12% -25%, rgba(57,213,255,0.08), transparent 56%),
    rgba(0,0,0,0.18);
}

.tpma-shell-agent .tpma-agent-msg{
  margin: 8px 0;
}

.tpma-shell-agent .tpma-agent-bubble{
  border-radius: 16px;
}

.tpma-shell-agent .tpma-agent-compose{
  margin-top: 0;
}

.tpma-shell-agent .tpma-agent-input{
  min-height: 48px;
  border-radius: 16px;
  border-color: rgba(255,255,255,0.18);
}

.tpma-shell-agent .tpma-agent-mic{
  border-radius: 16px;
}

.tpma-shell-agent .tpma-agent-quick-inline{
  display: block;
  margin-bottom: 0;
}

.tpma-shell-agent .tpma-agent-quick-inline-row{
  padding: 0 0 2px;
  gap: 7px;
}

.tpma-shell-agent .tpma-agent-chip{
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
}

.tpma-shell-agent .tpma-agent-side{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  max-height: min(80vh, 940px);
  overflow: auto;
  padding-right: 2px;
}

.tpma-shell-agent .tpma-agent-panel{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.19);
}

.tpma-shell-agent .tpma-agent-panel-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-shell-agent .tpma-agent-count{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.07);
  color: rgba(255,255,255,0.92);
  font-size: 11px;
  font-weight: 800;
}

.tpma-shell-agent .tpma-agent-count.is-zero{
  color: var(--tpma-text-lo);
  opacity: 0.86;
}

.tpma-shell-agent .tpma-agent-panel[data-agent-card].is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 52%, rgba(255,255,255,0.16));
  background: color-mix(in oklab, var(--tpma-accent) 11%, rgba(0,0,0,0.19));
  box-shadow:
    0 16px 46px rgba(0,0,0,0.36),
    0 0 20px color-mix(in oklab, var(--tpma-accent) 16%, transparent);
}

.tpma-shell-agent .tpma-agent-panel-next.has-items{
  border-color: color-mix(in oklab, var(--tpma-accent) 58%, rgba(255,255,255,0.16));
}

.tpma-shell-agent .tpma-agent-next-title{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.tpma-shell-agent .tpma-agent-list{
  gap: 7px;
}

.tpma-shell-agent .tpma-agent-actions{
  gap: 8px;
}

.tpma-shell-agent .tpma-agent-panel-actions .tpma-agent-actions,
.tpma-shell-agent .tpma-agent-panel-research .tpma-agent-actions{
  max-height: min(36vh, 360px);
  overflow: auto;
  padding-right: 2px;
}

.tpma-shell-agent .tpma-agent-action{
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.07);
}

.tpma-shell-agent .tpma-agent-stage .tpma-btn-primary{
  box-shadow:
    0 18px 42px color-mix(in oklab, var(--tpma-accent) 28%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.28);
}

@media (max-width: 1160px){
  .tpma-shell-agent .tpma-agent-canvas{
    grid-template-columns: 1fr;
  }

  .tpma-shell-agent .tpma-agent-side{
    max-height: unset;
    overflow: visible;
  }
}

@media (max-width: 980px){
  .tpma-shell-agent .tpma-agent-card{
    padding: 12px;
  }

  .tpma-shell-agent .tpma-agent-stage{
    padding: 10px;
    gap: 10px;
  }

  .tpma-shell-agent .tpma-agent-stage-head{
    flex-direction: column;
  }

  .tpma-shell-agent .tpma-agent-bar-right{
    width: 100%;
    justify-content: flex-end;
  }

  .tpma-shell-agent .tpma-agent-chat{
    min-height: 42vh;
  }

  .tpma-shell-agent .tpma-agent-log{
    min-height: 32vh;
  }

  .tpma-shell-agent .tpma-agent-compose{
    gap: 8px;
  }

  .tpma-shell-agent .tpma-agent-panel-quick{
    display: none;
  }
}

/* Prevent intrusive Google One Tap overlays on mini-app pages. */
.tpma-body #credential_picker_container,
.tpma-body iframe[src*="accounts.google.com/gsi"],
.tpma-body .googlesitekit-sign-in-with-google__frontend-output-button,
.tpma-body .googlesitekit-sign-in-with-google__comments-form-button{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Listify overrides `[hidden]` in some contexts; re-enable it for mini-app UI. */
.tpma-body [hidden]{
  display: none !important;
}

/* Hide intrusive rewarded-ad / gating overlays that block gameplay. */
.tpma-body .fc-message-root,
.tpma-body .fc-dialog-overlay{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Hide Google anchor ads that can cover the dock / controls. */
.tpma-body ins.adsbygoogle[data-anchor-status],
.tpma-body ins.adsbygoogle[data-anchor-shown],
.tpma-body ins.adsbygoogle.adsbygoogle-noablate{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* BizBox is an app shell; Google vignette / fullscreen ad layers must never sit above dock or windows. */
body.tpma-bizbox-mode ~ ins.adsbygoogle,
body.tpma-bizbox-mode ~ iframe[id^="aswift_"],
body.tpma-bizbox-mode ~ iframe[title="Advertisement"]{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Kids mode (themes + kid-friendly background). */
body.tpma-kids-mode{
  --tpma-glass-bg: rgba(255,255,255,0.10);
  --tpma-glass-brd: rgba(255,255,255,0.22);
  --tpma-kids-fx1: color-mix(in oklab, var(--tpma-accent) 82%, #ffffff);
  --tpma-kids-fx2: color-mix(in oklab, var(--tpma-accent) 38%, #39D5FF);
  --tpma-kids-fx3: color-mix(in oklab, var(--tpma-accent) 38%, #FFB020);
  --tpma-kids-motion-speed: 1;
}

body.tpma-kids-mode.tpma-kids-motion-chill{
  --tpma-kids-motion-speed: 1.35;
}

body.tpma-kids-mode.tpma-kids-motion-normal{
  --tpma-kids-motion-speed: 1;
}

body.tpma-kids-mode.tpma-kids-motion-wild{
  --tpma-kids-motion-speed: 0.78;
}

body.tpma-kids-mode .tpma-bg::before{
  background:
    radial-gradient(60% 60% at 12% 20%, color-mix(in oklab, var(--tpma-kids-fx1) 34%, transparent), transparent 64%),
    radial-gradient(55% 55% at 88% 12%, color-mix(in oklab, var(--tpma-kids-fx2) 28%, transparent), transparent 66%),
    radial-gradient(45% 45% at 72% 78%, color-mix(in oklab, var(--tpma-kids-fx3) 24%, transparent), transparent 70%),
    radial-gradient(40% 40% at 32% 86%, color-mix(in oklab, var(--tpma-accent) 18%, transparent), transparent 72%);
  filter: blur(34px) saturate(1.3);
  opacity: 0.95;
  animation: tpma-kids-glowshift calc(18s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite alternate;
}

body.tpma-kids-mode .tpma-bg::after{
  opacity: 0.11;
  background-image:
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx2) 55%, transparent) 1px, transparent 1px),
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx1) 36%, transparent) 1px, transparent 1px);
  background-size: 24px 24px;
  background-position: 0 0, 12px 12px;
}

body.tpma-kids-mode.tpma-kids-pattern-bubbles .tpma-bg::after{
  opacity: 0.11;
  background-image:
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx2) 55%, transparent) 1px, transparent 1px),
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx1) 36%, transparent) 1px, transparent 1px);
  background-size: 24px 24px;
  background-position: 0 0, 12px 12px;
  animation: tpma-kids-pattern-float calc(34s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite alternate;
}

body.tpma-kids-mode.tpma-kids-pattern-stars .tpma-bg::after{
  opacity: 0.14;
  background-image:
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx2) 58%, transparent) 1px, transparent 1px),
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx1) 42%, transparent) 1px, transparent 1px),
    radial-gradient(color-mix(in oklab, var(--tpma-kids-fx3) 36%, transparent) 2px, transparent 2px);
  background-size: 26px 26px, 18px 18px, 42px 42px;
  background-position: 0 0, 9px 13px, 21px 7px;
  animation: tpma-kids-pattern-float calc(44s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite alternate;
}

body.tpma-kids-mode.tpma-kids-pattern-confetti .tpma-bg::after{
  opacity: 0.16;
  background-image:
    linear-gradient(45deg, color-mix(in oklab, var(--tpma-kids-fx1) 36%, transparent) 0 2px, transparent 2px 14px),
    linear-gradient(-45deg, color-mix(in oklab, var(--tpma-kids-fx2) 32%, transparent) 0 2px, transparent 2px 14px),
    linear-gradient(90deg, color-mix(in oklab, var(--tpma-kids-fx3) 30%, transparent) 0 2px, transparent 2px 14px);
  background-size: 22px 22px;
  background-position: 0 0, 6px 9px, 12px 3px;
  animation: tpma-kids-pattern-float calc(30s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite alternate;
}

body.tpma-kids-mode.tpma-kids-pattern-grid .tpma-bg::after{
  opacity: 0.12;
  background-image:
    linear-gradient(color-mix(in oklab, var(--tpma-kids-fx1) 18%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in oklab, var(--tpma-kids-fx2) 16%, transparent) 1px, transparent 1px);
  background-size: 24px 24px;
  animation: none;
}

body.tpma-kids-mode.tpma-kids-pattern-none .tpma-bg::after{
  opacity: 0;
  background-image: none;
  animation: none;
}

@keyframes tpma-kids-pattern-float{
  from{ transform: translate3d(0, 0, 0); }
  to{ transform: translate3d(28px, -18px, 0); }
}

body.tpma-kids-mode.tpma-kids-theme-candy{
  --tpma-accent: #FF7EB6;
  --tpma-bg-0: #080611;
  --tpma-bg-1: #190a2b;
  --tpma-kids-fx1: #FF7EB6;
  --tpma-kids-fx2: #B565F5;
  --tpma-kids-fx3: #39D5FF;
}

body.tpma-kids-mode.tpma-kids-theme-ocean{
  --tpma-accent: #39D5FF;
  --tpma-bg-0: #04121c;
  --tpma-bg-1: #05283a;
  --tpma-kids-fx1: #39D5FF;
  --tpma-kids-fx2: #35C2A1;
  --tpma-kids-fx3: #B565F5;
}

body.tpma-kids-mode.tpma-kids-theme-space{
  --tpma-accent: #B565F5;
  --tpma-bg-0: #050615;
  --tpma-bg-1: #120a35;
  --tpma-kids-fx1: #B565F5;
  --tpma-kids-fx2: #39D5FF;
  --tpma-kids-fx3: #FF7EB6;
}

body.tpma-kids-mode.tpma-kids-theme-jungle{
  --tpma-accent: #35C2A1;
  --tpma-bg-0: #041410;
  --tpma-bg-1: #06271f;
  --tpma-kids-fx1: #35C2A1;
  --tpma-kids-fx2: #FFB020;
  --tpma-kids-fx3: #39D5FF;
}

body.tpma-kids-mode.tpma-kids-theme-sunset{
  --tpma-accent: #FFB020;
  --tpma-bg-0: #140a04;
  --tpma-bg-1: #2a1206;
  --tpma-kids-fx1: #FFB020;
  --tpma-kids-fx2: #FF7B6E;
  --tpma-kids-fx3: #B565F5;
}

body.tpma-kids-mode.tpma-kids-theme-classic{
  --tpma-accent: #c9ab03;
  --tpma-bg-0: #05070d;
  --tpma-bg-1: #0b1020;
  --tpma-kids-fx1: #c9ab03;
  --tpma-kids-fx2: #39D5FF;
  --tpma-kids-fx3: #FF7EB6;
}

body.tpma-kids-mode.tpma-kids-theme-custom{
  --tpma-accent: var(--tpma-kids-custom-accent, #FF7EB6);
  --tpma-bg-0: var(--tpma-kids-custom-bg0, #080611);
  --tpma-bg-1: var(--tpma-kids-custom-bg1, #190a2b);
  --tpma-kids-fx1: var(--tpma-accent);
  --tpma-kids-fx2: color-mix(in oklab, var(--tpma-accent) 40%, #39D5FF);
  --tpma-kids-fx3: color-mix(in oklab, var(--tpma-accent) 40%, #FFB020);
}

.tpma-shell-kids .tpma-kids-controls{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

.tpma-shell-kids .tpma-kids-controls-row{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-shell-kids .tpma-kids-controls-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  color: var(--tpma-text-hi);
}

.tpma-shell-kids .tpma-kids-themes{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 220px;
}

.tpma-shell-kids .tpma-kids-theme{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background:
    radial-gradient(100px 100px at 18% 22%, color-mix(in oklab, var(--tpma-kids-theme-dot) 18%, transparent), transparent 62%),
    rgba(0,0,0,0.18);
  color: var(--tpma-text-md);
  border-radius: 999px;
  padding: 9px 11px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: inherit;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  box-shadow: 0 14px 40px rgba(0,0,0,0.20);
}

.tpma-shell-kids .tpma-kids-theme:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

.tpma-shell-kids .tpma-kids-theme.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 14%, rgba(0,0,0,0.18));
  color: var(--tpma-text-hi);
}

.tpma-shell-kids .tpma-kids-theme-dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--tpma-kids-theme-dot);
  box-shadow: 0 0 0 2px rgba(255,255,255,0.10) inset, 0 10px 18px rgba(0,0,0,0.35);
}

.tpma-shell-kids .tpma-kids-note{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.35;
}

.tpma-shell-kids .tpma-kids-note.tpma-kids-note-sub{
  color: var(--tpma-text-lo);
}

.tpma-shell-kids .tpma-kids-yt{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.tpma-shell-kids .tpma-kids-yt-input{
  width: min(320px, 52vw);
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
  color: var(--tpma-text-hi);
  font: inherit;
  font-size: 14px;
}

.tpma-shell-kids .tpma-kids-yt-input::placeholder{
  color: rgba(255,255,255,0.62);
}

.tpma-shell-kids .tpma-kids-yt-input:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.25));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 20%, transparent);
}

.tpma-shell-kids .tpma-kids-controls.tpma-kids-controls-inline{
  border-bottom: 0;
  padding-bottom: 0;
  margin-top: 12px;
}

.tpma-shell[data-app="kids_hub"],
.tpma-shell[data-app="baby_live_translator"],
.tpma-shell[data-app="kids_story_studio"],
.tpma-shell[data-app="kids_video_studio"]{
  --tpma-radius: 22px;
  font-family: "Fredoka", "Josefin Sans", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
}

.tpma-shell-kids .tpma-card-input{
  position: static;
  top: auto;
}

.tpma-shell-kids:not([data-app="kids_hub"]) .tpma-recents{
  display: none;
}

.tpma-shell[data-app="kids_hub"] .tpma-hero{
  padding-top: 2px;
}

.tpma-shell[data-app="kids_hub"] .tpma-hero-emoji{
  font-size: 40px;
}

.tpma-shell-kids-deck .tpma-main-kids-deck{
  width: min(760px, 100%);
  margin: 0 auto;
}

.tpma-shell-kids-deck .tpma-hero-sub{
  display: none;
}

@media (min-width: 720px){
  .tpma-shell-kids-deck .tpma-hero-sub{
    display: block;
    max-width: 62ch;
  }
}

.tpma-shell-kids-deck .tpma-kids-deck{
  display: grid;
  gap: 14px;
}

.tpma-shell-kids-deck .tpma-kids-step{
  max-width: 100%;
}

.tpma-shell-kids-deck .tpma-field{
  min-width: 100%;
}

.tpma-shell-kids-deck .tpma-field textarea{
  min-height: 120px;
  font-size: 18px;
  line-height: 1.4;
  border-radius: 18px;
}

.tpma-shell-kids-deck .tpma-form-actions{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

@media (min-width: 720px){
  .tpma-shell-kids-deck .tpma-form-actions{
    grid-template-columns: 1fr 1fr;
  }
}

.tpma-shell-kids-deck .tpma-kids-deck.is-prompt-empty [data-tpma-kids-step="prompt"] .tpma-form-actions{
  grid-template-columns: 1fr;
}

@media (min-width: 720px){
  .tpma-shell-kids-deck .tpma-kids-deck.is-prompt-filled [data-tpma-kids-step="prompt"] .tpma-form-actions{
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}

.tpma-shell-kids-deck .tpma-btn-kids-primary,
.tpma-shell-kids-deck .tpma-btn-kids-talk{
  width: 100%;
  padding: 14px 16px;
  border-radius: 18px;
  font-size: 16px;
  font-weight: 900;
}

.tpma-shell-kids-deck .tpma-btn-kids-talk{
  background: rgba(255,255,255,0.08);
}

.tpma-shell-kids-deck .tpma-kids-deck.is-prompt-empty [data-tpma-kids-step="prompt"] .tpma-btn-kids-talk{
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--tpma-accent) 72%, rgba(255,255,255,0.16)),
    rgba(0,0,0,0.18)
  );
  border-color: color-mix(in oklab, var(--tpma-accent) 60%, rgba(255,255,255,0.22));
  box-shadow:
    0 18px 48px rgba(0,0,0,0.32),
    0 0 0 3px color-mix(in oklab, var(--tpma-accent) 22%, transparent);
}

.tpma-shell-kids-deck .tpma-kids-deck.is-prompt-filled [data-tpma-kids-step="prompt"] .tpma-btn-kids-talk{
  width: auto;
  justify-self: start;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 14px;
}

.tpma-shell-kids-deck .tpma-kids-deck.is-prompt-filled [data-tpma-kids-step="prompt"] .tpma-form-actions{
  gap: 8px;
}

.tpma-shell-kids-deck .tpma-kids-step-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-shell-kids-deck .tpma-kids-listen{
  min-width: 88px;
}

.tpma-shell-kids-deck .tpma-kids-output-text{
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.55;
  font-family: inherit;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.tpma-shell-kids-deck .tpma-kids-learn{
  display: grid;
  gap: 12px;
}

.tpma-shell-kids-deck .tpma-kids-learn-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.14);
  box-shadow: 0 18px 50px rgba(0,0,0,0.26);
}

.tpma-shell-kids-deck .tpma-kids-stars{
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.tpma-shell-kids-deck .tpma-kids-star{
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  opacity: 0.24;
  color: rgba(255,255,255,0.92);
}

.tpma-shell-kids-deck .tpma-kids-star.is-on{
  opacity: 1;
  color: color-mix(in oklab, var(--tpma-accent) 78%, rgba(255,255,255,0.96));
  filter: drop-shadow(0 0 14px color-mix(in oklab, var(--tpma-accent) 32%, transparent));
}

.tpma-shell-kids-deck .tpma-kids-star-svg{
  width: 18px;
  height: 18px;
}

.tpma-shell-kids-deck .tpma-kids-stars-num{
  font-weight: 900;
  letter-spacing: 0.2px;
  color: var(--tpma-text-md);
}

.tpma-shell-kids-deck .tpma-kids-learn-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 720px){
  .tpma-shell-kids-deck .tpma-kids-learn-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-shell-kids-deck .tpma-kids-learn-card{
  position: relative;
  overflow: hidden;
  min-width: 0;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.16);
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(0,0,0,0.14));
  padding: 14px 14px 12px;
  box-shadow: 0 18px 54px rgba(0,0,0,0.26);
}

.tpma-shell-kids-deck .tpma-kids-learn-card::before{
  content: "";
  position: absolute;
  inset: -42% -34% auto -34%;
  height: 190px;
  background:
    radial-gradient(55% 55% at 18% 44%, color-mix(in oklab, var(--tpma-accent) 30%, transparent), transparent 70%),
    radial-gradient(45% 45% at 86% 22%, rgba(57,213,255,0.18), transparent 72%),
    radial-gradient(35% 35% at 70% 92%, rgba(255,176,32,0.14), transparent 72%);
  filter: blur(16px) saturate(1.15);
  opacity: 0.95;
  pointer-events: none;
}

.tpma-shell-kids-deck .tpma-kids-learn-card-head{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.tpma-shell-kids-deck .tpma-kids-learn-card-ico{
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.18);
  box-shadow: 0 16px 44px rgba(0,0,0,0.22);
  flex: 0 0 auto;
}

.tpma-shell-kids-deck .tpma-kids-learn-card-svg{
  width: 20px;
  height: 20px;
  color: var(--tpma-text-hi);
  filter: drop-shadow(0 0 12px color-mix(in oklab, var(--tpma-accent) 26%, transparent));
}

.tpma-shell-kids-deck .tpma-kids-learn-card-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  color: var(--tpma-text-hi);
}

.tpma-shell-kids-deck .tpma-kids-learn-card-body{
  position: relative;
  z-index: 1;
  color: var(--tpma-text-md);
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.tpma-shell-kids-deck .tpma-kids-learn-card-body a{
  color: color-mix(in oklab, var(--tpma-accent) 72%, rgba(255,255,255,0.95));
}

.tpma-shell-kids-deck .tpma-kids-pillgrid{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-shell-kids-deck .tpma-kids-pill{
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.16);
  color: var(--tpma-text-hi);
  font-weight: 900;
  font-size: 13px;
  min-width: 0;
}

.tpma-shell-kids-deck .tpma-kids-wordlist{
  display: grid;
  gap: 10px;
}

.tpma-shell-kids-deck .tpma-kids-word{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tpma-shell-kids-deck .tpma-kids-word-term{
  font-weight: 900;
  color: var(--tpma-text-hi);
}

.tpma-shell-kids-deck .tpma-kids-word-tip{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

.tpma-shell-kids-deck .tpma-kids-quote,
.tpma-shell-kids-deck .tpma-kids-bigline{
  font-weight: 900;
  color: var(--tpma-text-hi);
}

.tpma-shell-kids-deck .tpma-kids-quote{
  font-size: 16px;
}

.tpma-shell-kids-deck .tpma-kids-bigline{
  font-size: 15px;
}

.tpma-shell-kids-deck .tpma-kids-lines{
  font-size: 14px;
  color: var(--tpma-text-md);
}

.tpma-shell-kids-deck .tpma-kids-loading{
  position: relative;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.18);
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(0,0,0,0.16));
  overflow: hidden;
  box-shadow:
    0 26px 90px rgba(0,0,0,0.42),
    0 0 60px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-shell-kids-deck .tpma-kids-loading::before{
  content: "";
  position: absolute;
  inset: -45% -35% auto -35%;
  height: 240px;
  background:
    radial-gradient(55% 55% at 18% 40%, color-mix(in oklab, var(--tpma-accent) 34%, transparent), transparent 70%),
    radial-gradient(45% 45% at 84% 26%, rgba(57,213,255,0.20), transparent 70%),
    radial-gradient(35% 35% at 72% 86%, rgba(255,176,32,0.16), transparent 72%);
  filter: blur(16px) saturate(1.2);
  opacity: 0.95;
  pointer-events: none;
  animation: tpma-kids-loading-float calc(6.8s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite alternate;
}

@keyframes tpma-kids-loading-float{
  from{ transform: translate3d(0, 0, 0); }
  to{ transform: translate3d(0, -12px, 0); }
}

.tpma-shell-kids-deck .tpma-kids-loading-top{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

.tpma-shell-kids-deck .tpma-kids-loading-ico{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.18);
  box-shadow: 0 16px 44px rgba(0,0,0,0.28);
}

.tpma-shell-kids-deck .tpma-kids-loading-svg{
  width: 22px;
  height: 22px;
  color: var(--tpma-text-hi);
  filter: drop-shadow(0 0 12px color-mix(in oklab, var(--tpma-accent) 28%, transparent));
  animation: tpma-kids-loading-bob calc(1.4s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite;
}

@keyframes tpma-kids-loading-bob{
  0%, 100%{ transform: translateY(0); }
  50%{ transform: translateY(-2px); }
}

.tpma-shell-kids-deck .tpma-kids-loading-title{
  font-weight: 900;
  font-size: 16px;
  letter-spacing: 0.2px;
}

.tpma-shell-kids-deck .tpma-kids-loading-bar{
  position: relative;
  z-index: 1;
  margin-top: 12px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.16);
  overflow: hidden;
}

.tpma-shell-kids-deck .tpma-kids-loading-bar span{
  display: block;
  width: 48%;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in oklab, var(--tpma-accent) 70%, rgba(255,255,255,0.12)),
    rgba(57,213,255,0.70),
    rgba(255,176,32,0.70),
    transparent
  );
  filter: saturate(1.1);
  animation: tpma-kids-loading-scan calc(1.8s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite;
}

@keyframes tpma-kids-loading-scan{
  0%{ transform: translateX(-120%); opacity: 0.35; }
  50%{ opacity: 0.9; }
  100%{ transform: translateX(220%); opacity: 0.35; }
}

.tpma-shell-kids-deck .tpma-kids-loading-dots{
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
}

.tpma-shell-kids-deck .tpma-kids-loading-dots span{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,0.58);
  animation: tpma-kids-loading-dot calc(1.1s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite;
}

.tpma-shell-kids-deck .tpma-kids-loading-dots span:nth-child(2){
  animation-delay: 0.15s;
}

.tpma-shell-kids-deck .tpma-kids-loading-dots span:nth-child(3){
  animation-delay: 0.3s;
}

@keyframes tpma-kids-loading-dot{
  0%, 100%{ transform: translateY(0); opacity: 0.45; }
  50%{ transform: translateY(-3px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce){
  .tpma-shell-kids-deck .tpma-kids-loading::before,
  .tpma-shell-kids-deck .tpma-kids-loading-svg,
  .tpma-shell-kids-deck .tpma-kids-loading-bar span,
  .tpma-shell-kids-deck .tpma-kids-loading-dots span{
    animation: none !important;
  }
}

.tpma-shell-kids-deck .tpma-kids-choices{
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

@media (min-width: 720px){
  .tpma-shell-kids-deck .tpma-kids-choices{
    grid-template-columns: 1fr 1fr;
  }
}

.tpma-shell-kids-deck .tpma-kids-choice{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  border-radius: 22px;
  padding: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 900;
  font-size: 16px;
  text-align: center;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-shell-kids-deck .tpma-kids-choice:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.08);
}

.tpma-shell-kids-deck .tpma-kids-choice-ico{
  font-size: 22px;
  line-height: 1;
}

.tpma-shell-kids-deck .tpma-kids-gen-actions{
  display: grid;
  grid-template-columns: 1fr;
}

.tpma-shell-kids-deck .tpma-kids-statusbar{
  margin-top: 12px;
}

.tpma-shell-kids-deck .tpma-media-grid.tpma-ccgen-gallery,
.tpma-shell-kids-deck .tpma-media-grid.tpma-vgen-gallery{
  grid-template-columns: 1fr;
}

.tpma-shell-kids-deck .tpma-kids-media-latest{
  grid-column: 1 / -1;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.16);
  overflow: hidden;
  box-shadow: 0 18px 64px rgba(0,0,0,0.28);
}

.tpma-shell-kids-deck .tpma-kids-media-img,
.tpma-shell-kids-deck .tpma-kids-media-vid{
  width: 100%;
  height: auto;
  display: block;
}

.tpma-shell-kids-deck .tpma-kids-gen-opts{
  margin: 10px 0 12px;
  display: grid;
  gap: 10px;
}

.tpma-shell-kids-deck .tpma-kids-optrow{
  display: grid;
  gap: 10px;
}

.tpma-shell-kids-deck .tpma-kids-optrow-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpma-shell-kids-deck .tpma-kids-optrow-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpma-shell-kids-deck .tpma-kids-opt{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  border-radius: 18px;
  padding: 12px 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 900;
  font-size: 14px;
  line-height: 1;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-shell-kids-deck .tpma-kids-opt:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.08);
}

.tpma-shell-kids-deck .tpma-kids-opt.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 60%, rgba(255,255,255,0.22));
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--tpma-accent) 30%, rgba(255,255,255,0.14)),
    rgba(0,0,0,0.14)
  );
  box-shadow:
    0 16px 44px rgba(0,0,0,0.26),
    0 0 0 3px color-mix(in oklab, var(--tpma-accent) 20%, transparent);
}

.tpma-shell-kids-deck .tpma-kids-opt-ico{
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.tpma-shell-kids-deck .tpma-kids-opt-label{
  min-width: 0;
}

.tpma-hub-kids .tpma-kids-hero-card{
  padding: 18px;
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12), rgba(0,0,0,0.14)) padding-box,
    conic-gradient(from 180deg,
      color-mix(in oklab, var(--tpma-kids-fx1, var(--tpma-accent)) 62%, transparent),
      color-mix(in oklab, var(--tpma-kids-fx2, rgba(57,213,255,0.95)) 54%, transparent),
      color-mix(in oklab, var(--tpma-kids-fx3, rgba(255,176,32,0.95)) 52%, transparent),
      color-mix(in oklab, var(--tpma-kids-fx1, var(--tpma-accent)) 62%, transparent)
    ) border-box;
  box-shadow:
    0 24px 90px rgba(0,0,0,0.46),
    0 0 80px color-mix(in oklab, var(--tpma-accent) 16%, transparent);
}

.tpma-hub-kids .tpma-kids-hero-card::before{
  content: "";
  position: absolute;
  inset: -30% -25% auto -25%;
  height: 260px;
  background:
    radial-gradient(55% 55% at 20% 35%, color-mix(in oklab, var(--tpma-accent) 34%, transparent), transparent 66%),
    radial-gradient(45% 45% at 78% 20%, rgba(57,213,255,0.22), transparent 70%),
    radial-gradient(35% 35% at 68% 88%, rgba(255,176,32,0.18), transparent 70%);
  filter: blur(18px) saturate(1.2);
  opacity: 0.95;
  pointer-events: none;
}

.tpma-hub-kids .tpma-kids-hero-head{
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  z-index: 1;
}

.tpma-hub-kids .tpma-kids-hero-layout{
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.tpma-hub-kids .tpma-kids-hero-head{
  flex: 1 1 420px;
  min-width: 0;
}

.tpma-hub-kids .tpma-kids-hero-art{
  flex: 0 0 auto;
  width: min(280px, 44vw);
  height: auto;
  margin: 0;
  opacity: 0.95;
  max-width: 100%;
  filter:
    drop-shadow(0 18px 50px rgba(0,0,0,0.35))
    drop-shadow(0 0 22px color-mix(in oklab, var(--tpma-accent) 18%, transparent));
  animation: tpma-kids-hero-float calc(9.5s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite alternate;
  will-change: transform;
}

@keyframes tpma-kids-hero-float{
  from{ transform: translate3d(0, 0, 0) rotate(-0.25deg); }
  to{ transform: translate3d(0, -12px, 0) rotate(0.35deg); }
}

.tpma-hub-kids .tpma-kids-hero-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-md);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.tpma-hub-kids .tpma-kids-hero-title{
  font-size: 28px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0.2px;
  background: linear-gradient(
    90deg,
    color-mix(in oklab, var(--tpma-accent) 95%, #ffffff 5%),
    rgba(57,213,255,0.95),
    rgba(255,176,32,0.95)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  background-size: 220% 100%;
  animation: tpma-kids-title-shimmer calc(7.5s * var(--tpma-kids-motion-speed, 1)) ease-in-out infinite alternate;
}

@keyframes tpma-kids-title-shimmer{
  from{ background-position: 0% 50%; }
  to{ background-position: 100% 50%; }
}

.tpma-hub-kids .tpma-kids-hero-sub{
  color: var(--tpma-text-md);
  font-size: 14px;
  line-height: 1.35;
  max-width: 70ch;
}

.tpma-hub-kids .tpma-kids-mini{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.tpma-hub-kids .tpma-kids-themes.tpma-kids-themes-mini,
.tpma-shell-kids .tpma-kids-themes.tpma-kids-themes-mini{
  flex: 0 0 auto;
  min-width: 0;
  gap: 8px;
}

.tpma-hub-kids .tpma-kids-themes.tpma-kids-themes-mini .tpma-kids-theme,
.tpma-shell-kids .tpma-kids-themes.tpma-kids-themes-mini .tpma-kids-theme{
  width: 36px;
  height: 36px;
  padding: 0;
  justify-content: center;
}

.tpma-hub-kids .tpma-kids-themes.tpma-kids-themes-mini .tpma-kids-theme-label,
.tpma-shell-kids .tpma-kids-themes.tpma-kids-themes-mini .tpma-kids-theme-label{
  display: none;
}

.tpma-hub-kids .tpma-kids-themes.tpma-kids-themes-mini .tpma-kids-theme-dot,
.tpma-shell-kids .tpma-kids-themes.tpma-kids-themes-mini .tpma-kids-theme-dot{
  width: 16px;
  height: 16px;
}

.tpma-hub-kids .tpma-kids-iconbtn,
.tpma-shell-kids .tpma-kids-iconbtn{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 14px 40px rgba(0,0,0,0.20);
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-hub-kids .tpma-kids-iconbtn:hover,
.tpma-shell-kids .tpma-kids-iconbtn:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

.tpma-hub-kids .tpma-kids-iconbtn-ico,
.tpma-shell-kids .tpma-kids-iconbtn-ico{
  width: 20px;
  height: 20px;
}

.tpma-hub-kids .tpma-kids-iconbtn-emoji,
.tpma-shell-kids .tpma-kids-iconbtn-emoji{
  font-size: 18px;
  line-height: 1;
}

.tpma-hub-kids .tpma-kids-safety{
  color: var(--tpma-text-lo);
  font-size: 12.5px;
  line-height: 1.25;
}

.tpma-hub-kids .tpma-kids-launchpad{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0 14px;
}

.tpma-hub-kids .tpma-kids-launch{
  text-decoration: none;
  color: var(--tpma-text-hi);
  border: 1px solid rgba(255,255,255,0.16);
  background: color-mix(in oklab, rgba(0,0,0,0.14) 76%, var(--tpma-card-accent, var(--tpma-accent)) 10%);
  border-radius: 22px;
  padding: 18px 18px 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0,0,0,0.26);
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-hub-kids .tpma-kids-launch:nth-child(even){
  --tpma-kids-tilt: 0.45deg;
}

.tpma-hub-kids .tpma-kids-launch:nth-child(odd){
  --tpma-kids-tilt: -0.45deg;
}

.tpma-hub-kids .tpma-kids-launch::after{
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  background: radial-gradient(220px 120px at 18% 22%, color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 22%, transparent), transparent 70%);
  transition: opacity 180ms ease;
  pointer-events: none;
}

.tpma-hub-kids .tpma-kids-launch:hover{
  transform: translateY(-4px) rotate(var(--tpma-kids-tilt, 0deg));
  border-color: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 62%, rgba(255,255,255,0.22));
}

.tpma-hub-kids .tpma-kids-launch:active{
  transform: translateY(-1px) scale(0.99);
}

.tpma-hub-kids .tpma-kids-launch:hover::after{
  opacity: 1;
}

.tpma-hub-kids .tpma-kids-launch-emoji{
  width: 58px;
  height: 58px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.18);
  background: color-mix(in oklab, rgba(255,255,255,0.10) 74%, var(--tpma-card-accent, var(--tpma-accent)) 14%);
  color: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 70%, rgba(255,255,255,0.92));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
}

.tpma-hub-kids .tpma-kids-launch-ico{
  width: 30px;
  height: 30px;
}

.tpma-hub-kids .tpma-kids-launch-text{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.tpma-hub-kids .tpma-kids-launch-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 16px;
}

.tpma-hub-kids .tpma-kids-launch-sub{
  color: var(--tpma-text-lo);
  font-size: 12.5px;
  line-height: 1.25;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.tpma-hub-kids .tpma-kids-launch-go{
  margin-left: 0;
  margin-top: auto;
  opacity: 0.75;
  font-weight: 900;
  position: relative;
  z-index: 1;
}

.tpma-hub-kids .tpma-kids-quick{
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.tpma-hub-kids .tpma-kids-chip{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-hi);
  border-radius: 999px;
  padding: 9px 11px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: inherit;
  text-decoration: none;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
  box-shadow: 0 14px 40px rgba(0,0,0,0.20);
}

.tpma-hub-kids .tpma-kids-chip:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

.tpma-hub-kids .tpma-kids-chip-random{
  border-color: color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.18));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(0,0,0,0.18));
}

.tpma-hub-kids .tpma-kids-chip-emoji{
  font-size: 16px;
  line-height: 1;
}

.tpma-hub-kids .tpma-kids-chip-label{
  font-weight: 900;
  font-size: 13px;
  letter-spacing: 0.15px;
}

.tpma-kids-lab{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tpma-kids-lab-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tpma-kids-lab-item{
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.14);
  border-radius: 18px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-kids-color{
  width: 100%;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.16);
  padding: 6px;
}

.tpma-kids-lab-row{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-kids-patterns{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-kids-pattern{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.16);
  color: var(--tpma-text-md);
  border-radius: 999px;
  padding: 8px 10px;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-kids-pattern:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
}

.tpma-kids-pattern.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 14%, rgba(0,0,0,0.16));
  color: var(--tpma-text-hi);
}

.tpma-kids-tones .tpma-kids-tone{
  font-size: 18px;
  padding: 10px 12px;
}

.tpma-kids-lab-hint{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

@media (max-width: 640px){
  .tpma-kids-lab-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-hub-kids .tpma-kids-launchpad,
.tpma-shell-kids .tpma-kids-controls,
.tpma-hub-kids .tpma-kids-quick{
  max-width: 100%;
}

@media (max-width: 860px){
  .tpma-hub-kids .tpma-kids-hero-layout{
    flex-direction: column;
    align-items: flex-start;
  }
  .tpma-hub-kids .tpma-kids-hero-art{
    width: min(340px, 92vw);
    align-self: center;
  }
}

@media (max-width: 560px){
  .tpma-hub-kids .tpma-kids-launchpad{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px){
  .tpma-hub-kids .tpma-kids-hero-title{
    font-size: 24px;
  }
}

.tpma-hub-kids .tpma-hub-controls{
  padding: 16px;
}

.tpma-hub-kids .tpma-hub-controls::before{
  content: "";
  position: absolute;
  inset: -40% -30% auto -30%;
  height: 260px;
  background:
    radial-gradient(60% 60% at 20% 30%, color-mix(in oklab, var(--tpma-accent) 26%, transparent), transparent 70%),
    radial-gradient(55% 55% at 78% 18%, rgba(57,213,255,0.20), transparent 70%),
    radial-gradient(45% 45% at 70% 85%, rgba(255,176,32,0.16), transparent 70%);
  filter: blur(20px) saturate(1.15);
  opacity: 0.95;
  pointer-events: none;
}

.tpma-hub-kids .tpma-kids-guided-head{
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 4px 2px 2px;
}

.tpma-hub-kids .tpma-kids-guided-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-hub-kids .tpma-kids-guided-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

.tpma-hub-kids .tpma-hub-goals{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 520px){
  .tpma-hub-kids .tpma-hub-goals{
    grid-template-columns: 1fr;
  }
}

@media (min-width: 980px){
  .tpma-hub-kids .tpma-hub-goals{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.tpma-hub-kids .tpma-hub-goal-kids{
  width: 100%;
  min-width: 0;
  border-radius: 20px;
  padding: 14px 14px 12px;
  background: color-mix(in oklab, rgba(255,255,255,0.10) 88%, var(--tpma-accent) 12%);
  box-shadow: 0 18px 50px rgba(0,0,0,0.28);
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 10px;
  text-align: left;
}

.tpma-hub-kids .tpma-hub-goal-kids:hover{
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--tpma-accent) 46%, rgba(255,255,255,0.22));
}

.tpma-hub-kids .tpma-hub-goal-kids:active{
  transform: translateY(-1px);
}

.tpma-hub-kids .tpma-hub-goal-kids.is-active{
  color: var(--tpma-text-hi);
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--tpma-accent) 26%, rgba(255,255,255,0.14)),
    color-mix(in oklab, var(--tpma-accent) 12%, rgba(255,255,255,0.06))
  );
  border-color: color-mix(in oklab, var(--tpma-accent) 62%, rgba(255,255,255,0.22));
}

.tpma-hub-kids .tpma-hub-goal-kids .tpma-hub-goal-emoji{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.18);
  background: color-mix(in oklab, var(--tpma-accent) 14%, rgba(255,255,255,0.08));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.tpma-hub-kids .tpma-hub-goal-text{
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.tpma-hub-kids .tpma-hub-goal-kids .tpma-hub-goal-label{
  font-weight: 900;
  letter-spacing: 0.2px;
  color: var(--tpma-text-hi);
}

.tpma-hub-kids .tpma-hub-goal-desc{
  color: var(--tpma-text-lo);
  font-size: 12.5px;
  line-height: 1.25;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.tpma-hub-kids .tpma-hub-toolkits{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpma-hub-kids .tpma-hub-toolkit{
  border-radius: 20px;
  background: color-mix(in oklab, rgba(0,0,0,0.16) 76%, var(--tpma-accent) 10%);
  box-shadow: 0 18px 50px rgba(0,0,0,0.26);
}

.tpma-hub-kids .tpma-hub-toolkit:hover{
  transform: translateY(-3px);
}

.tpma-hub-kids .tpma-hub-toolkit:active{
  transform: translateY(-1px);
}

.tpma-hub-kids .tpma-hub-toolkit-emoji{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: color-mix(in oklab, rgba(255,255,255,0.10) 80%, var(--tpma-accent) 12%);
  font-size: 20px;
}

.tpma-hub-kids .tpma-hub-toolkit-sub{
  max-width: 60ch;
}

.tpma-hub-kids .tpma-hub-search-row input{
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,0.08);
}

.tpma-hub-kids .tpma-hub-search.tpma-hub-search-kids{
  margin-top: 14px;
}

.tpma-hub-kids .tpma-hub-voice,
.tpma-hub-kids .tpma-hub-scan{
  width: 50px;
  height: 50px;
  border-radius: 18px;
  background: rgba(255,255,255,0.08);
}

.tpma-hub-kids .tpma-hub-sections{
  gap: 20px;
}

.tpma-hub-kids .tpma-hub-section-title{
  font-size: 20px;
}

.tpma-hub-kids .tpma-hub-grid{
  gap: 14px;
}

.tpma-hub-kids .tpma-hub-card{
  grid-column: span 6;
  padding-right: 14px;
  border-color: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 40%, rgba(255,255,255,0.16));
  background: color-mix(in oklab, rgba(255,255,255,0.08) 78%, var(--tpma-card-accent, var(--tpma-accent)) 16%);
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-hub-kids .tpma-hub-suggest-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}

.tpma-hub-kids .tpma-hub-suggest-card{
  grid-column: span 6;
  border-color: rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.08);
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-hub-kids .tpma-hub-suggest-card:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,0.30);
}

.tpma-hub-kids .tpma-hub-suggest-sub{
  display: none;
}

.tpma-hub-kids .tpma-hub-card:hover{
  transform: translateY(-2px);
  border-color: color-mix(in oklab, var(--tpma-card-accent, var(--tpma-accent)) 62%, rgba(255,255,255,0.20));
}

.tpma-hub-kids .tpma-hub-emoji{
  width: 44px;
  height: 44px;
}

.tpma-hub-kids .tpma-hub-icon-fallback{
  font-size: 34px;
}

.tpma-hub-kids .tpma-hub-title{
  font-size: 16px;
}

.tpma-hub-kids .tpma-hub-sub{
  display: none;
}

.tpma-hub-kids .tpma-hub-go{
  display: none;
}

.tpma-hub-kids .tpma-kids-quests{
  padding: 16px;
  position: relative;
  overflow: hidden;
}

.tpma-hub-kids .tpma-kids-quests::before{
  content: "";
  position: absolute;
  inset: -40% -30% auto -30%;
  height: 240px;
  background:
    radial-gradient(60% 60% at 18% 32%, color-mix(in oklab, var(--tpma-accent) 22%, transparent), transparent 70%),
    radial-gradient(55% 55% at 82% 20%, rgba(57,213,255,0.18), transparent 70%),
    radial-gradient(45% 45% at 72% 88%, rgba(255,176,32,0.14), transparent 70%);
  filter: blur(18px) saturate(1.15);
  opacity: 0.95;
  pointer-events: none;
}

.tpma-kids-quests-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.tpma-kids-quests-title{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 16px;
}

.tpma-kids-quests-right{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-kids-quests-progress,
.tpma-kids-quests-streak{
  color: var(--tpma-text-lo);
  font-size: 13px;
}

.tpma-kids-quests-grid{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  position: relative;
  z-index: 1;
}

.tpma-kids-quest{
  text-decoration: none;
  color: var(--tpma-text-hi);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 74px;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
  min-width: 0;
}

.tpma-kids-quest:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.08);
}

.tpma-kids-quest.is-done{
  border-color: color-mix(in oklab, var(--tpma-accent) 56%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(0,0,0,0.18));
}

.tpma-kids-quest-emoji{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 26px;
  line-height: 1;
}

.tpma-kids-quest-text{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.tpma-kids-quest-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-kids-quest-sub{
  color: var(--tpma-text-lo);
  font-size: 12.5px;
  line-height: 1.25;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.tpma-kids-quest-go{
  margin-left: auto;
  opacity: 0.78;
  font-weight: 900;
}

.tpma-kids-badges-top{
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}

.tpma-kids-badges-streak{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-kids-badges-hint{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

.tpma-kids-badges-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tpma-kids-badge{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.16);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tpma-kids-badge-emoji{
  font-size: 28px;
  line-height: 1;
}

.tpma-kids-badge-title{
  font-weight: 900;
  letter-spacing: 0.2px;
}

.tpma-kids-badge-sub{
  color: var(--tpma-text-lo);
  font-size: 12.5px;
  line-height: 1.25;
}

.tpma-kids-badges-empty{
  padding: 12px;
  border-radius: 14px;
  border: 1px dashed rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.12);
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

@media (max-width: 1100px){
  .tpma-hub-kids .tpma-hub-card{
    grid-column: span 12;
  }
}

@media (max-width: 920px){
  .tpma-hub-kids .tpma-hub-suggest-card{
    grid-column: span 12;
  }
  .tpma-kids-quests-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tpma-kids-badges-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){
  .tpma-hub-kids .tpma-hub-toolkits{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px){
  .tpma-kids-quests-grid{
    grid-template-columns: 1fr;
  }
  .tpma-kids-badges-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-shell-kids .tpma-kids-yt{
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: min(520px, 100%);
}

.tpma-shell-kids .tpma-kids-yt-input{
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  color: var(--tpma-text-hi);
  font-size: 14px;
}

.tpma-shell-kids .tpma-kids-yt-input::placeholder{
  color: rgba(255,255,255,0.55);
}

.tpma-shell-kids .tpma-kids-yt-input:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.25));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 22%, transparent);
}

/* Abacus finance pages */
.tpma-shell-finance{
  min-width: 0;
  overflow-x: clip;
  padding-inline: clamp(16px, 3.2vw, 52px);
  padding-top: clamp(14px, 1.6vw, 28px);
  padding-bottom: clamp(28px, 4vw, 50px);
}

.tpma-shell-finance .tpma-topbar,
.tpma-shell-finance .tpma-hero,
.tpma-shell-finance .tpma-main{
  width: min(1980px, 96vw);
  margin-inline: auto;
}

.tpma-shell-finance .tpma-footer{
  width: min(1980px, 96vw);
  margin-inline: auto;
}

.tpma-shell,
.tpma-main,
.tpma-main-finance,
.tpma-fin-main,
.tpma-fin-rail{
  min-width: 0;
}

body.tpma-body:not(.tpma-body-games):not(.tpma-body-workspace){
  overflow-y: auto !important;
  overscroll-behavior-y: auto;
}

.tpma-shell{
  overflow-x: clip;
}

.tpma-shell-finance .tpma-fin-hero{
  gap: 14px;
}

.tpma-fin-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-fin-chip,
.tpma-fin-inline-btn{
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.08);
  color: var(--tpma-text-hi);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tpma-fin-chip:hover,
.tpma-fin-inline-btn:hover{
  background: rgba(255,255,255,0.15);
}

.tpma-main-finance{
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(22px, 2.2vw, 40px);
  align-items: start;
  min-width: 0;
  position: relative;
  padding-right: 0;
}

.tpma-shell-finance.tpma-fin-rail-open .tpma-fin-main{
  margin-right: clamp(280px, 19vw, 350px);
}

.tpma-fin-main{
  display: grid;
  gap: clamp(28px, 2.9vw, 44px);
  min-width: 0;
  padding: clamp(24px, 2.2vw, 44px);
}

.tpma-fin-product{
  padding: 18px;
}

.tpma-fin-copy,
.tpma-fin-row{
  line-height: 1.55;
}

.tpma-fin-portfolio{
  border: 1px solid rgba(150,227,255,0.26);
  border-radius: 22px;
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(113,181,255,0.18) 0%, rgba(113,181,255,0.00) 58%),
    radial-gradient(140% 130% at 100% 100%, rgba(118,255,217,0.14) 0%, rgba(118,255,217,0.00) 62%),
    rgba(5,12,24,0.78);
  padding: 16px;
  display: grid;
  gap: 12px;
  box-shadow: 0 18px 55px rgba(0,0,0,0.4);
}

.tpma-fin-portfolio.is-locked{
  opacity: 0.96;
}

.tpma-fin-portfolio-head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.tpma-fin-portfolio-title{
  margin: 4px 0 0;
  font-size: 20px;
}

.tpma-fin-portfolio-head-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-fin-portfolio-status{
  min-height: 18px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-fin-portfolio-status.is-ok{
  color: #7ef0bf;
}

.tpma-fin-portfolio-status.is-error{
  color: #ff9b9b;
}

.tpma-fin-portfolio-status.is-warn{
  color: #ffd67b;
}

.tpma-fin-portfolio-summary{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.tpma-fin-portfolio-kpi{
  border: 1px solid rgba(188,223,248,0.22);
  border-radius: 14px;
  padding: 10px;
  background: rgba(0,0,0,0.2);
  display: grid;
  gap: 4px;
  min-width: 0;
}

.tpma-fin-portfolio-kpi-label{
  font-size: 11px;
  color: var(--tpma-text-lo);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.tpma-fin-portfolio-kpi strong{
  font-size: 14px;
  line-height: 1.25;
}

.tpma-fin-portfolio-kpi .is-up{
  color: #7ef0bf;
}

.tpma-fin-portfolio-kpi .is-down{
  color: #ff9b9b;
}

.tpma-fin-portfolio-layout{
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 2fr) minmax(300px, 1fr);
  gap: 12px;
  align-items: start;
}

.tpma-fin-portfolio-col{
  border: 1px solid rgba(175,218,246,0.22);
  border-radius: 16px;
  background: rgba(6,13,25,0.56);
  padding: 12px;
  display: grid;
  gap: 10px;
  min-width: 0;
}

.tpma-fin-portfolio-panel-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.tpma-fin-portfolio-panel-head h4{
  margin: 0;
  font-size: 15px;
}

.tpma-fin-portfolio-filters{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.tpma-fin-portfolio-filters input,
.tpma-fin-portfolio-filters select,
.tpma-fin-portfolio-import label select,
.tpma-fin-portfolio-import textarea,
.tpma-fin-portfolio-import input[type="file"]{
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(188,223,248,0.26);
  background: rgba(4,12,26,0.72);
  color: rgba(235,248,255,0.95);
  padding: 8px 9px;
  font-size: 12px;
  box-sizing: border-box;
}

.tpma-fin-portfolio-holdings-list{
  max-height: min(60vh, 700px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  display: grid;
  gap: 8px;
}

.tpma-fin-portfolio-holding{
  border: 1px solid rgba(188,223,248,0.18);
  border-radius: 12px;
  padding: 9px;
  background: rgba(0,0,0,0.2);
  display: grid;
  gap: 5px;
  width: 100%;
  color: var(--tpma-text-hi);
  cursor: pointer;
  text-align: left;
  transition: border-color 120ms ease, background 120ms ease, transform 120ms ease;
}

.tpma-fin-portfolio-holding:hover{
  border-color: rgba(188,223,248,0.34);
  background: rgba(255,255,255,0.06);
}

.tpma-fin-portfolio-holding.is-selected{
  border-color: rgba(137,242,209,0.75);
  background: rgba(49,143,177,0.22);
  box-shadow: 0 0 0 1px rgba(172,255,236,0.22);
}

.tpma-fin-portfolio-holding:focus-visible{
  outline: 2px solid rgba(172,255,236,0.72);
  outline-offset: 1px;
}

.tpma-fin-portfolio-holding-head{
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  font-size: 13px;
}

.tpma-fin-portfolio-holding-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-fin-portfolio-holding-meta{
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 11px;
  color: rgba(216,236,248,0.86);
}

.tpma-fin-portfolio-holding-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.tpma-fin-portfolio-holding-tags span{
  border: 1px solid rgba(188,223,248,0.24);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 10px;
  color: rgba(216,236,248,0.9);
  background: rgba(255,255,255,0.06);
}

.tpma-fin-portfolio-chart-wrap{
  min-width: 0;
}

.tpma-fin-chart-canvas-portfolio{
  height: clamp(320px, 54vh, 720px);
  min-height: 280px;
}

.tpma-fin-portfolio-symbol-card{
  border: 1px solid rgba(188,223,248,0.18);
  border-radius: 14px;
  background: rgba(0,0,0,0.2);
  padding: 10px;
  display: grid;
  gap: 8px;
}

.tpma-fin-portfolio-symbol-chart{
  border: 1px solid rgba(188,223,248,0.18);
  border-radius: 12px;
  background: rgba(4,12,26,0.72);
  min-height: clamp(260px, 38vh, 520px);
  overflow: hidden;
}

.tpma-fin-symbol-iframe{
  width: 100%;
  min-height: clamp(260px, 38vh, 520px);
  border: 0;
  display: block;
}

.tpma-fin-portfolio-ranges{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.tpma-fin-portfolio-alloc-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.tpma-fin-portfolio-alloc-card{
  border: 1px solid rgba(188,223,248,0.18);
  border-radius: 12px;
  padding: 10px;
  background: rgba(0,0,0,0.2);
  display: grid;
  gap: 7px;
}

.tpma-fin-portfolio-alloc-card h5{
  margin: 0;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--tpma-text-lo);
}

.tpma-fin-portfolio-bar-row{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(90px, 1fr) auto;
  gap: 7px;
  align-items: center;
  font-size: 11px;
}

.tpma-fin-portfolio-bar{
  border-radius: 999px;
  background: rgba(255,255,255,0.1);
  height: 8px;
  overflow: hidden;
}

.tpma-fin-portfolio-bar span{
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(117,218,255,0.9), rgba(115,255,210,0.95));
}

.tpma-fin-portfolio-bar-label{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-fin-portfolio-bar-val{
  color: var(--tpma-text-lo);
}

.tpma-fin-portfolio-trade-form{
  display: grid;
  gap: 8px;
}

.tpma-fin-portfolio-trade-form label{
  display: grid;
  gap: 4px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-fin-portfolio-trade-form input,
.tpma-fin-portfolio-trade-form select{
  width: 100%;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 10px;
  background: rgba(0,0,0,0.2);
  color: var(--tpma-text-hi);
  padding: 8px 9px;
  font-size: 12px;
  box-sizing: border-box;
}

.tpma-fin-portfolio-ledger-table{
  max-height: min(40vh, 420px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.tpma-fin-portfolio-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.tpma-fin-portfolio-table th,
.tpma-fin-portfolio-table td{
  padding: 7px 6px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  vertical-align: top;
  text-align: left;
}

.tpma-fin-portfolio-pill{
  display: inline-flex;
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,0.2);
}

.tpma-fin-portfolio-pill.is-buy{
  color: #a7ffd7;
  border-color: rgba(117,255,195,0.5);
}

.tpma-fin-portfolio-pill.is-sell{
  color: #ffc2c2;
  border-color: rgba(255,146,146,0.5);
}

.tpma-fin-portfolio-import{
  display: grid;
  gap: 8px;
}

.tpma-fin-portfolio-import label{
  display: grid;
  gap: 4px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-fin-portfolio-import-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-fin-portfolio-parse-preview{
  max-height: min(34vh, 360px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(188,223,248,0.16);
  border-radius: 12px;
  padding: 8px;
  background: rgba(0,0,0,0.18);
}

.tpma-fin-portfolio-parse-head{
  font-size: 11px;
  color: var(--tpma-text-lo);
  margin-bottom: 6px;
}

.tpma-fin-portfolio-parse-table-wrap{
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.tpma-fin-portfolio-news{
  display: grid;
  gap: 8px;
}

.tpma-fin-portfolio-news-tabs{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-fin-portfolio-news-list{
  max-height: min(42vh, 460px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  display: grid;
  gap: 8px;
}

.tpma-fin-portfolio-news-why{
  font-size: 10.5px;
  color: rgba(200,230,245,0.74);
}

.tpma-fin-portfolio-empty{
  font-size: 12px;
  color: var(--tpma-text-lo);
  border: 1px dashed rgba(188,223,248,0.18);
  border-radius: 10px;
  padding: 9px;
}

.tpma-fin-exchange-card{
  border: 1px solid rgba(137,242,209,0.28);
  border-radius: 20px;
  background:
    radial-gradient(120% 130% at 0% 0%, rgba(50,154,227,0.20) 0%, rgba(50,154,227,0.00) 56%),
    radial-gradient(120% 130% at 100% 100%, rgba(137,242,209,0.18) 0%, rgba(137,242,209,0.00) 60%),
    rgba(7,14,28,0.68);
  box-shadow: 0 16px 45px rgba(0,0,0,0.38), inset 0 1px 0 rgba(255,255,255,0.12);
  padding: 16px;
  display: grid;
  gap: 12px;
  min-width: 0;
}

.tpma-fin-exchange-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}

.tpma-fin-exchange-head h3{
  margin: 0;
  font-size: 16px;
  letter-spacing: 0.02em;
}

.tpma-fin-exchange-meta{
  font-size: 11.5px;
  color: var(--tpma-text-lo);
}

.tpma-fin-exchange-chart{
  border: 1px solid rgba(171,227,255,0.24);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(2,8,20,0.86) 0%, rgba(8,18,34,0.78) 100%);
  padding: 14px;
  display: grid;
  gap: 10px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
  min-width: 0;
}

.tpma-fin-exchange-foot{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.tpma-fin-timeframe-shell{
  display: grid;
  gap: 8px;
  border: 1px solid rgba(140,220,255,0.20);
  border-radius: 16px;
  padding: 10px;
  background:
    linear-gradient(120deg, rgba(20,40,78,0.35) 0%, rgba(14,26,52,0.20) 48%, rgba(25,53,69,0.34) 100%),
    rgba(6,12,24,0.66);
}

.tpma-fin-timeframe-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-fin-timeframe-title{
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(228,245,255,0.88);
}

.tpma-fin-timeframe-note{
  font-size: 11px;
  color: rgba(210,232,245,0.72);
}

.tpma-fin-timeframe-row{
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.tpma-fin-chart-options-shell,
.tpma-fin-filters-shell{
  display: grid;
  gap: 8px;
  border: 1px solid rgba(140,220,255,0.20);
  border-radius: 16px;
  padding: 10px;
  background:
    linear-gradient(120deg, rgba(16,35,70,0.32) 0%, rgba(11,22,45,0.22) 48%, rgba(20,44,57,0.30) 100%),
    rgba(6,12,24,0.66);
}

.tpma-fin-chart-options-head,
.tpma-fin-filters-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-fin-chart-options-row{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-fin-toggle{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(162,206,238,0.34);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 700;
  color: rgba(233,247,255,0.92);
  background: rgba(255,255,255,0.08);
}

.tpma-fin-toggle input{
  margin: 0;
}

.tpma-fin-link-btn{
  border: 0;
  background: transparent;
  color: rgba(177,235,255,0.95);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
}

.tpma-fin-link-btn:hover{
  color: rgba(214,247,255,1);
}

.tpma-fin-filters-grid{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.tpma-fin-filter{
  display: grid;
  gap: 4px;
  min-width: 0;
}

.tpma-fin-filter span{
  font-size: 11px;
  color: rgba(210,232,245,0.82);
}

.tpma-fin-filter input,
.tpma-fin-filter select{
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(184,222,248,0.26);
  background: rgba(4,12,26,0.74);
  color: rgba(235,248,255,0.95);
  font-size: 12px;
  padding: 7px 9px;
}

.tpma-fin-filter input::placeholder{
  color: rgba(194,220,237,0.64);
}

.tpma-fin-time-btn{
  border: 1px solid rgba(162,206,238,0.34);
  background: rgba(255,255,255,0.08);
  color: rgba(233,247,255,0.90);
  border-radius: 999px;
  padding: 6px 11px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
  flex: 0 0 auto;
}

.tpma-fin-time-btn:hover{
  border-color: rgba(197,235,255,0.66);
  background: rgba(255,255,255,0.16);
  transform: translateY(-1px);
}

.tpma-fin-time-btn.is-active{
  border-color: rgba(166,248,232,0.86);
  background: linear-gradient(135deg, rgba(93,204,255,0.30) 0%, rgba(95,255,205,0.32) 100%);
  color: rgba(244,253,255,0.98);
  box-shadow: 0 0 0 1px rgba(172,255,236,0.22), 0 8px 24px rgba(49,143,177,0.34);
}

.tpma-fin-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-fin-kicker{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--tpma-text-lo);
}

.tpma-fin-title{
  margin: 4px 0 0;
  font-size: 22px;
}

.tpma-fin-head-meta{
  text-align: right;
  display: grid;
  justify-items: end;
  gap: 4px;
}

.tpma-fin-updated{
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-fin-staleness{
  font-size: 12px;
  font-weight: 700;
  color: var(--tpma-text-hi);
}

.tpma-fin-provider-v2{
  border: 1px solid rgba(172,216,255,0.20);
  border-radius: 16px;
  background:
    radial-gradient(120% 110% at 0% 0%, color-mix(in oklab, var(--tpma-accent) 18%, transparent) 0%, transparent 58%),
    rgba(255,255,255,0.045);
  padding: 16px;
  display: grid;
  gap: 14px;
  min-width: 0;
}

.tpma-fin-provider-intro{
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(260px, 1.1fr);
  gap: 14px;
  align-items: start;
}

.tpma-fin-provider-intro h2{
  margin: 4px 0 0;
  font-size: 22px;
  line-height: 1.12;
}

.tpma-fin-provider-intro p{
  margin: 0;
  color: var(--tpma-text-lo);
  line-height: 1.5;
}

.tpma-fin-provider-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-fin-provider-card{
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 14px;
  background: rgba(2,9,20,0.42);
  padding: 12px;
  display: grid;
  gap: 8px;
  min-width: 0;
}

.tpma-fin-provider-card h3{
  margin: 0;
  font-size: 14px;
}

.tpma-fin-provider-card ul{
  margin: 0;
  padding-left: 17px;
  display: grid;
  gap: 5px;
  color: var(--tpma-text-lo);
  font-size: 12.5px;
  line-height: 1.42;
}

.tpma-fin-provider-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-fin-products-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
  min-width: 0;
}

.tpma-shell-finance[data-fin-product-type="market_exchange"] .tpma-fin-products-grid{
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 18px;
}

.tpma-fin-products-tools{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-fin-products-count{
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-fin-product{
  border: 1px solid rgba(172,216,255,0.18);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(4,11,22,0.84) 0%, rgba(9,19,38,0.72) 100%);
  padding: 16px;
  display: grid;
  gap: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.30);
  min-width: 0;
}

.tpma-fin-product-realestate{
  overflow: hidden;
}

.tpma-fin-product-market{
  border-color: rgba(132,211,255,0.30);
  background:
    radial-gradient(130% 120% at 0% 0%, rgba(92,157,255,0.17) 0%, rgba(92,157,255,0.00) 56%),
    linear-gradient(185deg, rgba(4,12,26,0.90) 0%, rgba(8,16,31,0.78) 100%);
  padding: 18px;
}

.tpma-fin-property-thumb{
  width: 100%;
  height: 156px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.05);
}

.tpma-fin-product-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.tpma-fin-provider-wrap{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.tpma-fin-provider-logo{
  width: 24px;
  height: 24px;
  border-radius: 8px;
  object-fit: cover;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,0.20);
  background: rgba(255,255,255,0.10);
  box-shadow: 0 8px 20px rgba(0,0,0,0.30);
}

.tpma-fin-provider{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--tpma-text-lo);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-fin-badge{
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.08);
}

.tpma-fin-product-title{
  font-weight: 800;
  font-size: 15px;
}

.tpma-fin-copy{
  margin: 0;
  color: var(--tpma-text-lo);
  font-size: 13.5px;
  line-height: 1.5;
}

.tpma-fin-row{
  font-size: 13px;
  line-height: 1.45;
  color: var(--tpma-text-hi);
}

.tpma-fin-card-actions{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tpma-fin-chart{
  border: 1px solid rgba(180,228,255,0.23);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(2,8,20,0.85) 0%, rgba(9,20,38,0.78) 100%);
  padding: 12px;
  display: grid;
  gap: 7px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07);
  min-width: 0;
}

.tpma-fin-chart-canvas{
  position: relative;
  width: 100%;
  height: 188px;
  min-height: 176px;
  border-radius: 12px;
  border: 1px solid rgba(178,226,255,0.20);
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(82,178,255,0.12) 0%, rgba(82,178,255,0.00) 58%),
    linear-gradient(180deg, rgba(5,13,28,0.88) 0%, rgba(8,18,35,0.82) 100%);
  overflow: hidden;
}

.tpma-fin-chart-canvas-exchange{
  height: 420px;
  min-height: 320px;
}

.tpma-fin-lw-surface{
  width: 100%;
  height: 100%;
}

.tpma-fin-chart-spark{
  width: 100%;
  height: 130px;
}

.tpma-fin-chart-spark svg{
  width: 100%;
  height: 100%;
  display: block;
}

.tpma-fin-chart-empty{
  font-size: 11px;
  color: var(--tpma-text-lo);
  min-height: 24px;
  display: flex;
  align-items: center;
}

.tpma-fin-chart .tpma-fin-chart-empty,
.tpma-fin-exchange-chart .tpma-fin-chart-empty{
  min-height: 120px;
  justify-content: center;
}

.tpma-fin-chart-meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 11.5px;
  color: var(--tpma-text-lo);
}

.tpma-fin-chart-meta.is-up{
  color: #7ef0bf;
}

.tpma-fin-chart-meta.is-down{
  color: #ff9d9d;
}

.tpma-fin-chart-foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 10.5px;
  color: rgba(214,236,252,0.76);
}

.tpma-fin-chart-caption{
  font-size: 10.5px;
  color: rgba(206,228,243,0.64);
}

.tpma-fin-product-foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.tpma-fin-freshness{
  font-size: 11px;
  color: var(--tpma-text-lo);
}

.tpma-fin-educate h3,
.tpma-fin-disclosure-title{
  margin: 0 0 8px;
  font-size: 15px;
}

.tpma-fin-educate ul,
.tpma-fin-disclosure ul{
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}

.tpma-fin-disclosure{
  border: 1px dashed rgba(255,255,255,0.24);
  background: rgba(255,255,255,0.03);
  border-radius: 14px;
  padding: 12px;
}

.tpma-fin-disclosure-note{
  margin: 10px 0 0;
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.4;
}

.tpma-fin-rail{
  --tpma-fin-rail-width: clamp(280px, 20vw, 340px);
  display: grid;
  gap: 10px;
  min-width: 0;
  align-self: start;
  position: fixed;
  width: var(--tpma-fin-rail-width);
  max-width: 100%;
  right: clamp(14px, 2.8vw, 36px);
  top: clamp(84px, 11vh, 132px);
  max-height: min(86vh, calc(100vh - 132px));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 11px;
  border-radius: 20px;
  border: 1px solid rgba(178,223,255,0.26);
  background:
    radial-gradient(180% 180% at 10% 0%, rgba(113,181,255,0.13), transparent 66%),
    radial-gradient(160% 160% at 100% 100%, rgba(118,255,217,0.10), transparent 64%),
    rgba(4, 12, 23, 0.80);
  backdrop-filter: blur(9px);
  z-index: 24;
  box-shadow: 0 22px 45px rgba(0, 0, 0, 0.45);
  transition: top 160ms ease, max-height 160ms ease, padding 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tpma-shell-finance.tpma-fin-rail-open .tpma-fin-rail{
  padding: 12px;
  top: clamp(86px, 11vh, 130px);
  max-height: min(89vh, calc(100vh - 114px));
  box-shadow: 0 26px 52px rgba(0, 0, 0, 0.52);
}

.tpma-fin-rail:not(.is-form-open) .tpma-fin-lead-form{
  max-height: 0;
}

.tpma-fin-rail:not(.is-form-open){
  gap: 8px;
  padding: 10px 10px 12px;
}

.tpma-fin-rail:not(.is-form-open) .tpma-fin-rail-head p{
  display: none;
}

.tpma-fin-rail:not(.is-form-open) .tpma-fin-cta .tpma-btn{
  width: 100%;
}

.tpma-fin-rail:not(.is-form-open) .tpma-fin-cta .tpma-btn.tpma-fin-provider-link,
.tpma-fin-rail:not(.is-form-open) .tpma-fin-cta .tpma-btn-ghost:not(.tpma-fin-form-toggle){
  display: none;
}

.tpma-fin-rail.is-form-open .tpma-fin-rail-head p{
  display: block;
  max-height: none;
}

.tpma-fin-form-toggle{
  border-color: rgba(178,223,255,0.42);
  background: rgba(255,255,255,0.14);
  justify-content: center;
  width: 100%;
  white-space: nowrap;
  padding-inline: 12px;
}

.tpma-fin-rail-head{
  display: grid;
  gap: 4px;
}

.tpma-fin-rail-head h3{
  margin: 0;
  font-size: 18px;
}

.tpma-fin-rail-head p{
  margin: 4px 0 0;
  color: var(--tpma-text-lo);
}

.tpma-fin-cta{
  display: grid;
  gap: 7px;
  margin-top: 2px;
}

.tpma-fin-rail .tpma-fin-cta .tpma-btn{
  width: 100%;
  justify-content: center;
}

.tpma-fin-provider-link{
  text-align: center;
}

.tpma-fin-lead-form{
  display: grid;
  gap: 11px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: max-height 260ms ease, opacity 180ms ease, transform 180ms ease;
}

.tpma-fin-rail.is-form-open .tpma-fin-lead-form{
  max-height: 2000px;
  opacity: 1;
  overflow: visible;
  pointer-events: auto;
  transform: translateY(0);
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.tpma-fin-lead-form label{
  display: grid;
  gap: 4px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-fin-lead-form input,
.tpma-fin-lead-form textarea,
.tpma-fin-lead-form select{
  width: 100%;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 12px;
  background: rgba(0,0,0,0.2);
  color: var(--tpma-text-hi);
  padding: 9px 10px;
  font-size: 13px;
}

.tpma-fin-form-action .tpma-btn{
  justify-content: center;
}

.tpma-fin-grid2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.tpma-fin-consent{
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: var(--tpma-text-hi);
}

.tpma-fin-consent input{
  width: auto;
  margin-top: 2px;
}

.tpma-fin-submit{
  display: flex;
  justify-content: flex-start;
}

.tpma-fin-lead-status{
  min-height: 20px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-fin-lead-status.is-ok{
  color: #76f5b4;
}

.tpma-fin-lead-status.is-waitlist{
  color: #ffd27a;
}

.tpma-fin-lead-status.is-error{
  color: #ff8b8b;
}

.tpma-fin-profile-modal{
  position: fixed;
  inset: 0;
  z-index: 10040;
  background: rgba(3,6,12,0.62);
  backdrop-filter: blur(4px);
  padding: 20px;
  display: grid;
  place-items: center;
}

.tpma-fin-profile-panel{
  width: min(920px, 100%);
  max-height: min(90vh, 820px);
  overflow: auto;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.18);
  background: color-mix(in oklab, var(--tpma-bg) 86%, black 14%);
  box-shadow: 0 24px 70px rgba(0,0,0,0.52);
  display: grid;
  gap: 10px;
  padding: 14px;
}

.tpma-fin-profile-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-fin-profile-title{
  margin: 0;
  font-size: 20px;
}

.tpma-fin-profile-sub{
  margin-top: 2px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-fin-profile-close{
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.07);
  color: var(--tpma-text-hi);
  border-radius: 10px;
  width: 34px;
  height: 34px;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}

.tpma-fin-profile-tabs{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-fin-profile-tab{
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.tpma-fin-profile-tab.is-active{
  background: color-mix(in oklab, var(--tpma-accent) 30%, rgba(255,255,255,0.12));
  border-color: color-mix(in oklab, var(--tpma-accent) 60%, rgba(255,255,255,0.2));
}

.tpma-fin-profile-body{
  display: grid;
}

.tpma-fin-profile-view{
  display: none;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  padding: 12px;
}

.tpma-fin-profile-view.is-active{
  display: block;
}

.tpma-fin-profile-loading,
.tpma-fin-profile-empty{
  font-size: 13px;
  color: var(--tpma-text-lo);
}

.tpma-fin-profile-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px 12px;
}

.tpma-fin-profile-row{
  font-size: 13px;
  color: var(--tpma-text-hi);
}

.tpma-fin-profile-summary{
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--tpma-text-lo);
  line-height: 1.45;
}

.tpma-fin-profile-note{
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-fin-news-list{
  display: grid;
  gap: 8px;
}

.tpma-fin-news-item{
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-hi);
  text-decoration: none;
}

.tpma-fin-news-item:hover{
  border-color: rgba(255,255,255,0.24);
  background: rgba(255,255,255,0.06);
}

.tpma-fin-news-title{
  font-size: 13px;
  line-height: 1.35;
}

.tpma-fin-news-meta{
  font-size: 11px;
  color: var(--tpma-text-lo);
}

@media (max-width: 1000px){
  .tpma-fin-products-grid{
    grid-template-columns: 1fr;
  }
  .tpma-shell-finance.tpma-fin-rail-open .tpma-fin-main{
    margin-right: 0;
  }
  .tpma-fin-profile-grid{
    grid-template-columns: 1fr;
  }
  .tpma-fin-timeframe-head{
    flex-direction: column;
    align-items: flex-start;
  }
  .tpma-fin-filters-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tpma-shell-finance[data-fin-product-type="market_exchange"] .tpma-fin-products-grid{
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  }
  .tpma-fin-provider-intro,
  .tpma-fin-provider-grid{
    grid-template-columns: 1fr;
  }
  .tpma-fin-portfolio-summary{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .tpma-fin-portfolio-layout{
    grid-template-columns: 1fr;
  }
  .tpma-fin-portfolio-alloc-grid{
    grid-template-columns: 1fr;
  }
  .tpma-fin-rail{
    position: static;
    width: auto;
    right: auto;
    top: auto;
    max-height: none;
    overflow: visible;
  }
  .tpma-fin-lead-form{
    max-height: 2000px;
    opacity: 1;
    overflow: visible;
    pointer-events: auto;
    transform: none;
    margin-top: 2px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,0.12);
  }
}

@media (max-width: 640px){
  .tpma-fin-grid2{
    grid-template-columns: 1fr;
  }
  .tpma-fin-chart-options-row{
    flex-direction: column;
    align-items: stretch;
  }
  .tpma-fin-toggle{
    width: 100%;
    justify-content: center;
  }
  .tpma-fin-filters-grid{
    grid-template-columns: 1fr;
  }
  .tpma-fin-chart-canvas{
    height: 150px;
    min-height: 140px;
  }
  .tpma-fin-chart-canvas-exchange{
    height: 260px;
    min-height: 220px;
  }
  .tpma-fin-chip,
  .tpma-fin-inline-btn{
    width: 100%;
    text-align: center;
  }
  .tpma-fin-provider-actions{
    display: grid;
  }
  .tpma-fin-portfolio-summary{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tpma-fin-portfolio-head{
    flex-direction: column;
    align-items: flex-start;
  }
  .tpma-fin-portfolio-head-actions{
    justify-content: flex-start;
  }
  .tpma-fin-portfolio-filters{
    grid-template-columns: 1fr;
  }
  .tpma-fin-chart-canvas-portfolio{
    height: min(44vh, 360px);
    min-height: 240px;
  }
  .tpma-fin-portfolio-symbol-chart,
  .tpma-fin-symbol-iframe{
    min-height: min(44vh, 340px);
  }
  .tpma-fin-portfolio-news-tabs{
    justify-content: flex-start;
  }
}

@media (min-width: 1600px){
  .tpma-shell-finance[data-fin-product-type="market_exchange"] .tpma-fin-products-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 2100px){
  .tpma-shell-finance[data-fin-product-type="market_exchange"] .tpma-fin-products-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* =========================
   Abacus Provider v2 pages
   ========================= */

.tp-abacus-pv2{
  --abacus-paper: #f4efe4;
  --abacus-paper-2: #fbf8f0;
  --abacus-ink: #102422;
  --abacus-muted: #5f6b66;
  --abacus-line: rgba(25,44,39,0.16);
  --abacus-line-strong: rgba(25,44,39,0.28);
  --abacus-accent: var(--tpma-abacus-accent, #1fb8a6);
  --tpma-text-hi: var(--abacus-ink);
  --tpma-text-lo: var(--abacus-muted);
  --tpma-accent: var(--abacus-accent);
  color: var(--abacus-ink);
  background:
    linear-gradient(90deg, rgba(16,36,34,0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(16,36,34,0.045) 1px, transparent 1px),
    linear-gradient(180deg, #f5efe1 0%, #f9f6ed 44%, #edf2eb 100%);
  background-size: 42px 42px, 42px 42px, auto;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0;
  gap: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

.tp-abacus-pv2 *,
.tp-abacus-pv2 *::before,
.tp-abacus-pv2 *::after{
  box-sizing: border-box;
}

.tp-abacus-pv2 a{
  color: inherit;
}

.tp-abacus-pv2-topbar{
  position: sticky;
  top: 0;
  z-index: 35;
  min-height: 68px;
  display: grid;
  grid-template-columns: minmax(150px, 0.35fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 14px clamp(18px, 4vw, 54px);
  border-bottom: 1px solid var(--abacus-line);
  background: rgba(249,246,238,0.90);
  backdrop-filter: blur(14px);
}

.tp-abacus-pv2-brand{
  display: grid;
  gap: 0;
  text-decoration: none;
  line-height: 1.05;
}

.tp-abacus-pv2-brand span{
  font-size: 20px;
  font-weight: 900;
}

.tp-abacus-pv2-brand small{
  color: var(--abacus-muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.tp-abacus-pv2-nav{
  justify-self: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 4px;
  border: 1px solid var(--abacus-line);
  border-radius: 999px;
  background: rgba(255,255,255,0.58);
}

.tp-abacus-pv2-nav a,
.tp-abacus-pv2-back{
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
  color: rgba(16,36,34,0.82);
}

.tp-abacus-pv2-nav a{
  padding: 7px 12px;
  border-radius: 999px;
}

.tp-abacus-pv2-nav a:hover{
  background: rgba(16,36,34,0.08);
}

.tp-abacus-pv2-back{
  justify-self: end;
  border: 1px solid var(--abacus-line-strong);
  border-radius: 999px;
  padding: 9px 13px;
  background: #fffaf0;
}

.tp-abacus-pv2-page{
  display: grid;
  gap: clamp(28px, 4vw, 58px);
  padding: clamp(22px, 4vw, 58px);
}

.tp-abacus-pv2-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.78fr);
  gap: clamp(22px, 4vw, 56px);
  align-items: stretch;
  min-height: min(76vh, 780px);
  border-bottom: 1px solid var(--abacus-line);
  padding-bottom: clamp(28px, 5vw, 70px);
}

.tp-abacus-pv2-hero-copy{
  display: grid;
  align-content: center;
  gap: 18px;
  max-width: 900px;
}

.tp-abacus-pv2-kicker,
.tp-abacus-pv2-sector{
  margin: 0;
  color: color-mix(in oklab, var(--abacus-accent) 58%, #16332f 42%);
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 900;
}

.tp-abacus-pv2-hero h1{
  margin: 0;
  max-width: 860px;
  font-size: clamp(44px, 7.2vw, 96px);
  line-height: 0.96;
  letter-spacing: 0;
}

.tp-abacus-pv2-summary{
  margin: 0;
  max-width: 820px;
  color: var(--abacus-muted);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.42;
}

.tp-abacus-pv2-meta,
.tp-abacus-pv2-actions,
.tp-abacus-pv2-toolstrip{
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.tp-abacus-pv2-meta span{
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  border: 1px solid var(--abacus-line);
  border-radius: 999px;
  background: rgba(255,255,255,0.62);
  color: rgba(16,36,34,0.82);
  font-size: 12px;
  font-weight: 800;
}

.tp-abacus-pv2-btn{
  appearance: none;
  border: 1px solid var(--abacus-line-strong);
  border-radius: 999px;
  background: #fffaf0;
  color: var(--abacus-ink);
  cursor: pointer;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(20,38,34,0.08);
}

.tp-abacus-pv2-btn:hover{
  transform: translateY(-1px);
  border-color: color-mix(in oklab, var(--abacus-accent) 60%, var(--abacus-line-strong));
}

.tp-abacus-pv2-btn-primary{
  background: var(--abacus-ink);
  color: #fff7e9;
  border-color: var(--abacus-ink);
}

.tp-abacus-pv2-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 760px;
}

.tp-abacus-pv2-chip{
  appearance: none;
  border: 1px solid color-mix(in oklab, var(--abacus-accent) 32%, var(--abacus-line));
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
  color: rgba(16,36,34,0.88);
  cursor: pointer;
  min-height: 34px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 850;
}

.tp-abacus-pv2-chip:hover{
  background: color-mix(in oklab, var(--abacus-accent) 16%, #fff 84%);
  transform: translateY(-1px);
}

.tp-abacus-pv2-provider-logo{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  border: 1px solid var(--abacus-line);
  border-radius: 999px;
  background: rgba(255,255,255,0.76);
  color: rgba(16,36,34,0.84);
  font-size: 12px;
  font-weight: 900;
}

.tp-abacus-pv2-provider-logo img{
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
  padding: 5px;
  box-shadow: 0 6px 14px rgba(20,38,34,0.08);
}

.tp-abacus-pv2-provider-logo span{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tp-abacus-pv2-provider-logo--hero{
  width: fit-content;
  padding: 4px 13px 4px 4px;
}

.tp-abacus-pv2-provider-logo--visual{
  width: 100%;
  justify-content: flex-start;
  padding: 9px 12px;
  border-radius: 8px;
  background: rgba(255,255,255,0.58);
}

.tp-abacus-pv2-visual{
  align-self: center;
  min-height: 520px;
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 16px;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid rgba(16,36,34,0.28);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.72) 0%, rgba(239,236,222,0.54) 100%),
    repeating-linear-gradient(90deg, rgba(16,36,34,0.045) 0 1px, transparent 1px 18px);
  box-shadow: 0 32px 74px rgba(31,47,42,0.16);
}

.tp-abacus-pv2-visual-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--abacus-line);
}

.tp-abacus-pv2-visual-head span,
.tp-abacus-pv2-visual-grid small{
  color: var(--abacus-muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 900;
}

.tp-abacus-pv2-visual-head strong{
  text-align: right;
  font-size: 16px;
}

.tp-abacus-pv2-visual-steps{
  counter-reset: route-step;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tp-abacus-pv2-visual-steps li{
  min-height: 86px;
  display: grid;
  align-content: end;
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--abacus-line);
  border-radius: 6px;
  background: rgba(255,250,240,0.78);
  font-size: 12px;
  font-weight: 900;
}

.tp-abacus-pv2-visual-steps li::before{
  counter-increment: route-step;
  content: counter(route-step);
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in oklab, var(--abacus-accent) 78%, #fff 22%);
  color: #102422;
  font-size: 12px;
}

.tp-abacus-pv2-visual-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.tp-abacus-pv2-visual-grid > div{
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--abacus-line);
  border-radius: 6px;
  background: rgba(255,255,255,0.54);
}

.tp-abacus-pv2-visual-grid ul,
.tp-abacus-pv2 article ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.tp-abacus-pv2-visual-grid li,
.tp-abacus-pv2 article li{
  color: rgba(16,36,34,0.78);
  font-size: 13px;
  line-height: 1.42;
}

.tp-abacus-pv2-visual-grid li{
  display: flex;
  gap: 7px;
}

.tp-abacus-pv2-visual-grid li span{
  width: 8px;
  height: 8px;
  margin-top: 5px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--abacus-accent);
}

.tp-abacus-pv2-lens,
.tp-abacus-pv2-source,
.tp-abacus-pv2-band,
.tp-abacus-pv2-request{
  max-width: 1360px;
  width: 100%;
  margin: 0 auto;
}

.tp-abacus-pv2-lens{
  display: grid;
  grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr);
  gap: clamp(18px, 4vw, 48px);
  align-items: start;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,255,255,0.52);
}

.tp-abacus-pv2-lens h2,
.tp-abacus-pv2-section-head h2,
.tp-abacus-pv2-request h2{
  margin: 6px 0 0;
  font-size: clamp(27px, 3.8vw, 52px);
  line-height: 1.02;
  letter-spacing: 0;
}

.tp-abacus-pv2-lens dl{
  display: grid;
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--abacus-line);
}

.tp-abacus-pv2-lens-row{
  display: grid;
  grid-template-columns: minmax(140px, 0.34fr) minmax(0, 1fr);
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--abacus-line);
}

.tp-abacus-pv2-lens-row dt,
.tp-abacus-pv2-lens-row dd{
  margin: 0;
}

.tp-abacus-pv2-lens-row dt{
  color: rgba(16,36,34,0.72);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tp-abacus-pv2-lens-row dd{
  color: var(--abacus-ink);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.42;
}

.tp-abacus-pv2-source{
  display: grid;
  grid-template-columns: minmax(280px, 0.48fr) minmax(0, 1fr);
  gap: clamp(16px, 3vw, 30px);
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid color-mix(in oklab, var(--abacus-accent) 36%, var(--abacus-line));
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.74), rgba(255,250,240,0.54)),
    linear-gradient(90deg, color-mix(in oklab, var(--abacus-accent) 12%, transparent), transparent 55%);
  box-shadow: 0 22px 52px rgba(20,38,34,0.09);
}

.tp-abacus-pv2-source-main{
  display: grid;
  align-content: start;
  gap: 13px;
}

.tp-abacus-pv2-source-main h2{
  margin: 0;
  font-size: clamp(25px, 3.2vw, 44px);
  line-height: 1.04;
  letter-spacing: 0;
}

.tp-abacus-pv2-source-main p{
  margin: 0;
  color: var(--abacus-muted);
  line-height: 1.55;
  font-size: 15px;
}

.tp-abacus-pv2-source-meta,
.tp-abacus-pv2-source-foot{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tp-abacus-pv2-source-meta span,
.tp-abacus-pv2-source-foot span{
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 10px;
  border: 1px solid var(--abacus-line);
  border-radius: 999px;
  background: rgba(255,255,255,0.64);
  color: rgba(16,36,34,0.78);
  font-size: 11px;
  font-weight: 850;
}

.tp-abacus-pv2-source-links{
  display: grid;
  gap: 8px;
}

.tp-abacus-pv2-source-links a,
.tp-abacus-pv2-source-empty{
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,250,240,0.76);
  text-decoration: none;
}

.tp-abacus-pv2-source-links a strong{
  font-size: 13px;
  line-height: 1.2;
}

.tp-abacus-pv2-source-links a span,
.tp-abacus-pv2-source-empty{
  color: var(--abacus-muted);
  font-size: 11px;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 850;
}

.tp-abacus-pv2-source-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tp-abacus-pv2-source-grid article{
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 11px;
  padding: 15px;
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,255,255,0.58);
}

.tp-abacus-pv2-source-grid h3{
  margin: 0;
  font-size: 16px;
}

.tp-abacus-pv2-source-foot{
  grid-column: 1 / -1;
  padding-top: 2px;
}

.tp-abacus-pv2-band{
  display: grid;
  gap: 18px;
  padding-top: 4px;
}

.tp-abacus-pv2-section-head{
  display: grid;
  gap: 10px;
  max-width: 980px;
}

.tp-abacus-pv2-section-head p,
.tp-abacus-pv2-request p{
  margin: 0;
  color: var(--abacus-muted);
  font-size: 16px;
  line-height: 1.55;
}

.tp-abacus-pv2-grid-three,
.tp-abacus-pv2-grid-two,
.tp-abacus-pv2-card-grid{
  display: grid;
  gap: 12px;
}

.tp-abacus-pv2-grid-three{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tp-abacus-pv2-grid-two{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tp-abacus-pv2-card-grid{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tp-abacus-pv2-grid-three > article,
.tp-abacus-pv2-grid-two > article,
.tp-abacus-pv2-card{
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,255,255,0.62);
}

.tp-abacus-pv2-grid-three h3,
.tp-abacus-pv2-grid-two h3,
.tp-abacus-pv2-card h3{
  margin: 0;
  font-size: 18px;
  line-height: 1.18;
}

.tp-abacus-pv2-card span{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in oklab, var(--abacus-accent) 28%, #fff 72%);
  color: var(--abacus-ink);
  font-weight: 900;
}

.tp-abacus-pv2-card p{
  margin: 0;
  color: var(--abacus-muted);
  line-height: 1.5;
  font-size: 14px;
}

.tp-abacus-pv2-toolstrip{
  padding: 16px;
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: #fffaf0;
}

.tp-abacus-pv2-priority{
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,255,255,0.48);
}

.tp-abacus-pv2-priority-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.tp-abacus-pv2-priority-link{
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  grid-template-areas:
    "rank logo title"
    "rank logo meta";
  gap: 2px 10px;
  align-items: center;
  min-height: 62px;
  padding: 10px;
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,250,240,0.72);
  text-decoration: none;
}

.tp-abacus-pv2-priority-link span{
  grid-area: rank;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in oklab, var(--abacus-accent) 28%, #fff 72%);
  color: var(--abacus-ink);
  font-size: 11px;
  font-weight: 900;
}

.tp-abacus-pv2-priority-link img{
  grid-area: logo;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
  padding: 5px;
  border: 1px solid var(--abacus-line);
}

.tp-abacus-pv2-priority-link strong{
  grid-area: title;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.2;
}

.tp-abacus-pv2-priority-link small{
  grid-area: meta;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--abacus-muted);
  font-size: 11px;
}

.tp-abacus-pv2-request{
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(340px, 0.58fr);
  gap: clamp(20px, 4vw, 54px);
  align-items: start;
  padding: clamp(22px, 4vw, 40px);
  border: 1px solid rgba(16,36,34,0.24);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(16,36,34,0.94), rgba(24,55,50,0.92));
  color: #fff7e8;
  box-shadow: 0 30px 70px rgba(14,31,28,0.18);
}

.tp-abacus-pv2-request .tp-abacus-pv2-kicker,
.tp-abacus-pv2-request h2{
  color: #fff7e8;
}

.tp-abacus-pv2-request p{
  color: rgba(255,247,232,0.74);
}

.tp-abacus-pv2-disclosure{
  margin-top: 18px;
  padding: 14px;
  border: 1px dashed rgba(255,247,232,0.30);
  border-radius: 8px;
  color: rgba(255,247,232,0.76);
  font-size: 13px;
  line-height: 1.5;
}

.tp-abacus-pv2 .tpma-fin-rail{
  position: static !important;
  width: auto;
  max-width: none;
  max-height: none;
  inset: auto;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.tp-abacus-pv2 .tpma-fin-rail:not(.is-form-open),
.tp-abacus-pv2 .tpma-fin-rail.is-form-open{
  padding: 0;
  gap: 0;
}

.tp-abacus-pv2 .tpma-fin-rail:not(.is-form-open) .tpma-fin-lead-form,
.tp-abacus-pv2 .tpma-fin-rail.is-form-open .tpma-fin-lead-form,
.tp-abacus-pv2 .tpma-fin-lead-form{
  max-height: none;
  opacity: 1;
  overflow: visible;
  pointer-events: auto;
  transform: none;
  margin: 0;
  padding: 0;
  border-top: 0;
}

.tp-abacus-pv2-lead-form{
  display: grid;
  gap: 12px;
  padding: 18px !important;
  border: 1px solid rgba(255,247,232,0.20) !important;
  border-radius: 8px;
  background: rgba(255,247,232,0.08);
}

.tp-abacus-pv2-lead-form label{
  color: rgba(255,247,232,0.80);
}

.tp-abacus-pv2-lead-form input,
.tp-abacus-pv2-lead-form textarea,
.tp-abacus-pv2-lead-form select{
  border: 1px solid rgba(255,247,232,0.24);
  background: rgba(255,247,232,0.10);
  color: #fffaf0;
}

.tp-abacus-pv2-lead-form input::placeholder,
.tp-abacus-pv2-lead-form textarea::placeholder{
  color: rgba(255,247,232,0.46);
}

.tp-abacus-pv2-lead-form .tpma-fin-consent{
  color: rgba(255,247,232,0.78);
}

.tp-abacus-pv2-lead-form .tp-abacus-pv2-btn-primary{
  width: 100%;
  background: #fff7e8;
  color: #102422;
  border-color: #fff7e8;
}

.tp-abacus-pv2-dock{
  position: sticky;
  bottom: 12px;
  z-index: 28;
  width: max-content;
  max-width: calc(100% - 24px);
  margin: 10px auto 22px;
  display: flex;
  gap: 4px;
  padding: 5px;
  border: 1px solid var(--abacus-line);
  border-radius: 999px;
  background: rgba(255,250,240,0.88);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 40px rgba(20,38,34,0.14);
}

.tp-abacus-pv2-dock a,
.tp-abacus-pv2-dock button{
  appearance: none;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--abacus-ink);
  cursor: pointer;
  text-decoration: none;
  padding: 9px 12px;
  font-size: 12px;
  font-weight: 900;
}

.tp-abacus-pv2-dock button{
  background: var(--abacus-ink);
  color: #fff7e8;
}

.tp-abacus-pv2-footer{
  padding: 0 clamp(18px, 4vw, 54px) 36px;
  color: var(--abacus-muted);
  font-size: 12px;
}

body:has(.tp-abacus-pv2) .tp-ai-studio-launcherShell,
body:has(.tp-abacus-pv2) .tpais-assist-stow,
body:has(.tp-abacus-pv2) .tpais-assist-pip,
html:has(.tp-abacus-pv2) .tpais-assist-overlay,
html:has(.tp-abacus-pv2) .tpais-assist-stow,
html:has(.tp-abacus-pv2) .tpais-assist-pip{
  display: none !important;
}

body.tpma-body:has(.tp-abacus-pv2){
  padding-top: 0 !important;
}

body:has(.tp-abacus-pv2) > ins.adsbygoogle,
body:has(.tp-abacus-pv2) > .adsbygoogle,
body:has(.tp-abacus-pv2) > .google-auto-placed,
body:has(.tp-abacus-pv2) #google_vignette,
body:has(.tp-abacus-pv2) > iframe[id^="aswift_"],
body:has(.tp-abacus-pv2) > iframe[title="Advertisement"],
html:has(.tp-abacus-pv2) > ins.adsbygoogle,
html:has(.tp-abacus-pv2) > .google-auto-placed,
html:has(.tp-abacus-pv2) #google_vignette,
html:has(.tp-abacus-pv2) > iframe[id^="aswift_"],
html:has(.tp-abacus-pv2) > iframe[title="Advertisement"]{
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.tp-abacus-pv2-ad{
  max-width: 1360px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid color-mix(in oklab, var(--abacus-accent) 24%, var(--abacus-line));
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.70), rgba(255,250,240,0.52)),
    repeating-linear-gradient(90deg, rgba(16,36,34,0.035) 0 1px, transparent 1px 18px);
  overflow: hidden;
}

.tp-abacus-pv2-ad-copy{
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  padding: 8px 10px;
}

.tp-abacus-pv2-ad-copy span{
  color: color-mix(in oklab, var(--abacus-accent) 64%, #16332f 36%);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tp-abacus-pv2-ad-copy strong{
  font-size: 16px;
  line-height: 1.18;
}

.tp-abacus-pv2-ad-copy p{
  margin: 0;
  color: var(--abacus-muted);
  font-size: 12px;
  line-height: 1.35;
}

.tp-abacus-pv2-ad-frame{
  min-width: 0;
  min-height: 96px;
  max-height: 188px;
  display: grid;
  overflow: hidden;
  border: 1px solid var(--abacus-line);
  border-radius: 6px;
  background: rgba(255,255,255,0.46);
}

.tp-abacus-pv2-ad-unit{
  min-width: 0;
  min-height: 96px;
  display: grid;
  align-items: center;
  overflow: hidden;
}

.tp-abacus-pv2-ad-native{
  min-width: 0;
  min-height: 96px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 14px;
  overflow: hidden;
  border: 1px solid var(--abacus-line);
  border-radius: 6px;
  background:
    linear-gradient(135deg, color-mix(in oklab, var(--abacus-accent) 16%, #fff 84%), rgba(255,250,240,0.78));
}

.tp-abacus-pv2-ad-native span,
.tp-abacus-pv2-ad-native small{
  color: var(--abacus-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.tp-abacus-pv2-ad-native strong{
  font-size: 15px;
  line-height: 1.2;
}

.tp-abacus-pv2-ad-ins{
  width: 100%;
  min-height: 90px !important;
  max-height: 180px !important;
  overflow: hidden !important;
}

.tp-abacus-pv2-ad-ins iframe{
  max-height: 180px !important;
  overflow: hidden !important;
}

body:has(.tp-abacus-pv2) #tp-consentv2{
  left: 12px !important;
  right: 12px !important;
  bottom: calc(76px + env(safe-area-inset-bottom)) !important;
  width: auto !important;
  max-width: none !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.24) !important;
}

.tp-abacus-pv2--insurance{
  --abacus-paper: #f5efe2;
}

.tp-abacus-pv2--government_office{
  --abacus-paper: #eef3f5;
}

.tp-abacus-pv2--embassy{
  --abacus-paper: #f1eff8;
}

.tp-abacus-pv2--lawyers_office{
  --abacus-paper: #f7eeee;
}

.tp-abacus-admin{
  --abacus-paper: #f4efe4;
  --abacus-ink: #102422;
  --abacus-muted: #62716b;
  --abacus-line: rgba(16,36,34,0.15);
  --abacus-accent: var(--tpma-abacus-accent, #102422);
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0;
  color: var(--abacus-ink);
  background:
    linear-gradient(90deg, rgba(16,36,34,0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(16,36,34,0.04) 1px, transparent 1px),
    linear-gradient(180deg, #f7f1e4 0%, #fbf8ef 48%, #eef2eb 100%);
  background-size: 38px 38px, 38px 38px, auto;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.tp-abacus-admin *,
.tp-abacus-admin *::before,
.tp-abacus-admin *::after{
  box-sizing: border-box;
}

.tp-abacus-admin a{
  color: inherit;
}

.tp-abacus-admin-topbar{
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px clamp(18px, 4vw, 54px);
  border-bottom: 1px solid var(--abacus-line);
  background: rgba(249,246,238,0.92);
  backdrop-filter: blur(14px);
}

.tp-abacus-admin-topbar nav{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tp-abacus-admin-topbar nav a{
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--abacus-line);
  border-radius: 999px;
  padding: 7px 11px;
  background: rgba(255,255,255,0.62);
  text-decoration: none;
  font-size: 12px;
  font-weight: 900;
}

.tp-abacus-admin-page{
  display: grid;
  gap: 24px;
  padding: clamp(20px, 4vw, 54px);
}

.tp-abacus-admin-hero{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr);
  gap: clamp(18px, 4vw, 46px);
  align-items: end;
  padding-bottom: clamp(20px, 4vw, 44px);
  border-bottom: 1px solid var(--abacus-line);
}

.tp-abacus-admin-kicker{
  color: color-mix(in oklab, var(--abacus-accent) 62%, #16332f 38%);
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 900;
}

.tp-abacus-admin-hero h1,
.tp-abacus-admin-panel h2{
  margin: 6px 0 0;
  letter-spacing: 0;
  line-height: 1.02;
}

.tp-abacus-admin-hero h1{
  max-width: 860px;
  font-size: clamp(44px, 7vw, 88px);
}

.tp-abacus-admin-hero p,
.tp-abacus-admin-panel-head p{
  max-width: 760px;
  margin: 14px 0 0;
  color: var(--abacus-muted);
  font-size: 16px;
  line-height: 1.55;
}

.tp-abacus-admin-stats,
.tp-abacus-admin-grid{
  display: grid;
  gap: 10px;
}

.tp-abacus-admin-stats{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tp-abacus-admin-grid{
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.tp-abacus-admin-stat{
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 16px;
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,255,255,0.64);
}

.tp-abacus-admin-stat span,
.tp-abacus-admin-stat small{
  color: var(--abacus-muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tp-abacus-admin-stat strong{
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1;
}

.tp-abacus-admin-panel{
  min-width: 0;
  display: grid;
  gap: 16px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,255,255,0.62);
  box-shadow: 0 20px 52px rgba(20,38,34,0.08);
}

.tp-abacus-admin-panel-head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.tp-abacus-admin-panel-head a{
  border: 1px solid var(--abacus-line);
  border-radius: 999px;
  padding: 8px 11px;
  background: #fffaf0;
  text-decoration: none;
  font-size: 12px;
  font-weight: 900;
}

.tp-abacus-admin-chips{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.tp-abacus-admin-chips span{
  border: 1px solid var(--abacus-line);
  border-radius: 999px;
  padding: 7px 10px;
  background: rgba(255,250,240,0.76);
  color: var(--abacus-muted);
  font-size: 11px;
  font-weight: 850;
}

.tp-abacus-admin-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.tp-abacus-admin-badges span{
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 4px 7px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--abacus-accent) 22%, #fff 78%);
  color: rgba(16,36,34,0.82);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.tp-abacus-admin-two{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.tp-abacus-admin-table{
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,250,240,0.62);
}

.tp-abacus-admin-table th,
.tp-abacus-admin-table td{
  padding: 10px 11px;
  border-bottom: 1px solid var(--abacus-line);
  text-align: left;
  vertical-align: top;
  font-size: 13px;
  line-height: 1.35;
}

.tp-abacus-admin-table th{
  color: rgba(16,36,34,0.72);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 900;
}

.tp-abacus-admin-table small{
  color: var(--abacus-muted);
}

.tp-abacus-admin-denied{
  display: grid;
  place-items: center;
  padding: 24px;
}

.tp-abacus-admin-denied-card{
  max-width: 680px;
  display: grid;
  gap: 16px;
  padding: clamp(22px, 4vw, 40px);
  border: 1px solid var(--abacus-line);
  border-radius: 8px;
  background: rgba(255,255,255,0.72);
}

.tp-abacus-admin-denied-card h1{
  margin: 0;
  font-size: clamp(34px, 6vw, 64px);
  line-height: 1;
  letter-spacing: 0;
}

.tp-abacus-admin-denied-card p{
  margin: 0;
  color: var(--abacus-muted);
  font-size: 16px;
  line-height: 1.55;
}

@media (max-width: 1120px){
  .tp-abacus-pv2-topbar{
    grid-template-columns: 1fr auto;
  }
  .tp-abacus-pv2-nav{
    grid-column: 1 / -1;
    justify-self: start;
  }
  .tp-abacus-pv2-hero,
  .tp-abacus-pv2-lens,
  .tp-abacus-pv2-source,
  .tp-abacus-pv2-request{
    grid-template-columns: 1fr;
  }
  .tp-abacus-pv2-visual{
    min-height: 420px;
  }
  .tp-abacus-pv2-card-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tp-abacus-pv2-priority-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tp-abacus-admin-hero,
  .tp-abacus-admin-two{
    grid-template-columns: 1fr;
  }
  .tp-abacus-admin-grid,
  .tp-abacus-admin-stats{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px){
  .tp-abacus-pv2-page{
    padding: 14px;
    gap: 24px;
  }
  .tp-abacus-pv2-topbar{
    position: static;
    padding: 12px 18px;
  }
  .tp-abacus-pv2-back{
    display: none;
  }
  .tp-abacus-pv2-nav{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    overflow: visible;
    flex-wrap: nowrap;
    justify-self: stretch;
  }
  .tp-abacus-pv2-nav a{
    min-width: 0;
    padding: 7px 4px;
    font-size: 10.5px;
    text-align: center;
    white-space: nowrap;
  }
  .tp-abacus-pv2-hero{
    gap: 16px;
    min-height: auto;
    padding-bottom: 20px;
  }
  .tp-abacus-pv2-hero h1{
    font-size: clamp(32px, 10.8vw, 46px);
    line-height: 0.98;
  }
  .tp-abacus-pv2-summary{
    font-size: 16px;
    line-height: 1.42;
  }
  .tp-abacus-pv2-hero-copy{
    gap: 13px;
  }
  .tp-abacus-pv2-visual{
    display: none;
  }
  .tp-abacus-pv2-visual-steps{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tp-abacus-pv2-visual-steps li{
    min-height: 58px;
    align-content: center;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    padding: 8px;
  }
  .tp-abacus-pv2-visual-steps li::before{
    width: 22px;
    height: 22px;
    font-size: 11px;
  }
  .tp-abacus-pv2-visual-grid,
  .tp-abacus-pv2-grid-three,
  .tp-abacus-pv2-grid-two,
  .tp-abacus-pv2-card-grid,
  .tp-abacus-pv2-source-grid,
  .tp-abacus-pv2-priority-grid{
    grid-template-columns: 1fr;
  }
  .tp-abacus-pv2-visual-grid{
    display: none;
  }
  .tp-abacus-pv2-lens{
    padding: 18px;
  }
  .tp-abacus-pv2-source{
    padding: 18px;
  }
  .tp-abacus-pv2-ad{
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px;
    max-height: 196px;
    overflow: hidden;
  }
  .tp-abacus-pv2-ad-copy{
    padding: 0 2px;
  }
  .tp-abacus-pv2-ad-copy p{
    display: none;
  }
  .tp-abacus-pv2-ad-frame{
    min-height: 78px;
    height: 118px;
    max-height: 118px;
    overflow: hidden;
  }
  .tp-abacus-pv2-ad-unit{
    min-height: 78px;
    height: 118px;
    max-height: 118px;
    overflow: hidden;
  }
  .tp-abacus-pv2-ad-native{
    min-height: 78px;
    padding: 12px;
  }
  .tp-abacus-pv2-ad-ins{
    min-height: 72px !important;
    max-height: 110px !important;
    overflow: hidden !important;
  }
  .tp-abacus-pv2-ad-ins iframe{
    max-height: 110px !important;
  }
  .tp-abacus-pv2-lens-row{
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .tp-abacus-pv2-actions .tp-abacus-pv2-btn,
  .tp-abacus-pv2-toolstrip .tp-abacus-pv2-btn{
    width: 100%;
  }
  .tp-abacus-pv2-request{
    padding: 18px;
  }
  .tp-abacus-pv2-dock{
    width: calc(100% - 24px);
    bottom: calc(70px + env(safe-area-inset-bottom));
    justify-content: space-between;
    overflow-x: auto;
  }
  .tp-abacus-pv2-dock a,
  .tp-abacus-pv2-dock button{
    flex: 1 0 auto;
  }
  body:has(.tp-abacus-pv2) #tp-consentv2{
    bottom: calc(140px + env(safe-area-inset-bottom)) !important;
  }
  .tp-abacus-admin-topbar,
  .tp-abacus-admin-panel-head{
    align-items: flex-start;
    flex-direction: column;
  }
  .tp-abacus-admin-page{
    padding: 18px;
  }
  .tp-abacus-admin-hero h1{
    font-size: clamp(38px, 12vw, 58px);
  }
  .tp-abacus-admin-grid,
  .tp-abacus-admin-stats{
    grid-template-columns: 1fr;
  }
  .tp-abacus-admin-panel{
    overflow-x: auto;
  }
  .tp-abacus-admin-table{
    min-width: 720px;
  }
}

/* =========================
   BizBox (Entrepreneur OS)
   ========================= */

.tpma-shell-bizbox{
  padding: 0;
  gap: 0;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
}

/* Mobile polish: avoid iOS "zoom on focus" for small inputs. */
.tpma-shell-bizbox.is-mobile input[type="text"],
.tpma-shell-bizbox.is-mobile input[type="email"],
.tpma-shell-bizbox.is-mobile input[type="tel"],
.tpma-shell-bizbox.is-mobile input[type="number"],
.tpma-shell-bizbox.is-mobile input[type="url"],
.tpma-shell-bizbox.is-mobile textarea,
.tpma-shell-bizbox.is-mobile select{
  font-size: 16px;
}

/* Keep BizBox OS clean (no portal overlays). */
.tpma-shell-bizbox #listify-login-popup,
.tpma-shell-bizbox #tp-consentv2,
.tpma-shell-bizbox .tpus-passportFab,
.tpma-shell-bizbox .tpais-assist-overlay,
.tpma-shell-bizbox .tpais-assist-pip,
.tpma-shell-bizbox .tpais-assist-stow,
.tpma-shell-bizbox .tpais-assist-bubble,
.tpma-shell-bizbox [id^="google-anno-"],
body.tpma-bizbox-mode .tpops-ownerbar,
body.tpma-bizbox-mode .tpus-quickTasks,
body.tpma-bizbox-mode .tpus-passportFab,
body.tpma-bizbox-mode .tp-ai-studio-launcher,
body.tpma-bizbox-mode .tpais-assist-overlay,
body.tpma-bizbox-mode .tpais-assist-pip,
body.tpma-bizbox-mode .tpais-assist-stow,
body.tpma-bizbox-mode .tpais-assist-bubble,
body.tpma-bizbox-mode ~ .tpais-assist-overlay,
body.tpma-bizbox-mode #tp-consentv2,
body.tpma-bizbox-mode #tp-recovery-banner,
body.tpma-bizbox-mode #tp-spaces-cta-float,
body.tpma-bizbox-mode [id^="google-anno-"]{
  display: none !important;
}

.tpma-shell-bizbox .bbx-os{
  position: relative;
  z-index: 0;
  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  color: var(--tpma-text-hi);
  --bbx-halo-green: color-mix(in oklab, var(--tpma-accent) 30%, transparent);
  --bbx-halo-blue: rgba(59,130,246,0.20);
  --bbx-halo-pink: rgba(236,72,153,0.18);
  --bbx-halo-amber: rgba(234,179,8,0.14);
  --bbx-ui-border: rgba(255,255,255,0.18);
  --bbx-ui-border-hi: rgba(255,255,255,0.28);
  --bbx-ui-border-soft: rgba(255,255,255,0.14);
  --bbx-ui-bg: rgba(255,255,255,0.06);
  --bbx-ui-bg2: rgba(255,255,255,0.05);
  --bbx-ui-bg3: rgba(0,0,0,0.14);
  --bbx-surface-border: rgba(255,255,255,0.10);
  --bbx-surface-bg: rgba(8,10,18,0.58);
  --bbx-surface-bg2: rgba(8,10,18,0.52);
  --bbx-window-bg: rgba(8,10,18,0.62);
  --bbx-window-head-bg: rgba(8,10,18,0.56);
  --bbx-overlay-backdrop: rgba(0,0,0,0.48);
  --bbx-overlay-bg: rgba(8,10,18,0.72);
  --bbx-shadow-window: 0 28px 110px rgba(0,0,0,0.65);
  --bbx-shadow-dock: 0 26px 90px rgba(0,0,0,0.55);
  --bbx-shadow-overlay: 0 28px 90px rgba(0,0,0,0.60);
  --bbx-desktop-shade: radial-gradient(1200px 800px at 50% 20%, rgba(0,0,0,0.10), rgba(0,0,0,0.50));
  --bbx-wallpaper:
    radial-gradient(900px 520px at 10% -10%, var(--bbx-halo-green) 0%, transparent 55%),
    radial-gradient(760px 520px at 115% 18%, var(--bbx-halo-blue) 0%, transparent 60%),
    radial-gradient(760px 520px at 40% 120%, var(--bbx-halo-pink) 0%, transparent 62%),
    radial-gradient(680px 520px at 70% 42%, var(--bbx-halo-amber) 0%, transparent 60%),
    linear-gradient(180deg, var(--tpma-bg-0), var(--tpma-bg-1));
  background: var(--bbx-wallpaper);
}

.tpma-shell-bizbox .bbx-os::before{
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
  background:
    radial-gradient(520px 420px at 20% 20%, var(--bbx-halo-green) 0%, transparent 60%),
    radial-gradient(640px 520px at 80% 20%, var(--bbx-halo-blue) 0%, transparent 62%),
    radial-gradient(720px 560px at 60% 80%, var(--bbx-halo-pink) 0%, transparent 64%);
  opacity: 0.55;
  filter: blur(4px) saturate(1.25);
  transform: translate3d(0,0,0);
  animation: bbxWallpaperFloat 18s ease-in-out infinite;
}

@keyframes bbxWallpaperFloat{
  0%{ transform: translate3d(0,0,0) scale(1); }
  50%{ transform: translate3d(3%, -2%, 0) scale(1.02); }
  100%{ transform: translate3d(0,0,0) scale(1); }
}

@media (prefers-reduced-motion: reduce){
  .tpma-shell-bizbox .bbx-os::before{
    animation: none;
  }
}

.tpma-shell-bizbox .bbx-os[data-bbx-theme="light"]{
  --tpma-bg-0: #f8fafc;
  --tpma-bg-1: #e0e7ff;
  --tpma-text-hi: rgba(15,23,42,0.94);
  --tpma-text-md: rgba(15,23,42,0.78);
  --tpma-text-lo: rgba(15,23,42,0.58);
  --tpma-glass-bg: rgba(255,255,255,0.72);
  --tpma-glass-brd: rgba(15,23,42,0.12);
  --bbx-ui-border: rgba(15,23,42,0.14);
  --bbx-ui-border-hi: rgba(15,23,42,0.22);
  --bbx-ui-border-soft: rgba(15,23,42,0.12);
  --bbx-ui-bg: rgba(255,255,255,0.72);
  --bbx-ui-bg2: rgba(255,255,255,0.56);
  --bbx-ui-bg3: rgba(15,23,42,0.06);
  --bbx-surface-border: rgba(15,23,42,0.10);
  --bbx-surface-bg: rgba(255,255,255,0.72);
  --bbx-surface-bg2: rgba(255,255,255,0.60);
  --bbx-window-bg: rgba(255,255,255,0.80);
  --bbx-window-head-bg: rgba(255,255,255,0.74);
  --bbx-overlay-backdrop: rgba(15,23,42,0.28);
  --bbx-overlay-bg: rgba(255,255,255,0.86);
  --bbx-shadow-window: 0 28px 110px rgba(2,6,23,0.18);
  --bbx-shadow-dock: 0 26px 90px rgba(2,6,23,0.14);
  --bbx-shadow-overlay: 0 28px 90px rgba(2,6,23,0.18);
  --bbx-desktop-shade: radial-gradient(1200px 800px at 50% 20%, rgba(255,255,255,0.00), rgba(15,23,42,0.06));
  --bbx-halo-green: color-mix(in oklab, var(--tpma-accent) 14%, transparent);
  --bbx-halo-blue: rgba(59,130,246,0.10);
  --bbx-halo-pink: rgba(236,72,153,0.09);
  --bbx-halo-amber: rgba(234,179,8,0.08);
  --bbx-wallpaper:
    radial-gradient(900px 520px at 10% -10%, var(--bbx-halo-green) 0%, transparent 55%),
    radial-gradient(760px 520px at 115% 18%, var(--bbx-halo-blue) 0%, transparent 60%),
    radial-gradient(760px 520px at 40% 120%, var(--bbx-halo-pink) 0%, transparent 62%),
    radial-gradient(680px 520px at 70% 42%, var(--bbx-halo-amber) 0%, transparent 60%),
    linear-gradient(180deg, var(--tpma-bg-0), var(--tpma-bg-1));
}

.tpma-shell-bizbox .bbx-os[data-bbx-theme="spectrum"]{
  --tpma-glass-bg: rgba(255,255,255,0.09);
  --tpma-glass-brd: rgba(255,255,255,0.22);
  --bbx-wallpaper:
    radial-gradient(900px 520px at 10% -10%, rgba(34,197,94,0.34) 0%, transparent 55%),
    radial-gradient(760px 520px at 115% 18%, rgba(59,130,246,0.26) 0%, transparent 60%),
    radial-gradient(720px 520px at 40% 120%, rgba(236,72,153,0.22) 0%, transparent 62%),
    radial-gradient(680px 520px at 70% 42%, rgba(234,179,8,0.18) 0%, transparent 60%),
    linear-gradient(180deg, var(--tpma-bg-0), var(--tpma-bg-1));
}

.tpma-shell-bizbox .bbx-menubar{
  height: 46px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--bbx-surface-bg2);
  border-bottom: 1px solid var(--bbx-surface-border);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.tpma-shell-bizbox .bbx-menubar-left,
.tpma-shell-bizbox .bbx-menubar-right{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-menubar-app{
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: 13px;
  color: var(--tpma-text-md);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 180px;
}

.tpma-shell-bizbox .bbx-menubar-menus{
  display: flex;
  align-items: center;
  gap: 2px;
}

.tpma-shell-bizbox .bbx-menubar-menu{
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: var(--tpma-text-md);
  padding: 7px 8px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 900;
  font-size: 13px;
  transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.tpma-shell-bizbox .bbx-menubar-menu:hover{
  background: var(--bbx-ui-bg2);
  border-color: var(--bbx-ui-border-soft);
  transform: translateY(-0.5px);
}

.tpma-shell-bizbox .bbx-menubar-btn,
.tpma-shell-bizbox .bbx-menubar-link{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  padding: 8px 10px;
  border-radius: 12px;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-shell-bizbox .bbx-menubar-btn:hover,
.tpma-shell-bizbox .bbx-menubar-link:hover{
  border-color: var(--bbx-ui-border-hi);
  transform: translateY(-0.5px);
}

.tpma-shell-bizbox .bbx-menubar-auth,
.tpma-shell-bizbox .bbx-auth-cta{
  min-width: 0;
}

.tpma-shell-bizbox .bbx-menubar-auth.is-logged-out,
.tpma-shell-bizbox .bbx-auth-cta.is-logged-out{
  border-color: color-mix(in oklab, var(--tpma-accent) 30%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--tpma-accent) 12%, var(--bbx-ui-bg));
}

.tpma-shell-bizbox .bbx-auth-ico{
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-auth-label{
  display: inline-block;
  min-width: 0;
  max-width: 18ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
}

.tpma-shell-bizbox .bbx-menubar-auth .bbx-auth-label{
  max-width: 14ch;
}

.tpma-shell-bizbox .bbx-menubar-apple{
  width: 38px;
  padding: 8px 0;
}

.tpma-shell-bizbox .bbx-menubar-metrics{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-menubar-date,
.tpma-shell-bizbox .bbx-menubar-weather{
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 800;
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-menubar-weather{
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-shell-bizbox .bbx-menubar-time{
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 800;
  min-width: 64px;
  text-align: right;
}

.tpma-shell-bizbox .bbx-desktop{
  flex: 1;
  position: relative;
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-desktop::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: var(--bbx-desktop-shade);
}

.tpma-shell-bizbox .bbx-command{
  position: absolute;
  inset: 0;
  /* Ensure the command center remains clickable when no windows are visible. */
  z-index: 2;
  padding: 26px 26px calc(26px + var(--bbx-dock-safe, 168px) + env(safe-area-inset-bottom)) 26px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  overscroll-behavior: contain;
}

.tpma-shell-bizbox .bbx-os.is-overlay .bbx-command{
  /* iOS Safari: prevent the scroll layer from visually covering fixed overlays. */
  overflow: hidden;
  -webkit-overflow-scrolling: auto;
}

.tpma-shell-bizbox .bbx-command.is-under{
  /* When windows are open, keep the Command Center visible behind them (non-interactive). */
  z-index: 1;
  pointer-events: none;
  opacity: 0.92;
}

.tpma-shell-bizbox .bbx-command-inner{
  max-width: 1680px;
  margin: 0 auto;
}

.tpma-shell-bizbox .bbx-command-greeting{
  margin-bottom: 14px;
}

.tpma-shell-bizbox .bbx-home-top{
  position: sticky;
  top: 0;
  z-index: 6;
  padding: 12px 0;
  margin-bottom: 12px;
  background: linear-gradient(180deg, rgba(2,6,23,0.72), rgba(2,6,23,0.24), rgba(2,6,23,0));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.tpma-shell-bizbox .bbx-home-top .bbx-command-inner{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
  border-radius: 24px;
  padding: 14px 14px;
  box-shadow: 0 28px 120px rgba(0,0,0,0.35);
}

.tpma-shell-bizbox .bbx-home-body .bbx-home-cmd-results{
  margin: 12px 0;
}

.tpma-shell-bizbox .bbx-home-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-home-head-left{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: min(520px, 100%);
  flex: 1 1 520px;
}

.tpma-shell-bizbox .bbx-home-logo{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: 0 0 auto;
  box-shadow: 0 18px 60px rgba(0,0,0,0.24);
  transition: transform 140ms ease, border-color 140ms ease;
}

.tpma-shell-bizbox .bbx-home-logo:hover{
  transform: translateY(-0.5px);
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-home-head-copy{
  min-width: 0;
}

.tpma-shell-bizbox .bbx-home-title{
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -0.2px;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-home-title strong{
  color: var(--tpma-accent);
}

.tpma-shell-bizbox .bbx-home-meta{
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

.tpma-shell-bizbox .bbx-home-status{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.12);
  color: var(--tpma-text-md);
}

.tpma-shell-bizbox .bbx-home-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: color-mix(in oklab, var(--tpma-accent) 85%, #ffffff 15%);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-shell-bizbox .bbx-home-sep{
  opacity: 0.65;
}

.tpma-shell-bizbox .bbx-home-accent{
  color: var(--tpma-accent);
}

.tpma-shell-bizbox .bbx-home-cmd{
  min-width: min(520px, 100%);
  flex: 1 1 520px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
}

.tpma-shell-bizbox .bbx-home-cmd-row{
  display: flex;
  gap: 10px;
  align-items: stretch;
}

.tpma-shell-bizbox .bbx-home-cmd-input{
  flex: 1;
  min-width: 0;
  border-radius: 18px;
  padding: 12px 14px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  font-weight: 800;
}

.tpma-shell-bizbox .bbx-home-cmd-input:focus{
  outline: none;
  border-color: var(--bbx-ui-border-hi);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 28%, transparent);
}

.tpma-shell-bizbox .bbx-home-cmd-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.tpma-shell-bizbox .bbx-home-primary-actions{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-home-primary-actions .bbx-btn{
  width: 100%;
}

.tpma-shell-bizbox .bbx-home-more{
  margin-top: 0;
  align-self: stretch;
  padding: 0;
  border: 0;
  background: transparent;
}

.tpma-shell-bizbox .bbx-home-more[open]{
  padding: 10px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: color-mix(in oklab, var(--bbx-ui-bg2) 70%, transparent);
  border-radius: 18px;
}

.tpma-shell-bizbox .bbx-home-more > summary{
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  border-radius: 18px;
}

.tpma-shell-bizbox .bbx-home-mobile-meta{
  margin-top: 8px;
}

.tpma-shell-bizbox .bbx-home-mobile-meta-body{
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-home-mobile-focus{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-home-mobile-focus-head,
.tpma-shell-bizbox .bbx-home-mobile-lead-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-home-mobile-focus-kicker{
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 950;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-home-mobile-focus-title{
  font-size: 18px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: -0.03em;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-home-mobile-focus-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-home-mobile-focus-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-home-mobile-dashboard{
  margin-top: 12px;
}

.tpma-shell-bizbox .bbx-home-mobile-dashboard-body{
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-home-mobile-ask{
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-home-mobile-ask-body{
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-home-cmd-results{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
  border-radius: 18px;
  padding: 12px;
}

.tpma-shell-bizbox .bbx-home-cmd-results-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-home-cmd-results-title{
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 950;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-home-cmd-results-actions{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-home-grid{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.tpma-shell-bizbox .bbx-home-widget{
  grid-column: span 12;
  position: relative;
}

@media (min-width: 980px){
  .tpma-shell-bizbox .bbx-home-widget.bbx-span-3{ grid-column: span 3; }
  .tpma-shell-bizbox .bbx-home-widget.bbx-span-4{ grid-column: span 4; }
  .tpma-shell-bizbox .bbx-home-widget.bbx-span-5{ grid-column: span 5; }
  .tpma-shell-bizbox .bbx-home-widget.bbx-span-8{ grid-column: span 8; }
  .tpma-shell-bizbox .bbx-home-widget.bbx-span-12{ grid-column: span 12; }
}

.tpma-shell-bizbox .bbx-home-widget-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.tpma-shell-bizbox .bbx-home-widget-title{
  order: 1;
  font-weight: 950;
  letter-spacing: 0.1px;
  color: var(--tpma-text-hi);
  flex: 1 1 auto;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-home-widget-actions{
  order: 2;
  display: flex;
  gap: 8px;
  align-items: center;
  margin-left: auto;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-home-widget-sub{
  order: 3;
  flex: 1 1 100%;
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 900;
  margin-top: 2px;
}

.tpma-shell-bizbox .bbx-home-widget-body{
  min-width: 0;
}

.tpma-shell-bizbox .bbx-play-grid{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

@media (max-width: 980px){
  .tpma-shell-bizbox .bbx-play-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-shell-bizbox .bbx-play-card{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
  border-radius: 18px;
  padding: 12px;
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-play-kicker{
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 950;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-play-title{
  margin-top: 6px;
  font-weight: 950;
  letter-spacing: -0.2px;
  color: var(--tpma-text-hi);
  font-size: 15px;
}

.tpma-shell-bizbox .bbx-home-action-top{
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 12px;
  align-items: start;
}

@media (max-width: 920px){
  .tpma-shell-bizbox .bbx-home-action-top{
    grid-template-columns: 1fr;
  }
}

.tpma-shell-bizbox .bbx-home-autopilot{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.12);
  border-radius: 18px;
  padding: 12px;
}

.tpma-shell-bizbox .bbx-home-autopilot-title{
  font-weight: 950;
  letter-spacing: 0.1px;
  margin-bottom: 6px;
}

.tpma-shell-bizbox .bbx-home-autopilot-row{
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 900;
  color: var(--tpma-text-md);
  font-size: 12px;
}

.tpma-shell-bizbox .bbx-pipe-rows{
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-pipe-row-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  color: var(--tpma-text-md);
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-chief-plan{
  margin: 10px 0 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
  color: var(--tpma-text-md);
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-chief-plan li{
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.tpma-shell-bizbox .bbx-chief-num{
  color: var(--tpma-accent);
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-chip.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(0,0,0,0.10));
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-brief{
	  margin-top: 12px;
	  padding: 16px 16px;
	  border-radius: 20px;
	  border: 1px solid color-mix(in oklab, var(--tpma-accent) 18%, var(--bbx-ui-border-soft));
	  background:
	    radial-gradient(520px 240px at 18% 10%, color-mix(in oklab, var(--tpma-accent) 14%, transparent) 0%, transparent 72%),
	    radial-gradient(520px 240px at 110% 80%, rgba(59,130,246,0.10) 0%, transparent 72%),
	    var(--bbx-ui-bg2);
	  backdrop-filter: blur(14px);
	  -webkit-backdrop-filter: blur(14px);
}

.tpma-shell-bizbox .bbx-brief-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.tpma-shell-bizbox .bbx-brief-tag{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 22%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--tpma-accent) 10%, var(--bbx-ui-bg2));
  color: color-mix(in oklab, var(--tpma-accent) 68%, var(--tpma-text-hi) 32%);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-brief-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.tpma-shell-bizbox .bbx-brief-text{
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-brief-chips{
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-brief-motivation{
	  margin-top: 10px;
	  color: var(--tpma-text-lo);
	  font-size: 12px;
	  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-radar-grid{
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1.45fr 0.95fr;
  gap: 12px;
  align-items: start;
}

.tpma-shell-bizbox .bbx-radar-grid.is-solo{
  grid-template-columns: 1fr;
}

@media (max-width: 920px){
  .tpma-shell-bizbox .bbx-radar-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-shell-bizbox .bbx-radar-title{
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -0.2px;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-radar-sub{
  margin-top: 6px;
  font-size: 13px;
  color: var(--tpma-text-md);
  line-height: 1.4;
}

.tpma-shell-bizbox .bbx-radar-list{
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-radar-item{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 10px;
  border-radius: 16px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.12);
  color: var(--tpma-text-md);
  line-height: 1.4;
  font-size: 13px;
}

.tpma-shell-bizbox .bbx-radar-ico{
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(0,0,0,0.18));
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 22%, var(--bbx-ui-border-soft));
  color: color-mix(in oklab, var(--tpma-accent) 72%, var(--tpma-text-hi) 28%);
}

.tpma-shell-bizbox .bbx-radar-controls{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--bbx-ui-border-soft);
}

.tpma-shell-bizbox .bbx-radar-controls-title{
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 950;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-radar-side{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-radar-card{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
  border-radius: 18px;
  padding: 12px;
}

.tpma-shell-bizbox .bbx-radar-card-title{
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 950;
  color: var(--tpma-text-lo);
  margin-bottom: 8px;
}

.tpma-shell-bizbox .bbx-radar-today{
  font-size: 13px;
  color: var(--tpma-text-md);
  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-radar-note{
  margin-top: 8px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-radar-progress{
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-radar-next{
  margin-top: 12px;
  border-top: 1px solid var(--bbx-ui-border-soft);
  padding-top: 10px;
}

.tpma-shell-bizbox .bbx-radar-next-title{
  font-weight: 950;
  letter-spacing: -0.2px;
  color: var(--tpma-text-hi);
  font-size: 13px;
}

.tpma-shell-bizbox .bbx-radar-next-desc{
  margin-top: 6px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.4;
}

.tpma-shell-bizbox .bbx-radar-next-act{
  margin-top: 10px;
  display: flex;
}

.tpma-shell-bizbox .bbx-chip-btn{
  appearance: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1.1;
}

.tpma-shell-bizbox .bbx-chip-btn:hover{
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-chip-btn[disabled],
.tpma-shell-bizbox .bbx-chip-btn.is-locked{
  opacity: 0.55;
  cursor: not-allowed;
}

.tpma-shell-bizbox .bbx-chip-btn[disabled]:hover{
  border-color: var(--bbx-ui-border-soft);
}

.tpma-shell-bizbox .bbx-chip-btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 28%, transparent);
}

.tpma-shell-bizbox .bbx-chip-btn.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 38%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(0,0,0,0.12));
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-command-title{
  font-size: 32px;
  font-weight: 350;
  letter-spacing: -0.9px;
  line-height: 1.05;
}

.tpma-shell-bizbox .bbx-command-title strong{
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-command-grid{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: stretch;
}

.tpma-shell-bizbox .bbx-command-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.tpma-shell-bizbox .bbx-tag{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 26%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--tpma-accent) 10%, var(--bbx-ui-bg2));
  color: color-mix(in oklab, var(--tpma-accent) 68%, var(--tpma-text-hi) 32%);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-tag-ico{
  font-size: 13px;
  line-height: 1;
}

.tpma-shell-bizbox .bbx-command-quest{
  flex: 2 1 520px;
  min-width: min(520px, 100%);
  position: relative;
  overflow: hidden;
  border-color: color-mix(in oklab, var(--tpma-accent) 22%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(520px 240px at 18% 10%, color-mix(in oklab, var(--tpma-accent) 22%, transparent) 0%, transparent 70%),
    radial-gradient(520px 240px at 82% 110%, rgba(59,130,246,0.12) 0%, transparent 72%),
    var(--bbx-ui-bg2);
}

.tpma-shell-bizbox .bbx-command-quest::before{
  content: "";
  position: absolute;
  inset: -120px;
  background:
    radial-gradient(340px 280px at 22% 24%, color-mix(in oklab, var(--tpma-accent) 28%, transparent) 0%, transparent 60%),
    radial-gradient(360px 280px at 72% 70%, rgba(236,72,153,0.18) 0%, transparent 62%);
  filter: blur(40px);
  opacity: 0.65;
  pointer-events: none;
}

.tpma-shell-bizbox .bbx-command-quest > *{
  position: relative;
  z-index: 1;
}

.tpma-shell-bizbox .bbx-command-stats{
  flex: 1 1 280px;
  min-width: min(280px, 100%);
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(520px 240px at 18% 10%, rgba(59,130,246,0.10) 0%, transparent 72%),
    radial-gradient(520px 240px at 110% 80%, rgba(234,179,8,0.08) 0%, transparent 72%),
    var(--bbx-ui-bg2);
}

.tpma-shell-bizbox .bbx-command-streak{
  flex: 1 1 320px;
  min-width: min(320px, 100%);
  position: relative;
  overflow: hidden;
  border-color: color-mix(in oklab, var(--tpma-accent) 18%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(520px 240px at 18% 10%, rgba(236,72,153,0.14) 0%, transparent 72%),
    radial-gradient(520px 240px at 110% 80%, rgba(34,197,94,0.10) 0%, transparent 72%),
    var(--bbx-ui-bg2);
}

.tpma-shell-bizbox .bbx-command-academy{
  flex: 1 1 360px;
  min-width: min(360px, 100%);
  position: relative;
  overflow: hidden;
  --bbx-app-accent: #eab308;
  border-color: color-mix(in oklab, var(--bbx-app-accent) 22%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(520px 240px at 18% 10%, color-mix(in oklab, var(--bbx-app-accent) 18%, transparent) 0%, transparent 72%),
    radial-gradient(520px 240px at 110% 80%, rgba(59,130,246,0.10) 0%, transparent 72%),
    var(--bbx-ui-bg2);
}

.tpma-shell-bizbox .bbx-command-subtitle{
  margin-top: 8px;
  font-weight: 950;
  letter-spacing: -0.2px;
  color: var(--tpma-text-md);
}

.tpma-shell-bizbox .bbx-chip-row{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-chip{
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.12);
  color: var(--tpma-text-md);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: -0.1px;
}

.tpma-shell-bizbox .bbx-chip.is-ok{
  border-color: color-mix(in oklab, var(--tpma-accent) 42%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 16%, rgba(0,0,0,0.12));
  color: color-mix(in oklab, var(--tpma-accent) 84%, rgba(255,255,255,0.94));
}

.tpma-shell-bizbox .bbx-chip.is-warn{
  border-color: rgba(245, 158, 11, 0.34);
  background: rgba(245, 158, 11, 0.14);
  color: #fde68a;
}

.tpma-shell-bizbox .bbx-chip.is-bad{
  border-color: rgba(248, 113, 113, 0.34);
  background: rgba(239, 68, 68, 0.14);
  color: #fecaca;
}

.tpma-shell-bizbox .bbx-command-academy .bbx-chip{
  border-color: color-mix(in oklab, var(--bbx-app-accent) 26%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--bbx-app-accent) 10%, rgba(0,0,0,0.10));
}

.tpma-shell-bizbox .bbx-tasks{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}

.tpma-shell-bizbox .bbx-task{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 10px;
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-task.is-done{
  border-color: color-mix(in oklab, var(--tpma-accent) 42%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--tpma-accent) 10%, rgba(0,0,0,0.12));
}

.tpma-shell-bizbox .bbx-task-main{
  flex: 1;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-task-title{
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 950;
  letter-spacing: -0.1px;
}

.tpma-shell-bizbox .bbx-task-ico{
  width: 22px;
  height: 22px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-task-check{
  margin-left: auto;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  background: color-mix(in oklab, var(--tpma-accent) 70%, #ffffff 30%);
  color: #0b1020;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 70%, rgba(255,255,255,0.22));
}

.tpma-shell-bizbox .bbx-task-desc{
  margin-top: 4px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-task-bar{
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  overflow: hidden;
  margin-top: 8px;
}

.tpma-shell-bizbox .bbx-task-bar span{
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), rgba(59,130,246,0.8));
}

.tpma-shell-bizbox .bbx-task-meta{
  margin-top: 6px;
  font-size: 11px;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-task-act{
  flex: 0 0 auto;
  align-self: center;
}

.tpma-shell-bizbox .bbx-command-quest-title{
  margin-top: 4px;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -0.2px;
}

.tpma-shell-bizbox .bbx-command-desk{
  flex: 1 1 100%;
  min-width: 100%;
  position: relative;
  overflow: hidden;
  border-color: color-mix(in oklab, var(--tpma-accent) 14%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(520px 240px at 18% 10%, color-mix(in oklab, var(--tpma-accent) 12%, transparent) 0%, transparent 72%),
    radial-gradient(520px 240px at 110% 80%, rgba(59,130,246,0.10) 0%, transparent 72%),
    var(--bbx-ui-bg2);
}

.tpma-shell-bizbox .bbx-desk-grid{
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 12px;
  align-items: start;
}

@media (max-width: 1060px){
  .tpma-shell-bizbox .bbx-desk-grid{
    grid-template-columns: 1fr;
  }
}

.tpma-shell-bizbox .bbx-desk-col{
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-desk-card{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
  border-radius: 18px;
  padding: 12px;
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-desk-card.bbx-desk-next{
  border-color: color-mix(in oklab, var(--tpma-accent) 34%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(420px 220px at 18% 10%, color-mix(in oklab, var(--tpma-accent) 18%, transparent) 0%, transparent 72%),
    rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-desk-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-shell-bizbox .bbx-desk-title{
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 950;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-desk-meta{
  font-size: 11px;
  color: var(--tpma-text-lo);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-shell-bizbox .bbx-desk-next-title{
  font-size: 14px;
  font-weight: 950;
  letter-spacing: -0.2px;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-desk-next-act{
  margin-top: 12px;
  display: flex;
}

.tpma-shell-bizbox .bbx-desk-tasks{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-desk-task{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.12);
}

.tpma-shell-bizbox .bbx-desk-task.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 32%, rgba(255,255,255,0.10));
  background: color-mix(in oklab, var(--tpma-accent) 10%, rgba(0,0,0,0.12));
}

.tpma-shell-bizbox .bbx-desk-task.is-done{
  opacity: 0.72;
}

.tpma-shell-bizbox .bbx-desk-task-main{
  flex: 1;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-desk-task-title{
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 950;
  letter-spacing: -0.1px;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-desk-task-ico{
  width: 20px;
  height: 20px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-desk-task-desc{
  margin-top: 4px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-desk-task-bar{
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  overflow: hidden;
  margin-top: 8px;
}

.tpma-shell-bizbox .bbx-desk-task-bar span{
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), rgba(59,130,246,0.8));
}

.tpma-shell-bizbox .bbx-desk-task-meta{
  margin-top: 6px;
  font-size: 11px;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-desk-task-act{
  flex: 0 0 auto;
  align-self: center;
}

.tpma-shell-bizbox .bbx-activity-list,
.tpma-shell-bizbox .bbx-news-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-activity-item,
.tpma-shell-bizbox .bbx-news-item{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.12);
  color: var(--tpma-text-md);
  border-radius: 16px;
  padding: 10px 10px;
  text-decoration: none;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  cursor: pointer;
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.tpma-shell-bizbox .bbx-activity-item:hover,
.tpma-shell-bizbox .bbx-news-item:hover{
  border-color: var(--bbx-ui-border-hi);
  background: rgba(0,0,0,0.16);
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-activity-ico,
.tpma-shell-bizbox .bbx-news-ico{
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
}

.tpma-shell-bizbox .bbx-activity-main,
.tpma-shell-bizbox .bbx-news-main{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.tpma-shell-bizbox .bbx-activity-title,
.tpma-shell-bizbox .bbx-news-title{
  font-weight: 950;
  letter-spacing: -0.1px;
  color: var(--tpma-text-hi);
  line-height: 1.2;
}

.tpma-shell-bizbox .bbx-activity-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.3;
}

.tpma-shell-bizbox .bbx-activity-time{
  flex: 0 0 auto;
  font-size: 11px;
  color: var(--tpma-text-lo);
  white-space: nowrap;
  padding-left: 4px;
}

.tpma-shell-bizbox .bbx-news-meta{
  font-size: 11px;
  color: var(--tpma-text-lo);
  line-height: 1.3;
}

.tpma-shell-bizbox .bbx-windows{
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.tpma-shell-bizbox .bbx-desktop-icons{
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-desktop-icons:empty{
  display: none;
}

.tpma-shell-bizbox .bbx-desktop-icon{
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--tpma-text-hi);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 8px 8px;
  border-radius: 18px;
  transition: background 140ms ease, transform 140ms ease;
  width: 96px;
}

.tpma-shell-bizbox .bbx-desktop-icon:hover{
  background: var(--bbx-ui-bg);
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-desktop-ico{
  width: 54px;
  height: 54px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
  box-shadow: 0 20px 60px color-mix(in oklab, black 55%, transparent);
}

.tpma-shell-bizbox .bbx-desktop-label{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1px;
  color: var(--tpma-text-md);
  text-align: center;
}

.tpma-shell-bizbox .bbx-dock{
  position: absolute;
  left: 50%;
  bottom: calc(12px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  z-index: 6;
  width: min(1120px, calc(100% - 24px));
  margin: 0;
  padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
  border-radius: 22px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-surface-bg);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  box-shadow: var(--bbx-shadow-dock);
}

.tpma-shell-bizbox .bbx-tortoise-pill{
  position: absolute;
  left: 50%;
  bottom: calc(var(--bbx-dock-h, 104px) + 12px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  z-index: 7;
  appearance: none;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 34%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(240px 120px at 18% 20%, color-mix(in oklab, var(--tpma-accent) 18%, transparent) 0%, transparent 62%),
    radial-gradient(240px 120px at 82% 86%, rgba(59,130,246,0.12) 0%, transparent 64%),
    linear-gradient(180deg, var(--bbx-ui-bg2), var(--bbx-ui-bg3));
  color: var(--tpma-text-hi);
  padding: 10px 14px;
  border-radius: 999px;
  box-shadow: 0 22px 80px rgba(0,0,0,0.55);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.tpma-shell-bizbox .bbx-tortoise-pill:hover{
  transform: translateX(-50%) translateY(-1px);
  border-color: color-mix(in oklab, var(--tpma-accent) 52%, var(--bbx-ui-border-hi));
  box-shadow: 0 26px 90px rgba(0,0,0,0.62);
}

.tpma-shell-bizbox .bbx-tortoise-pill:focus-visible{
  outline: 2px solid color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.45));
  outline-offset: 3px;
}

.tpma-shell-bizbox .bbx-tortoise-pill-ico{
  font-size: 16px;
  line-height: 1;
}

.tpma-shell-bizbox .bbx-tortoise-pill-text{
  font-weight: 950;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-tortoise-pill-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 850;
}

.tpma-shell-bizbox .bbx-dock::-webkit-scrollbar{
  height: 8px;
}

.tpma-shell-bizbox .bbx-dock::-webkit-scrollbar-thumb{
  background: var(--bbx-ui-border-soft);
  border-radius: 999px;
}

.tpma-shell-bizbox .bbx-dock-item{
  appearance: none;
  --bbx-app-accent: var(--tpma-accent);
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  position: relative;
  width: 78px;
  min-width: 78px;
  height: 78px;
  border-radius: 20px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="launchpad"]{ --bbx-app-accent: var(--tpma-accent); }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="welcome"]{ --bbx-app-accent: var(--tpma-accent); }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="finder"]{ --bbx-app-accent: #38bdf8; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="prospecting"]{ --bbx-app-accent: #f59e0b; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="crm"]{ --bbx-app-accent: #3b82f6; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="builder"]{ --bbx-app-accent: #8b5cf6; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="outreach"]{ --bbx-app-accent: #ec4899; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="tortoisedocs"]{ --bbx-app-accent: #14b8a6; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="tortoisesheets"]{ --bbx-app-accent: #10b981; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="tortoisenotes"]{ --bbx-app-accent: #a855f7; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="tortoisedraw"]{ --bbx-app-accent: #fb7185; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="agents"]{ --bbx-app-accent: #f97316; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="playbook"]{ --bbx-app-accent: #6366f1; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="academy"]{ --bbx-app-accent: #eab308; }
.tpma-shell-bizbox .bbx-dock-item[data-bbx-dock-app="settings"]{ --bbx-app-accent: #94a3b8; }

.tpma-shell-bizbox .bbx-dock-item::after{
  content: attr(data-bbx-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translateX(-50%) translateY(6px);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  padding: 7px 9px;
  border-radius: 14px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-surface-bg);
  color: var(--tpma-text-hi);
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 22px 70px rgba(0,0,0,0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: opacity 120ms ease, transform 120ms ease;
}

.tpma-shell-bizbox .bbx-dock-item:hover::after{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.tpma-shell-bizbox .bbx-dock-item:hover{
  border-color: var(--bbx-ui-border-hi);
  transform: translateY(-2px);
}

.tpma-shell-bizbox .bbx-dock-item.is-active{
  background: color-mix(in oklab, var(--bbx-app-accent) 12%, rgba(255,255,255,0.06));
  border-color: color-mix(in oklab, var(--bbx-app-accent) 55%, rgba(255,255,255,0.22));
  box-shadow:
    0 20px 60px rgba(0,0,0,0.45),
    0 18px 80px color-mix(in oklab, var(--bbx-app-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-dock-ico{
  width: 40px;
  height: 40px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  border: 1px solid color-mix(in oklab, var(--bbx-app-accent) 32%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(18px 14px at 30% 25%, rgba(255,255,255,0.22) 0%, transparent 60%),
    linear-gradient(180deg,
      color-mix(in oklab, var(--bbx-app-accent) 54%, rgba(255,255,255,0.10)),
      rgba(0,0,0,0.16));
  box-shadow: 0 18px 44px color-mix(in oklab, var(--bbx-app-accent) 14%, transparent);
}

.tpma-shell-bizbox .bbx-dock-label{
  display: block;
  font-size: 11px;
  font-weight: 900;
  color: var(--tpma-text-lo);
  line-height: 1.1;
  max-width: 70px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-dock-dot{
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--bbx-app-accent);
  opacity: 0.9;
}

.tpma-shell-bizbox .bbx-dock-dot[hidden]{
  display: none;
}

.tpma-shell-bizbox .bbx-window{
  position: absolute;
  --bbx-app-accent: var(--tpma-accent);
  left: var(--x);
  top: var(--y);
  width: var(--w);
  height: var(--h);
  z-index: var(--z);
  pointer-events: auto;
  border-radius: 22px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-window-bg);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: var(--bbx-shadow-window);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translate3d(0,0,0);
}

.tpma-shell-bizbox .bbx-window[data-bbx-win-app="launchpad"]{ --bbx-app-accent: var(--tpma-accent); }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="welcome"]{ --bbx-app-accent: var(--tpma-accent); }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="finder"]{ --bbx-app-accent: #38bdf8; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="prospecting"]{ --bbx-app-accent: #f59e0b; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="crm"]{ --bbx-app-accent: #3b82f6; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="record"]{ --bbx-app-accent: #3b82f6; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="builder"]{ --bbx-app-accent: #8b5cf6; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="outreach"]{ --bbx-app-accent: #ec4899; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="tortoisedocs"]{ --bbx-app-accent: #14b8a6; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="tortoisesheets"]{ --bbx-app-accent: #10b981; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="tortoisenotes"]{ --bbx-app-accent: #a855f7; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="tortoisedraw"]{ --bbx-app-accent: #fb7185; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="agents"]{ --bbx-app-accent: #f97316; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="playbook"]{ --bbx-app-accent: #6366f1; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="academy"]{ --bbx-app-accent: #eab308; }
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="settings"]{ --bbx-app-accent: #94a3b8; }

.tpma-shell-bizbox .bbx-window.is-focused{
  border-color: color-mix(in oklab, var(--bbx-app-accent) 55%, rgba(255,255,255,0.22));
  box-shadow:
    var(--bbx-shadow-window),
    0 20px 110px color-mix(in oklab, var(--bbx-app-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-window.is-max{
  left: 8px !important;
  top: 8px !important;
  width: calc(100% - 16px) !important;
  height: calc(100% - 16px) !important;
}

.tpma-shell-bizbox .bbx-window.is-mobile{
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0;
  border-left: 0;
  border-right: 0;
}

.tpma-shell-bizbox .bbx-win-head{
  height: 46px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid color-mix(in oklab, var(--bbx-app-accent) 18%, var(--bbx-surface-border));
  background:
    radial-gradient(520px 180px at 20% 10%, color-mix(in oklab, var(--bbx-app-accent) 16%, transparent) 0%, transparent 70%),
    var(--bbx-window-head-bg);
  user-select: none;
}

.tpma-shell-bizbox .bbx-win-head[data-bbx-win-drag]{
  cursor: grab;
}

.tpma-shell-bizbox .bbx-win-lights{
  display: flex;
  align-items: center;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-light{
  appearance: none;
  border: 1px solid rgba(0,0,0,0.28);
  width: 12px;
  height: 12px;
  border-radius: 999px;
  cursor: pointer;
  transition: transform 120ms ease, filter 120ms ease;
}

.tpma-shell-bizbox .bbx-light:hover{
  transform: translateY(-0.5px);
  filter: brightness(1.04);
}

.tpma-shell-bizbox .bbx-light-close{ background: #ff5f57; }
.tpma-shell-bizbox .bbx-light-min{ background: #febc2e; }
.tpma-shell-bizbox .bbx-light-max{ background: #28c840; }

.tpma-shell-bizbox .bbx-win-title{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: 0.2px;
  color: var(--tpma-text-md);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 16px;
}

.tpma-shell-bizbox .bbx-win-head-actions{
  min-width: 52px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-win-head-btn{
  appearance: none;
  width: 32px;
  height: 32px;
  border-radius: 12px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: color-mix(in oklab, var(--bbx-window-head-bg) 55%, var(--bbx-ui-bg));
  color: var(--tpma-text-md);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 950;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, color 120ms ease;
}

.tpma-shell-bizbox .bbx-win-head-btn:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-win-ico{
  width: 22px;
  height: 22px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  border: 1px solid color-mix(in oklab, var(--bbx-app-accent) 34%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--bbx-app-accent) 14%, var(--bbx-ui-bg));
  box-shadow: 0 14px 38px color-mix(in oklab, var(--bbx-app-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-win-body{
  flex: 1;
  overflow: auto;
  padding: 14px;
}

.tpma-shell-bizbox .bbx-window.is-iframe .bbx-win-body{
  padding: 0;
  overflow: hidden;
  display: flex;
}

.tpma-shell-bizbox .bbx-window.is-iframe .bbx-app-iframe{
  flex: 1;
  min-height: 0;
  height: 100%;
  gap: 0;
}

.tpma-shell-bizbox .bbx-window.is-iframe .bbx-app-iframe .bbx-app-head{
  padding: 12px 14px;
}

.tpma-shell-bizbox .bbx-window.is-iframe .bbx-iframe-wrap{
  flex: 1;
  min-height: 0;
  border-radius: 0;
  border: 0;
}

.tpma-shell-bizbox .bbx-win-resize{
  position: absolute;
  right: 6px;
  bottom: 6px;
  width: 18px;
  height: 18px;
  cursor: nwse-resize;
  touch-action: none;
  opacity: 0.35;
  border-radius: 6px;
  background:
    linear-gradient(135deg,
      transparent 0%,
      transparent 50%,
      rgba(255,255,255,0.28) 50%,
      rgba(255,255,255,0.28) 62%,
      transparent 62%,
      transparent 100%);
}

.tpma-shell-bizbox .bbx-window.is-focused .bbx-win-resize{
  opacity: 0.55;
}

.tpma-shell-bizbox .bbx-win-resize:hover{
  opacity: 0.8;
}

.tpma-shell-bizbox .bbx-window.is-max .bbx-win-resize,
.tpma-shell-bizbox .bbx-window.is-mobile .bbx-win-resize{
  display: none;
}

/* App UI */
.tpma-shell-bizbox .bbx-app{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Builder (next-gen workspace) */
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="builder"] .bbx-win-body{
  padding: 0;
  overflow: hidden;
  display: flex;
}

.tpma-shell-bizbox .bbx-builder-ng{
  flex: 1;
  width: 100%;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: rgba(0,0,0,0.12);
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-builder-ng .bbx-app-head{
  flex: 0 0 auto;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--bbx-surface-border);
  background:
    radial-gradient(520px 180px at 20% 10%, color-mix(in oklab, var(--bbx-app-accent) 16%, transparent) 0%, transparent 70%),
    rgba(0,0,0,0.12);
}

.tpma-shell-bizbox .bbx-builder-ng .bbx-app-head > :first-child{
  min-width: 0;
}

.tpma-shell-bizbox .bbx-builder-ng .bbx-app-head .bbx-h2{
  display: flex;
  align-items: center;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-builder-ai{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid color-mix(in oklab, var(--bbx-app-accent) 28%, rgba(255,255,255,0.12));
  background: color-mix(in oklab, var(--bbx-app-accent) 12%, rgba(0,0,0,0.18));
  color: color-mix(in oklab, var(--bbx-app-accent) 80%, rgba(255,255,255,0.9));
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  user-select: none;
}

.tpma-shell-bizbox .bbx-builder-viewport{
  display: flex;
  align-items: center;
  gap: 0;
  border-radius: 14px;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(0,0,0,0.25);
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-builder-viewport-btn{
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--tpma-text-lo);
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
  transition: background 120ms ease, color 120ms ease;
}

.tpma-shell-bizbox .bbx-builder-viewport-btn.is-active{
  background: rgba(255,255,255,0.08);
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-builder-mobile-quick{
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 4px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  scrollbar-width: none;
  padding: 0 4px 2px;
  margin: 0 -4px;
}

.tpma-shell-bizbox .bbx-builder-mobile-quick .bbx-btn{
  min-height: 44px;
  justify-content: center;
  flex: 0 0 auto;
  width: auto;
  min-width: max-content;
  scroll-snap-align: start;
  border-radius: 999px;
  padding-inline: 14px;
}

.tpma-shell-bizbox .bbx-builder-mobile-quick::-webkit-scrollbar{
  display: none;
}

.tpma-shell-bizbox .bbx-builder-mobile-more{
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.tpma-shell-bizbox .bbx-builder-mobile-more > summary{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 7px 10px;
  border-radius: 12px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  font-size: 12px;
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-builder-mobile-more[open] > summary{
  border-color: var(--bbx-ui-border-hi);
  background: color-mix(in oklab, var(--bbx-ui-bg2) 82%, transparent);
}

.tpma-shell-bizbox .bbx-builder-mobile-more-body{
  margin-top: 8px;
  display: grid;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-builder-mobile-summary{
  width: 100%;
}

.tpma-shell-bizbox .bbx-builder-mobile-summary-body{
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-builder-mobile-more-body .bbx-switch{
  justify-content: space-between;
}

.tpma-shell-bizbox .bbx-builder-ng-workspace{
  flex: 1;
  min-height: 0;
  display: flex;
  overflow: hidden;
  position: relative;
}

.tpma-shell-bizbox .bbx-builder-drawer-backdrop{
  position: absolute;
  inset: 0;
  z-index: 8;
  border: 0;
  padding: 0;
  background: rgba(3, 6, 18, 0.52);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.tpma-shell-bizbox .bbx-builder-ng-sidebar{
  width: 380px;
  max-width: 100%;
  flex: 0 0 380px;
  margin: 0;
  border-radius: 0;
  border-left: 0;
  border-top: 0;
  border-bottom: 0;
  border-right: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.12);
  display: flex;
  flex-direction: column;
  min-height: 0;
  transition: width 120ms ease, flex-basis 120ms ease;
}

.tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer{
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 9;
  width: min(420px, 100%);
  flex: 0 0 auto;
  border-right: 0;
  border-left: 1px solid var(--bbx-surface-border);
  box-shadow: 0 30px 100px rgba(0,0,0,0.55);
}

.tpma-shell-bizbox .bbx-builder-drawer-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 0;
}

.tpma-shell-bizbox .bbx-builder-drawer-head-actions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.tpma-shell-bizbox .bbx-builder-drawer-title{
  font-size: 13px;
  font-weight: 950;
  color: var(--tpma-text-hi);
  letter-spacing: -0.01em;
}

.tpma-shell-bizbox .bbx-builder-drawer-sub{
  margin-top: 4px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-ng.is-resizing,
.tpma-shell-bizbox .bbx-builder-ng.is-resizing *{
  cursor: col-resize !important;
  user-select: none;
}

.tpma-shell-bizbox .bbx-builder-splitter{
  position: relative;
  width: 14px;
  flex: 0 0 14px;
  align-self: stretch;
  cursor: col-resize;
  background: transparent;
}

.tpma-shell-bizbox .bbx-builder-splitter::before{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 92px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06);
}

.tpma-shell-bizbox .bbx-builder-splitter:hover::before{
  background: color-mix(in oklab, var(--bbx-app-accent) 46%, rgba(255,255,255,0.18));
}

.tpma-shell-bizbox .bbx-builder-ng-sidebar .tpma-output-head{
  display: none;
}

.tpma-shell-bizbox .bbx-builder-ng-sidebar .tpma-output-body{
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
}

.tpma-shell-bizbox .bbx-builder-ng-sidebar .bbx-builder-tabs{
  position: sticky;
  top: 0;
  z-index: 5;
  margin: -16px -16px 14px;
  padding: 0;
  border-bottom: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.18);
  border-radius: 0;
}

.tpma-shell-bizbox .bbx-builder-ng-sidebar .bbx-builder-tabs .bbx-seg-btn{
  flex: 1;
  justify-content: center;
  border-radius: 0;
  padding: 14px 10px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.02em;
  border: 0;
  background: transparent;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-ng-sidebar .bbx-builder-tabs .bbx-seg-btn.is-active{
  color: color-mix(in oklab, var(--bbx-app-accent) 88%, rgba(255,255,255,0.9));
  box-shadow: inset 0 -2px 0 color-mix(in oklab, var(--bbx-app-accent) 78%, transparent);
}

/* Builder next‑gen sidebar: panel layout + sticky header/footer */
.tpma-shell-bizbox .bbx-builder-ng-sidebar form[data-bbx-form="builder"]{
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.tpma-shell-bizbox .bbx-builder-ng-sidebar .bbx-builder-panel{
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.tpma-shell-bizbox .bbx-builder-ng-sidebar .bbx-builder-panel-head{
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.18);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.tpma-shell-bizbox .bbx-builder-panel-lead-label{
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-panel-lead-row{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.tpma-shell-bizbox .bbx-builder-panel-lead-select{
  flex: 1;
  min-width: 0;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 900;
  appearance: none;
  outline: none;
}

.tpma-shell-bizbox .bbx-builder-panel-lead-select:focus{
  border-color: color-mix(in oklab, var(--bbx-app-accent) 55%, rgba(255,255,255,0.18));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--bbx-app-accent) 24%, transparent);
}

.tpma-shell-bizbox .bbx-builder-checklist{
  margin-top: 12px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.04);
  border-radius: 18px;
  padding: 12px;
}

.tpma-shell-bizbox .bbx-builder-checklist-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-builder-checklist-title{
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-checklist-sub{
  margin-top: 4px;
  color: var(--tpma-text-md);
  font-size: 12px;
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-builder-checklist-ready{
  text-align: right;
}

.tpma-shell-bizbox .bbx-builder-checklist-ready-label{
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-checklist-ready-val{
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -0.01em;
  color: var(--tpma-text-hi);
  margin-top: 2px;
}

.tpma-shell-bizbox .bbx-builder-checklist-bar{
  margin-top: 10px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-builder-checklist-bar > span{
  display: block;
  height: 100%;
  background: color-mix(in oklab, var(--bbx-app-accent) 86%, rgba(255,255,255,0.10));
  border-radius: 999px;
}

.tpma-shell-bizbox .bbx-builder-checklist-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.tpma-shell-bizbox .bbx-builder-check{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: var(--tpma-text-hi);
  padding: 10px 10px;
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  font-weight: 900;
  transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.tpma-shell-bizbox .bbx-builder-check:hover{
  background: rgba(255,255,255,0.07);
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-builder-check.is-done{
  border-color: color-mix(in oklab, var(--bbx-app-accent) 34%, rgba(255,255,255,0.16));
  background: color-mix(in oklab, var(--bbx-app-accent) 10%, rgba(255,255,255,0.04));
}

.tpma-shell-bizbox .bbx-builder-check-left{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-builder-check-label{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-shell-bizbox .bbx-builder-check-mark{
  color: var(--tpma-text-lo);
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-builder-panel-search{
  margin-top: 12px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.tpma-shell-bizbox .bbx-builder-panel-search-input{
  flex: 1;
  min-width: 0;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  padding: 10px 12px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 850;
  outline: none;
}

.tpma-shell-bizbox .bbx-builder-panel-search-input::placeholder{
  color: rgba(255,255,255,0.36);
  font-weight: 800;
}

.tpma-shell-bizbox .bbx-builder-panel-search-input:focus{
  border-color: color-mix(in oklab, var(--bbx-app-accent) 55%, rgba(255,255,255,0.18));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--bbx-app-accent) 24%, transparent);
}

.tpma-shell-bizbox .bbx-builder-tab-row{
  margin-top: 12px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.tpma-shell-bizbox .bbx-builder-tab-row::-webkit-scrollbar{
  height: 8px;
}

.tpma-shell-bizbox .bbx-builder-tab-row::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.10);
  border-radius: 999px;
}

.tpma-shell-bizbox .bbx-builder-tab-chip{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: var(--tpma-text-lo);
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.01em;
  white-space: nowrap;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.tpma-shell-bizbox .bbx-builder-tab-ico{
  opacity: 0.92;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-builder-tab-chip:hover{
  background: rgba(255,255,255,0.07);
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-builder-tab-chip.is-active{
  color: var(--tpma-text-hi);
  background: color-mix(in oklab, var(--bbx-app-accent) 14%, rgba(255,255,255,0.06));
  border-color: color-mix(in oklab, var(--bbx-app-accent) 55%, rgba(255,255,255,0.18));
  box-shadow: 0 18px 80px color-mix(in oklab, var(--bbx-app-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-builder-panel-body{
  flex: 1;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 14px 16px 18px;
}

.tpma-shell-bizbox .bbx-builder-panel-body::-webkit-scrollbar{
  width: 8px;
}

.tpma-shell-bizbox .bbx-builder-panel-body::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.10);
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,0);
  background-clip: padding-box;
}

.tpma-shell-bizbox .bbx-builder-panel-foot{
  border-top: 1px solid var(--bbx-surface-border);
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: rgba(0,0,0,0.18);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.tpma-shell-bizbox .bbx-builder-panel-foot-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-builder-panel-foot-meta{
  margin-top: 8px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 11px;
  color: var(--tpma-text-lo);
  font-weight: 850;
  letter-spacing: 0.04em;
}

.tpma-shell-bizbox .bbx-builder-blocks{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.04);
  border-radius: 18px;
  padding: 12px;
}

.tpma-shell-bizbox .bbx-builder-blocks-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-builder-blocks-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-builder-block{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-builder-block.is-muted{
  opacity: 0.68;
  background: rgba(0,0,0,0.08);
}

.tpma-shell-bizbox .bbx-builder-block.is-muted .bbx-builder-block-title{
  text-decoration: line-through;
  text-decoration-color: rgba(255,255,255,0.28);
}

.tpma-shell-bizbox .bbx-builder-block-main{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-builder-block-ico{
  width: 36px;
  height: 36px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-builder-block-meta{
  min-width: 0;
}

.tpma-shell-bizbox .bbx-builder-block-title{
  font-weight: 950;
  font-size: 13px;
  letter-spacing: -0.01em;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-builder-block-desc{
  margin-top: 2px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.25;
}

.tpma-shell-bizbox .bbx-builder-block-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  gap: 6px;
}

.tpma-shell-bizbox .bbx-builder-engine-hero{
  border-radius: 22px;
  border: 1px solid color-mix(in oklab, var(--bbx-app-accent) 24%, rgba(255,255,255,0.14));
  background:
    radial-gradient(120% 120% at 0% 0%, color-mix(in oklab, var(--bbx-app-accent) 16%, transparent) 0%, transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(0,0,0,0.10));
  padding: 14px;
  box-shadow: 0 18px 72px color-mix(in oklab, var(--bbx-app-accent) 9%, transparent);
}

.tpma-shell-bizbox .bbx-builder-engine-hero-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-builder-engine-stats{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.tpma-shell-bizbox .bbx-builder-engine-stat{
  min-width: 0;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.16);
  padding: 12px;
}

.tpma-shell-bizbox .bbx-builder-engine-stat-k{
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-engine-stat-v{
  margin-top: 6px;
  font-size: 20px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 950;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-builder-engine-card{
  border-radius: 20px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.04);
  padding: 12px;
}

.tpma-shell-bizbox .bbx-builder-engine-card-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-shell-bizbox .bbx-builder-engine-card-title{
  font-weight: 950;
  color: var(--tpma-text-hi);
  letter-spacing: -0.01em;
}

.tpma-shell-bizbox .bbx-builder-engine-card-sub{
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-engine-issues,
.tpma-shell-bizbox .bbx-builder-engine-bindings,
.tpma-shell-bizbox .bbx-builder-engine-outline,
.tpma-shell-bizbox .bbx-builder-engine-library{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-builder-engine-issue{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(245, 158, 11, 0.20);
  background: rgba(245, 158, 11, 0.10);
}

.tpma-shell-bizbox .bbx-builder-engine-issue.is-error{
  border-color: rgba(248, 113, 113, 0.24);
  background: rgba(239, 68, 68, 0.10);
}

.tpma-shell-bizbox .bbx-builder-engine-issue.is-warn{
  border-color: rgba(245, 158, 11, 0.20);
  background: rgba(245, 158, 11, 0.10);
}

.tpma-shell-bizbox .bbx-builder-engine-issue-ico{
  width: 28px;
  height: 28px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.08);
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-builder-engine-issue-text{
  font-size: 13px;
  line-height: 1.4;
  color: var(--tpma-text-hi);
  font-weight: 850;
}

.tpma-shell-bizbox .bbx-builder-engine-binding,
.tpma-shell-bizbox .bbx-builder-engine-node{
  appearance: none;
  width: 100%;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-hi);
  border-radius: 16px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-builder-engine-binding:hover,
.tpma-shell-bizbox .bbx-builder-engine-node:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
  background: rgba(255,255,255,0.06);
}

.tpma-shell-bizbox .bbx-builder-engine-binding.is-ready{
  border-color: color-mix(in oklab, var(--bbx-app-accent) 32%, rgba(255,255,255,0.12));
  background: color-mix(in oklab, var(--bbx-app-accent) 8%, rgba(0,0,0,0.14));
}

.tpma-shell-bizbox .bbx-builder-engine-binding-main,
.tpma-shell-bizbox .bbx-builder-engine-node-main{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tpma-shell-bizbox .bbx-builder-engine-binding-title,
.tpma-shell-bizbox .bbx-builder-engine-node-title,
.tpma-shell-bizbox .bbx-builder-engine-page-title,
.tpma-shell-bizbox .bbx-builder-engine-library-title{
  font-size: 13px;
  font-weight: 950;
  letter-spacing: -0.01em;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-builder-engine-binding-src,
.tpma-shell-bizbox .bbx-builder-engine-node-sub,
.tpma-shell-bizbox .bbx-builder-engine-page-sub,
.tpma-shell-bizbox .bbx-builder-engine-library-sub{
  font-size: 12px;
  line-height: 1.35;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-engine-binding-state{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-md);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tpma-shell-bizbox .bbx-builder-engine-binding.is-ready .bbx-builder-engine-binding-state{
  border-color: color-mix(in oklab, var(--bbx-app-accent) 30%, rgba(255,255,255,0.12));
  background: color-mix(in oklab, var(--bbx-app-accent) 14%, rgba(255,255,255,0.06));
  color: color-mix(in oklab, var(--bbx-app-accent) 86%, rgba(255,255,255,0.94));
}

.tpma-shell-bizbox .bbx-builder-engine-page{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.14);
  padding: 12px;
}

.tpma-shell-bizbox .bbx-builder-engine-page-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.tpma-shell-bizbox .bbx-builder-engine-page-list,
.tpma-shell-bizbox .bbx-builder-engine-node-tags{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-builder-engine-node-tags{
  align-items: flex-end;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-builder-engine-library-item{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.14);
  padding: 12px;
}

.tpma-shell-bizbox .bbx-builder-ai-card{
  border-radius: 18px;
  border: 1px solid color-mix(in oklab, var(--bbx-app-accent) 22%, rgba(255,255,255,0.14));
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--bbx-app-accent) 14%, rgba(0,0,0,0.26)),
    rgba(0,0,0,0.14)
  );
  padding: 12px;
}

.tpma-shell-bizbox .bbx-builder-ai-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-builder-ai-title{
  font-weight: 950;
  letter-spacing: -0.01em;
}

.tpma-shell-bizbox .bbx-builder-ai-badge{
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-diff-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-diff-item{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.16);
}

.tpma-shell-bizbox .bbx-diff-text{
  font-size: 13px;
  font-weight: 850;
  color: var(--tpma-text-hi);
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-version-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-version-item{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.16);
}

.tpma-shell-bizbox .bbx-version-title{
  font-size: 13px;
  font-weight: 950;
  color: var(--tpma-text-hi);
  letter-spacing: -0.01em;
}

.tpma-shell-bizbox .bbx-version-sub{
  margin-top: 4px;
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-version-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-version-pills{
  display: inline-flex;
  gap: 6px;
  vertical-align: middle;
}

.tpma-shell-bizbox .bbx-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-lo);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.06em;
}

.tpma-shell-bizbox .bbx-pill-live{
  border-color: color-mix(in oklab, var(--bbx-app-accent) 40%, rgba(255,255,255,0.18));
  background: color-mix(in oklab, var(--bbx-app-accent) 18%, rgba(0,0,0,0.18));
  color: color-mix(in oklab, var(--bbx-app-accent) 86%, rgba(255,255,255,0.92));
}

.tpma-shell-bizbox .bbx-builder-ng-canvas{
  flex: 1;
  min-width: 0;
  margin: 0;
  border-radius: 0;
  border: 0;
  background: #000;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.tpma-shell-bizbox .bbx-builder-ng-canvas .tpma-output-head{
  display: none;
}

.tpma-shell-bizbox .bbx-builder-ng-canvas .tpma-output-body{
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  justify-content: flex-start;
  align-items: center;
  background-image: radial-gradient(circle at center, #27272A 1px, transparent 1px);
  background-size: 24px 24px;
  position: relative;
}

.tpma-shell-bizbox .bbx-builder-preview-toolbar{
  position: absolute;
  top: 12px;
  left: 12px;
  right: 108px;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  pointer-events: none;
}

.tpma-shell-bizbox .bbx-builder-preview-toolbar .bbx-btn{
  pointer-events: auto;
}

.tpma-shell-bizbox .bbx-builder-preview-toolbar .bbx-btn:nth-child(2){
  margin-left: auto;
}

.tpma-shell-bizbox .bbx-builder-preview-window-actions,
.tpma-shell-bizbox .bbx-builder-canvas-restore-group{
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 7;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-builder-window-pill{
  min-height: 40px;
  min-width: 40px;
  width: 40px;
  padding: 0;
  border-radius: 999px;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent{
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: calc(14px + env(safe-area-inset-bottom));
  z-index: 7;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-shell{
  width: min(760px, 100%);
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(8,10,18,0.76);
  box-shadow: 0 24px 80px rgba(0,0,0,0.48);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: auto;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-title{
  font-size: 13px;
  font-weight: 950;
  letter-spacing: -0.01em;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-sub{
  margin-top: 2px;
  font-size: 11px;
  font-weight: 700;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-link{
  appearance: none;
  border: 0;
  background: transparent;
  color: color-mix(in oklab, var(--bbx-app-accent) 82%, white 18%);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  padding: 0;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-link[disabled]{
  opacity: .42;
  cursor: default;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-input{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-input input{
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  padding: 0 16px;
  font-size: 14px;
  font-weight: 700;
  outline: none;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-input input::placeholder{
  color: rgba(255,255,255,0.52);
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-input input:focus{
  border-color: color-mix(in oklab, var(--bbx-app-accent) 44%, rgba(255,255,255,0.18));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--bbx-app-accent) 18%, rgba(255,255,255,0));
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-input .bbx-btn{
  min-height: 46px;
  border-radius: 999px;
  padding-inline: 16px;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-chip{
  appearance: none;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.tpma-shell-bizbox .bbx-builder-canvas-agent-chip:hover{
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.09);
}

.tpma-shell-bizbox .bbx-builder-canvas-restore{
  min-height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(8,10,18,0.76);
  color: var(--tpma-text-hi);
  padding: 0 14px;
  font-size: 12px;
  font-weight: 900;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}

.tpma-shell-bizbox .bbx-builder-canvas-tools{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.tpma-shell-bizbox .bbx-builder-canvas-tools-label{
  padding: 0 4px 0 6px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-builder-canvas-tool{
  appearance: none;
  border: 1px solid transparent;
  background: rgba(255,255,255,0.06);
  color: var(--tpma-text-hi);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, transform 120ms ease;
}

.tpma-shell-bizbox .bbx-builder-canvas-tool:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.12);
}

.tpma-shell-bizbox .bbx-builder-canvas-tool.is-active{
  background: color-mix(in oklab, var(--bbx-app-accent) 24%, rgba(255,255,255,0.08));
  border-color: color-mix(in oklab, var(--bbx-app-accent) 36%, rgba(255,255,255,0.12));
  color: color-mix(in oklab, var(--bbx-app-accent) 88%, white 12%);
}

.tpma-shell-bizbox .bbx-builder-ng .bbx-demo-frame{
  height: 100%;
  border: 0;
  border-radius: 0;
  background: #ffffff;
}

.tpma-shell-bizbox .bbx-builder-ng .bbx-demo-wrap{
  width: 100%;
  max-width: none;
  transition: transform 120ms ease;
}

.tpma-shell-bizbox .bbx-builder-ng .bbx-demo-wrap[data-device="mobile"]{
  width: 390px;
  height: 844px;
  padding: 0;
  border-radius: 48px;
  border: 12px solid #27272A;
  background: #000;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.8), inset 0 0 0 2px #3F3F46;
  position: relative;
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-builder-ng .bbx-demo-wrap[data-device="mobile"]::before{
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 140px;
  height: 28px;
  background: #27272A;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
  z-index: 5;
}

.tpma-shell-bizbox .bbx-builder-ng .bbx-demo-wrap[data-device="desktop"]{
  width: min(980px, 100%);
  height: min(72vh, 760px);
  padding: 0;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(8,10,18,0.46);
  box-shadow: 0 28px 88px rgba(0,0,0,0.55);
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-builder-ng.is-preview-full .bbx-builder-ng-canvas .tpma-output-body{
  padding: 0;
  background: #000;
  background-image: none;
  align-items: stretch;
}

.tpma-shell-bizbox .bbx-builder-ng.is-preview-full .bbx-demo-wrap{
  width: 100% !important;
  max-width: none;
  height: 100% !important;
  min-height: 100%;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.tpma-shell-bizbox .bbx-builder-ng.is-preview-full .bbx-demo-wrap::before{
  display: none !important;
}

.tpma-shell-bizbox .bbx-builder-ng.is-preview-full .bbx-demo-frame{
  height: 100%;
  min-height: 100%;
}

@media (max-width: 980px){
  .tpma-shell-bizbox .bbx-builder-ng-sidebar{ width: 100%; flex-basis: 100%; border-right: 0; }
  .tpma-shell-bizbox .bbx-window.is-mobile.is-builder-drawer-open .bbx-win-body{
    padding-bottom: 0;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer{
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    height: min(82vh, calc(100% - 72px));
    max-height: calc(100% - 72px);
    border-left: 0;
    border-top: 1px solid var(--bbx-surface-border);
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -28px 96px rgba(0,0,0,0.62);
  }
  .tpma-shell-bizbox .bbx-window.is-mobile.is-builder-drawer-open .bbx-builder-ng-sidebar.is-drawer{
    top: calc(56px + env(safe-area-inset-top));
    bottom: 0;
    height: auto;
    max-height: none;
    border-top: 1px solid var(--bbx-surface-border);
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -20px 72px rgba(0,0,0,0.56);
  }
  .tpma-shell-bizbox .bbx-builder-splitter{ display: none; }
  .tpma-shell-bizbox .bbx-builder-ng-workspace{ flex-direction: column; }
  .tpma-shell-bizbox .bbx-builder-ng-canvas .tpma-output-head{ display: none; }
  .tpma-shell-bizbox .bbx-builder-ng-canvas .tpma-output-body{ padding: 12px 0 0; }
  .tpma-shell-bizbox .bbx-builder-engine-stats{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tpma-shell-bizbox .bbx-builder-engine-binding,
  .tpma-shell-bizbox .bbx-builder-engine-node{ align-items: flex-start; }
  .tpma-shell-bizbox .bbx-builder-engine-binding,
  .tpma-shell-bizbox .bbx-builder-engine-node,
  .tpma-shell-bizbox .bbx-builder-engine-page-head{ flex-direction: column; }
  .tpma-shell-bizbox .bbx-builder-engine-node-tags{ width: 100%; align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: stretch;
    justify-content: stretch;
    overflow: visible;
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions > .bbx-builder-ai,
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions > .bbx-builder-viewport,
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions > .bbx-builder-mobile-quick,
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions > .bbx-builder-mobile-summary{
    grid-column: 1 / -1;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions .bbx-builder-ai{
    justify-content: center;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions .bbx-builder-viewport{
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions .bbx-builder-viewport-btn{
    flex: 1 1 0;
    min-width: 0;
    padding: 7px 10px;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions .bbx-btn,
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions .bbx-details,
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions .bbx-switch{
    min-width: 0;
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions .bbx-btn{
    justify-content: center;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions .bbx-builder-mobile-more[open]{
    grid-column: 1 / -1;
  }
  .tpma-shell-bizbox .bbx-builder-mobile-quick{
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 4px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-builder-mobile-actions .bbx-builder-mobile-quick .bbx-btn{
    width: auto;
    min-width: max-content;
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  .tpma-shell-bizbox .bbx-builder-mobile-more-body .bbx-btn,
  .tpma-shell-bizbox .bbx-builder-mobile-more-body .bbx-builder-viewport{
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-builder-mobile-more-body .bbx-builder-viewport{
    justify-content: stretch;
  }
  .tpma-shell-bizbox .bbx-builder-mobile-more-body .bbx-builder-viewport-btn{
    flex: 1 1 0;
  }
  .tpma-shell-bizbox .bbx-builder-checklist-head{
    flex-direction: column;
    align-items: flex-start;
  }
  .tpma-shell-bizbox .bbx-builder-checklist-ready{
    text-align: left;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-panel-head{
    position: sticky;
    top: 0;
    z-index: 4;
    max-height: min(34vh, 280px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 8px;
    background: linear-gradient(180deg, rgba(8,10,18,0.98) 0%, rgba(8,10,18,0.95) 100%);
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-panel-head::-webkit-scrollbar{
    width: 6px;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-panel-head::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,0.10);
    border-radius: 999px;
  }
  .tpma-shell-bizbox .bbx-builder-checklist-grid{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-builder-checklist-mobile{
    margin-top: 10px;
    padding: 0;
    overflow: hidden;
  }
  .tpma-shell-bizbox .bbx-builder-checklist-mobile > summary{
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    cursor: pointer;
  }
  .tpma-shell-bizbox .bbx-builder-checklist-mobile > summary::-webkit-details-marker{
    display: none;
  }
  .tpma-shell-bizbox .bbx-builder-checklist-mobile-title{
    font-size: 13px;
    font-weight: 950;
    color: var(--tpma-text-hi);
  }
  .tpma-shell-bizbox .bbx-builder-checklist-mobile-sub{
    font-size: 11px;
    font-weight: 850;
    color: var(--tpma-text-lo);
    text-align: right;
  }
  .tpma-shell-bizbox .bbx-builder-checklist-mobile-body{
    padding: 0 14px 14px;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-checklist{
    padding: 10px;
    border-radius: 16px;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-checklist-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-check{
    min-height: 46px;
    padding: 8px 9px;
    align-items: flex-start;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-check-left{
    align-items: flex-start;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-check-label{
    white-space: normal;
    line-height: 1.15;
  }
  .tpma-shell-bizbox .bbx-builder-panel-search{
    flex-wrap: wrap;
  }
  .tpma-shell-bizbox .bbx-builder-tab-row{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    padding-bottom: 0;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-tab-row{
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    position: sticky;
    top: 0;
    bottom: auto;
    z-index: 4;
    margin-top: 8px;
    padding-top: 0;
    padding-bottom: 6px;
    background: linear-gradient(180deg, rgba(8,10,18,0.98) 0%, rgba(8,10,18,0.95) 100%);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-tab-row::-webkit-scrollbar{
    height: 6px;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-tab-row::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,0.10);
    border-radius: 999px;
  }
  .tpma-shell-bizbox .bbx-builder-tab-chip{
    width: 100%;
    justify-content: center;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-tab-chip{
    flex: 0 0 auto;
    width: auto;
    min-width: max-content;
    scroll-snap-align: start;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-panel-body{
    min-height: 220px;
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
    touch-action: pan-y pinch-zoom;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer [data-bbx-builder-ai-card]{
    scroll-margin-top: 12px;
  }
  .tpma-shell-bizbox .bbx-builder-ng-sidebar.is-drawer .bbx-builder-panel-foot{
    position: sticky;
    bottom: 0;
    z-index: 4;
    background: linear-gradient(180deg, rgba(8,10,18,0.72) 0%, rgba(8,10,18,0.96) 24%, rgba(8,10,18,0.99) 100%);
    padding-top: 10px;
  }
  .tpma-shell-bizbox .bbx-builder-panel-foot-actions{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .tpma-shell-bizbox .bbx-builder-panel-foot-actions .bbx-btn{
    justify-content: center;
    min-height: 42px;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-puck-shell .bbx-builder-engine-card-head{
    display: none;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-demo-wrap[data-device="mobile"]{
    width: 100%;
    min-height: min(72vh, 700px);
    height: auto;
    padding: 0;
    border-radius: 24px;
  }
  .tpma-shell-bizbox .bbx-builder-ng .bbx-demo-wrap[data-device="mobile"]::before{
    display: none;
  }
  .tpma-shell-bizbox .bbx-builder-ng.is-preview-full .bbx-app-head{
    display: none;
  }
  .tpma-shell-bizbox .bbx-builder-ng.is-preview-full .bbx-builder-ng-canvas .tpma-output-body{
    padding-top: 0;
  }
  .tpma-shell-bizbox .bbx-window.is-mobile.is-builder-preview-full:not(.is-builder-drawer-open) .bbx-builder-ng-canvas .tpma-output-body{
    padding-top: calc(58px + env(safe-area-inset-top));
  }
  .tpma-shell-bizbox .bbx-builder-preview-toolbar{
    top: calc(10px + env(safe-area-inset-top));
    left: 10px;
    right: 104px;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 10px;
    padding-right: 12px;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    pointer-events: auto;
    scrollbar-width: none;
  }
  .tpma-shell-bizbox .bbx-builder-preview-toolbar::-webkit-scrollbar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-builder-preview-toolbar .bbx-btn{
    flex: 0 0 auto;
    min-height: 40px;
    min-width: max-content;
    padding-inline: 12px;
    font-size: 12px;
    scroll-snap-align: start;
  }
  .tpma-shell-bizbox .bbx-builder-preview-toolbar .bbx-btn:nth-child(2){
    margin-left: 0;
  }
  .tpma-shell-bizbox .bbx-builder-preview-window-actions,
  .tpma-shell-bizbox .bbx-builder-canvas-restore-group{
    top: calc(10px + env(safe-area-inset-top));
    right: 10px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent{
    left: 10px;
    right: 10px;
    bottom: calc(14px + var(--bbx-dock-safe, 168px) + env(safe-area-inset-bottom));
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-shell{
    border-radius: 20px;
    padding: 9px;
    gap: 7px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-head{
    align-items: center;
    flex-direction: row;
    gap: 8px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-actions{
    justify-content: flex-end;
    gap: 8px;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-actions::-webkit-scrollbar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-title{
    font-size: 12px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-sub{
    font-size: 10px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-input{
    grid-template-columns: 1fr auto;
    gap: 6px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-input input{
    min-height: 40px;
    font-size: 13px;
    padding-inline: 14px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-input .bbx-btn{
    min-height: 40px;
    padding-inline: 14px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-pills{
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-pills::-webkit-scrollbar{
    height: 6px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-pills::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,0.12);
    border-radius: 999px;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-agent-chip{
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .tpma-shell-bizbox .bbx-builder-canvas-restore{
    top: calc(10px + env(safe-area-inset-top));
    right: 10px;
  }
}

/* POS (sales + inventory) */
.tpma-shell-bizbox .bbx-pos-prods{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
}

.tpma-shell-bizbox .bbx-pos-prod{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-pos-prod-title{
  font-weight: 900;
  letter-spacing: -0.01em;
}

.tpma-shell-bizbox .bbx-pos-prod-sub{
  margin-top: 4px;
  font-size: 12px;
  opacity: 0.78;
}

.tpma-shell-bizbox .bbx-pos-prod-sub.is-oos{
  opacity: 1;
  color: rgba(248,113,113,0.95);
}

.tpma-shell-bizbox .bbx-pos-prod-sub.is-low{
  opacity: 1;
  color: rgba(251,191,36,0.95);
}

.tpma-shell-bizbox .bbx-pos-cart{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-pos-cart-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
}

.tpma-shell-bizbox .bbx-pos-cart-title{
  font-weight: 850;
}

.tpma-shell-bizbox .bbx-pos-cart-qty{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tpma-shell-bizbox .bbx-pos-cart-num{
  min-width: 22px;
  text-align: center;
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-pos-totals{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,0.10);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tpma-shell-bizbox .bbx-pos-total-row{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-pos-table-wrap{
  overflow: auto;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-pos-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.tpma-shell-bizbox .bbx-pos-table th,
.tpma-shell-bizbox .bbx-pos-table td{
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  vertical-align: middle;
}

.tpma-shell-bizbox .bbx-pos-table th{
  text-align: left;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-pos-input{
  width: 100%;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-pos-actions{
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-pos-sale{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  margin-bottom: 8px;
}

.tpma-shell-bizbox .bbx-pos-low{
  padding: 10px 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  margin-bottom: 8px;
}

/* Prospecting (split view + OSM map) */
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="prospecting"] .bbx-win-body{
  padding: 0;
  overflow: hidden;
  display: flex;
}

.tpma-shell-bizbox .bbx-prospect{
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.tpma-shell-bizbox .bbx-prospect-head{
  height: 64px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--bbx-surface-border);
  background:
    radial-gradient(520px 180px at 20% 10%, rgba(16,185,129,0.10) 0%, transparent 70%),
    rgba(0,0,0,0.12);
}

.tpma-shell-bizbox .bbx-prospect-main{
  flex: 1;
  min-height: 0;
  display: flex;
}

.tpma-shell-bizbox .bbx-prospect-left{
  width: 520px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-right: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.12);
}

.tpma-shell-bizbox .bbx-prospect-search{
  padding: 16px 18px;
  border-bottom: 1px solid var(--bbx-surface-border);
}

.tpma-shell-bizbox .bbx-prospect-searchbox{
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(0,0,0,0.25);
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-prospect-searchrow{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 12px;
}

.tpma-shell-bizbox .bbx-prospect-searchrow--industry{
  border-bottom: 1px solid color-mix(in oklab, var(--bbx-ui-border) 65%, transparent);
}

.tpma-shell-bizbox .bbx-prospect-ico{
  color: var(--tpma-text-md);
  font-size: 16px;
  width: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tpma-shell-bizbox .bbx-prospect-select,
.tpma-shell-bizbox .bbx-prospect-input{
  flex: 1;
  appearance: none;
  border: none;
  background: transparent;
  outline: none;
  color: var(--tpma-text-hi);
  font-weight: 950;
  font-size: 13px;
  letter-spacing: -0.1px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-prospect-input{
  font-weight: 700;
}

.tpma-shell-bizbox .bbx-prospect-caret{
  color: var(--tpma-text-lo);
  font-size: 11px;
}

.tpma-shell-bizbox .bbx-prospect-filter{
  appearance: none;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-md);
  border-radius: 12px;
  padding: 8px 9px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tpma-shell-bizbox .bbx-prospect-filter:hover{
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-prospect-submit{
  padding: 10px 14px;
  border-radius: 12px;
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-prospect-adv{
  display: none;
  margin-top: 12px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.12);
}

.tpma-shell-bizbox .bbx-prospect-adv.is-open{
  display: block;
}

.tpma-shell-bizbox .bbx-prospect-adv-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.tpma-shell-bizbox .bbx-prospect-adv-field label{
  display: block;
  margin-bottom: 6px;
  color: var(--tpma-text-lo);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.tpma-shell-bizbox .bbx-prospect-adv-field select,
.tpma-shell-bizbox .bbx-prospect-adv-field input{
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-hi);
  font-weight: 800;
  outline: none;
}

.tpma-shell-bizbox .bbx-prospect-adv-field select:focus,
.tpma-shell-bizbox .bbx-prospect-adv-field input:focus{
  border-color: var(--bbx-ui-border-hi);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 22%, transparent);
}

.tpma-shell-bizbox .bbx-prospect-quick{
  margin-top: 12px;
}

.tpma-shell-bizbox .bbx-prospect-quick-label{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 8px;
}

.tpma-shell-bizbox .bbx-prospect-results{
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 14px 14px 18px 14px;
  background: rgba(0,0,0,0.18);
}

.tpma-shell-bizbox .bbx-prospect-results-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 0 6px;
  margin-bottom: 12px;
}

.tpma-shell-bizbox .bbx-prospect-results-title{
  font-weight: 950;
  color: var(--tpma-text-md);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
}

.tpma-shell-bizbox .bbx-prospect-results-meta{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 800;
}

.tpma-shell-bizbox .bbx-prospect-coach{
  display: grid;
  gap: 10px;
  padding: 12px;
  margin: 0 0 12px;
  border-radius: 18px;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 22%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(340px 120px at 12% 0%, color-mix(in oklab, var(--tpma-accent) 10%, transparent) 0%, transparent 72%),
    rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-prospect-coach-title{
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-prospect-coach-sub{
  color: var(--tpma-text-md);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 850;
}

.tpma-shell-bizbox .bbx-prospect-cards{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-prospect-card{
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(0,0,0,0.18);
  padding: 14px 14px;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.tpma-shell-bizbox .bbx-prospect-card:hover{
  border-color: color-mix(in oklab, var(--tpma-accent) 28%, var(--bbx-ui-border));
  background: rgba(0,0,0,0.26);
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-prospect-card.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, var(--bbx-ui-border));
  box-shadow: 0 18px 48px color-mix(in oklab, var(--tpma-accent) 10%, transparent);
}

.tpma-shell-bizbox .bbx-prospect-card-top{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-prospect-card-title{
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -0.2px;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-prospect-card-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
  align-items: center;
}

.tpma-shell-bizbox .bbx-prospect-tag{
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.05);
  color: var(--tpma-text-md);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.tpma-shell-bizbox .bbx-prospect-dist{
  color: color-mix(in oklab, var(--tpma-accent) 82%, #ffffff 18%);
  font-size: 12px;
  font-weight: 800;
}

.tpma-shell-bizbox .bbx-prospect-badge{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(255,255,255,0.04);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  color: var(--tpma-text-md);
}

.tpma-shell-bizbox .bbx-prospect-card-actions{
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.tpma-shell-bizbox .bbx-prospect-card-btn{
  flex: 1;
  appearance: none;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-hi);
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.tpma-shell-bizbox .bbx-prospect-card-btn:hover{
  border-color: var(--bbx-ui-border-hi);
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-prospect-card-btn--add{
  border-color: color-mix(in oklab, var(--tpma-accent) 40%, var(--bbx-ui-border));
  background: color-mix(in oklab, var(--tpma-accent) 10%, rgba(0,0,0,0.14));
  color: color-mix(in oklab, var(--tpma-accent) 92%, #ffffff 8%);
}

.tpma-shell-bizbox .bbx-prospect-card-btn--ghost{
  background: rgba(0,0,0,0.04);
}

.tpma-shell-bizbox .bbx-prospect-empty{
  border: 1px solid var(--bbx-ui-border-soft);
  border-radius: 18px;
  padding: 16px 14px;
  background: rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-prospect-empty-title{
  font-weight: 950;
  font-size: 16px;
  letter-spacing: -0.2px;
  margin-bottom: 6px;
}

.tpma-shell-bizbox .bbx-prospect-map{
  flex: 1;
  min-width: 0;
  position: relative;
  background: #0b0f16;
}

.tpma-shell-bizbox .bbx-prospect-map-frame{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 980px){
  .tpma-shell-bizbox .bbx-prospect-map{ display: none; }
  .tpma-shell-bizbox .bbx-window.is-mobile[data-bbx-win-app="prospecting"] .bbx-win-body{
    padding-bottom: 0;
    scroll-padding-bottom: 0;
  }
  .tpma-shell-bizbox .bbx-prospect-main{
    min-height: 0;
    overflow: hidden;
  }
  .tpma-shell-bizbox .bbx-prospect-left{
    width: 100%;
    border-right: 0;
    overflow: auto;
    padding-bottom: calc(18px + var(--bbx-dock-safe, 168px) + env(safe-area-inset-bottom));
    scroll-padding-bottom: calc(var(--bbx-dock-safe, 168px) + env(safe-area-inset-bottom));
  }
  .tpma-shell-bizbox .bbx-prospect-adv-grid{ grid-template-columns: 1fr; }
  .tpma-shell-bizbox .bbx-prospect-head{
    height: auto;
    padding: 16px;
    flex-direction: column;
    align-items: flex-start;
  }
  .tpma-shell-bizbox .bbx-prospect-head .bbx-btn{
    width: 100%;
    justify-content: center;
  }
  .tpma-shell-bizbox .bbx-prospect-search{
    padding: 14px;
  }
  .tpma-shell-bizbox .bbx-prospect-searchrow--location{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }
  .tpma-shell-bizbox .bbx-prospect-searchrow--location .bbx-prospect-input{
    min-width: 0;
  }
  .tpma-shell-bizbox .bbx-prospect-searchrow--location .bbx-prospect-submit{
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;
  }
  .tpma-shell-bizbox .bbx-prospect-results{
    flex: 0 0 auto;
    min-height: auto;
    overflow: visible;
    padding: 12px 12px 18px;
  }
  .tpma-shell-bizbox .bbx-prospect-results-head{
    flex-direction: column;
    align-items: flex-start;
  }
  .tpma-shell-bizbox .bbx-prospect-card-actions{
    flex-direction: column;
  }
  .tpma-shell-bizbox .bbx-prospect-card-btn{
    width: 100%;
  }
}

/* Outreach (automation composer + activity timeline) */
.tpma-shell-bizbox .bbx-window[data-bbx-win-app="outreach"] .bbx-win-body{
  padding: 0;
  overflow: hidden;
  display: flex;
}

.tpma-shell-bizbox .bbx-outreach{
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: rgba(0,0,0,0.12);
}

.tpma-shell-bizbox .bbx-outreach-top{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--bbx-surface-border);
  background:
    radial-gradient(520px 180px at 20% 10%, rgba(16,185,129,0.08) 0%, transparent 70%),
    rgba(0,0,0,0.12);
}

.tpma-shell-bizbox .bbx-outreach-headline{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1 1 220px;
}

.tpma-shell-bizbox .bbx-outreach-lead{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 220px;
}

.tpma-shell-bizbox .bbx-outreach-lead-select{
  appearance: none;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(0,0,0,0.22);
  color: var(--tpma-text-hi);
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 950;
  letter-spacing: -0.1px;
  cursor: pointer;
  min-width: 220px;
  max-width: 320px;
}

.tpma-shell-bizbox .bbx-outreach-context{
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-outreach-ctx{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.04);
  color: var(--tpma-text-md);
  font-size: 12px;
  font-weight: 900;
  max-width: 260px;
}

.tpma-shell-bizbox .bbx-outreach-presence{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background:
    radial-gradient(420px 140px at 8% 0%, rgba(16,185,129,0.10) 0%, transparent 72%),
    rgba(0,0,0,0.16);
}

.tpma-shell-bizbox .bbx-outreach-presence-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-outreach-presence-copy{
  min-width: 0;
  flex: 1;
}

.tpma-shell-bizbox .bbx-outreach-presence-title{
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-outreach-presence-sub{
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--tpma-text-md);
  font-weight: 850;
}

.tpma-shell-bizbox .bbx-outreach-presence-meta{
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.04);
  color: var(--tpma-text-lo);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-outreach-contact-rail{
  display: flex;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  scrollbar-width: none;
}

.tpma-shell-bizbox .bbx-outreach-contact-rail::-webkit-scrollbar{
  display: none;
}

.tpma-shell-bizbox .bbx-outreach-contact-pill{
  min-width: 150px;
  max-width: 220px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.04);
  color: var(--tpma-text-hi);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-outreach-contact-pill.is-demo{
  border-color: color-mix(in oklab, var(--tpma-accent) 34%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--tpma-accent) 10%, rgba(255,255,255,0.04));
}

.tpma-shell-bizbox .bbx-outreach-contact-pill-ico{
  width: 30px;
  height: 30px;
  border-radius: 12px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 15px;
}

.tpma-shell-bizbox .bbx-outreach-contact-pill-copy{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tpma-shell-bizbox .bbx-outreach-contact-pill-label{
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-outreach-contact-pill-value{
  font-size: 12px;
  color: var(--tpma-text-hi);
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-shell-bizbox .bbx-outreach-empty{
  border: 1px dashed var(--bbx-ui-border-soft);
  border-radius: 16px;
  padding: 12px;
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 850;
  background: rgba(0,0,0,0.10);
}

.tpma-shell-bizbox .bbx-outreach-workspace{
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.tpma-shell-bizbox .bbx-outreach-workspace::-webkit-scrollbar{
  display: none;
}

.tpma-shell-bizbox .bbx-outreach-workspace .bbx-btn{
  flex: 0 0 auto;
  min-height: 38px;
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-outreach-ctx-ico{
  width: 16px;
  display: inline-flex;
  justify-content: center;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-outreach-ctx-val{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-outreach-ctx-link{
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, color 120ms ease;
}

.tpma-shell-bizbox .bbx-outreach-ctx-link:hover{
  border-color: var(--bbx-ui-border-hi);
  background: rgba(255,255,255,0.06);
  transform: translateY(-1px);
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-outreach-stage{
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(245,158,11,0.22);
  background: rgba(245,158,11,0.10);
  color: rgba(245,158,11,0.95);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.tpma-shell-bizbox .bbx-outreach-stage.is-contacted{
  border-color: rgba(56,189,248,0.22);
  background: rgba(56,189,248,0.10);
  color: rgba(56,189,248,0.95);
}

.tpma-shell-bizbox .bbx-outreach-stage.is-demo{
  border-color: rgba(168,85,247,0.22);
  background: rgba(168,85,247,0.10);
  color: rgba(168,85,247,0.95);
}

.tpma-shell-bizbox .bbx-outreach-stage.is-proposal{
  border-color: rgba(239,68,68,0.22);
  background: rgba(239,68,68,0.10);
  color: rgba(239,68,68,0.95);
}

.tpma-shell-bizbox .bbx-outreach-stage.is-won{
  border-color: rgba(16,185,129,0.30);
  background: rgba(16,185,129,0.12);
  color: rgba(16,185,129,0.98);
}

.tpma-shell-bizbox .bbx-outreach-more{
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-outreach-more summary{
  width: 100%;
}

.tpma-shell-bizbox .bbx-outreach-more-body{
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-outreach-more-stage{
  display: flex;
  justify-content: flex-start;
}

.tpma-shell-bizbox .bbx-outreach-top-actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-outreach-mobile-actions{
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
}

.tpma-shell-bizbox .bbx-outreach-mobile-actions::-webkit-scrollbar{
  display: none;
}

.tpma-shell-bizbox .bbx-outreach-mobile-actions > .bbx-btn{
  flex: 0 0 auto;
  white-space: nowrap;
  scroll-snap-align: start;
}

.tpma-shell-bizbox .bbx-outreach-mobile-actions > .bbx-outreach-more{
  flex: 0 0 auto;
  scroll-snap-align: start;
}

.tpma-shell-bizbox .bbx-outreach-main{
  flex: 1;
  min-height: 0;
  display: flex;
}

.tpma-shell-bizbox .bbx-outreach-composer{
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--bbx-surface-border);
}

.tpma-shell-bizbox .bbx-outreach-tabs{
  flex: 0 0 auto;
  display: flex;
  border-bottom: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.20);
}

.tpma-shell-bizbox .bbx-outreach-seq{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.16);
}

.tpma-shell-bizbox .bbx-outreach-seq-label{
  font-weight: 950;
  color: var(--tpma-text-lo);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 11px;
}

.tpma-shell-bizbox .bbx-outreach-seq-tabs{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-shell-bizbox .bbx-outreach-seq-btn{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.04);
  color: var(--tpma-text-md);
  padding: 7px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.tpma-shell-bizbox .bbx-outreach-seq-btn:hover{
  border-color: var(--bbx-ui-border-hi);
  background: rgba(255,255,255,0.06);
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-outreach-seq-btn.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 48%, var(--bbx-ui-border));
  background: color-mix(in oklab, var(--tpma-accent) 18%, rgba(0,0,0,0.10));
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-outreach-seq-mobile{
  margin-top: 0;
}

.tpma-shell-bizbox .bbx-outreach-seq-mobile-body{
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-outreach-cadence{
  margin-top: 0;
}

.tpma-shell-bizbox .bbx-outreach-cadence-body{
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-outreach-cadence-step{
  appearance: none;
  width: 100%;
  text-align: left;
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-outreach-cadence-step.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 48%, var(--bbx-ui-border));
  background: color-mix(in oklab, var(--tpma-accent) 10%, rgba(0,0,0,0.12));
  box-shadow: 0 18px 48px color-mix(in oklab, var(--tpma-accent) 10%, transparent);
}

.tpma-shell-bizbox .bbx-outreach-cadence-step-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-outreach-cadence-step-label{
  font-size: 12px;
  font-weight: 950;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-outreach-cadence-step-title{
  font-size: 14px;
  font-weight: 950;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-outreach-cadence-step-sub,
.tpma-shell-bizbox .bbx-outreach-cadence-step-channel{
  font-size: 12px;
  line-height: 1.45;
  color: var(--tpma-text-md);
  font-weight: 850;
}

.tpma-shell-bizbox .bbx-outreach-tab{
  flex: 0 0 auto;
  appearance: none;
  border: none;
  background: transparent;
  color: var(--tpma-text-lo);
  padding: 14px 16px;
  font-weight: 950;
  font-size: 13px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
}

.tpma-shell-bizbox .bbx-outreach-tab:hover{
  color: var(--tpma-text-hi);
  background: rgba(255,255,255,0.04);
}

.tpma-shell-bizbox .bbx-outreach-tab.is-active{
  color: color-mix(in oklab, var(--tpma-accent) 82%, #ffffff 18%);
  border-bottom-color: color-mix(in oklab, var(--tpma-accent) 70%, transparent);
  background: rgba(0,0,0,0.10);
}

.tpma-shell-bizbox .bbx-outreach-compose{
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 14px;
}

.tpma-shell-bizbox .bbx-outreach-compose-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-outreach-compose-title{
  font-weight: 950;
  color: var(--tpma-text-md);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
}

.tpma-shell-bizbox .bbx-outreach-ice{
  appearance: none;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 24%, var(--bbx-ui-border-soft));
  background: linear-gradient(90deg, rgba(16,185,129,0.10), rgba(59,130,246,0.10));
  color: var(--tpma-text-hi);
  font-size: 12px;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-outreach-ice:hover{
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-outreach-quicktools{
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  scrollbar-width: none;
}

.tpma-shell-bizbox .bbx-outreach-quicktools::-webkit-scrollbar{
  display: none;
}

.tpma-shell-bizbox .bbx-outreach-quicktools .bbx-btn{
  flex: 0 0 auto;
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-outreach-tools-more{
  margin-top: -2px;
}

.tpma-shell-bizbox .bbx-outreach-tools-more summary{
  width: 100%;
}

.tpma-shell-bizbox .bbx-outreach-tools-more-body{
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-outreach-subject{
  display: flex;
  gap: 10px;
  align-items: center;
  border-radius: 14px;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(0,0,0,0.20);
  padding: 10px 12px;
}

.tpma-shell-bizbox .bbx-outreach-subject-label{
  color: var(--tpma-text-lo);
  font-weight: 900;
  font-size: 12px;
  width: 60px;
}

.tpma-shell-bizbox .bbx-outreach-subject-input{
  flex: 1;
  appearance: none;
  border: none;
  background: transparent;
  color: var(--tpma-text-hi);
  outline: none;
  font-weight: 900;
  font-size: 13px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-outreach-msg{
  flex: 1;
  min-height: 0;
  border-radius: 16px;
  border: 1px solid var(--bbx-ui-border);
  background: rgba(0,0,0,0.22);
  padding: 14px 14px;
  color: rgba(228,228,231,0.98);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  line-height: 1.6;
  outline: none;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

.tpma-shell-bizbox .bbx-outreach-msg:focus{
  border-color: color-mix(in oklab, var(--tpma-accent) 45%, var(--bbx-ui-border));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 20%, transparent);
}

.tpma-shell-bizbox .bbx-token{
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.22);
  color: rgba(16,185,129,0.98);
  padding: 0 4px;
  border-radius: 6px;
  font-family: inherit;
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-outreach-footer{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px 14px 14px;
  border-top: 1px solid var(--bbx-surface-border);
  background: rgba(0,0,0,0.18);
}

.tpma-shell-bizbox .bbx-outreach-tools,
.tpma-shell-bizbox .bbx-outreach-actions{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-outreach-timeline{
  width: 380px;
  max-width: 42%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: rgba(0,0,0,0.10);
}

.tpma-shell-bizbox .bbx-outreach-timeline-head{
  flex: 0 0 auto;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 14px;
  border-bottom: 1px solid var(--bbx-surface-border);
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-outreach-timeline-sub{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 800;
}

.tpma-shell-bizbox .bbx-outreach-timeline-body{
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 14px 14px 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-outreach-act{
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.tpma-shell-bizbox .bbx-outreach-act-ico{
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.04);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-outreach-act-title{
  font-weight: 950;
  font-size: 13px;
  color: var(--tpma-text-hi);
  line-height: 1.2;
}

.tpma-shell-bizbox .bbx-outreach-act-time{
  margin-top: 4px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 800;
}

.tpma-shell-bizbox .bbx-outreach-ready{
  margin-top: 6px;
  border: 1px dashed var(--bbx-ui-border);
  border-radius: 16px;
  padding: 14px 12px;
  text-align: center;
  background: rgba(0,0,0,0.10);
}

.tpma-shell-bizbox .bbx-outreach-ready-ico{
  font-size: 24px;
  margin-bottom: 6px;
}

.tpma-shell-bizbox .bbx-outreach-ready-title{
  font-weight: 950;
  color: var(--tpma-text-hi);
  margin-bottom: 4px;
}

.tpma-shell-bizbox .bbx-outreach-ready-sub{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-outreach-mobile-activity{
  margin-top: 6px;
}

.tpma-shell-bizbox .bbx-outreach-mobile-activity summary{
  width: 100%;
}

.tpma-shell-bizbox .bbx-outreach-mobile-activity-body{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 10px;
}

@media (max-width: 980px){
  .tpma-shell-bizbox .bbx-outreach-top{
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 12px;
    gap: 8px;
  }
  .tpma-shell-bizbox .bbx-outreach-headline{
    width: 100%;
    flex: 1 1 100%;
  }
  .tpma-shell-bizbox .bbx-outreach-lead{
    width: 100%;
    min-width: 0;
    justify-content: space-between;
  }
  .tpma-shell-bizbox .bbx-outreach-lead-select{
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
  }
  .tpma-shell-bizbox .bbx-outreach-context{
    justify-content: flex-start;
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-outreach-context--mobile{
    gap: 8px;
  }
  .tpma-shell-bizbox .bbx-outreach-presence{
    padding: 10px;
    gap: 8px;
  }
  .tpma-shell-bizbox .bbx-outreach-presence-head{
    gap: 8px;
  }
  .tpma-shell-bizbox .bbx-outreach-presence-meta{
    font-size: 10px;
    padding: 5px 8px;
  }
  .tpma-shell-bizbox .bbx-outreach-mobile-actions{
    align-items: stretch;
  }
  .tpma-shell-bizbox .bbx-outreach-mobile-actions > .bbx-btn{
    min-height: 44px;
  }
  .tpma-shell-bizbox .bbx-outreach-mobile-actions > .bbx-outreach-more{
    min-width: 88px;
  }
  .tpma-shell-bizbox .bbx-outreach-mobile-actions > .bbx-outreach-more summary{
    min-height: 44px;
    white-space: nowrap;
  }
  .tpma-shell-bizbox .bbx-outreach-main{
    flex-direction: column;
  }
  .tpma-shell-bizbox .bbx-outreach-composer{
    border-right: 0;
    border-bottom: 0;
  }
  .tpma-shell-bizbox .bbx-outreach-compose{
    flex: 0 0 auto;
    min-height: auto;
  }
  .tpma-shell-bizbox .bbx-outreach-tabs{
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  .tpma-shell-bizbox .bbx-outreach-tabs::-webkit-scrollbar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-outreach-tab{
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 12px 8px;
    font-size: 12px;
    text-align: center;
    scroll-snap-align: start;
  }
  .tpma-shell-bizbox .bbx-outreach-seq{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
  }
  .tpma-shell-bizbox .bbx-outreach-seq-mobile .bbx-outreach-seq{
    padding: 0;
    border: 0;
    background: transparent;
  }
  .tpma-shell-bizbox .bbx-outreach-seq-tabs{
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2px;
    justify-content: flex-start;
  }
  .tpma-shell-bizbox .bbx-outreach-seq-tabs::-webkit-scrollbar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-outreach-seq-btn{
    white-space: nowrap;
  }
  .tpma-shell-bizbox .bbx-outreach-compose{
    padding: 12px;
    gap: 10px;
  }
  .tpma-shell-bizbox .bbx-outreach-compose-head{
    align-items: flex-start;
  }
  .tpma-shell-bizbox .bbx-outreach-quicktools{
    margin-top: -2px;
  }
  .tpma-shell-bizbox .bbx-outreach-cadence-body{
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }
  .tpma-shell-bizbox .bbx-outreach-cadence-body::-webkit-scrollbar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-outreach-cadence-step{
    flex: 0 0 min(280px, 82vw);
    min-height: 176px;
    scroll-snap-align: start;
  }
  .tpma-shell-bizbox .bbx-outreach-msg{
    min-height: 280px;
    height: 300px;
    flex: 0 0 auto;
  }
  .tpma-shell-bizbox .bbx-outreach-footer{
    position: static;
    bottom: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 10px 12px 12px;
    border-radius: 18px;
    margin-top: 4px;
  }
  .tpma-shell-bizbox .bbx-outreach-actions{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .tpma-shell-bizbox .bbx-outreach-actions .bbx-btn{
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-outreach-tools-more-body .bbx-btn,
  .tpma-shell-bizbox .bbx-outreach-more-body .bbx-btn{
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-outreach-timeline{
    width: 100%;
    max-width: none;
  }
}

.tpma-shell-bizbox .bbx-app-head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-app-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-shell-bizbox .bbx-auth-cta{
  order: 99;
  max-width: 100%;
}

.tpma-shell-bizbox .bbx-h1{
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -0.4px;
}

.tpma-shell-bizbox .bbx-h2{
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -0.3px;
}

.tpma-shell-bizbox .bbx-h3{
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--tpma-text-md);
}

.tpma-shell-bizbox .bbx-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-actions-row{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.tpma-shell-bizbox .bbx-pill{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-md);
  font-size: 12px;
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-btn{
  appearance: none;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-settings-summary-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.tpma-shell-bizbox .bbx-settings-ecosystem-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-shell-bizbox .bbx-settings-ecosystem-primary{
  grid-column: 1 / -1;
}

.tpma-shell-bizbox .bbx-settings-mobile-section{
  width: 100%;
}

.tpma-shell-bizbox .bbx-settings-mobile-section-body{
  margin-top: 10px;
  display: grid;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-btn-sm{
  padding: 7px 10px;
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.1;
}

.tpma-shell-bizbox .bbx-btn:hover{
  border-color: var(--bbx-ui-border-hi);
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-btn:disabled{
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.tpma-shell-bizbox .bbx-btn-primary{
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 100%, #ffffff 0%), color-mix(in oklab, var(--tpma-accent) 78%, #000000 22%));
  border-color: color-mix(in oklab, var(--tpma-accent) 64%, rgba(255,255,255,0.3));
  color: #0b1020;
  box-shadow: 0 16px 40px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
}

.tpma-shell-bizbox .bbx-btn-ghost{
  background: transparent;
}

.tpma-shell-bizbox .bbx-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.tpma-shell-bizbox .bbx-span-2{
  grid-column: 1 / -1;
}

.tpma-shell-bizbox .bbx-biz-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-biz-avatar{
  width: 54px;
  height: 54px;
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.20);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  overflow: hidden;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-biz-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tpma-shell-bizbox .bbx-biz-main{
  flex: 1;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-biz-name{
  font-weight: 950;
  letter-spacing: -0.2px;
  line-height: 1.1;
  font-size: 16px;
}

.tpma-shell-bizbox .bbx-biz-actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-shell-bizbox .bbx-mini-map-wrap{
  margin-top: 12px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-mini-map{
  width: 100%;
  height: 170px;
  border: 0;
  display: block;
}

.tpma-shell-bizbox .bbx-contact-grid{
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-shell-bizbox .bbx-contact{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
  border-radius: 18px;
  padding: 10px 10px;
  color: var(--tpma-text-hi);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-contact:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
  background: rgba(0,0,0,0.20);
}

.tpma-shell-bizbox .bbx-contact.is-missing{
  border-style: dashed;
  opacity: 0.9;
}

.tpma-shell-bizbox .bbx-contact-ico{
  width: 34px;
  height: 34px;
  border-radius: 14px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 16px;
}

.tpma-shell-bizbox .bbx-contact-meta{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-contact-label{
  font-size: 11px;
  color: var(--tpma-text-lo);
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tpma-shell-bizbox .bbx-contact-value{
  font-size: 12px;
  color: var(--tpma-text-md);
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.tpma-shell-bizbox .bbx-photo-strip{
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 6px;
  -webkit-overflow-scrolling: touch;
}

.tpma-shell-bizbox .bbx-photo-strip::-webkit-scrollbar{
  height: 8px;
}

.tpma-shell-bizbox .bbx-photo-strip::-webkit-scrollbar-thumb{
  background: var(--bbx-ui-border-soft);
  border-radius: 999px;
}

.tpma-shell-bizbox .bbx-photo{
  flex: 0 0 auto;
  width: 120px;
  height: 82px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.18);
}

.tpma-shell-bizbox .bbx-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tpma-shell-bizbox .bbx-heatbar{
  position: relative;
  height: 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: linear-gradient(90deg, rgba(239,68,68,0.9) 0%, rgba(245,158,11,0.9) 45%, rgba(16,185,129,0.9) 100%);
  margin-top: 8px;
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-heatbar::after{
  content: "";
  position: absolute;
  top: -3px;
  left: calc(var(--pct) * 1%);
  width: 6px;
  height: 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  transform: translateX(-50%);
  box-shadow: 0 8px 16px rgba(0,0,0,0.35);
}

.tpma-shell-bizbox .bbx-chip-signal.is-off{
  opacity: 0.62;
  border-style: dashed;
}

.tpma-shell-bizbox .bbx-products{
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}

.tpma-shell-bizbox .bbx-prod{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
  color: var(--tpma-text-hi);
  border-radius: 18px;
  padding: 12px 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  flex-wrap: wrap;
  text-align: left;
  min-width: 0;
}

.tpma-shell-bizbox button.bbx-prod{
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox button.bbx-prod:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
  background: rgba(0,0,0,0.20);
}

.tpma-shell-bizbox .bbx-prod.is-locked{
  opacity: 0.68;
}

.tpma-shell-bizbox .bbx-prod.is-primary{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 10%, rgba(0,0,0,0.10));
}

.tpma-shell-bizbox .bbx-prod-ico{
  width: 40px;
  height: 40px;
  border-radius: 16px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-prod-main{
  flex: 1;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-prod-title{
  font-weight: 950;
  letter-spacing: -0.2px;
}

.tpma-shell-bizbox .bbx-prod-desc{
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.35;
  margin-top: 2px;
}

.tpma-shell-bizbox .bbx-prod-meta{
  font-size: 11px;
  color: var(--tpma-text-lo);
  font-weight: 950;
  margin-left: 50px;
  flex: 1 1 100%;
  text-align: left;
  max-width: none;
  line-height: 1.35;
  white-space: normal;
}

@media (max-width: 768px){
  .tpma-shell-bizbox .bbx-contact-grid,
  .tpma-shell-bizbox .bbx-products{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-record-quick{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tpma-shell-bizbox .bbx-record-stat strong{
    font-size: 18px;
  }
  .tpma-shell-bizbox .bbx-prod-meta{
    margin-left: 0;
  }
}

.tpma-shell-bizbox .bbx-tpl-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-tpl{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 12px 12px;
  border-radius: 18px;
  cursor: pointer;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  text-align: left;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-tpl:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
  background: var(--bbx-ui-bg);
}

.tpma-shell-bizbox .bbx-tpl.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(255,255,255,0.06));
}

.tpma-shell-bizbox .bbx-tpl-ico{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg3);
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-tpl-ico.bbx-theme-swatch{
  background: linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.00));
}

.tpma-shell-bizbox .bbx-tpl-ico.bbx-theme-swatch[data-bbx-theme="dark"]{
  background:
    radial-gradient(18px 18px at 30% 22%, color-mix(in oklab, var(--tpma-accent) 40%, transparent) 0%, transparent 70%),
    linear-gradient(180deg, #05070d, #0b1020);
}

.tpma-shell-bizbox .bbx-tpl-ico.bbx-theme-swatch[data-bbx-theme="light"]{
  background:
    radial-gradient(18px 18px at 30% 22%, color-mix(in oklab, var(--tpma-accent) 26%, transparent) 0%, transparent 70%),
    linear-gradient(180deg, #f8fafc, #e0e7ff);
}

.tpma-shell-bizbox .bbx-tpl-ico.bbx-theme-swatch[data-bbx-theme="spectrum"]{
  background:
    radial-gradient(20px 20px at 26% 30%, rgba(34,197,94,0.55) 0%, transparent 70%),
    radial-gradient(22px 22px at 72% 26%, rgba(59,130,246,0.50) 0%, transparent 72%),
    radial-gradient(22px 22px at 44% 78%, rgba(236,72,153,0.45) 0%, transparent 72%),
    linear-gradient(180deg, #0b1020, #05070d);
}

.tpma-shell-bizbox .bbx-tpl-meta{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.tpma-shell-bizbox .bbx-tpl-title{
  font-weight: 950;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-tpl-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-tpl-engine{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.25;
  color: color-mix(in oklab, var(--bbx-app-accent) 70%, rgba(255,255,255,0.84));
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-tpl-tag{
  font-size: 12px;
  font-weight: 950;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-md);
  flex: 0 0 auto;
  align-self: flex-start;
}

.tpma-shell-bizbox .bbx-tpl.is-active .bbx-tpl-tag{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 88%, #ffffff 12%), color-mix(in oklab, var(--tpma-accent) 64%, #000000 36%));
  color: #0b1020;
}

.tpma-shell-bizbox .bbx-color-row{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-color{
  width: 44px;
  height: 36px;
  border-radius: 12px;
  padding: 0;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
}

.tpma-shell-bizbox .bbx-swatches{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-swatch{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,0.16);
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0,0,0,0.18);
  transition: transform 120ms ease, border-color 120ms ease;
}

.tpma-shell-bizbox .bbx-swatch:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.35);
}

.tpma-shell-bizbox .bbx-swatch.is-active{
  border-color: rgba(255,255,255,0.85);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 30%, transparent), 0 10px 22px rgba(0,0,0,0.25);
}

.tpma-shell-bizbox .bbx-demo-wrap{
  width: 100%;
}

.tpma-shell-bizbox .bbx-demo-wrap[data-device="mobile"]{
  max-width: 420px;
  margin: 0 auto;
  padding: 10px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(8,10,18,0.46);
  box-shadow: 0 22px 60px rgba(0,0,0,0.35);
}

.tpma-shell-bizbox .bbx-demo-wrap[data-device="mobile"] .bbx-demo-frame{
  height: min(70vh, 720px);
  border-radius: 22px;
}

.tpma-shell-bizbox .bbx-tip{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 0;
  border-left: 3px solid color-mix(in oklab, var(--tpma-accent) 32%, rgba(255,255,255,0.12));
  background: var(--bbx-ui-bg3);
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-tip--info{
  border-left-color: color-mix(in oklab, #38bdf8 44%, rgba(255,255,255,0.12));
}

.tpma-shell-bizbox .bbx-tip--soft{
  background: color-mix(in oklab, var(--bbx-ui-bg3) 72%, rgba(255,255,255,0.03));
}

.tpma-shell-bizbox .bbx-service-list{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-service-item{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg3);
}

.tpma-shell-bizbox .bbx-service-drag{
  color: var(--tpma-text-lo);
  font-weight: 950;
  letter-spacing: -0.2px;
}

.tpma-shell-bizbox .bbx-service-input{
  flex: 1;
  min-width: 0;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--tpma-text-hi);
  font-size: 13px;
  line-height: 1.25;
  outline: none;
}

.tpma-shell-bizbox .bbx-service-input::placeholder{
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-service-del{
  flex: 0 0 auto;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--tpma-text-lo);
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 12px;
  transition: background 120ms ease, color 120ms ease, transform 120ms ease;
}

.tpma-shell-bizbox .bbx-service-del:hover{
  background: rgba(239,68,68,0.14);
  color: #ef4444;
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-help{
  margin-top: 10px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-help-ico{
  flex: 0 0 auto;
  font-size: 14px;
  line-height: 1.2;
  margin-top: 1px;
}

.tpma-shell-bizbox .bbx-input-group{
  display: flex;
  align-items: stretch;
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.22);
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-input-group:focus-within{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-input-prefix{
  padding: 12px 12px;
  border-right: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: var(--tpma-text-lo);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
}

.tpma-shell-bizbox .bbx-input-group .bbx-input{
  border: 0;
  background: transparent;
  padding: 12px 12px;
  width: 100%;
  color: var(--tpma-text-hi);
  font-size: 15px;
}

.tpma-shell-bizbox .bbx-input-group .bbx-input:focus{
  outline: none;
}

.tpma-shell-bizbox .bbx-progress{
  margin-top: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg);
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-progress-fill{
  display: block;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, color-mix(in oklab, var(--tpma-accent) 86%, #ffffff 14%), color-mix(in oklab, var(--tpma-accent) 55%, #000000 45%));
}

/* Onboarding (Step 1 redesign) */
.tpma-shell-bizbox .bbx-onb-opportunity{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tpma-shell-bizbox .bbx-onb-title-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-onb-title{
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -0.3px;
}

.tpma-shell-bizbox .bbx-onb-step{
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 950;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-onb-hero{
  border-radius: 18px;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 22%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(520px 220px at 12% 10%, color-mix(in oklab, var(--tpma-accent) 22%, transparent) 0%, transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00));
  padding: 16px 16px;
  box-shadow: 0 26px 90px rgba(0,0,0,0.35);
}

.tpma-shell-bizbox .bbx-onb-hero-kicker{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--tpma-text-lo);
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-onb-income{
  margin-top: 6px;
  font-size: 38px;
  font-weight: 950;
  letter-spacing: -0.9px;
  color: color-mix(in oklab, var(--tpma-accent) 92%, #ffffff 8%);
}

.tpma-shell-bizbox .bbx-onb-income-unit{
  font-size: 14px;
  font-weight: 950;
  color: var(--tpma-text-lo);
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-onb-hero-sub{
  margin-top: 6px;
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-onb-preset-row{
  margin-top: 12px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-onb-preset-row .bbx-chip{
  min-height: 36px;
}

.tpma-shell-bizbox .bbx-onb-forecast{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.tpma-shell-bizbox .bbx-onb-forecast-card{
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 108px;
}

.tpma-shell-bizbox .bbx-onb-forecast-card.is-primary{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--tpma-accent) 8%, var(--bbx-ui-bg2));
  box-shadow: 0 20px 60px color-mix(in oklab, var(--tpma-accent) 8%, transparent);
}

.tpma-shell-bizbox .bbx-onb-forecast-label{
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-onb-forecast-value{
  font-size: 22px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: -0.4px;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-onb-forecast-sub{
  font-size: 12px;
  line-height: 1.35;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-onb-growth{
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  padding: 14px;
}

.tpma-shell-bizbox .bbx-onb-plan{
  border-radius: 18px;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 30%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(420px 140px at 12% 10%, color-mix(in oklab, var(--tpma-accent) 14%, transparent) 0%, transparent 70%),
    var(--bbx-ui-bg2);
  padding: 14px 14px;
}

.tpma-shell-bizbox .bbx-onb-plan-kicker{
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-onb-plan-title{
  margin-top: 4px;
  font-size: 17px;
  font-weight: 950;
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-onb-plan-sub{
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--tpma-text-md);
}

.tpma-shell-bizbox .bbx-onb-plan-steps{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-onb-plan-steps span{
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg3);
  color: var(--tpma-text-md);
  font-size: 12px;
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-onb-momentum{
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  padding: 14px;
}

.tpma-shell-bizbox .bbx-onb-momentum-copy{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--tpma-text-md);
}

.tpma-shell-bizbox .bbx-onb-momentum-steps{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-onb-momentum-steps span{
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg3);
  color: var(--tpma-text-md);
  font-size: 12px;
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-range{
  appearance: none;
  width: 100%;
  height: 34px;
  margin-top: 12px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background:
    linear-gradient(
      90deg,
      color-mix(in oklab, var(--tpma-accent) 86%, #ffffff 14%) 0%,
      color-mix(in oklab, var(--tpma-accent) 86%, #ffffff 14%) var(--pct, 50%),
      rgba(255,255,255,0.16) var(--pct, 50%),
      rgba(255,255,255,0.16) 100%
    );
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);
}

.tpma-shell-bizbox .bbx-range:focus{
  outline: none;
  box-shadow:
    0 0 0 3px color-mix(in oklab, var(--tpma-accent) 16%, transparent),
    inset 0 0 0 1px rgba(0,0,0,0.12);
}

.tpma-shell-bizbox .bbx-range::-webkit-slider-thumb{
  appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
  border: 4px solid color-mix(in oklab, var(--tpma-accent) 70%, rgba(255,255,255,0.0));
  box-shadow: 0 10px 24px rgba(0,0,0,0.35), 0 0 0 6px color-mix(in oklab, var(--tpma-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-range::-moz-range-thumb{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
  border: 4px solid color-mix(in oklab, var(--tpma-accent) 70%, rgba(255,255,255,0.0));
  box-shadow: 0 10px 24px rgba(0,0,0,0.35), 0 0 0 6px color-mix(in oklab, var(--tpma-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-onb-slider-labels{
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 800;
}

.tpma-shell-bizbox .bbx-onb-group{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-onb-label{
  font-size: 13px;
  color: var(--tpma-text-md);
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-onb-input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  color: var(--tpma-text-hi);
  font-size: 15px;
}

.tpma-shell-bizbox .bbx-onb-input:focus{
  outline: none;
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--tpma-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-onb-section-title{
  font-weight: 950;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-onb-section-sub{
  margin-top: 2px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-onb-note{
  margin-top: 4px;
}

.tpma-shell-bizbox .bbx-onb-secondary{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}

.tpma-shell-bizbox .bbx-onb-hide-row{
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-onb-hide-row .bbx-btn{
  width: 100%;
}

.tpma-shell-bizbox .bbx-onb-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-onb-pill{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-md);
  font-size: 12px;
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-sprint-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-sprint-card{
  appearance: none;
  width: 100%;
  border: 2px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 14px 12px;
  border-radius: 18px;
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-sprint-card:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
  background: var(--bbx-ui-bg);
}

.tpma-shell-bizbox .bbx-sprint-card.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 65%, rgba(255,255,255,0.20));
  background: color-mix(in oklab, var(--tpma-accent) 10%, var(--bbx-ui-bg2));
  box-shadow: 0 18px 60px color-mix(in oklab, var(--tpma-accent) 10%, transparent);
}

.tpma-shell-bizbox .bbx-sprint-card.is-active::after{
  content: "✓";
  position: absolute;
  top: -10px;
  right: -10px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--tpma-accent);
  color: #0b1020;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  box-shadow: 0 12px 30px rgba(0,0,0,0.35);
}

.tpma-shell-bizbox .bbx-sprint-icon{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg3);
}

.tpma-shell-bizbox .bbx-sprint-title{
  font-weight: 950;
  letter-spacing: 0.1px;
  line-height: 1.25;
}

.tpma-shell-bizbox .bbx-sprint-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-sprint-tag{
  margin-top: 4px;
  font-size: 11px;
  font-weight: 950;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg3);
  color: var(--tpma-text-md);
  align-self: flex-start;
}

/* Welcome dashboard (new panels) */
.tpma-shell-bizbox .bbx-banner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background:
    radial-gradient(420px 140px at 12% 10%, rgba(59,130,246,0.14) 0%, transparent 70%),
    var(--bbx-ui-bg2);
}

.tpma-shell-bizbox .bbx-banner-main{
  font-size: 13px;
  color: var(--tpma-text-md);
}

.tpma-shell-bizbox .bbx-banner-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

.tpma-shell-bizbox .bbx-welcome-layout{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 12px;
  align-items: start;
}

.tpma-shell-bizbox .bbx-welcome-side{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-panel{
  --bbx-panel-accent: var(--bbx-app-accent, var(--tpma-accent));
  border: 1px solid color-mix(in oklab, var(--bbx-panel-accent) 16%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(520px 240px at 18% 10%, color-mix(in oklab, var(--bbx-panel-accent) 10%, transparent) 0%, transparent 70%),
    var(--bbx-ui-bg2);
  border-radius: 18px;
  padding: 14px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.tpma-shell-bizbox .bbx-panel-sprint{
  background:
    radial-gradient(520px 240px at 20% 10%, color-mix(in oklab, var(--tpma-accent) 10%, transparent) 0%, transparent 70%),
    var(--bbx-ui-bg2);
}

.tpma-shell-bizbox .bbx-panel-head{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.tpma-shell-bizbox .bbx-panel-title{
  font-weight: 950;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-panel-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-progress--welcome{
  background: color-mix(in oklab, var(--bbx-ui-bg3) 60%, rgba(255,255,255,0.08));
  border-color: var(--bbx-ui-border-soft);
}

.tpma-shell-bizbox .bbx-sprint-list{
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-sprint-item{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.16);
}

.tpma-shell-bizbox .bbx-sprint-item.is-done{
  opacity: 0.78;
}

.tpma-shell-bizbox .bbx-sprint-item.is-done .bbx-sprint-line{
  text-decoration: line-through;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-sprint-item.is-future{
  opacity: 0.9;
}

.tpma-shell-bizbox .bbx-sprint-item.is-active{
  border-width: 2px;
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 10%, rgba(255,255,255,0.04));
  box-shadow: 0 20px 70px color-mix(in oklab, var(--tpma-accent) 10%, transparent);
}

.tpma-shell-bizbox .bbx-sprint-num{
  width: 26px;
  text-align: center;
  font-weight: 950;
  color: var(--tpma-text-lo);
  padding-top: 2px;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-sprint-item.is-active .bbx-sprint-num{
  color: var(--tpma-accent);
}

.tpma-shell-bizbox .bbx-sprint-content{
  flex: 1;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-sprint-line{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 950;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-sprint-ico{
  width: 26px;
  height: 26px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 13px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg);
  box-shadow: 0 16px 44px rgba(0,0,0,0.28);
}

.tpma-shell-bizbox .bbx-sprint-item.is-active .bbx-sprint-ico{
  border-color: color-mix(in oklab, var(--tpma-accent) 34%, var(--bbx-ui-border-soft));
  background: color-mix(in oklab, var(--tpma-accent) 14%, var(--bbx-ui-bg));
  box-shadow: 0 18px 60px color-mix(in oklab, var(--tpma-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-sprint-tip{
  margin-top: 10px;
  color: var(--tpma-text-md);
  font-size: 12px;
  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-empty{
  margin-top: 10px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-style: italic;
}

.tpma-shell-bizbox .bbx-stepper{
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.tpma-shell-bizbox .bbx-step{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 10px 10px;
  border-radius: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-step:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-step.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(255,255,255,0.06));
}

.tpma-shell-bizbox .bbx-step.is-done{
  border-color: var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
}

.tpma-shell-bizbox .bbx-step-idx{
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  font-size: 12px;
  color: #0b1020;
  background: linear-gradient(180deg, rgba(255,255,255,0.85), rgba(255,255,255,0.55));
  border: 1px solid rgba(0,0,0,0.12);
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-step.is-active .bbx-step-idx{
  background: linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 84%, #ffffff 16%), color-mix(in oklab, var(--tpma-accent) 60%, #000000 40%));
}

.tpma-shell-bizbox .bbx-step-label{
  font-weight: 950;
  font-size: 12px;
  color: var(--tpma-text-md);
}

.tpma-shell-bizbox .bbx-step.is-active .bbx-step-label{
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-wizard-nav{
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-details{
  margin-top: 12px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: color-mix(in oklab, var(--bbx-ui-bg2) 70%, transparent);
  border-radius: 16px;
  padding: 10px 10px;
}

.tpma-shell-bizbox .bbx-details > summary{
  cursor: pointer;
  font-weight: 950;
  color: var(--tpma-text-md);
  list-style: none;
}

.tpma-shell-bizbox .bbx-details > summary::-webkit-details-marker{
  display: none;
}

.tpma-shell-bizbox .bbx-steps{
  margin: 0;
  padding-left: 18px;
  line-height: 1.55;
}

.tpma-shell-bizbox .bbx-steps li{
  margin: 6px 0;
}

.tpma-shell-bizbox .bbx-daily{
  margin-top: 12px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background:
    radial-gradient(420px 180px at 20% 10%, rgba(236,72,153,0.12) 0%, transparent 72%),
    radial-gradient(420px 180px at 85% 90%, rgba(34,197,94,0.10) 0%, transparent 72%),
    rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-daily.bbx-lesson{
  border-color: color-mix(in oklab, #eab308 18%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(420px 180px at 20% 10%, rgba(234,179,8,0.14) 0%, transparent 72%),
    radial-gradient(420px 180px at 85% 90%, rgba(59,130,246,0.12) 0%, transparent 72%),
    rgba(0,0,0,0.14);
}

.tpma-shell-bizbox .bbx-daily-top{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tpma-shell-bizbox .bbx-daily-top strong{
  font-size: 16px;
  color: var(--tpma-text-hi);
  letter-spacing: -0.2px;
}

.tpma-shell-bizbox .bbx-daily-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-daily-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-daily-meta{
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-daily-ico{
  width: 22px;
  height: 22px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-daily-title{
  font-weight: 950;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-shell-bizbox .bbx-daily-right{
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-daily-count{
  font-size: 11px;
  color: var(--tpma-text-lo);
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-daily-item.is-done .bbx-daily-title{
  color: var(--tpma-text-lo);
  text-decoration: line-through;
}

.tpma-shell-bizbox .bbx-metric{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--bbx-surface-border);
}

.tpma-shell-bizbox .bbx-metric:last-child{
  border-bottom: 0;
}

.tpma-shell-bizbox .bbx-metric span{
  color: var(--tpma-text-lo);
  font-weight: 800;
  font-size: 13px;
}

.tpma-shell-bizbox .bbx-metric strong{
  font-weight: 950;
  letter-spacing: 0.2px;
}

.tpma-shell-bizbox .bbx-pre{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.18);
  border-radius: 16px;
  padding: 12px;
  white-space: pre-wrap;
  overflow: auto;
  max-height: min(54vh, 520px);
}

.tpma-shell-bizbox .bbx-crm-layout{
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 12px;
  align-items: start;
}

.tpma-shell-bizbox .bbx-crm-mobile-quick{
  margin-bottom: 12px;
}

.tpma-shell-bizbox .bbx-crm-mobile-quick .bbx-quick{
  margin-top: 0;
}

.tpma-shell-bizbox .bbx-crm-mobile-summary{
  display: grid;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-crm-mobile-summary-head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-quick-kicker{
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-crm-mobile-summary-meta{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-crm-mobile-next{
  color: var(--tpma-text-md);
  font-size: 12px;
  line-height: 1.45;
  font-weight: 850;
}

.tpma-shell-bizbox .bbx-crm-mobile-actions{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-crm-mobile-primary .bbx-btn{
  width: 100%;
  justify-content: center;
  min-height: 44px;
}

.tpma-shell-bizbox .bbx-crm-mobile-subactions{
  display: flex;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.tpma-shell-bizbox .bbx-crm-mobile-subactions::-webkit-scrollbar{
  display: none;
}

.tpma-shell-bizbox .bbx-crm-mobile-subactions .bbx-btn{
  flex: 0 0 auto;
  justify-content: center;
  min-height: 42px;
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-crm-stage-rail{
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 6px;
  margin-bottom: 12px;
  -webkit-overflow-scrolling: touch;
}

.tpma-shell-bizbox .bbx-crm-stage-rail .bbx-chip{
  white-space: nowrap;
}

.tpma-shell-bizbox .bbx-lead-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-lead-item{
  appearance: none;
  width: 100%;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 10px 12px;
  border-radius: 16px;
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-lead-item:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-lead-item.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(255,255,255,0.06));
}

.tpma-shell-bizbox .bbx-lead-name{
  font-weight: 950;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-lead-meta{
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.35;
}

.tpma-shell-bizbox .bbx-quick{
  margin-top: 12px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
}

.tpma-shell-bizbox .bbx-quick-title{
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-quick-sub{
  color: var(--tpma-text-lo);
  font-size: 13px;
  margin-top: 2px;
}

.tpma-shell-bizbox .bbx-tabs{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.tpma-shell-bizbox .bbx-record-app{
  gap: 14px;
}

.tpma-shell-bizbox .bbx-record-hero-card .tpma-output-body{
  min-height: 0;
}

.tpma-shell-bizbox .bbx-record-hero{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 16px;
  align-items: start;
}

.tpma-shell-bizbox .bbx-record-hero-main{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-record-hero-avatar{
  width: 60px;
  height: 60px;
  border-radius: 20px;
  font-size: 24px;
}

.tpma-shell-bizbox .bbx-record-hero-copy{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-record-title-row{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tpma-shell-bizbox .bbx-record-meta{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-record-hero-side{
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.tpma-shell-bizbox .bbx-record-stage-field{
  width: 100%;
}

.tpma-shell-bizbox .bbx-record-toolbar{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tpma-shell-bizbox .bbx-record-toolbar--mobile{
  flex-direction: column;
  align-items: stretch;
}

.tpma-shell-bizbox .bbx-record-toolbar-main{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.tpma-shell-bizbox .bbx-record-more{
  margin-top: 2px;
}

.tpma-shell-bizbox .bbx-record-more summary{
  width: 100%;
}

.tpma-shell-bizbox .bbx-record-more-body{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-record-stage-mobile{
  width: 100%;
}

.tpma-shell-bizbox .bbx-record-stage-mobile > summary{
  width: 100%;
}

.tpma-shell-bizbox .bbx-record-mobile-stack{
  gap: 12px;
}

.tpma-shell-bizbox .bbx-record-mobile-detail{
  width: 100%;
}

.tpma-shell-bizbox .bbx-record-mobile-detail-body{
  margin-top: 10px;
  display: grid;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-record-focus .tpma-output-body{
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tpma-shell-bizbox .bbx-record-tabs{
  margin-top: 0;
}

.tpma-shell-bizbox .bbx-record-tabs .bbx-tab{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tpma-shell-bizbox .bbx-record-quick{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.tpma-shell-bizbox .bbx-record-stat{
  border: 1px solid var(--bbx-ui-border-soft);
  background:
    radial-gradient(360px 160px at 16% 0%, color-mix(in oklab, var(--bbx-app-accent, var(--tpma-accent)) 12%, transparent) 0%, transparent 72%),
    rgba(0,0,0,0.14);
  border-radius: 18px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-record-stat-label{
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-record-stat strong{
  font-size: 22px;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.tpma-shell-bizbox .bbx-record-stat-sub{
  font-size: 12px;
  color: var(--tpma-text-md);
  line-height: 1.4;
}

@media (max-width: 980px){
  .tpma-shell-bizbox .bbx-crm-mobile-summary-head{
    flex-direction: column;
    align-items: flex-start;
  }
  .tpma-shell-bizbox .bbx-crm-mobile-next{
    font-size: 11px;
  }
  .tpma-shell-bizbox .bbx-crm-mobile-actions{
    gap: 8px;
  }
  .tpma-shell-bizbox .bbx-record-hero{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-record-hero-main{
    gap: 12px;
  }
  .tpma-shell-bizbox .bbx-record-hero-avatar{
    width: 52px;
    height: 52px;
    border-radius: 18px;
  }
  .tpma-shell-bizbox .bbx-record-toolbar{
    justify-content: flex-start;
  }
  .tpma-shell-bizbox .bbx-record-tabs{
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    margin-right: -2px;
  }
  .tpma-shell-bizbox .bbx-record-tabs::-webkit-scrollbar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-record-tabs .bbx-tab{
    white-space: nowrap;
  }
  .tpma-shell-bizbox .bbx-record-quick{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tpma-shell-bizbox .bbx-record-more-body{
    grid-template-columns: 1fr;
  }
}

.tpma-shell-bizbox .bbx-seg{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg2);
}

.tpma-shell-bizbox .bbx-seg-btn{
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: var(--tpma-text-md);
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 950;
  font-size: 13px;
  transition: background 120ms ease, border-color 120ms ease, transform 120ms ease;
}

.tpma-shell-bizbox .bbx-seg-btn:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border);
}

.tpma-shell-bizbox .bbx-seg-btn.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 14%, rgba(255,255,255,0.06));
  color: var(--tpma-text-hi);
}

.tpma-shell-bizbox .bbx-tab{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 950;
  font-size: 13px;
}

.tpma-shell-bizbox .bbx-tab.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 14%, rgba(255,255,255,0.06));
}

.tpma-shell-bizbox .bbx-record-bar{
  position: sticky;
  bottom: 0;
  margin-top: 14px;
  padding: 10px;
  border-radius: 20px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-window-bg);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.tpma-shell-bizbox .bbx-record-act{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  border-radius: 16px;
  padding: 10px 8px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  text-decoration: none;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-record-act:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-record-act.is-disabled,
.tpma-shell-bizbox .bbx-record-act:disabled{
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

.tpma-shell-bizbox .bbx-record-act-ico{
  font-size: 16px;
  line-height: 1;
}

.tpma-shell-bizbox .bbx-record-act-label{
  font-size: 10.5px;
  font-weight: 950;
  color: var(--tpma-text-lo);
  line-height: 1.1;
  text-align: center;
}

@media (max-width: 980px){
  .tpma-shell-bizbox .bbx-record-bar{
    position: static;
    bottom: auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 8px;
    gap: 6px;
  }
  .tpma-shell-bizbox .bbx-record-act{
    min-height: 62px;
    border-radius: 14px;
    padding: 8px 6px;
  }
  .tpma-shell-bizbox .bbx-record-act-label{
    font-size: 10px;
  }
}

.tpma-shell-bizbox .bbx-demo-frame{
  width: 100%;
  border: 1px solid var(--bbx-ui-border-soft);
  border-radius: 18px;
  background: rgba(0,0,0,0.20);
  height: min(56vh, 520px);
}

.tpma-shell-bizbox .bbx-alert{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(245, 158, 11, 0.22);
  background: rgba(245, 158, 11, 0.10);
  color: rgba(253, 230, 138, 0.98);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-alert a{
  color: color-mix(in oklab, rgba(253, 230, 138, 1) 70%, var(--tpma-accent) 30%);
  font-weight: 950;
  text-decoration: none;
}

.tpma-shell-bizbox .bbx-alert a:hover{
  text-decoration: underline;
}

.tpma-shell-bizbox .bbx-kanban{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  overflow-x: auto;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
}

.tpma-shell-bizbox .bbx-kanban::-webkit-scrollbar{
  height: 8px;
}

.tpma-shell-bizbox .bbx-kanban::-webkit-scrollbar-thumb{
  background: var(--bbx-ui-border-soft);
  border-radius: 999px;
}

.tpma-shell-bizbox .bbx-col{
  flex: 0 0 280px;
  width: 280px;
  scroll-snap-align: start;
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--bbx-stage-color, var(--tpma-accent)) 22%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(520px 220px at 20% 0%, color-mix(in oklab, var(--bbx-stage-color, var(--tpma-accent)) 14%, transparent) 0%, transparent 72%),
    rgba(0,0,0,0.16);
  border-radius: 18px;
  padding: 14px 10px 10px;
  min-height: 320px;
}

.tpma-shell-bizbox .bbx-col::before{
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 10px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--bbx-stage-color, var(--tpma-accent)) 0%, transparent 74%);
  opacity: 0.95;
  pointer-events: none;
}

.tpma-shell-bizbox .bbx-col[data-bbx-stage="new"]{ --bbx-stage-color: #3b82f6; }
.tpma-shell-bizbox .bbx-col[data-bbx-stage="contacted"]{ --bbx-stage-color: #f59e0b; }
.tpma-shell-bizbox .bbx-col[data-bbx-stage="demo"]{ --bbx-stage-color: #8b5cf6; }
.tpma-shell-bizbox .bbx-col[data-bbx-stage="proposal"]{ --bbx-stage-color: #ec4899; }
.tpma-shell-bizbox .bbx-col[data-bbx-stage="won"]{ --bbx-stage-color: #10b981; }
.tpma-shell-bizbox .bbx-col[data-bbx-stage="lost"]{ --bbx-stage-color: #ef4444; }

.tpma-shell-bizbox .bbx-col-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.tpma-shell-bizbox .bbx-col-title{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 950;
  font-size: 13px;
  letter-spacing: 0.2px;
}

.tpma-shell-bizbox .bbx-col-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--bbx-stage-color, var(--tpma-accent));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--bbx-stage-color, var(--tpma-accent)) 18%, transparent);
}

.tpma-shell-bizbox .bbx-col-count{
  color: var(--tpma-text-lo);
  font-size: 12px;
}

.tpma-shell-bizbox .bbx-col-cards{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-kanban-empty{
  border: 1px dashed var(--bbx-ui-border-soft);
  background: rgba(255,255,255,0.03);
  border-radius: 16px;
  padding: 14px 12px;
  margin-top: 8px;
}

.tpma-shell-bizbox .bbx-kanban-empty-title{
  font-weight: 950;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-kanban-empty-sub{
  margin-top: 6px;
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.45;
}

.tpma-shell-bizbox .bbx-card-mini{
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-surface-bg2);
  border-radius: 16px;
  padding: 10px 10px;
}

.tpma-shell-bizbox .bbx-card-mini-title{
  font-weight: 950;
  font-size: 13px;
}

.tpma-shell-bizbox .bbx-card-mini-sub{
  color: var(--tpma-text-lo);
  font-size: 12px;
  margin-top: 2px;
}

.tpma-shell-bizbox .bbx-switches{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.tpma-shell-bizbox .bbx-switch{
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  padding: 10px 10px;
  border-radius: 16px;
  cursor: pointer;
  font-weight: 900;
}

.tpma-shell-bizbox .bbx-switch--compact{
  padding: 8px 10px;
  border-radius: 999px;
}

.tpma-shell-bizbox .bbx-switch input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.tpma-shell-bizbox .bbx-switch-ui{
  width: 44px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
  position: relative;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-switch-ui::after{
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  transition: transform 140ms ease, background 140ms ease;
}

.tpma-shell-bizbox .bbx-switch input:checked + .bbx-switch-ui{
  background: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.10));
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.20));
}

.tpma-shell-bizbox .bbx-switch input:checked + .bbx-switch-ui::after{
  transform: translateX(18px);
  background: #0b1020;
}

.tpma-shell-bizbox .bbx-files{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.tpma-shell-bizbox .bbx-file{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 12px 12px;
  border-radius: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-file:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-file-ico{
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
}

.tpma-shell-bizbox .bbx-file-title{
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-file-sub{
  color: var(--tpma-text-lo);
  font-size: 12px;
  margin-top: 2px;
}

.tpma-shell-bizbox .bbx-launchpad{
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

.tpma-shell-bizbox .bbx-launch{
  appearance: none;
  --bbx-app-accent: var(--tpma-accent);
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 14px 12px;
  border-radius: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="launchpad"]{ --bbx-app-accent: var(--tpma-accent); }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="welcome"]{ --bbx-app-accent: var(--tpma-accent); }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="finder"]{ --bbx-app-accent: #38bdf8; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="prospecting"]{ --bbx-app-accent: #f59e0b; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="crm"]{ --bbx-app-accent: #3b82f6; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="builder"]{ --bbx-app-accent: #8b5cf6; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="outreach"]{ --bbx-app-accent: #ec4899; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="tortoisedocs"]{ --bbx-app-accent: #14b8a6; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="tortoisesheets"]{ --bbx-app-accent: #10b981; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="tortoisenotes"]{ --bbx-app-accent: #a855f7; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="tortoisedraw"]{ --bbx-app-accent: #fb7185; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="agents"]{ --bbx-app-accent: #f97316; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="playbook"]{ --bbx-app-accent: #6366f1; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="academy"]{ --bbx-app-accent: #eab308; }
.tpma-shell-bizbox .bbx-launch[data-bbx-open-app="settings"]{ --bbx-app-accent: #94a3b8; }

.tpma-shell-bizbox .bbx-launch:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-launch-ico{
  width: 46px;
  height: 46px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in oklab, var(--bbx-app-accent) 34%, var(--bbx-ui-border));
  background:
    radial-gradient(20px 18px at 30% 25%, rgba(255,255,255,0.22) 0%, transparent 60%),
    linear-gradient(180deg,
      color-mix(in oklab, var(--bbx-app-accent) 42%, var(--bbx-ui-bg)),
      rgba(0,0,0,0.14));
  font-size: 20px;
  flex: 0 0 auto;
  box-shadow: 0 22px 60px color-mix(in oklab, var(--bbx-app-accent) 12%, transparent);
}

.tpma-shell-bizbox .bbx-launch-label{
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-academy{
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 12px;
  align-items: start;
}

.tpma-shell-bizbox .bbx-academy-mods{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-academy-mod{
  appearance: none;
  width: 100%;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 12px 12px;
  border-radius: 18px;
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 2px;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-academy-mod:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-academy-mod.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(255,255,255,0.06));
}

.tpma-shell-bizbox .bbx-academy-mod.is-done{
  border-color: var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
}

.tpma-shell-bizbox .bbx-academy-mod-title{
  font-weight: 950;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-academy-mod-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-academy-hero{
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 18%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(520px 240px at 18% 10%, var(--bbx-hero-a) 0%, transparent 70%),
    radial-gradient(520px 240px at 82% 110%, var(--bbx-hero-b) 0%, transparent 72%),
    radial-gradient(520px 240px at 40% 80%, var(--bbx-hero-c) 0%, transparent 74%),
    linear-gradient(180deg, var(--bbx-ui-bg2), rgba(0,0,0,0.16));
  border-radius: 18px;
  padding: 14px;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}

.tpma-shell-bizbox .bbx-academy-hero-art{
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.55;
  transform: scale(1.05);
  filter: saturate(1.15) contrast(1.06) brightness(0.72);
  pointer-events: none;
}

.tpma-shell-bizbox .bbx-academy-hero.has-art::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(520px 240px at 18% 10%, var(--bbx-hero-a) 0%, transparent 70%),
    linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.55));
  pointer-events: none;
}

.tpma-shell-bizbox .bbx-academy-hero > *{
  position: relative;
  z-index: 1;
}

.tpma-shell-bizbox .bbx-academy-hero-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-academy-hero-text{
  flex: 1;
  min-width: 0;
}

.tpma-shell-bizbox .bbx-academy-hero-actions{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-academy-hero-hint{
  font-size: 11px;
  color: var(--tpma-text-lo);
  font-weight: 900;
  opacity: 0.9;
}

.tpma-shell-bizbox .bbx-academy-hero-ico{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 24%, var(--bbx-ui-border-soft));
  background:
    radial-gradient(18px 14px at 30% 25%, rgba(255,255,255,0.22) 0%, transparent 60%),
    linear-gradient(180deg, color-mix(in oklab, var(--tpma-accent) 34%, rgba(255,255,255,0.10)), rgba(0,0,0,0.14));
  box-shadow: 0 18px 54px color-mix(in oklab, var(--tpma-accent) 14%, transparent);
}

.tpma-shell-bizbox .bbx-academy-hero-kicker{
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tpma-text-lo);
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-academy-hero-title{
  margin-top: 4px;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -0.2px;
}

.tpma-shell-bizbox .bbx-examples{
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tpma-shell-bizbox .bbx-example{
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.14);
  border-radius: 18px;
  padding: 12px;
}

.tpma-shell-bizbox .bbx-example-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.tpma-shell-bizbox .bbx-example-title{
  font-weight: 950;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-pre.bbx-pre--snippet{
  max-height: min(40vh, 340px);
}

.tpma-shell-bizbox .bbx-bullets{
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--tpma-text-md);
  line-height: 1.55;
}

.tpma-shell-bizbox .bbx-bullets li{
  margin: 6px 0;
  color: var(--tpma-text-lo);
}

.tpma-shell-bizbox .bbx-mindmap-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.tpma-shell-bizbox .bbx-node-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tpma-shell-bizbox .bbx-node{
  appearance: none;
  width: 100%;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 12px 12px;
  border-radius: 18px;
  cursor: pointer;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-shell-bizbox .bbx-node:hover{
  transform: translateY(-1px);
  border-color: var(--bbx-ui-border-hi);
}

.tpma-shell-bizbox .bbx-node.is-done{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(255,255,255,0.06));
}

.tpma-shell-bizbox .bbx-node.is-active{
  border-width: 2px;
  border-color: color-mix(in oklab, var(--tpma-accent) 60%, rgba(255,255,255,0.22));
  background:
    radial-gradient(520px 240px at 20% 10%, color-mix(in oklab, var(--tpma-accent) 16%, transparent) 0%, transparent 70%),
    color-mix(in oklab, var(--tpma-accent) 10%, rgba(255,255,255,0.04));
  box-shadow: 0 20px 70px color-mix(in oklab, var(--tpma-accent) 10%, transparent);
}

.tpma-shell-bizbox .bbx-node-ico{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 22%, var(--bbx-ui-border));
  background:
    radial-gradient(20px 18px at 30% 25%, rgba(255,255,255,0.22) 0%, transparent 60%),
    radial-gradient(80px 60px at 20% 10%, color-mix(in oklab, var(--tpma-accent) 12%, transparent) 0%, transparent 70%),
    var(--bbx-ui-bg);
  font-size: 18px;
  flex: 0 0 auto;
  box-shadow: 0 22px 60px color-mix(in oklab, var(--tpma-accent) 10%, transparent);
}

.tpma-shell-bizbox .bbx-node-meta{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.tpma-shell-bizbox .bbx-node-title{
  font-weight: 950;
  letter-spacing: 0.1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-shell-bizbox .bbx-node-sub{
  font-size: 12px;
  color: var(--tpma-text-lo);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tpma-shell-bizbox .bbx-node-check{
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 950;
  flex: 0 0 auto;
}

.tpma-shell-bizbox .bbx-node-start{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in oklab, var(--tpma-accent) 44%, rgba(255,255,255,0.18));
  background: linear-gradient(
    180deg,
    color-mix(in oklab, var(--tpma-accent) 86%, #ffffff 14%),
    color-mix(in oklab, var(--tpma-accent) 62%, #000000 38%)
  );
  color: #0b1020;
  font-weight: 950;
  font-size: 11px;
  letter-spacing: 0.1px;
}

.tpma-shell-bizbox .bbx-iframe-wrap{
  flex: 1;
  min-height: min(64vh, 720px);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--bbx-ui-border-soft);
  background: rgba(0,0,0,0.18);
}

.tpma-shell-bizbox .bbx-iframe{
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent;
}

/* Spotlight / overlays */
.tpma-shell-bizbox .bbx-spotlight{
  position: fixed;
  inset: 0;
  z-index: var(--tpma-z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  transform: translate3d(0,0,0);
  will-change: transform;
}

.tpma-shell-bizbox .bbx-spotlight[hidden]{
  display: none;
}

.tpma-shell-bizbox .bbx-overlay-backdrop{
  position: absolute;
  inset: 0;
  background: var(--bbx-overlay-backdrop);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.tpma-shell-bizbox .bbx-overlay-card{
  position: relative;
  width: min(860px, 100%);
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-overlay-bg);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: 22px;
  padding: 14px;
  box-shadow: var(--bbx-shadow-overlay);
  max-height: min(86vh, 780px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.tpma-shell-bizbox .bbx-overlay-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.tpma-shell-bizbox .bbx-overlay-title{
  font-weight: 950;
  letter-spacing: -0.2px;
}

.tpma-shell-bizbox .bbx-overlay-x{
  appearance: none;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  width: 36px;
  height: 36px;
  border-radius: 12px;
  cursor: pointer;
  font-size: 18px;
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-overlay-body{
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding-right: 2px;
}

.tpma-shell-bizbox .bbx-overlay-kicker{
  font-size: 12px;
  color: var(--tpma-text-lo);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 950;
}

.tpma-shell-bizbox .bbx-overlay-text{
  color: var(--tpma-text-md);
  line-height: 1.5;
}

.tpma-shell-bizbox .bbx-overlay-actions{
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  position: sticky;
  bottom: 0;
  padding-top: 10px;
  margin-top: 4px;
  border-top: 1px solid var(--bbx-surface-border);
  background: linear-gradient(180deg, color-mix(in oklab, var(--bbx-overlay-bg) 0%, transparent) 0%, var(--bbx-overlay-bg) 55%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-overlay-head{
  position: sticky;
  top: 0;
  z-index: 3;
  padding-bottom: 12px;
  background:
    linear-gradient(
      180deg,
      color-mix(in oklab, var(--bbx-overlay-bg) 96%, rgba(255,255,255,0.02)) 0%,
      color-mix(in oklab, var(--bbx-overlay-bg) 90%, transparent) 78%,
      transparent 100%
    );
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.tpma-shell-bizbox .bbx-overlay-body--onboard{
  padding-bottom: 18px;
}

.tpma-shell-bizbox .bbx-onb-actions{
  justify-content: space-between;
}

.tpma-shell-bizbox .bbx-spotlight-input,
.tpma-shell-bizbox .bbx-import{
  width: 100%;
  border: 1px solid var(--bbx-ui-border);
  background: var(--bbx-ui-bg);
  color: var(--tpma-text-hi);
  padding: 12px 12px;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 800;
}

.tpma-shell-bizbox .bbx-spotlight-list{
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: min(52vh, 420px);
  overflow: auto;
}

.tpma-shell-bizbox .bbx-spotlight-item{
  appearance: none;
  border: 1px solid var(--bbx-ui-border-soft);
  background: var(--bbx-ui-bg2);
  color: var(--tpma-text-hi);
  padding: 10px 12px;
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  text-align: left;
}

.tpma-shell-bizbox .bbx-spotlight-item:hover{
  border-color: var(--bbx-ui-border-hi);
  transform: translateY(-1px);
}

.tpma-shell-bizbox .bbx-spotlight-item.is-active{
  border-color: color-mix(in oklab, var(--tpma-accent) 55%, rgba(255,255,255,0.22));
  background: color-mix(in oklab, var(--tpma-accent) 12%, rgba(255,255,255,0.06));
}

.tpma-shell-bizbox .bbx-spotlight-hint{
  font-size: 12px;
  color: var(--tpma-text-lo);
}

@media (max-width: 980px){
  .tpma-shell-bizbox .bbx-menubar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-dock-item::after{
    display: none;
  }
  .tpma-shell-bizbox .bbx-window.is-mobile .bbx-win-head{
    height: auto;
    padding: calc(10px + env(safe-area-inset-top)) 12px 12px;
  }
  .tpma-shell-bizbox .bbx-window.is-mobile:not([data-bbx-win-app="builder"]) .bbx-win-body{
    padding-bottom: calc(14px + var(--bbx-dock-safe, 168px) + env(safe-area-inset-bottom));
    scroll-padding-bottom: calc(var(--bbx-dock-safe, 168px) + env(safe-area-inset-bottom));
  }
  .tpma-shell-bizbox .bbx-window.is-mobile[data-bbx-win-app="builder"] .bbx-win-body{
    padding-bottom: calc(14px + var(--bbx-dock-safe, 168px) + env(safe-area-inset-bottom));
  }
  .tpma-shell-bizbox .bbx-window.is-mobile.is-builder-preview-full{
    border-top: 0;
  }
  .tpma-shell-bizbox .bbx-window.is-mobile.is-builder-preview-full .bbx-win-head{
    display: none;
  }
  .tpma-shell-bizbox .bbx-window.is-mobile.is-builder-preview-full .bbx-win-body{
    padding: 0 0 calc(14px + var(--bbx-dock-safe, 168px) + env(safe-area-inset-bottom));
  }
  .tpma-shell-bizbox .bbx-os:has(.bbx-window.is-mobile.is-builder-preview-full) .bbx-window.is-mobile.is-builder-preview-full .bbx-win-body{
    padding-bottom: calc(14px + var(--bbx-dock-safe, 168px) + env(safe-area-inset-bottom));
  }
  .tpma-shell-bizbox .bbx-window.is-mobile .bbx-light{
    width: 18px;
    height: 18px;
  }
  .tpma-shell-bizbox .bbx-win-head-btn{
    width: 40px;
    height: 40px;
    border-radius: 14px;
  }
  .tpma-shell-bizbox .bbx-menubar-menus{
    display: none;
  }
  .tpma-shell-bizbox .bbx-menubar-app{
    max-width: 120px;
  }
  .tpma-shell-bizbox .bbx-auth-cta{
    order: -1;
  }
  .tpma-shell-bizbox .bbx-auth-label{
    max-width: 12ch;
  }
  .tpma-shell-bizbox .bbx-dock{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    transform: none;
    width: 100%;
    margin: 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    justify-content: flex-start;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 12px;
    touch-action: pan-x pinch-zoom;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    box-shadow: 0 22px 70px rgba(0,0,0,0.55);
  }
  .tpma-shell-bizbox .bbx-dock::-webkit-scrollbar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-dock-item{
    flex: 0 0 auto;
    width: 72px;
    min-width: 72px;
    height: 56px;
    border-radius: 16px;
    scroll-snap-align: start;
  }
  .tpma-shell-bizbox .bbx-dock-ico{
    width: 34px;
    height: 34px;
    border-radius: 14px;
    font-size: 18px;
    box-shadow: 0 14px 32px color-mix(in oklab, var(--bbx-app-accent) 12%, transparent);
  }
  .tpma-shell-bizbox .bbx-dock-label{
    display: block;
    font-size: 10px;
  }
  .tpma-shell-bizbox .bbx-tortoise-pill{
    display: none;
  }
  .tpma-shell-bizbox .bbx-tortoise-pill-sub{
    display: none;
  }
  .tpma-shell-bizbox .bbx-app-head{
    flex-direction: column;
    align-items: stretch;
  }
  .tpma-shell-bizbox .bbx-btn{
    min-height: 44px;
  }
  .tpma-shell-bizbox .bbx-app-actions{
    justify-content: flex-start;
  }
  .tpma-shell-bizbox .bbx-grid{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-settings-ecosystem-grid .bbx-btn{
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-window[data-bbx-win-app="builder"] .bbx-auth-cta,
  .tpma-shell-bizbox .bbx-window[data-bbx-win-app="outreach"] .bbx-auth-cta{
    order: 99;
    width: auto;
    min-height: 36px;
    justify-self: start;
    padding: 8px 10px;
  }
  body.tpma-bizbox-mode .tpus-passportSheet,
  .tpma-shell-bizbox .tpus-passportSheet{
    left: 12px !important;
    right: 12px !important;
    top: calc(12px + env(safe-area-inset-top)) !important;
    bottom: calc(82px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    overflow: auto !important;
    border-radius: 24px !important;
  }
  .tpma-shell-bizbox .bbx-welcome-layout{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-home-top{
    padding-top: 8px;
  }
  .tpma-shell-bizbox .bbx-home-top .bbx-command-inner{
    padding: 12px;
    border-radius: 20px;
  }
  .tpma-shell-bizbox .bbx-home-head-left{
    min-width: 0;
    gap: 10px;
  }
  .tpma-shell-bizbox .bbx-home-title{
    font-size: 16px;
  }
  .tpma-shell-bizbox .bbx-home-meta{
    gap: 6px;
  }
  .tpma-shell-bizbox .bbx-home-sep{
    display: none;
  }
  .tpma-shell-bizbox .bbx-home-primary-actions{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-home-more{
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-home-mobile-focus-actions{
    display: grid;
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-home-mobile-focus-actions .bbx-btn{
    width: 100%;
  }
  .tpma-shell-bizbox .bbx-home-cmd-row{
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .tpma-shell-bizbox .bbx-home-cmd-actions{
    display: none;
  }
  .tpma-shell-bizbox .bbx-sprint-grid{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-banner{
    flex-direction: column;
    align-items: flex-start;
  }
  .tpma-shell-bizbox .bbx-banner-actions{
    width: 100%;
    justify-content: flex-start;
  }
  .tpma-shell-bizbox .bbx-crm-layout{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-col{
    flex-basis: min(300px, calc(100vw - 92px));
    width: min(300px, calc(100vw - 92px));
  }
  .tpma-shell-bizbox .bbx-overlay-card{
    width: calc(100% - 20px);
    max-height: calc(100vh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding: 12px;
    border-radius: 20px;
  }
  .tpma-shell-bizbox .bbx-onb-title-row{
    flex-direction: column;
    align-items: flex-start;
  }
  .tpma-shell-bizbox .bbx-onb-income{
    font-size: 34px;
  }
  .tpma-shell-bizbox .bbx-onb-forecast{
    display: flex;
    overflow-x: auto;
    gap: 10px;
    scroll-snap-type: x mandatory;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  .tpma-shell-bizbox .bbx-onb-forecast::-webkit-scrollbar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-onb-forecast-card{
    min-height: 0;
    min-width: min(240px, calc(100vw - 72px));
    scroll-snap-align: start;
    flex: 0 0 auto;
  }
  .tpma-shell-bizbox .bbx-onb-preset-row{
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  .tpma-shell-bizbox .bbx-onb-preset-row::-webkit-scrollbar{
    display: none;
  }
  .tpma-shell-bizbox .bbx-overlay-body--onboard{
    padding-bottom: calc(168px + env(safe-area-inset-bottom));
  }
  .tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-onb-actions--mobile{
    gap: 8px;
    margin-top: 14px;
    padding-top: 10px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
    z-index: 4;
    border-top: 1px solid var(--bbx-surface-border);
    box-shadow: 0 -18px 36px rgba(0,0,0,0.26);
    background:
      linear-gradient(
        180deg,
        color-mix(in oklab, var(--bbx-overlay-bg) 78%, transparent) 0%,
        color-mix(in oklab, var(--bbx-overlay-bg) 97%, rgba(255,255,255,0.02)) 24%,
        color-mix(in oklab, var(--bbx-overlay-bg) 100%, rgba(255,255,255,0.02)) 100%
      );
  }
  .tpma-shell-bizbox .bbx-onb-actions--mobile{
    display: block;
  }
  .tpma-shell-bizbox .bbx-onb-actions--mobile .bbx-onb-primary{
    width: 100%;
    min-height: 52px;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 950;
    box-shadow: 0 18px 44px color-mix(in oklab, var(--tpma-accent) 18%, transparent);
  }
  .tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-onb-secondary .bbx-btn{
    min-height: 44px;
    border-radius: 14px;
  }
  .tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-onb-hide-row{
    margin-top: 12px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom));
  }
  .tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-onb-hide-row .bbx-btn{
    min-height: 42px;
    border-radius: 14px;
    font-size: 13px;
  }
  .tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-onb-plan,
  .tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-onb-momentum,
  .tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-onb-group,
  .tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-onb-package,
  .tpma-shell-bizbox .bbx-overlay-card--onboard .bbx-tip{
    scroll-margin-bottom: 168px;
  }
  .tpma-shell-bizbox .bbx-academy{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-mindmap-grid{
    grid-template-columns: 1fr;
  }
  .tpma-shell-bizbox .bbx-switches{
    grid-template-columns: 1fr;
  }
}

/* BizBox v4: minimal revenue desk. Keep classic v1 mechanics, calm the surface. */
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-os{
  --tpma-accent: #8a8f63;
  --bbx-halo-green: rgba(138,143,99,0.18);
  --bbx-halo-blue: rgba(140,130,108,0.10);
  --bbx-halo-pink: rgba(180,151,105,0.08);
  --bbx-halo-amber: rgba(168,136,82,0.10);
  --bbx-ui-border: rgba(235,228,214,0.13);
  --bbx-ui-border-hi: rgba(235,228,214,0.22);
  --bbx-ui-border-soft: rgba(235,228,214,0.09);
  --bbx-ui-bg: rgba(238,231,216,0.055);
  --bbx-ui-bg2: rgba(238,231,216,0.038);
  --bbx-ui-bg3: rgba(5,7,8,0.20);
  --bbx-surface-bg: rgba(12,13,12,0.72);
  --bbx-surface-bg2: rgba(15,16,15,0.58);
  --bbx-window-bg: rgba(13,14,13,0.82);
  --bbx-window-head-bg: rgba(17,18,17,0.82);
  --bbx-overlay-bg: rgba(13,14,13,0.88);
  --bbx-shadow-window: 0 32px 90px rgba(0,0,0,0.46);
  --bbx-shadow-dock: 0 24px 70px rgba(0,0,0,0.38);
  --bbx-wallpaper:
    radial-gradient(900px 560px at 12% -12%, rgba(138,143,99,0.16), transparent 58%),
    radial-gradient(760px 520px at 106% 16%, rgba(193,161,109,0.10), transparent 62%),
    linear-gradient(145deg, #090a09 0%, #11120f 46%, #0b0d0c 100%);
  color: #eee7d8;
  letter-spacing: -0.01em;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-os::before{
  opacity: 0.44;
  filter: blur(26px) saturate(0.72);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar{
  height: 46px;
  padding: 0 16px;
  background: rgba(9,10,9,0.78);
  border-bottom-color: rgba(238,231,216,0.10);
  backdrop-filter: blur(22px) saturate(0.82);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-app{
  font-weight: 760;
  letter-spacing: -0.035em;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-menus,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-link,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-btn[data-bbx-action="tour"]{
  display: none !important;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-btn,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-auth-cta,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-auth{
  min-height: 34px;
  border-radius: 999px;
  background: rgba(238,231,216,0.055);
  border-color: rgba(238,231,216,0.11);
  box-shadow: none;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-auth-cta.is-logged-out,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-auth.is-logged-out{
  background: rgba(138,143,99,0.16);
  border-color: rgba(138,143,99,0.34);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-command{
  padding: 30px 32px calc(34px + var(--bbx-dock-safe, 148px) + env(safe-area-inset-bottom));
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-command-inner,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-home-top .bbx-command-inner,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-window,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-panel,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-card,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-empty,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-modal,
.tpma-shell-bizbox[data-app="bizbox_v4"] [class*="bbx-"][class*="card"]{
  border-color: rgba(238,231,216,0.10);
  box-shadow: 0 22px 70px rgba(0,0,0,0.22);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-window{
  border-radius: 24px;
  background: rgba(13,14,13,0.86);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-window-head{
  min-height: 50px;
  border-bottom-color: rgba(238,231,216,0.08);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-win-action]{
  min-width: 32px;
  min-height: 32px;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-home-title,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-command-title,
.tpma-shell-bizbox[data-app="bizbox_v4"] h1,
.tpma-shell-bizbox[data-app="bizbox_v4"] h2,
.tpma-shell-bizbox[data-app="bizbox_v4"] h3{
  color: #f3eddf;
  letter-spacing: -0.055em;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-home-meta,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-sub,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-muted,
.tpma-shell-bizbox[data-app="bizbox_v4"] p{
  color: rgba(238,231,216,0.72);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-btn,
.tpma-shell-bizbox[data-app="bizbox_v4"] button[class*="bbx-"]{
  border-radius: 999px;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-btn-primary,
.tpma-shell-bizbox[data-app="bizbox_v4"] button[data-bbx-intent="prospect-now"],
.tpma-shell-bizbox[data-app="bizbox_v4"] button[data-bbx-prospect-search],
.tpma-shell-bizbox[data-app="bizbox_v4"] button[data-bbx-prospect-add]{
  background: #d8d1ad !important;
  border-color: rgba(216,209,173,0.70) !important;
  color: #11120f !important;
  box-shadow: 0 18px 44px rgba(216,209,173,0.16) !important;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-dock{
  gap: 8px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: rgba(9,10,9,0.76);
  border-color: rgba(238,231,216,0.10);
  box-shadow: var(--bbx-shadow-dock);
  backdrop-filter: blur(22px) saturate(0.82);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app]{
  border-radius: 18px;
  background: rgba(238,231,216,0.045);
  border-color: rgba(238,231,216,0.09);
  box-shadow: none;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app]:is(:hover, .is-active),
.tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app][aria-current="true"]{
  background: rgba(216,209,173,0.14);
  border-color: rgba(216,209,173,0.28);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] input,
.tpma-shell-bizbox[data-app="bizbox_v4"] textarea,
.tpma-shell-bizbox[data-app="bizbox_v4"] select{
  min-height: 42px;
  border-radius: 16px;
  border-color: rgba(238,231,216,0.12);
  background-color: rgba(238,231,216,0.055);
  color: #f3eddf;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-empty,
.tpma-shell-bizbox[data-app="bizbox_v4"] [class*="empty"]{
  background: rgba(238,231,216,0.045);
  border-style: solid;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-app="outreach"] .bbx-empty,
.tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-app="builder"] .bbx-empty{
  min-height: 260px;
  display: grid;
  align-content: center;
  gap: 14px;
}

@media (max-width: 720px){
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar{
    height: 50px;
    padding: 0 12px;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-metrics,
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-time{
    display: none !important;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-command{
    padding: 18px 14px calc(30px + var(--bbx-dock-safe, 92px) + env(safe-area-inset-bottom));
    overflow-y: auto;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-win-action],
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-window button,
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-dock button,
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-auth-cta,
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-menubar-auth{
    min-width: 44px;
    min-height: 44px;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-window{
    inset: 56px 8px calc(84px + env(safe-area-inset-bottom)) 8px !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    border-radius: 22px;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-window-head{
    min-height: 58px;
    padding-inline: 12px;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-dock{
    left: 10px;
    right: 10px;
    width: auto;
    max-width: none;
    justify-content: space-between;
    overflow: visible;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app="files"],
  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app="pos"],
  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app="docs"],
  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app="sheets"],
  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app="agents"],
  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app="playbook"],
  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app="academy"],
  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app="settings"]{
    display: none !important;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] [data-bbx-dock-app]{
    flex: 1 1 0;
    min-width: 0;
    max-width: 72px;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] input,
  .tpma-shell-bizbox[data-app="bizbox_v4"] textarea,
  .tpma-shell-bizbox[data-app="bizbox_v4"] select{
    width: 100%;
    min-height: 44px;
    font-size: 16px;
  }
}

/* BizBox v4 money workflow panels. */
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-desk,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-app-guide{
  position: relative;
  margin: 0 0 18px;
  padding: 22px;
  border: 1px solid rgba(238,231,216,0.11);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(238,231,216,0.075), rgba(238,231,216,0.032)),
    rgba(9,10,9,0.42);
  box-shadow: 0 28px 80px rgba(0,0,0,0.24);
  overflow: hidden;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-desk::after,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-app-guide::after{
  content: "";
  position: absolute;
  inset: auto -80px -120px auto;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: rgba(216,209,173,0.10);
  filter: blur(28px);
  pointer-events: none;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-kicker{
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border: 1px solid rgba(216,209,173,0.18);
  border-radius: 999px;
  background: rgba(216,209,173,0.08);
  color: rgba(238,231,216,0.78);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-desk-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.8fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 16px;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-desk-main h1,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-app-guide h2{
  margin: 10px 0 8px;
  max-width: 760px;
  color: #f4eedf;
  font-size: clamp(32px, 5vw, 66px);
  line-height: 0.92;
  letter-spacing: -0.075em;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-app-guide h2{
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-desk-main p,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-app-guide p{
  max-width: 690px;
  color: rgba(238,231,216,0.72);
  font-size: 15px;
  line-height: 1.55;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-actions .bbx-btn{
  min-height: 42px;
  padding-inline: 16px;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-package-card{
  display: grid;
  gap: 10px;
  align-content: center;
  padding: 18px;
  border: 1px solid rgba(238,231,216,0.10);
  border-radius: 24px;
  background: rgba(6,7,6,0.44);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-package-card strong{
  color: #f4eedf;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -0.05em;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-package-card span,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-package-card em{
  color: rgba(238,231,216,0.68);
  font-size: 13px;
  line-height: 1.45;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-package-label{
  color: rgba(216,209,173,0.86) !important;
  font-size: 11px !important;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-path{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-path li,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-mini-rail li{
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid rgba(238,231,216,0.09);
  border-radius: 20px;
  background: rgba(238,231,216,0.04);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-path li > span{
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: rgba(216,209,173,0.14);
  color: #ebe4cf;
  font-size: 12px;
  font-weight: 800;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-path strong,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-mini-rail strong,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-template-strip strong{
  color: #f4eedf;
  font-size: 14px;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-path p,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-mini-rail span,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-template-strip span{
  margin: 0;
  color: rgba(238,231,216,0.64);
  font-size: 12px;
  line-height: 1.45;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-template-strip,
.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-mini-rail{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-mini-rail{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-template-strip button{
  display: grid;
  gap: 5px;
  min-height: 86px;
  padding: 14px;
  border: 1px solid rgba(238,231,216,0.10);
  border-radius: 18px;
  background: rgba(238,231,216,0.045);
  color: inherit;
  text-align: left;
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-template-strip button:hover{
  background: rgba(216,209,173,0.10);
  border-color: rgba(216,209,173,0.28);
}

.tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-pipeline-guide{
  padding-block: 16px;
}

@media (max-width: 900px){
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-desk-grid,
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-path,
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-template-strip,
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-mini-rail{
    grid-template-columns: 1fr;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-desk,
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-app-guide{
    padding: 18px;
    border-radius: 24px;
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-desk-main h1{
    font-size: clamp(34px, 12vw, 52px);
  }

  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-actions .bbx-btn,
  .tpma-shell-bizbox[data-app="bizbox_v4"] .bbx-v4-template-strip button{
    width: 100%;
    min-height: 48px;
  }
}

/* BizBox v4 revenue system layer */
.bbx-v4-revenue-system {
  --bbx-v4-ink: #17170f;
  --bbx-v4-muted: rgba(23, 23, 15, 0.64);
  --bbx-v4-line: rgba(34, 34, 22, 0.13);
  --bbx-v4-panel: rgba(255, 252, 242, 0.84);
  --bbx-v4-soft: rgba(138, 143, 99, 0.13);
  --bbx-v4-accent: #6f7447;
  --bbx-v4-accent-strong: #3f4328;
  --bbx-v4-shadow: 0 22px 70px rgba(37, 35, 25, 0.14);
}

.bbx-v4-revenue-system [data-bbx-v4-revenue-desk],
.bbx-v4-revenue-system [data-bbx-v4-builder-guide],
.bbx-v4-revenue-system [data-bbx-v4-outreach-guide],
.bbx-v4-revenue-system [data-bbx-v4-pipeline-guide] {
  display: none !important;
}

.bbx-v4-pathbar,
.bbx-v4-panel {
  color: var(--bbx-v4-ink);
  background:
    radial-gradient(circle at 8% 0%, rgba(138, 143, 99, 0.18), transparent 30%),
    linear-gradient(135deg, rgba(255, 253, 246, 0.96), rgba(245, 241, 226, 0.9));
  border: 1px solid var(--bbx-v4-line);
  box-shadow: var(--bbx-v4-shadow);
  backdrop-filter: blur(18px);
}

.bbx-v4-pathbar {
  position: relative;
  z-index: 34;
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(300px, 1.6fr) minmax(160px, 0.45fr);
  gap: 14px;
  align-items: stretch;
  margin: 10px 14px;
  padding: 13px;
  border-radius: 26px;
}

.bbx-v4-pathbar-lead,
.bbx-v4-pathbar-aside {
  min-width: 0;
}

.bbx-v4-eyebrow,
.bbx-v4-current {
  display: block;
  margin: 0 0 6px;
  color: var(--bbx-v4-accent-strong);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.bbx-v4-pathbar h2,
.bbx-v4-panel h2 {
  margin: 0;
  color: var(--bbx-v4-ink);
  font-size: clamp(1.05rem, 2vw, 1.55rem);
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.bbx-v4-pathbar p,
.bbx-v4-panel p,
.bbx-v4-panel small,
.bbx-v4-step-detail,
.bbx-v4-package-fit,
.bbx-v4-package-note,
.bbx-v4-template span {
  color: var(--bbx-v4-muted);
}

.bbx-v4-pathbar p,
.bbx-v4-panel p {
  margin: 7px 0 0;
  font-size: 0.86rem;
  line-height: 1.45;
}

.bbx-v4-step-track {
  display: grid;
  grid-template-columns: repeat(6, minmax(92px, 1fr));
  gap: 7px;
}

.bbx-v4-step,
.bbx-v4-package,
.bbx-v4-toggle,
.bbx-v4-template,
.bbx-v4-close-stage,
.bbx-v4-sequence-grid article,
.bbx-v4-metrics article {
  border: 1px solid var(--bbx-v4-line);
  background: rgba(255, 255, 248, 0.72);
  color: var(--bbx-v4-ink);
  border-radius: 18px;
}

.bbx-v4-step,
.bbx-v4-package,
.bbx-v4-toggle,
.bbx-v4-template,
.bbx-v4-close-stage {
  cursor: pointer;
  text-align: left;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.bbx-v4-step:hover,
.bbx-v4-package:hover,
.bbx-v4-toggle:hover,
.bbx-v4-template:hover,
.bbx-v4-close-stage:hover {
  transform: translateY(-1px);
  border-color: rgba(111, 116, 71, 0.42);
}

.bbx-v4-step {
  display: grid;
  gap: 5px;
  min-height: 86px;
  padding: 10px;
}

.bbx-v4-step.is-active,
.bbx-v4-step.is-done,
.bbx-v4-package.is-selected,
.bbx-v4-template.is-selected,
.bbx-v4-toggle.is-done,
.bbx-v4-close-stage.is-active {
  background: linear-gradient(135deg, rgba(138, 143, 99, 0.2), rgba(255, 255, 248, 0.88));
  border-color: rgba(111, 116, 71, 0.5);
}

.bbx-v4-step-kicker {
  color: rgba(23, 23, 15, 0.46);
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.bbx-v4-step-label,
.bbx-v4-package-label,
.bbx-v4-template strong,
.bbx-v4-close-stage span,
.bbx-v4-sequence-grid strong,
.bbx-v4-metrics strong {
  color: var(--bbx-v4-ink);
  font-weight: 850;
  letter-spacing: -0.02em;
}

.bbx-v4-step-detail,
.bbx-v4-package-fit,
.bbx-v4-package-note,
.bbx-v4-template span,
.bbx-v4-close-stage small {
  display: block;
  font-size: 0.72rem;
  line-height: 1.28;
}

.bbx-v4-pathbar-aside {
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 10px;
  border-radius: 18px;
  background: rgba(255, 255, 248, 0.58);
  border: 1px solid var(--bbx-v4-line);
}

.bbx-v4-pathbar-aside button,
.bbx-v4-app-actions button,
.bbx-v4-sequence-grid button {
  min-height: 38px;
  border: 0;
  border-radius: 999px;
  background: var(--bbx-v4-ink);
  color: #fffdf4;
  font-weight: 800;
  padding: 0 14px;
  cursor: pointer;
}

.bbx-v4-panel {
  margin: 0 0 16px;
  padding: clamp(16px, 2.2vw, 24px);
  border-radius: 28px;
}

.bbx-v4-workflow {
  margin: 0 0 18px;
}

.bbx-v4-panel-head {
  max-width: 860px;
  margin-bottom: 14px;
}

.bbx-v4-panel-head-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  max-width: none;
}

.bbx-v4-score {
  flex: 0 0 auto;
  min-width: 86px;
  padding: 13px;
  border-radius: 20px;
  text-align: center;
  border: 1px solid var(--bbx-v4-line);
  background: rgba(255, 255, 248, 0.72);
}

.bbx-v4-score strong {
  display: block;
  font-size: 1.35rem;
  line-height: 1;
}

.bbx-v4-score span {
  color: var(--bbx-v4-muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.bbx-v4-metrics,
.bbx-v4-package-grid,
.bbx-v4-checkgrid,
.bbx-v4-template-grid,
.bbx-v4-sequence-grid,
.bbx-v4-close-grid {
  display: grid;
  gap: 10px;
}

.bbx-v4-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 12px;
}

.bbx-v4-metrics article,
.bbx-v4-sequence-grid article {
  padding: 14px;
}

.bbx-v4-metrics span,
.bbx-v4-sequence-grid span {
  display: block;
  margin-bottom: 7px;
  color: var(--bbx-v4-accent-strong);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.bbx-v4-package-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 12px 0;
}

.bbx-v4-package,
.bbx-v4-template,
.bbx-v4-toggle,
.bbx-v4-close-stage {
  padding: 13px;
}

.bbx-v4-package-label {
  display: block;
  margin-bottom: 6px;
}

.bbx-v4-checkgrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 12px;
}

.bbx-v4-toggle span {
  display: block;
  margin-bottom: 5px;
  font-weight: 850;
}

.bbx-v4-toggle.is-done span::after {
  content: ' done';
  color: var(--bbx-v4-accent-strong);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bbx-v4-template-grid {
  grid-template-columns: repeat(7, minmax(118px, 1fr));
  overflow-x: auto;
  padding-bottom: 2px;
}

.bbx-v4-template {
  min-width: 118px;
}

.bbx-v4-sequence-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bbx-v4-sequence-grid p {
  min-height: 62px;
}

.bbx-v4-close-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 12px;
}

.bbx-v4-handoff-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.bbx-v4-handoff-list span {
  padding: 10px 12px;
  border: 1px solid var(--bbx-v4-line);
  border-radius: 999px;
  background: rgba(255, 255, 248, 0.68);
  color: var(--bbx-v4-muted);
  font-size: 0.78rem;
  font-weight: 750;
}

.bbx-v4-app-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 14px;
}

.bbx-v4-app-actions button:nth-child(even),
.bbx-v4-pathbar-aside button:nth-of-type(2) {
  background: var(--bbx-v4-soft);
  color: var(--bbx-v4-accent-strong);
  border: 1px solid rgba(111, 116, 71, 0.24);
}

@media (max-width: 980px) {
  .bbx-v4-pathbar {
    grid-template-columns: 1fr;
  }

  .bbx-v4-step-track {
    display: flex;
    overflow-x: auto;
    padding-bottom: 3px;
  }

  .bbx-v4-step {
    min-width: 138px;
  }

  .bbx-v4-metrics,
  .bbx-v4-package-grid,
  .bbx-v4-checkgrid,
  .bbx-v4-sequence-grid,
  .bbx-v4-close-grid,
  .bbx-v4-handoff-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .bbx-v4-pathbar {
    margin: 8px;
    padding: 10px;
    border-radius: 22px;
  }

  .bbx-v4-panel {
    padding: 14px;
    border-radius: 22px;
  }

  .bbx-v4-pathbar h2,
  .bbx-v4-panel h2 {
    font-size: 1.15rem;
  }

  .bbx-v4-panel-head-row {
    display: grid;
  }

  .bbx-v4-score {
    width: 100%;
  }

  .bbx-v4-metrics,
  .bbx-v4-package-grid,
  .bbx-v4-checkgrid,
  .bbx-v4-sequence-grid,
  .bbx-v4-close-grid,
  .bbx-v4-handoff-list {
    grid-template-columns: 1fr;
  }

  .bbx-v4-app-actions {
    display: grid;
  }

  .bbx-v4-app-actions button,
  .bbx-v4-pathbar-aside button,
  .bbx-v4-sequence-grid button {
    width: 100%;
    min-height: 44px;
  }
}

.bbx-v4-revenue-system .bbx-v4-mobile-rescue {
  margin: 12px 14px;
  padding: 14px;
  border: 1px solid rgba(138, 143, 99, 0.28);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,253,246,.96), rgba(238,234,211,.92));
  color: #17170f;
  box-shadow: 0 16px 44px rgba(0,0,0,.18);
}
.bbx-v4-revenue-system .bbx-v4-mobile-rescue h2 {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #17170f;
}
.bbx-v4-revenue-system .bbx-v4-mobile-rescue p:not(.bbx-v4-eyebrow) {
  margin: 7px 0 0;
  color: rgba(23,23,15,.68);
  font-size: .84rem;
  line-height: 1.4;
}
.bbx-v4-revenue-system .bbx-v4-mobile-rescue-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.bbx-v4-revenue-system .bbx-v4-mobile-rescue-actions button {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: #17170f;
  color: #fffdf4;
  font-weight: 850;
  cursor: pointer;
}
@media (max-width: 640px) {
  .bbx-v4-revenue-system .bbx-v4-pathbar {
    max-height: 34vh;
    overflow: auto;
  }
  .bbx-v4-revenue-system .bbx-v4-pathbar-lead p {
    display: none;
  }
  .bbx-v4-revenue-system .bbx-v4-pathbar-aside {
    display: none;
  }
  .bbx-v4-revenue-system .bbx-v4-mobile-rescue {
    margin: 10px 10px 12px;
    border-radius: 18px;
  }
  .bbx-v4-revenue-system .bbx-v4-mobile-rescue-actions {
    grid-template-columns: 1fr;
  }
  .bbx-v4-revenue-system .bbx-prospect-main,
  .bbx-v4-revenue-system .bbx-window-body,
  .bbx-v4-revenue-system .bbx-window-content {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.bbx-v4-revenue-system .bbx-v4-mobile-rescue,
.bbx-v4-revenue-system .bbx-v4-mobile-rescue * {
  box-sizing: border-box;
}
.bbx-v4-revenue-system .bbx-v4-mobile-rescue-actions button {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  color: #fffdf4 !important;
  white-space: normal;
  line-height: 1.15;
  padding: 10px 12px;
  text-align: center;
}
@media (max-width: 640px) {
  .bbx-v4-revenue-system .bbx-v4-mobile-rescue {
    overflow: hidden;
  }
  .bbx-v4-revenue-system .bbx-v4-mobile-rescue h2,
  .bbx-v4-revenue-system .bbx-v4-mobile-rescue p {
    max-width: 100%;
  }
}

.tpma-trip-shell {
  --tpma-trip-ink: #071014;
  --tpma-trip-soft: rgba(255, 255, 255, 0.72);
}

.tpma-trip-shell .tpma-topbar {
  position: relative;
  z-index: 2;
}

.tpma-trip-shell .tpma-brand {
  min-width: 0;
}

.tpma-trip-shell .tpma-brand-text {
  min-width: 0;
}

.tpma-trip-shell .tpma-topbar-actions {
  flex: 0 0 auto;
}

body.tpma-body-trip #tp-recovery-banner,
body.tpma-body-trip .tpus-passportFab,
body.tpma-body-trip .tpus-passportSheet,
body.tpma-body-trip .tpus-historySheet,
body.tpma-body-trip #tp-spaces-cta-float,
body.tpma-body-trip .tp-ai-studio-launcherShell,
body.tpma-body-trip .tp-ai-studio-launcher,
body.tpma-body-trip .tp-portal-v3__aiPanel,
body.tpma-body-trip .tp-ai-studio__overlay,
body.tpma-body-trip .tpais-assist-stow,
body.tpma-body-trip .tpais-assist-pip,
body.tpma-body-trip [data-tp-launcher-shell] {
  display: none !important;
  pointer-events: none !important;
}

html:has(.tpma-trip-shell) .tpais-assist-stow,
html:has(.tpma-trip-shell) .tpais-assist-pip {
  display: none !important;
  pointer-events: none !important;
}

.tpma-trip-hero {
  width: min(1180px, calc(100% - 32px));
  margin: 28px auto 0;
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(340px, 1.04fr);
  gap: 22px;
  align-items: stretch;
}

.tpma-trip-hero-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: linear-gradient(145deg, rgba(10, 18, 24, 0.94), rgba(10, 38, 43, 0.82));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

.tpma-trip-kicker,
.tpma-trip-card-head p,
.tpma-trip-product p,
.tpma-trip-output-kicker {
  margin: 0;
  color: #7dd3fc;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tpma-trip-hero h1 {
  margin: 12px 0 0;
  color: #f8fafc;
  font-size: 4.4rem;
  line-height: 0.94;
  letter-spacing: 0;
}

.tpma-trip-hero p {
  margin: 16px 0 0;
  max-width: 60ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.04rem;
  line-height: 1.55;
}

.tpma-trip-hero-points {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.tpma-trip-hero-points li {
  position: relative;
  padding-left: 22px;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.4;
}

.tpma-trip-hero-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #5eead4;
  box-shadow: 0 0 0 4px rgba(94, 234, 212, 0.14);
}

.tpma-trip-hero-actions,
.tpma-trip-next-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.tpma-trip-mapviz {
  min-height: 390px;
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
    linear-gradient(145deg, rgba(15, 23, 42, 0.96), rgba(21, 128, 61, 0.42), rgba(14, 116, 144, 0.55));
  background-size: 52px 52px, 52px 52px, auto;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 24px 70px rgba(0, 0, 0, 0.22);
}

.tpma-trip-map-card {
  position: absolute;
  z-index: 2;
  width: min(210px, 42%);
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(4, 10, 17, 0.78);
  color: #f8fafc;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
}

.tpma-trip-map-card span {
  display: block;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tpma-trip-map-card strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
  font-size: 1.05rem;
  line-height: 1.08;
}

.tpma-trip-map-card.is-main {
  left: 8%;
  top: 11%;
  border-color: rgba(45, 212, 191, 0.48);
}

.tpma-trip-map-card.is-stay {
  right: 8%;
  top: 24%;
  border-color: rgba(34, 197, 94, 0.42);
}

.tpma-trip-map-card.is-flight {
  left: 15%;
  bottom: 16%;
  border-color: rgba(96, 165, 250, 0.44);
}

.tpma-trip-map-card.is-plan {
  right: 12%;
  bottom: 10%;
  border-color: rgba(251, 191, 36, 0.46);
}

.tpma-trip-route-line {
  position: absolute;
  left: 18%;
  right: 18%;
  top: 48%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2dd4bf, #60a5fa, #fbbf24);
  transform: rotate(-12deg);
  box-shadow: 0 0 22px rgba(45, 212, 191, 0.5);
}

.tpma-trip-main {
  width: min(1180px, calc(100% - 32px));
  margin: 22px auto 42px;
  display: grid;
  gap: 18px;
}

.tpma-trip-planner {
  display: grid;
  grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.12fr);
  gap: 18px;
  align-items: start;
}

.tpma-trip-planner-card,
.tpma-trip-output-card,
.tpma-trip-product,
.tpma-trip-launch-card {
  min-width: 0;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.18);
}

.tpma-trip-planner-card {
  padding: 18px;
}

.tpma-trip-card-head h2,
.tpma-trip-product h2,
.tpma-trip-output-card h2 {
  margin: 7px 0 0;
  color: #f8fafc;
  font-size: 1.22rem;
  line-height: 1.08;
  letter-spacing: 0;
}

.tpma-trip-card-sub,
.tpma-trip-output-head p {
  margin: 9px 0 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.92rem;
  line-height: 1.45;
}

.tpma-trip-card-head .tpma-trip-card-sub,
.tpma-trip-output-head .tpma-trip-card-sub {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.92rem;
  font-weight: 560;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
}

.tpma-trip-form {
  display: grid;
  gap: 11px;
  margin-top: 16px;
}

.tpma-trip-form label {
  display: grid;
  gap: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.84rem;
  font-weight: 780;
}

.tpma-trip-form input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.08);
  color: #f8fafc;
  outline: none;
  box-sizing: border-box;
}

.tpma-trip-form input:focus {
  border-color: rgba(45, 212, 191, 0.72);
  box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.16);
}

.tpma-trip-secondary {
  min-width: 0;
}

.tpma-trip-details {
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.045);
}

.tpma-trip-details summary {
  min-height: 42px;
  padding: 10px 12px;
  color: #f8fafc;
  font-weight: 820;
  cursor: pointer;
}

.tpma-trip-details-body {
  display: grid;
  gap: 11px;
  padding: 0 12px 12px;
}

.tpma-trip-mode-row,
.tpma-trip-quick-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tpma-trip-mode-row button,
.tpma-trip-chip,
.tpma-trip-next-actions a {
  min-height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  color: #f8fafc;
  font-weight: 820;
  cursor: pointer;
}

.tpma-trip-mode-row button,
.tpma-trip-chip {
  padding: 8px 11px;
}

.tpma-trip-mode-row button.is-active {
  color: #052018;
  background: #5eead4;
  border-color: rgba(94, 234, 212, 0.74);
}

.tpma-trip-output {
  min-width: 0;
}

.tpma-trip-output-head {
  min-width: 0;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.06);
}

.tpma-trip-output-head p:first-child,
.tpma-trip-preview-card p {
  margin: 0;
  color: #7dd3fc;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tpma-trip-output-head h2 {
  margin: 7px 0 0;
  color: #f8fafc;
  font-size: 1.16rem;
  line-height: 1.12;
}

.tpma-trip-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.tpma-trip-preview-card {
  min-width: 0;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
}

.tpma-trip-preview-card h3 {
  margin: 7px 0 0;
  color: #f8fafc;
  font-size: 1rem;
  line-height: 1.1;
}

.tpma-trip-preview-card small {
  display: block;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.64);
  line-height: 1.38;
}

.tpma-trip-output-card {
  padding: 20px;
}

.tpma-trip-output-card p {
  margin: 11px 0 0;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.55;
}

.tpma-trip-output-card.is-intro {
  background: linear-gradient(145deg, rgba(15, 23, 42, 0.82), rgba(8, 47, 73, 0.34));
}

.tpma-trip-step-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.tpma-trip-step-list div {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  column-gap: 10px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.055);
}

.tpma-trip-step-list span {
  grid-row: span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #5eead4;
  color: #052018;
  font-weight: 900;
}

.tpma-trip-step-list strong {
  color: #f8fafc;
}

.tpma-trip-step-list small {
  display: block;
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.64);
  line-height: 1.35;
}

.tpma-trip-mini-summary {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(94, 234, 212, 0.08);
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
  line-height: 1.42;
}

.tpma-trip-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 17px;
}

.tpma-trip-result-grid section {
  min-width: 0;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.09);
}

.tpma-trip-result-grid h3 {
  margin: 0;
  color: #f8fafc;
  font-size: 0.98rem;
}

.tpma-trip-result-grid ol,
.tpma-trip-result-grid ul,
.tpma-trip-product ul {
  margin: 11px 0 0;
  padding-left: 18px;
  color: rgba(255, 255, 255, 0.76);
}

.tpma-trip-result-grid li,
.tpma-trip-product li {
  margin-top: 8px;
  line-height: 1.42;
}

.tpma-trip-result-grid li strong,
.tpma-trip-result-grid li span {
  display: block;
}

.tpma-trip-next-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  text-decoration: none;
}

.tpma-trip-result-foot {
  margin-top: 15px;
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.88rem;
}

.tpma-trip-launchers {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.tpma-trip-launch-card {
  display: grid;
  gap: 7px;
  padding: 16px;
  color: #f8fafc;
  text-decoration: none;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.tpma-trip-launch-card:hover,
.tpma-trip-launch-card:focus-visible {
  transform: translateY(-2px);
  outline: none;
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.09);
}

.tpma-trip-launch-card span {
  color: rgba(255, 255, 255, 0.52);
  font-size: 0.75rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.tpma-trip-launch-card strong {
  font-size: 1.02rem;
  line-height: 1.08;
}

.tpma-trip-launch-card small {
  color: rgba(255, 255, 255, 0.66);
  line-height: 1.35;
}

.tpma-trip-launch-card.is-teal { border-color: rgba(45, 212, 191, 0.24); }
.tpma-trip-launch-card.is-green { border-color: rgba(34, 197, 94, 0.24); }
.tpma-trip-launch-card.is-blue { border-color: rgba(96, 165, 250, 0.24); }
.tpma-trip-launch-card.is-amber { border-color: rgba(251, 191, 36, 0.24); }

.tpma-trip-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tpma-trip-product {
  padding: 17px;
}

.tpma-trip-product div {
  margin-top: 11px;
  color: rgba(255, 255, 255, 0.73);
  line-height: 1.52;
}

@media (max-width: 920px) {
  .tpma-trip-hero,
  .tpma-trip-planner,
  .tpma-trip-products {
    grid-template-columns: 1fr;
  }

  .tpma-trip-launchers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpma-trip-mapviz {
    min-height: 330px;
  }

  .tpma-trip-hero h1 {
    font-size: 3.35rem;
  }
}

@media (max-width: 640px) {
  .tpma-trip-shell .tpma-topbar {
    gap: 8px;
  }

  .tpma-trip-shell .tpma-logo {
    width: 34px;
    height: 34px;
    border-radius: 11px;
  }

  .tpma-trip-shell .tpma-brand {
    flex: 1 1 auto;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
  }

  .tpma-trip-shell .tpma-brand-title,
  .tpma-trip-shell .tpma-brand-sub {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tpma-trip-shell .tpma-brand-title {
    font-size: 0.95rem;
  }

  .tpma-trip-shell .tpma-brand-sub {
    font-size: 0.7rem;
  }

  .tpma-trip-shell .tpma-topbar-actions {
    gap: 6px;
  }

  .tpma-trip-shell .tpma-topbar-actions .tpma-link {
    min-height: 34px;
    padding: 7px 9px;
    font-size: 0.82rem;
    white-space: nowrap;
  }

  .tpma-trip-shell .tpma-topbar-actions .tpma-link[href*="/flights/"] {
    display: none;
  }

  .tpma-trip-hero,
  .tpma-trip-main {
    width: min(100% - 20px, 1180px);
  }

  .tpma-trip-hero {
    margin-top: 18px;
    gap: 14px;
  }

  .tpma-trip-hero-copy {
    padding: 18px;
    border-radius: 18px;
  }

  .tpma-trip-kicker,
  .tpma-trip-card-head p,
  .tpma-trip-product p,
  .tpma-trip-output-kicker {
    font-size: 0.68rem;
    letter-spacing: 0.1em;
  }

  .tpma-trip-hero h1 {
    margin-top: 10px;
    font-size: 2.1rem;
    line-height: 1;
    overflow-wrap: anywhere;
  }

  .tpma-trip-hero p {
    margin-top: 12px;
    font-size: 0.95rem;
    line-height: 1.45;
  }

  .tpma-trip-hero-points {
    margin-top: 14px;
    gap: 7px;
  }

  .tpma-trip-hero-points li {
    font-size: 0.9rem;
  }

  .tpma-trip-hero-actions {
    margin-top: 16px;
  }

  .tpma-trip-hero-actions .tpma-btn {
    width: 100%;
    justify-content: center;
  }

  .tpma-trip-mapviz {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    min-height: 0;
    padding: 12px;
    border-radius: 18px;
  }

  .tpma-trip-map-card {
    position: static;
    width: auto;
    padding: 10px 11px;
    border-radius: 14px;
  }

  .tpma-trip-map-card.is-main {
    grid-column: 1 / -1;
  }

  .tpma-trip-route-line {
    display: none;
  }

  .tpma-trip-map-card span {
    font-size: 0.66rem;
  }

  .tpma-trip-map-card strong {
    font-size: 0.86rem;
    line-height: 1.12;
  }

  .tpma-trip-planner-card,
  .tpma-trip-output-card,
  .tpma-trip-product,
  .tpma-trip-launch-card {
    border-radius: 16px;
  }

  .tpma-trip-planner-card,
  .tpma-trip-output-card {
    padding: 16px;
  }

  .tpma-trip-card-head h2,
  .tpma-trip-product h2,
  .tpma-trip-output-card h2 {
    font-size: 1.05rem;
    line-height: 1.12;
  }

  .tpma-trip-form {
    gap: 9px;
    margin-top: 14px;
  }

  .tpma-trip-form label {
    font-size: 0.79rem;
  }

  .tpma-trip-form input {
    min-height: 42px;
    padding: 9px 11px;
    border-radius: 12px;
    font-size: 0.95rem;
  }

  .tpma-trip-details summary {
    min-height: 40px;
    padding: 9px 11px;
  }

  .tpma-trip-details-body {
    gap: 9px;
    padding: 0 10px 10px;
  }

  .tpma-trip-mode-row,
  .tpma-trip-quick-row {
    gap: 7px;
  }

  .tpma-trip-result-grid,
  .tpma-trip-launchers,
  .tpma-trip-preview-grid {
    grid-template-columns: 1fr;
  }

  .tpma-trip-mode-row button,
  .tpma-trip-chip,
  .tpma-trip-next-actions a {
    width: 100%;
    white-space: normal;
    min-height: 40px;
    padding-inline: 12px;
  }

  .tpma-trip-output-card p,
  .tpma-trip-result-grid li,
  .tpma-trip-product div,
  .tpma-trip-mini-summary {
    font-size: 0.92rem;
    line-height: 1.45;
  }

  .tpma-trip-output-head {
    padding: 16px;
    border-radius: 16px;
  }

  .tpma-trip-output-head h2 {
    font-size: 1.05rem;
  }

  .tpma-trip-preview-card {
    padding: 13px;
    border-radius: 14px;
  }

  .tpma-trip-step-list div {
    padding: 10px;
    border-radius: 14px;
  }

  .tpma-trip-result-grid {
    gap: 10px;
    margin-top: 14px;
  }

  .tpma-trip-result-grid section {
    padding: 12px;
    border-radius: 14px;
  }

  .tpma-trip-result-grid h3 {
    font-size: 0.9rem;
  }

  .tpma-trip-result-grid ol,
  .tpma-trip-result-grid ul,
  .tpma-trip-product ul {
    margin-top: 9px;
    padding-left: 16px;
  }

  .tpma-trip-result-grid li,
  .tpma-trip-product li {
    margin-top: 7px;
  }

  .tpma-trip-launchers {
    gap: 10px;
  }

  .tpma-trip-launch-card {
    padding: 14px;
  }

  .tpma-trip-launch-card strong {
    font-size: 0.96rem;
  }

  .tpma-trip-products {
    gap: 10px;
  }

  .tpma-trip-product {
    padding: 14px;
  }

  .tpma-trip-product div {
    margin-top: 9px;
  }
}

@media (max-width: 420px) {
  .tpma-trip-hero {
    width: min(100% - 16px, 1180px);
  }

  .tpma-trip-main {
    width: min(100% - 16px, 1180px);
  }

  .tpma-trip-hero-copy {
    padding: 16px;
  }

  .tpma-trip-hero h1 {
    font-size: 1.92rem;
  }

  .tpma-trip-mapviz {
    gap: 8px;
    padding: 10px;
  }

  .tpma-trip-map-card {
    padding: 9px 10px;
  }

  .tpma-trip-planner-card,
  .tpma-trip-output-card,
  .tpma-trip-product,
  .tpma-trip-launch-card {
    border-radius: 14px;
  }

  .tpma-trip-planner-card,
  .tpma-trip-output-card,
  .tpma-trip-output-head {
    padding: 14px;
  }

  .tpma-trip-card-head h2,
  .tpma-trip-product h2,
  .tpma-trip-output-card h2 {
    font-size: 1rem;
  }

  .tpma-trip-mode-row button,
  .tpma-trip-chip,
  .tpma-trip-next-actions a {
    min-height: 38px;
    font-size: 0.92rem;
  }
}

.tpma-ghana-guide {
  --tpma-ghana-bg: #07120f;
  --tpma-ghana-panel: rgba(255, 255, 255, 0.07);
  --tpma-ghana-line: rgba(255, 255, 255, 0.14);
  --tpma-ghana-copy: rgba(248, 250, 252, 0.78);
  --tpma-ghana-muted: rgba(248, 250, 252, 0.58);
  --tpma-ghana-gold: #f6c453;
  --tpma-ghana-green: #42d392;
  --tpma-ghana-blue: #67d5ff;
  color: #f8fafc;
  background:
    linear-gradient(180deg, rgba(7, 18, 15, 0.98), rgba(9, 16, 25, 0.98) 45%, rgba(5, 8, 16, 1));
}

.tpma-ghana-guide .tpma-topbar {
  position: relative;
  z-index: 3;
}

.tpma-ghana-guide .tpma-brand {
  min-width: 0;
}

.tpma-ghana-guide .tpma-topbar-actions {
  flex: 0 0 auto;
}

body.tpma-body-ghana-guide #tp-recovery-banner,
body.tpma-body-ghana-guide .tpus-passportFab,
body.tpma-body-ghana-guide .tpus-passportSheet,
body.tpma-body-ghana-guide .tpus-historySheet,
body.tpma-body-ghana-guide #tp-spaces-cta-float,
body.tpma-body-ghana-guide .tp-ai-studio-launcherShell,
body.tpma-body-ghana-guide .tp-ai-studio-launcher,
body.tpma-body-ghana-guide .tp-portal-v3__aiPanel,
body.tpma-body-ghana-guide .tp-ai-studio__overlay,
body.tpma-body-ghana-guide .tpais-assist-stow,
body.tpma-body-ghana-guide .tpais-assist-pip,
body.tpma-body-ghana-guide [data-tp-launcher-shell],
html:has(.tpma-ghana-guide) .tpais-assist-stow,
html:has(.tpma-ghana-guide) .tpais-assist-pip {
  display: none !important;
  pointer-events: none !important;
}

.tpma-ghana-hero,
.tpma-ghana-main {
  width: min(1180px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

.tpma-ghana-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 18px;
  margin-top: 28px;
  align-items: stretch;
}

.tpma-ghana-hero-copy,
.tpma-ghana-hero-panel,
.tpma-ghana-intro article,
.tpma-ghana-place-group,
.tpma-ghana-events,
.tpma-ghana-tools,
.tpma-ghana-plans,
.tpma-ghana-faq {
  border: 1px solid var(--tpma-ghana-line);
  background: var(--tpma-ghana-panel);
  box-shadow: 0 20px 64px rgba(0, 0, 0, 0.24);
}

.tpma-ghana-hero-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 440px;
  padding: 34px;
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(14, 116, 84, 0.46), rgba(5, 8, 16, 0.88)),
    linear-gradient(45deg, rgba(246, 196, 83, 0.18), transparent 42%);
}

.tpma-ghana-kicker,
.tpma-ghana-section-head p,
.tpma-ghana-card-kicker,
.tpma-ghana-tool-card span,
.tpma-ghana-intro span {
  margin: 0;
  color: var(--tpma-ghana-gold);
  font-size: 0.72rem;
  font-weight: 880;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tpma-ghana-hero h1 {
  margin: 12px 0 0;
  max-width: 10ch;
  color: #fff;
  font-size: 4.8rem;
  line-height: 0.92;
  letter-spacing: 0;
}

.tpma-ghana-hero-copy > p:not(.tpma-ghana-kicker) {
  max-width: 64ch;
  margin: 18px 0 0;
  color: var(--tpma-ghana-copy);
  font-size: 1.05rem;
  line-height: 1.6;
}

.tpma-ghana-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.tpma-ghana-hero-panel {
  display: grid;
  align-content: space-between;
  gap: 18px;
  padding: 24px;
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(30, 64, 175, 0.26)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent);
}

.tpma-ghana-hero-panel span {
  display: block;
  color: var(--tpma-ghana-blue);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tpma-ghana-hero-panel strong {
  display: block;
  margin-top: 10px;
  font-size: 1.62rem;
  line-height: 1.08;
}

.tpma-ghana-hero-panel nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.tpma-ghana-hero-panel nav a,
.tpma-ghana-card-actions a,
.tpma-ghana-section-head a,
.tpma-ghana-plan div a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  color: #f8fafc;
  background: rgba(255, 255, 255, 0.07);
  font-size: 0.88rem;
  font-weight: 820;
  text-decoration: none;
}

.tpma-ghana-main {
  display: grid;
  gap: 18px;
  margin-top: 18px;
  margin-bottom: 48px;
}

.tpma-ghana-intro {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tpma-ghana-intro article {
  min-width: 0;
  padding: 18px;
  border-radius: 22px;
}

.tpma-ghana-intro strong {
  display: block;
  margin-top: 8px;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.15;
}

.tpma-ghana-intro p {
  margin: 10px 0 0;
  color: var(--tpma-ghana-copy);
  line-height: 1.5;
}

.tpma-ghana-places {
  display: grid;
  gap: 18px;
}

.tpma-ghana-place-group,
.tpma-ghana-events,
.tpma-ghana-tools,
.tpma-ghana-plans,
.tpma-ghana-faq {
  min-width: 0;
  padding: 20px;
  border-radius: 24px;
}

.tpma-ghana-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 18px;
  align-items: end;
  margin-bottom: 16px;
}

.tpma-ghana-section-head p,
.tpma-ghana-section-head h2,
.tpma-ghana-section-head div {
  grid-column: 1;
}

.tpma-ghana-section-head h2 {
  margin: 7px 0 0;
  color: #fff;
  font-size: 1.55rem;
  line-height: 1.06;
  letter-spacing: 0;
}

.tpma-ghana-section-head div {
  max-width: 72ch;
  margin-top: 9px;
  color: var(--tpma-ghana-copy);
  line-height: 1.52;
}

.tpma-ghana-section-head a {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
}

.tpma-ghana-card-grid,
.tpma-ghana-event-grid,
.tpma-ghana-tool-grid,
.tpma-ghana-plan-grid {
  display: grid;
  gap: 12px;
}

.tpma-ghana-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tpma-ghana-card,
.tpma-ghana-event-card,
.tpma-ghana-tool-card,
.tpma-ghana-plan,
.tpma-ghana-faq details {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.055);
}

.tpma-ghana-card {
  display: grid;
  grid-template-rows: auto 1fr;
}

.tpma-ghana-card-media,
.tpma-ghana-event-media {
  display: block;
  min-width: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
}

.tpma-ghana-card-media {
  aspect-ratio: 4 / 3;
}

.tpma-ghana-event-media {
  aspect-ratio: 16 / 10;
}

.tpma-ghana-card-media img,
.tpma-ghana-event-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.tpma-ghana-card-media.is-empty,
.tpma-ghana-event-media.is-empty {
  display: grid;
  place-items: center;
  color: var(--tpma-ghana-muted);
  font-weight: 850;
}

.tpma-ghana-card-body,
.tpma-ghana-event-card > div,
.tpma-ghana-plan {
  display: grid;
  gap: 8px;
  padding: 14px;
}

.tpma-ghana-card h3,
.tpma-ghana-event-card h3,
.tpma-ghana-plan h3 {
  margin: 0;
  color: #fff;
  font-size: 1.03rem;
  line-height: 1.13;
  letter-spacing: 0;
}

.tpma-ghana-card h3 a,
.tpma-ghana-event-card h3 a {
  color: inherit;
  text-decoration: none;
}

.tpma-ghana-card p,
.tpma-ghana-event-card p,
.tpma-ghana-plan p,
.tpma-ghana-faq p {
  margin: 0;
  color: var(--tpma-ghana-copy);
  line-height: 1.45;
}

.tpma-ghana-card-meta {
  color: var(--tpma-ghana-blue);
  font-size: 0.83rem;
  font-weight: 760;
}

.tpma-ghana-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.tpma-ghana-card-actions a {
  min-height: 34px;
  padding: 0 11px;
  font-size: 0.82rem;
}

.tpma-ghana-card-actions a:first-child,
.tpma-ghana-section-head a {
  background: rgba(66, 211, 146, 0.16);
  border-color: rgba(66, 211, 146, 0.28);
}

.tpma-ghana-event-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpma-ghana-event-card {
  display: grid;
  grid-template-rows: auto 1fr;
}

.tpma-ghana-empty {
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  color: var(--tpma-ghana-copy);
  background: rgba(255, 255, 255, 0.055);
}

.tpma-ghana-tool-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tpma-ghana-tool-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  color: #f8fafc;
  text-decoration: none;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.tpma-ghana-tool-card:hover,
.tpma-ghana-tool-card:focus-visible {
  transform: translateY(-2px);
  outline: none;
  border-color: rgba(246, 196, 83, 0.34);
  background: rgba(255, 255, 255, 0.085);
}

.tpma-ghana-tool-card strong {
  font-size: 1.08rem;
}

.tpma-ghana-tool-card small {
  color: var(--tpma-ghana-copy);
  line-height: 1.42;
}

.tpma-ghana-plan-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tpma-ghana-plan div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.tpma-ghana-plan div a {
  min-height: 34px;
  font-size: 0.82rem;
}

.tpma-ghana-faq {
  display: grid;
  gap: 10px;
}

.tpma-ghana-faq .tpma-ghana-section-head {
  margin-bottom: 4px;
}

.tpma-ghana-faq details {
  padding: 14px 16px;
}

.tpma-ghana-faq summary {
  color: #fff;
  font-weight: 850;
  cursor: pointer;
}

.tpma-ghana-faq p {
  margin-top: 10px;
}

@media (max-width: 1040px) {
  .tpma-ghana-card-grid,
  .tpma-ghana-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tpma-ghana-event-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .tpma-ghana-hero {
    grid-template-columns: 1fr;
  }

  .tpma-ghana-hero-copy {
    min-height: 0;
  }

  .tpma-ghana-intro,
  .tpma-ghana-plan-grid {
    grid-template-columns: 1fr;
  }

  .tpma-ghana-section-head {
    grid-template-columns: 1fr;
  }

  .tpma-ghana-section-head a {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin-top: 12px;
  }
}

@media (max-width: 640px) {
  .tpma-ghana-guide .tpma-topbar {
    gap: 8px;
  }

  .tpma-ghana-guide .tpma-brand {
    flex: 1 1 auto;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
  }

  .tpma-ghana-guide .tpma-logo {
    width: 34px;
    height: 34px;
    border-radius: 11px;
  }

  .tpma-ghana-guide .tpma-brand-title,
  .tpma-ghana-guide .tpma-brand-sub {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tpma-ghana-guide .tpma-topbar-actions {
    gap: 6px;
  }

  .tpma-ghana-guide .tpma-topbar-actions .tpma-link {
    min-height: 34px;
    padding: 7px 9px;
    font-size: 0.78rem;
    white-space: nowrap;
  }

  .tpma-ghana-guide .tpma-topbar-actions .tpma-link[href*="/flights/"] {
    display: none;
  }

  .tpma-ghana-hero,
  .tpma-ghana-main {
    width: min(100% - 20px, 1180px);
  }

  .tpma-ghana-hero {
    margin-top: 18px;
    gap: 14px;
  }

  .tpma-ghana-hero-copy,
  .tpma-ghana-hero-panel,
  .tpma-ghana-place-group,
  .tpma-ghana-events,
  .tpma-ghana-tools,
  .tpma-ghana-plans,
  .tpma-ghana-faq {
    border-radius: 18px;
  }

  .tpma-ghana-hero-copy,
  .tpma-ghana-hero-panel,
  .tpma-ghana-place-group,
  .tpma-ghana-events,
  .tpma-ghana-tools,
  .tpma-ghana-plans,
  .tpma-ghana-faq {
    padding: 16px;
  }

  .tpma-ghana-hero h1 {
    max-width: none;
    font-size: 2.42rem;
    line-height: 1;
    overflow-wrap: anywhere;
  }

  .tpma-ghana-hero-copy > p:not(.tpma-ghana-kicker) {
    margin-top: 12px;
    font-size: 0.95rem;
    line-height: 1.45;
  }

  .tpma-ghana-hero-actions .tpma-btn {
    width: 100%;
    justify-content: center;
  }

  .tpma-ghana-hero-panel strong {
    font-size: 1.18rem;
  }

  .tpma-ghana-card-grid,
  .tpma-ghana-event-grid,
  .tpma-ghana-tool-grid {
    grid-template-columns: 1fr;
  }

  .tpma-ghana-section-head h2 {
    font-size: 1.22rem;
  }

  .tpma-ghana-card {
    grid-template-columns: minmax(96px, 0.36fr) minmax(0, 0.64fr);
  }

  .tpma-ghana-card-media {
    min-height: 100%;
    aspect-ratio: auto;
  }

  .tpma-ghana-card-body {
    padding: 12px;
  }

  .tpma-ghana-card h3,
  .tpma-ghana-event-card h3,
  .tpma-ghana-plan h3 {
    font-size: 0.98rem;
  }

  .tpma-ghana-card p {
    font-size: 0.88rem;
  }

  .tpma-ghana-card-actions a,
  .tpma-ghana-plan div a {
    flex: 1 1 120px;
    min-width: 0;
    text-align: center;
  }
}

@media (max-width: 420px) {
  .tpma-ghana-hero,
  .tpma-ghana-main {
    width: min(100% - 16px, 1180px);
  }

  .tpma-ghana-guide .tpma-topbar-actions .tpma-link[href*="/events/"] {
    display: none;
  }

  .tpma-ghana-hero h1 {
    font-size: 2.12rem;
  }

  .tpma-ghana-card {
    grid-template-columns: 1fr;
  }

  .tpma-ghana-card-media {
    aspect-ratio: 4 / 3;
  }
}

/* ==========================================================================
   Workspace Luna 5.6 — @tortoise copilot (v0.6.0)
   ========================================================================== */

.tpma-shell.tpma-shell-workspace{
  --tpma-luna-gold: #f4d64e;
  --tpma-luna-mint: #83f0c8;
}

.tpma-ws-stage-head{
  align-items: center;
}

.tpma-ws-stage-copy{
  min-width: 0;
}

.tpma-luna-presence{
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 7px 12px 7px 8px;
  border: 1px solid color-mix(in oklab, var(--tpma-luna-gold) 34%, rgba(255,255,255,0.14));
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(244,214,78,0.14), rgba(131,240,200,0.07)),
    rgba(8,11,18,0.66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 12px 32px rgba(0,0,0,0.24);
  color: var(--tpma-text-hi);
  isolation: isolate;
}

.tpma-luna-presence::after{
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  box-shadow: 0 0 0 0 rgba(244,214,78,0.22);
  animation: tpma-luna-presence-pulse 3.2s ease-out infinite;
  pointer-events: none;
}

.tpma-luna-presence > span{
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(244,214,78,0.26), rgba(131,240,200,0.13));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14);
  font-size: 18px;
  line-height: 1;
}

.tpma-luna-presence > div{
  display: grid;
  gap: 2px;
  line-height: 1.05;
}

.tpma-luna-presence strong{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18px;
}

.tpma-luna-presence small{
  color: var(--tpma-text-lo);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

@keyframes tpma-luna-presence-pulse{
  0%, 58% { box-shadow: 0 0 0 0 rgba(244,214,78,0.20); }
  82%, 100% { box-shadow: 0 0 0 9px rgba(244,214,78,0); }
}

.tpma-ws-dock-luna{
  position: relative;
  border-color: color-mix(in oklab, var(--tpma-luna-gold) 34%, rgba(255,255,255,0.16));
  background:
    linear-gradient(145deg, rgba(244,214,78,0.14), rgba(131,240,200,0.07)),
    rgba(255,255,255,0.05);
}

.tpma-ws-dock-luna::before{
  content: "";
  position: absolute;
  top: 6px;
  right: 7px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--tpma-luna-mint);
  box-shadow: 0 0 0 3px rgba(131,240,200,0.10), 0 0 12px rgba(131,240,200,0.50);
}

.tpma-ws-dock-luna:hover,
.tpma-ws-dock-luna.is-active,
.tpma-ws-dock-luna[aria-pressed="true"]{
  border-color: color-mix(in oklab, var(--tpma-luna-gold) 66%, rgba(255,255,255,0.20));
  background:
    linear-gradient(145deg, rgba(244,214,78,0.23), rgba(131,240,200,0.11)),
    rgba(255,255,255,0.08);
  box-shadow: 0 12px 28px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.12);
}

/* The generic drawer fills the viewport. Luna is a compact, dock-aware workbench. */
.tpma-luna-panel{
  inset: auto 16px calc(16px + var(--tpma-dock-offset, 0px)) auto;
  width: min(486px, calc(100vw - 32px));
  height: min(78dvh, 820px);
  padding: 0;
  border-radius: 26px;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  z-index: 9800;
}

.tpma-luna-panel .tpma-ws-drawer-card{
  position: relative;
  width: 100%;
  height: 100%;
  max-height: none;
  border: 1px solid color-mix(in oklab, var(--tpma-luna-gold) 28%, rgba(255,255,255,0.15));
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 0%, rgba(244,214,78,0.12), transparent 30%),
    radial-gradient(circle at 0% 84%, rgba(131,240,200,0.08), transparent 32%),
    linear-gradient(155deg, rgba(15,18,27,0.985), rgba(7,9,15,0.985));
  box-shadow: 0 32px 96px rgba(0,0,0,0.68), inset 0 1px 0 rgba(255,255,255,0.08);
  overflow: hidden;
}

.tpma-luna-panel .tpma-ws-drawer-card::before{
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 3;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--tpma-luna-gold), var(--tpma-luna-mint), transparent);
  opacity: 0.88;
  pointer-events: none;
}

.tpma-luna-head{
  min-height: 72px;
  padding: 12px 13px 11px 14px;
  background: rgba(5,7,12,0.56);
  border-bottom-color: rgba(255,255,255,0.10);
}

.tpma-luna-identity{
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.tpma-luna-avatar{
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid rgba(244,214,78,0.32);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(244,214,78,0.22), rgba(131,240,200,0.10));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.13), 0 10px 24px rgba(0,0,0,0.28);
  font-size: 23px;
  line-height: 1;
}

.tpma-luna-head .tpma-ws-drawer-title{
  overflow: hidden;
  color: var(--tpma-text-hi);
  font-size: 15px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-luna-head .tpma-ws-drawer-title span{
  color: var(--tpma-luna-gold);
}

.tpma-luna-byline{
  margin-top: 3px;
  overflow: hidden;
  color: var(--tpma-text-lo);
  font-size: 11px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-luna-head-actions{
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
}

.tpma-luna-model,
.tpma-luna-state{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.tpma-luna-model{
  min-width: 35px;
  padding: 0 9px;
  color: #171306;
  background: linear-gradient(135deg, #ffe979, var(--tpma-luna-gold));
  box-shadow: 0 5px 18px rgba(244,214,78,0.17);
}

.tpma-luna-state{
  position: relative;
  gap: 6px;
  max-width: 92px;
  padding: 0 9px;
  overflow: hidden;
  border: 1px solid rgba(131,240,200,0.18);
  background: rgba(131,240,200,0.07);
  color: color-mix(in oklab, var(--tpma-luna-mint) 84%, white);
  text-overflow: ellipsis;
}

.tpma-luna-state::before{
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: var(--tpma-luna-mint);
  box-shadow: 0 0 8px rgba(131,240,200,0.55);
}

.tpma-luna-panel .tpma-ws-drawer-x{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(255,255,255,0.055);
}

.tpma-luna-panel .tpma-ws-drawer-x:hover{
  border-color: rgba(255,255,255,0.30);
  background: rgba(255,255,255,0.10);
}

.tpma-luna-body{
  flex: 1;
  min-height: 0;
  gap: 12px;
  padding: 13px 14px 18px;
  overscroll-behavior: contain;
  scrollbar-color: rgba(244,214,78,0.26) transparent;
  scrollbar-width: thin;
}

.tpma-luna-body::-webkit-scrollbar{
  width: 8px;
}

.tpma-luna-body::-webkit-scrollbar-thumb{
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(244,214,78,0.24);
  background-clip: padding-box;
}

.tpma-luna-welcome{
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border: 1px solid rgba(244,214,78,0.17);
  border-radius: 17px;
  background:
    linear-gradient(135deg, rgba(244,214,78,0.095), rgba(131,240,200,0.045)),
    rgba(255,255,255,0.025);
}

.tpma-luna-welcome strong{
  color: var(--tpma-text-hi);
  font-size: 14px;
  font-weight: 900;
}

.tpma-luna-welcome span{
  color: var(--tpma-text-lo);
  font-size: 12px;
  line-height: 1.45;
}

.tpma-luna-section-label{
  margin: 1px 1px -3px;
  color: var(--tpma-text-lo);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.tpma-luna-panel .tpma-ws-ai-presets{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.tpma-luna-panel .tpma-ws-preset{
  width: 100%;
  min-width: 0;
  min-height: 38px;
  justify-content: flex-start;
  padding: 8px 10px;
  overflow: hidden;
  border-color: rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.045);
  color: var(--tpma-text-md);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  text-align: left;
  text-overflow: ellipsis;
  white-space: normal;
}

.tpma-luna-panel .tpma-ws-preset::before{
  content: "✦";
  flex: 0 0 auto;
  color: var(--tpma-luna-gold);
  font-size: 9px;
}

.tpma-luna-panel .tpma-ws-preset:hover,
.tpma-luna-panel .tpma-ws-preset:focus-visible{
  border-color: rgba(244,214,78,0.32);
  background: linear-gradient(135deg, rgba(244,214,78,0.12), rgba(131,240,200,0.055));
  color: var(--tpma-text-hi);
}

.tpma-luna-panel .tpma-ws-ai-label{
  margin: 1px 1px -5px;
  color: var(--tpma-text-md);
  font-size: 12px;
}

.tpma-luna-panel .tpma-ws-ai-input{
  min-height: 108px;
  max-height: 280px;
  padding: 13px 14px;
  border-color: rgba(255,255,255,0.15);
  border-radius: 17px;
  background: rgba(0,0,0,0.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.025);
  caret-color: var(--tpma-luna-gold);
  resize: vertical;
}

.tpma-luna-panel .tpma-ws-ai-input::placeholder{
  color: rgba(255,255,255,0.42);
}

.tpma-luna-panel .tpma-ws-ai-input:focus{
  border-color: color-mix(in oklab, var(--tpma-luna-gold) 58%, rgba(255,255,255,0.18));
  box-shadow: 0 0 0 3px rgba(244,214,78,0.11), inset 0 1px 0 rgba(255,255,255,0.04);
}

.tpma-luna-composer-hint{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: -7px;
  padding: 0 2px;
  color: rgba(255,255,255,0.43);
  font-size: 10px;
  font-weight: 700;
}

.tpma-luna-composer-hint span:last-child{
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-luna-panel .tpma-ws-ai-opts{
  gap: 7px;
}

.tpma-luna-panel .tpma-ws-ai-opt{
  min-height: 31px;
  padding: 5px 9px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  background: rgba(255,255,255,0.035);
  color: var(--tpma-text-lo);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  user-select: none;
}

.tpma-luna-panel .tpma-ws-ai-opt:has(input:checked){
  border-color: rgba(244,214,78,0.27);
  background: rgba(244,214,78,0.08);
  color: var(--tpma-text-hi);
}

.tpma-luna-panel .tpma-ws-ai-opt input{
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--tpma-luna-gold);
}

.tpma-luna-panel .tpma-ws-ai-actions{
  gap: 7px;
}

.tpma-luna-panel .tpma-ws-ai-actions .tpma-btn{
  min-height: 39px;
  padding: 9px 12px;
  border-radius: 13px;
  font-size: 11px;
}

.tpma-luna-run{
  position: relative;
  flex: 1 1 138px;
  overflow: hidden;
  border-color: rgba(244,214,78,0.54) !important;
  background: linear-gradient(135deg, #f8de57, #e9b92f) !important;
  box-shadow: 0 12px 30px rgba(223,174,37,0.18);
  color: #181305 !important;
}

.tpma-luna-run:hover{
  filter: brightness(1.055);
  box-shadow: 0 14px 36px rgba(223,174,37,0.26);
}

.tpma-luna-panel.is-luna-busy .tpma-luna-state{
  border-color: rgba(244,214,78,0.26);
  background: rgba(244,214,78,0.08);
  color: #ffe989;
}

.tpma-luna-panel.is-luna-busy .tpma-luna-state::before{
  background: var(--tpma-luna-gold);
  animation: tpma-luna-state-breathe 0.9s ease-in-out infinite alternate;
}

.tpma-luna-panel.is-luna-busy .tpma-luna-run{
  cursor: wait;
  filter: saturate(0.84);
}

.tpma-luna-panel.is-luna-busy .tpma-luna-run::after{
  content: "";
  width: 13px;
  height: 13px;
  margin-left: 3px;
  border: 2px solid rgba(24,19,5,0.28);
  border-top-color: #181305;
  border-radius: 50%;
  animation: tpma-luna-spin 0.8s linear infinite;
}

@keyframes tpma-luna-state-breathe{
  from { opacity: 0.45; transform: scale(0.82); }
  to { opacity: 1; transform: scale(1.08); }
}

@keyframes tpma-luna-spin{
  to { transform: rotate(360deg); }
}

.tpma-luna-panel .tpma-ws-ai-output{
  min-height: 150px;
  max-height: 360px;
  padding: 0;
  border-color: rgba(255,255,255,0.12);
  border-radius: 17px;
  background: rgba(0,0,0,0.22);
  overflow: auto;
  scrollbar-color: rgba(244,214,78,0.22) transparent;
}

.tpma-luna-panel .tpma-ws-ai-output .tpma-output-empty{
  min-height: 148px;
  display: grid;
  place-items: center;
  padding: 22px;
  color: rgba(255,255,255,0.43);
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}

.tpma-luna-answer{
  padding: 14px;
  color: var(--tpma-text-md);
  font-size: 13px;
  line-height: 1.58;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.tpma-luna-answer-by{
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 9px;
  color: var(--tpma-luna-gold);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.tpma-luna-answer-by > span{
  font-size: 14px;
  line-height: 1;
}

.tpma-luna-thinking{
  min-height: 148px;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 24px;
  color: var(--tpma-text-lo);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.tpma-luna-thinking > span{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tpma-luna-gold);
  box-shadow: 0 0 12px rgba(244,214,78,0.34);
  animation: tpma-luna-thinking 1.15s ease-in-out infinite alternate;
}

.tpma-luna-thinking > span:nth-child(2){
  animation-delay: 160ms;
}

.tpma-luna-thinking > span:nth-child(3){
  animation-delay: 320ms;
}

.tpma-luna-thinking > strong{
  flex: 0 0 100%;
  margin-top: 6px;
  color: var(--tpma-text-md);
}

@keyframes tpma-luna-thinking{
  from { opacity: 0.35; transform: translateY(2px) scale(0.72); }
  to { opacity: 1; transform: translateY(-2px) scale(1.08); }
}

.tpma-luna-sources{
  display: grid;
  gap: 8px;
}

.tpma-luna-sources[hidden]{
  display: none !important;
}

.tpma-luna-sources > strong,
.tpma-luna-sources > .tpma-luna-section-label{
  color: var(--tpma-text-lo);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tpma-luna-source-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.tpma-luna-source,
.tpma-luna-sources > a{
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 10px 11px;
  overflow: hidden;
  border: 1px solid rgba(131,240,200,0.16);
  border-radius: 13px;
  background: rgba(131,240,200,0.045);
  color: var(--tpma-text-md);
  font-size: 11px;
  line-height: 1.32;
  text-decoration: none;
  text-overflow: ellipsis;
}

.tpma-luna-source > span{
  overflow: hidden;
  color: color-mix(in oklab, var(--tpma-luna-mint) 78%, white);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.tpma-luna-source > span::before{
  content: "↗ ";
}

.tpma-luna-source > strong{
  overflow: hidden;
  color: var(--tpma-text-hi);
  font-size: 11px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tpma-luna-source > small{
  display: -webkit-box;
  overflow: hidden;
  color: var(--tpma-text-lo);
  font-size: 9.5px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.tpma-luna-source:hover,
.tpma-luna-sources > a:hover{
  border-color: rgba(131,240,200,0.34);
  background: rgba(131,240,200,0.08);
  color: var(--tpma-text-hi);
}

.tpma-luna-handoff{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 17px;
  background: rgba(255,255,255,0.035);
}

.tpma-luna-handoff > div:first-child{
  min-width: 0;
  display: grid;
  gap: 3px;
}

.tpma-luna-handoff strong{
  color: var(--tpma-text-md);
  font-size: 11px;
  font-weight: 900;
}

.tpma-luna-handoff span{
  color: var(--tpma-text-lo);
  font-size: 10px;
  line-height: 1.3;
}

.tpma-luna-handoff-actions{
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.tpma-luna-handoff-actions button{
  appearance: none;
  min-height: 30px;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 10px;
  background: rgba(0,0,0,0.18);
  color: var(--tpma-text-md);
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
}

.tpma-luna-handoff-actions button:hover,
.tpma-luna-handoff-actions button:focus-visible{
  transform: translateY(-1px);
  border-color: rgba(244,214,78,0.32);
  background: rgba(244,214,78,0.09);
  color: var(--tpma-text-hi);
}

.tpma-luna-handoff-actions button[hidden]{
  display: none !important;
}

.tpma-luna-privacy{
  margin: 0;
  padding: 0 2px;
  color: rgba(255,255,255,0.42);
  font-size: 9.5px;
  line-height: 1.45;
}

.tpma-luna-panel :is(button, textarea, input):focus-visible,
.tpma-ws-dock-luna:focus-visible{
  outline: 2px solid var(--tpma-luna-gold);
  outline-offset: 2px;
}

/* Workspace routes own their @tortoise and sign-in affordances. Keep legacy
   portal helpers from covering editor controls at any viewport size. */
body.tpma-body.tpma-body-workspace :is(
  .tp42v3-tortoise-layer,
  .tpus-passportFab,
  .tpus-passportSheet,
  .tpus-historySheet,
  .tpus-quickTasks,
  .tpops-ownerbar,
  .tp-ai-studio-launcherShell,
  .tp-ai-studio-launcher,
  .tp-ai-studio-launcherBubbleWrap,
  .tp-ai-studio__overlay,
  .tpais-assist-overlay,
  .tpais-assist-stow,
  .tpais-assist-pip,
  .tpais-assist-bubble,
  [data-tp-launcher-shell],
  #tp-portal-auth-launcher,
  #tp-spaces-cta-float
),
html:has(.tpma-shell.tpma-shell-workspace) :is(
  .tp42v3-tortoise-layer,
  .tpus-passportFab,
  .tpus-passportSheet,
  .tpus-historySheet,
  .tpus-quickTasks,
  .tpops-ownerbar,
  .tp-ai-studio-launcherShell,
  .tp-ai-studio-launcher,
  .tp-ai-studio-launcherBubbleWrap,
  .tp-ai-studio__overlay,
  .tpais-assist-overlay,
  .tpais-assist-stow,
  .tpais-assist-pip,
  .tpais-assist-bubble,
  [data-tp-launcher-shell],
  #tp-portal-auth-launcher,
  #tp-spaces-cta-float
){
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* The legacy mascot writes display/visibility inline with !important. Clip its
   full-screen layer and remove its children so it cannot cover the local dock. */
body.tpma-body.tpma-body-workspace .tp42v3-tortoise-layer,
html:has(.tpma-shell.tpma-shell-workspace) .tp42v3-tortoise-layer{
  clip-path: inset(100%) !important;
  overflow: hidden !important;
}

body.tpma-body.tpma-body-workspace .tp42v3-tortoise-layer > *,
html:has(.tpma-shell.tpma-shell-workspace) .tp42v3-tortoise-layer > *{
  display: none !important;
}

@media (max-width: 860px){
  .tpma-shell.tpma-shell-workspace .tpma-ws-stage{
    padding-right: max(12px, env(safe-area-inset-right));
    padding-left: max(12px, env(safe-area-inset-left));
  }

  .tpma-shell.tpma-shell-workspace .tpma-ws-stage-head{
    padding: 10px 11px;
  }

  .tpma-shell.tpma-shell-workspace .tpma-ws-stage-sub{
    max-width: 46vw;
  }

  .tpma-ws-dock{
    bottom: max(8px, env(safe-area-inset-bottom));
    max-width: calc(100vw - 16px);
  }

  /* Portal-level helpers duplicate Luna and can cover the mobile editor/dock. */
  body.tpma-body.tpma-body-workspace :is(
    .tpus-passportFab,
    .tpus-passportSheet,
    .tpus-historySheet,
    .tpus-quickTasks,
    .tpops-ownerbar,
    .tp-ai-studio-launcherShell,
    .tp-ai-studio-launcher,
    .tp-ai-studio-launcherBubbleWrap,
    .tp-ai-studio__overlay,
    .tpais-assist-overlay,
    .tpais-assist-stow,
    .tpais-assist-pip,
    .tpais-assist-bubble,
    [data-tp-launcher-shell],
    #tp-spaces-cta-float
  ),
  html:has(.tpma-shell.tpma-shell-workspace) :is(
    .tpus-passportFab,
    .tpus-passportSheet,
    .tpus-historySheet,
    .tpus-quickTasks,
    .tpops-ownerbar,
    .tp-ai-studio-launcherShell,
    .tp-ai-studio-launcher,
    .tp-ai-studio-launcherBubbleWrap,
    .tp-ai-studio__overlay,
    .tpais-assist-overlay,
    .tpais-assist-stow,
    .tpais-assist-pip,
    .tpais-assist-bubble,
    [data-tp-launcher-shell],
    #tp-spaces-cta-float
  ){
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 720px){
  .tpma-luna-panel{
    inset:
      max(8px, env(safe-area-inset-top))
      max(8px, env(safe-area-inset-right))
      calc(78px + env(safe-area-inset-bottom))
      max(8px, env(safe-area-inset-left));
    width: auto;
    height: auto;
    max-height: none;
    border-radius: 23px;
  }

  .tpma-luna-panel .tpma-ws-drawer-card{
    border-radius: 23px;
  }

  .tpma-luna-head{
    min-height: 64px;
    padding: 9px 9px 9px 11px;
  }

  .tpma-luna-avatar{
    width: 37px;
    height: 37px;
    flex-basis: 37px;
    border-radius: 13px;
    font-size: 20px;
  }

  .tpma-luna-model{
    display: none;
  }

  .tpma-luna-body{
    padding: 11px 11px 15px;
  }

  .tpma-luna-panel .tpma-ws-ai-input{
    min-height: 92px;
    font-size: 16px;
  }

  .tpma-luna-panel .tpma-ws-ai-output{
    max-height: min(32dvh, 300px);
  }

  .tpma-luna-handoff{
    align-items: flex-start;
    flex-direction: column;
  }

  .tpma-luna-handoff-actions{
    width: 100%;
    justify-content: flex-start;
  }

  .tpma-luna-handoff-actions button{
    flex: 1 1 56px;
  }
}

@media (max-width: 520px){
  .tpma-luna-presence{
    min-height: 38px;
    padding: 5px 7px;
  }

  .tpma-luna-presence > span{
    width: 28px;
    height: 28px;
    flex-basis: 28px;
    font-size: 16px;
  }

  .tpma-luna-presence > div{
    display: none;
  }

  .tpma-shell.tpma-shell-workspace .tpma-ws-stage-sub{
    max-width: 42vw;
    font-size: 11px;
  }

  .tpma-luna-panel .tpma-ws-ai-presets,
  .tpma-luna-source-grid{
    grid-template-columns: 1fr;
  }

  .tpma-luna-panel .tpma-ws-preset{
    min-height: 36px;
  }

  .tpma-luna-composer-hint span:first-child{
    display: none;
  }

  .tpma-luna-composer-hint{
    justify-content: flex-end;
  }

  .tpma-luna-panel .tpma-ws-ai-actions .tpma-btn{
    flex: 1 1 calc(50% - 4px);
  }

  .tpma-luna-run{
    flex-basis: 100% !important;
  }
}

@media (max-width: 380px){
  .tpma-luna-state{
    display: none;
  }

  .tpma-luna-panel .tpma-ws-ai-opt{
    padding-inline: 7px;
  }
}

@media (prefers-reduced-motion: reduce){
  .tpma-luna-presence::after,
  .tpma-luna-panel.is-luna-busy .tpma-luna-state::before,
  .tpma-luna-panel.is-luna-busy .tpma-luna-run::after,
  .tpma-luna-thinking > span{
    animation: none !important;
  }

  .tpma-luna-panel *,
  .tpma-luna-presence,
  .tpma-ws-dock-luna{
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
