/* Mimo's open layout: hierarchy comes from spacing, type, and a few quiet surfaces. */
:root { --bg: #121215; --surface: #1b1b20; --surface-2: #24242b; --muted: #aaa6b3; }
.sidebar { border: 0; background: var(--bg); }
.topbar { border: 0; }
.preview-banner { background: #1c1922; color: #b9aecb; }
.preview-banner > span { border: 0; padding-left: 0; color: var(--lilac); }
.main-nav { gap: 10px; }
.main-nav > a { border-radius: 0; color: #8e8999; }
.main-nav > a.active { background: transparent; color: #eee5ff; }
.main-nav > a.active::before { content: none; }
.main-nav > a.active .icon { color: var(--lilac); }
.main-nav > a:hover { background: transparent; color: var(--lilac-light); }
.mimo-note { border: 0; border-radius: 0; background: transparent; padding-left: 10px; }
.demo-profile { border: 0; color: #9992a5; }
.profile-avatar { background: transparent; }
.shop-hero { border: 0; border-radius: 0; background: transparent; overflow: hidden; }
.hero-copy { padding-left: 0; }
.hero-character { background: transparent; }
.hero-copy h1 { font-weight: 500; }
.hero-copy p { color: #aaa4b6; }
.hero-trust { color: #92899f; }
.intro-strip { padding: 18px 0 0; }
.pill { border: 0; background: transparent; color: #bca5d6; padding: 0; }
.page-section { padding-top: 66px; }
.section-heading { margin-bottom: 25px; }
.section-heading h2 { font-weight: 500; }
.product-grid { gap: 26px 22px; }
.product-tile, .product-tile.selected { border: 0; background: transparent; padding: 0 0 12px; border-radius: 0; box-shadow: none; }
.product-tile:hover { border: 0; transform: translateY(-3px); background: transparent; }
.merchant-art.has-card-image, .merchant-art.has-card-image img { border-radius: 12px; }
.merchant-art { box-shadow: 0 10px 24px #0002; }
.product-title { padding: 17px 0 0; }
.product-tile > p { margin: 5px 0 9px; color: #958d9f; }
.product-tags { margin: 0; gap: 14px; }
.product-tile .product-tags span { background: transparent; padding: 0; color: #80768e; }
.selection-dot { border: 0; background: #242329; width: 19px; height: 19px; }
.selected .selection-dot { background: var(--lilac); }
.selected .product-title h3 { color: #ded0fa; }
.catalog-disclaimer { margin-top: 20px; }
.search-field, .catalog-tools select { border: 0; background: #202025; border-radius: 10px; }
.catalog-tools { margin-bottom: 26px; }
.token-band { border: 0; padding: 29px 0 10px; }
.token-chips button { border: 0; background: #242129; }
.token-chips button.active { background: #3a2e4c; }
.how-strip { padding-top: 30px; }
.how-strip > div > span { border: 0; background: transparent; width: auto; height: auto; font-size: 18px; color: #b8a2d3; }
.checkout-panel { border: 0; background: #1c1b21; border-radius: 24px; padding: 28px; }
.connection-state, .connection-state.connected { border: 0; border-radius: 0; background: transparent; padding: 0; color: #a79ab7; }
.connection-state.connected { color: var(--mint); }
.chosen-product { border: 0; padding-bottom: 10px; }
.value-field, .token-select-field { border: 0; border-radius: 12px; background: #29272f; }
.amount-presets { gap: 6px; }
.amount-presets button { border: 0; background: transparent; border-radius: 8px; color: #aaa1b8; }
.amount-presets button.active { background: #393044; color: #e5d5ff; }
.exchange-summary { border: 0; border-radius: 0; background: transparent; margin-top: 30px; }
.send-summary, .receive-summary { padding: 16px 0; background: transparent; }
.send-summary strong { font-size: 28px; }
.receive-summary { padding-top: 20px; }
.receive-summary strong { font-size: 42px; }
.exchange-divider { background: transparent; height: 10px; }
.exchange-divider > span { display: none; }
.quote-details, .checkout-total, .sandbox-test-tools { border: 0; }
.holder-hint { border: 0; border-radius: 0; background: transparent; padding: 5px 0; }
.primary-button { border: 0; border-radius: 12px; justify-content: center; min-height: 49px; }
.round-button { border: 0; background: #ffffff08; }
.perks-section { border: 0; margin-top: 30px; }
.holding-check { border: 0; padding-left: 0; }
.tier-card { border: 0; border-radius: 0; background: transparent; }
.tier-head, .tier-row { border: 0; background: transparent; padding: 18px 4px; }
.tier-row + .tier-row { border-top: 1px solid #ffffff06; }
.tier-head { color: #96869f; }
.tier-row strong { font-size: 34px; }
.tier-highlight strong { color: var(--mint); }
.tier-card > p { padding: 18px 4px; }
.fee-note { border: 0; background: transparent; padding: 20px 0; }
.waitlist-section { border: 0; border-radius: 0; background: transparent; margin-top: 64px; gap: 36px; }
.waitlist-story { background: transparent; padding: 35px 0; }
.waitlist-form { background: #1c1b21; border-radius: 24px; padding: 34px; }
.waitlist-form > input, .dialog-field { border: 0; background: #29272f; border-radius: 10px; }
.waitlist-tokens label { border: 0; background: transparent; padding: 7px 0; }
.waitlist-tokens label:has(input:checked) { background: transparent; color: var(--lilac-light); }
.status-table-wrap { border: 0; border-radius: 0; }
.status-table thead { background: transparent; }
.status-table th, .status-table td { border: 0; padding: 21px 12px; }
.status-table tbody tr:nth-child(odd) { background: #ffffff03; }
.status-table th:first-child { padding-left: 0; }
.faq-list details { border-color: #ffffff08; padding: 22px 0; }
footer { border: 0; padding-top: 38px; }
dialog { border: 0; border-radius: 24px; background: #1d1b23; box-shadow: 0 30px 100px #0008; }
.modal-sandbox, .notice { border: 0; border-radius: 0; background: transparent; padding: 0; color: #aa9cb9; }
.modal-sandbox { font-size: 11px; }
.review-exchange { gap: 24px; }
.review-exchange > div, .review-exchange > div:last-child { border: 0; border-radius: 0; background: transparent; padding: 10px 0; }
.conversion-art { border: 0; background: transparent; padding-top: 20px; padding-bottom: 20px; }
.conversion-card, .conversion-token { border: 0; }
.wallet-preview { border: 0; background: #2b2536; border-radius: 16px; }
.delivery-preview { border: 0; background: #202b24; border-radius: 16px; }
.reward-summary { border: 0; border-radius: 0; background: transparent; padding: 16px 0; }
.dialog-secondary { border: 0; background: #ffffff05; border-radius: 10px; }
.dialog-secondary:hover { background: #ffffff0a; }
.modal-status { border: 0; background: transparent; padding-left: 0; }
.demo-step-summary span { border: 0; background: #ffffff06; }
@media (max-width: 1190px) { .hero-copy { padding-left: 0; } }
@media (max-width: 760px) {
  .sidebar { border: 0; background: var(--bg); }
  .main-nav { gap: 4px; }
  .hero-copy { padding-left: 0; }
  .page-section { padding-top: 48px; }
  .waitlist-section { gap: 24px; }
  .waitlist-story { padding-left: 0; }
}
@media (max-width: 540px) {
  .hero-copy { padding: 22px 0 0; }
  .hero-character { background: transparent; }
  .hero-copy h1 { font-size: 43px; }
  .product-grid { gap: 22px 16px; }
  .merchant-art.has-card-image, .merchant-art.has-card-image img { border-radius: 9px; }
  .product-title { padding-top: 13px; }
  .product-tile .product-tags span { font-size: 9px; }
  .product-tags { gap: 9px; }
  .checkout-panel { padding: 24px; border-radius: 20px; }
  .waitlist-section { margin-top: 45px; gap: 16px; }
  .waitlist-story { padding: 20px 0; }
  .waitlist-form { padding: 25px; border-radius: 20px; }
  .status-table th, .status-table td { padding: 16px 8px; }
  .review-exchange { gap: 6px; }
  .review-exchange > div { padding: 10px 0; }
}

/* Responsive finishing pass. Keep controls reachable and content free to wrap. */
html { scrollbar-gutter: stable; }
body:has(dialog[open]) { overflow: hidden; }
.hero-copy, .hero-character, .waitlist-story, .waitlist-form, .perks-layout > *, .chosen-product > div { min-width: 0; }
.shop-hero { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); }
.hero-character { padding: 35px 16px 24px; }
.mimo-hero { position: relative; width: min(100%, 340px); height: auto; aspect-ratio: 1; right: auto; bottom: auto; }
.hero-copy h1 { font-size: clamp(38px, 4.3vw, 64px); text-wrap: balance; }
.hero-copy h1 span { display: inline; }
.speech-bubble { top: 12px; right: 14px; max-width: calc(100% - 28px); white-space: normal; }
.hero-copy p { max-width: 36ch; }
.section-heading { align-items: flex-start; }
.section-heading > .pill { flex-shrink: 0; margin-top: 8px; }
.chosen-product strong, .chosen-product small { overflow-wrap: anywhere; }
.product-title { gap: 8px; }
.selection-dot { flex-shrink: 0; }
.product-tags { flex-wrap: wrap; }
.primary-button, .dialog-secondary { text-align: center; overflow-wrap: anywhere; }
.amount-presets button, .quote-clock button { min-height: 44px; }
.quote-clock { flex-wrap: wrap; gap: 4px 12px; }
.quote-line b { white-space: normal; }
.quote-details summary, .sandbox-test-tools summary { min-height: 44px; padding: 10px 0; }
.status-table { table-layout: fixed; }
.status-table th, .status-table td { overflow-wrap: anywhere; }
.waitlist-form input[type=checkbox] { width: 18px; height: 18px; flex-shrink: 0; }
.waitlist-tokens label { min-height: 44px; }
.waitlist-form > input, .search-field input, .catalog-tools select, .token-select-field select { font-size: 16px; }
.search-field, .catalog-tools select { min-height: 46px; }
.waitlist-form > input::placeholder, .search-field input::placeholder { color: #aaa2b4; opacity: 1; }
.catalog-disclaimer, .fine-print { color: #aaa1b5; }
.product-tile .product-tags span { color: #aaa0b7; font-size: 11px; }
.token-select-field:has(select:disabled) { opacity: 1; }
.token-select-field select:disabled { color: #aaa1b5; opacity: 1; }
.modal-summary { border: 0; background: transparent; padding: 0; border-radius: 0; }
.modal-summary > div { align-items: flex-start; }
.modal-summary b { max-width: 55%; text-align: right; overflow-wrap: anywhere; }
.payment-destination { border: 0; background: #25212d; padding: 20px; text-align: center; }
.path-dot { border: 0; background: #ffffff09; flex-shrink: 0; }
dialog { width: min(600px, calc(100% - 24px)); max-width: calc(100% - 24px); max-height: calc(100dvh - 32px); padding: 0; overflow: hidden; }
dialog[open] { display: flex; flex-direction: column; }
.dialog-top { flex-shrink: 0; padding: 20px 28px 12px; margin: 0; }
.dialog-top .round-button { width: 44px; height: 44px; }
.dialog-top .icon { width: 19px; height: 19px; }
.modal-sandbox { flex-shrink: 0; padding: 0 28px 20px; margin: 0; font-size: 12px; line-height: 1.6; }
#dialog-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 4px 28px 28px; scrollbar-width: thin; scrollbar-color: #62556f transparent; }
#dialog-title { text-wrap: balance; outline: none; }
dialog p { line-height: 1.7; }
.demo-step-count { font-size: 10px; letter-spacing: 1.1px; }
.wallet-preview > div { min-width: 0; }
.wallet-preview strong, .wallet-preview small { overflow-wrap: anywhere; }
.conversion-art { padding-left: 0; padding-right: 0; gap: clamp(6px, 2vw, 12px); }
.conversion-token { width: clamp(40px, 12vw, 62px); height: clamp(40px, 12vw, 62px); font-size: 11px; }
.conversion-card { width: clamp(72px, 22vw, 100px); height: auto; aspect-ratio: 1.57; }
.conversion-track { min-width: 24px; gap: 3px; }
.conversion-track i { flex-shrink: 0; width: 4px; height: 4px; }
.delivery-preview .conversion-art { padding: 10px 0; }
.reward-summary { grid-template-columns: minmax(0, 1fr) auto; }
.character-story img { flex-shrink: 0; }
@media (max-width: 1100px) {
  .shop-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .checkout-panel { position: static; width: 100%; max-width: 640px; justify-self: center; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-tools { flex-wrap: nowrap; }
  .catalog-tools select { width: auto; max-width: 180px; }
}
@media (min-width: 761px) and (max-width: 980px) { .brand { padding: 0; justify-content: center; } }
@media (max-width: 900px) { .waitlist-section { grid-template-columns: minmax(0, 1fr); } .waitlist-form { width: 100%; max-width: 640px; justify-self: center; } .waitlist-story { padding: 20px 0; } }
@media (min-width: 541px) and (max-width: 900px) {
  .waitlist-story { padding-right: 210px; }
  .waitlist-story img { position: absolute; width: 180px; height: 180px; right: 10px; bottom: 20px; margin: 0; }
  .waitlist-caption { display: none; }
}
@media (max-width: 760px) {
  .hero-copy h1 { font-size: clamp(36px, 6.3vw, 46px); }
  .hero-character { min-height: 280px; padding-right: 12px; padding-left: 12px; }
  .speech-bubble { font-size: 9px; }
  .main-nav > a { min-width: 44px; min-height: 44px; }
}
@media (max-width: 540px) {
  .sidebar { flex-wrap: wrap; gap: 12px; padding: 12px 16px 6px; }
  .brand { margin: 0 auto; }
  .main-nav { width: 100%; justify-content: space-between; gap: 0; }
  .main-nav > a { flex: 1; flex-direction: column; gap: 5px; padding: 8px 2px; min-width: 0; min-height: 52px; }
  .main-nav > a > span { display: block!important; font-size: 9px; line-height: 1.2; text-align: center; white-space: nowrap; }
  .main-nav > a.active { color: var(--lilac-light); }
  .shop-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hero-copy h1 { font-size: clamp(35px, 9.8vw, 48px); line-height: 1.07; letter-spacing: -1.9px; }
  .hero-copy p { font-size: 15px; }
  .hero-character { min-height: 215px; padding: 10px 50px 16px; }
  .mimo-hero { width: 200px; max-width: 100%; }
  .speech-bubble { top: 18px; right: 0; }
  .hero-trust { font-size: 11px; max-width: none; }
  .hero-actions { gap: 10px 20px; }
  .hero-actions .primary-button { font-size: 14px; }
  .hero-actions .text-link { font-size: 13px; }
  .intro-strip { gap: 8px 16px; }
  .catalog-tools { flex-wrap: wrap; }
  .search-field { flex: 1 1 100%; }
  .catalog-tools select { max-width: none; width: 100%; }
  .section-heading { flex-wrap: wrap; gap: 8px; }
  .section-heading h2 { font-size: 25px; }
  .section-heading > .pill { margin-top: 0; }
  .product-title h3 { font-size: 16px; }
  .product-tile > p { font-size: 12px; }
  .product-tags { gap: 3px 10px; }
  .checkout-panel, .waitlist-form { padding: 22px; }
  .token-select-field { padding: 12px 10px; gap: 7px; }
  .token-select-field .token-icon { width: 22px; height: 22px; }
  .token-select-field select { width: 0; min-width: 0; }
  .waitlist-story { display: grid; grid-template-columns: minmax(0, 1fr) clamp(90px, 28vw, 145px); column-gap: 8px; min-height: 0; overflow: visible; }
  .waitlist-story > .eyebrow { grid-column: 1 / -1; }
  .waitlist-story h2 { grid-column: 1; font-size: clamp(31px, 8vw, 40px); letter-spacing: -1.5px; max-width: none; }
  .waitlist-story p { grid-column: 1 / -1; max-width: 34ch; margin-top: 8px; font-size: 14px; }
  .waitlist-story img { position: static; grid-column: 2; grid-row: 2; width: 100%; height: auto; margin: 0; transform: none; opacity: 1; align-self: center; }
  .tier-head { font-size: 11px; }
  .status-table th, .status-table td { font-size: 12px; }
  .status-table small { font-size: 11px; }
  .faq-list summary { line-height: 1.55; }
  dialog { max-height: calc(100dvh - 20px); border-radius: 20px; }
  .dialog-top { padding: 10px 18px 6px; }
  .modal-sandbox { padding: 0 18px 14px; font-size: 11px; }
  #dialog-content { padding: 4px 18px 22px; }
  dialog h2 { font-size: clamp(26px, 7.5vw, 31px); line-height: 1.15; }
  dialog p { font-size: 15px; }
  .review-exchange strong { font-size: 25px; }
  .character-story { flex-direction: column; align-items: flex-start; gap: 0; }
  .character-story img { width: 120px; height: 120px; align-self: center; }
  .character-story p { font-size: 15px; }
  .delivery-preview { padding: 14px; }
  .delivery-preview > strong { font-size: 15px; overflow-wrap: anywhere; }
  footer { gap: 12px 18px; font-size: 11px; }
  footer > button { margin-left: 0; min-height: 44px; }
}
@media (max-height: 500px) {
  .sidebar { overflow-y: auto; }
  dialog { max-height: calc(100dvh - 16px); }
  .dialog-top { padding-top: 6px; padding-bottom: 2px; }
  .modal-sandbox { padding-bottom: 10px; }
}
@media (max-width: 380px) {
  .main-nav > a > span { white-space: normal; min-height: 22px; text-wrap: balance; }
}
@media (min-width: 761px) and (max-height: 500px) {
  .sidebar { padding: 12px 4px; }
  .main-nav > a { padding-left: 5px; padding-right: 5px; }
}
/* Long catalog names and consent rows also keep a predictable rhythm. */
.consent, .waitlist-tokens label { justify-content: flex-start; }
.consent > span { flex: 1; }
.merchant-art:not(.has-card-image) { gap: 8px; }
.merchant-art:not(.has-card-image) .merchant-label { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 22px; line-height: 1.15; }
@media (max-width: 540px) {
  .merchant-art:not(.has-card-image) { height: auto; aspect-ratio: 1.57; justify-content: center; padding: 12px; }
  .merchant-art:not(.has-card-image) .merchant-top, .merchant-art:not(.has-card-image) .merchant-bottom { display: none; }
  .merchant-art:not(.has-card-image) .merchant-label { font-size: 17px; -webkit-line-clamp: 3; }
}

/* Supplier catalog artwork. Colors and URLs are validated before rendering. */
.merchant-art.supplier-art { background:var(--merchant-color,#f4f1f8); }
.merchant-art.supplier-art img { object-fit:contain;padding:22px; }
.art-fallback { display:grid;place-items:center;height:100%;padding:24px;text-align:center;font-size:24px;line-height:1.2;color:#28232d;background:#f4f1f8; }
.has-card-image img[hidden],.art-fallback[hidden] { display:none!important; }
#retry-catalog { margin:12px 0; }
@media(max-width:540px) { .merchant-art.supplier-art img { padding:15px; } .main-nav { grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* Mimo occupies its own footer, never the merchant's artwork. */
.giftcard-frame { overflow:hidden;border-radius:14px;background:#222027; }
.giftcard-frame .merchant-art,.giftcard-frame .merchant-art img { border-radius:0;box-shadow:none; }
.giftcard-footer { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:4px 12px;color:#b8aec4; }
.giftcard-footer span { font-size:9px;letter-spacing:1.1px;line-height:1.4; }
.giftcard-footer img { display:block;width:28px;height:28px;object-fit:contain;flex-shrink:0; }
@media(max-width:540px) { .giftcard-frame { border-radius:10px; }.giftcard-footer { min-height:34px;padding:3px 9px;gap:5px; }.giftcard-footer span { font-size:7px;letter-spacing:.6px; }.giftcard-footer img { width:26px;height:26px; } }

/* Cameos live in reserved layout space, never over controls or copy. */
.mimo-cameo { display:block;object-fit:contain;mix-blend-mode:screen;pointer-events:none;user-select:none; }
.mimo-catalog-note { display:grid;grid-template-columns:minmax(0,1fr) 128px;align-items:center;gap:24px;margin:26px 0 10px; }
.mimo-catalog-note p { max-width:25ch;font-size:21px;line-height:1.3;letter-spacing:-.4px;margin:10px 0;color:#dfd5ea; }
.mimo-catalog-note img { width:128px;height:128px;border-radius:50%; }
.faq-with-mimo { display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:20px; }
.faq-with-mimo img { width:112px;height:112px;border-radius:50%; }
.waitlist-story .mimo-bubble { border-radius:50%;transform:none; }
@media(min-width:901px) { .waitlist-story .mimo-bubble { margin:24px auto 12px; } }
@media(max-width:540px) { .mimo-catalog-note { grid-template-columns:minmax(0,1fr) 90px;gap:14px; }.mimo-catalog-note img { width:90px;height:90px; }.mimo-catalog-note p { font-size:18px; }.faq-with-mimo { grid-template-columns:minmax(0,1fr) 80px;gap:12px; }.faq-with-mimo img { width:80px;height:80px; } }

.mobile-only { display:none; }
@media(max-width:900px) {
  html { scrollbar-gutter:auto;scroll-behavior:auto; }
  body { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
  .app-shell { margin-left:0; }
  main { padding:0 18px; }
  .sidebar { position:static;inset:auto;width:auto;min-height:62px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:10px 18px; }
  .sidebar .brand { margin:0;padding:0;justify-content:flex-start;font-size:24px; }
  .sidebar .brand>span:last-child { display:inline!important; }
  .sidebar .brand-mascot { width:38px;height:38px; }
  .sidebar .nav-caption,.sidebar-bottom { display:none!important; }
  .main-nav { position:fixed;inset:auto 0 0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;margin:0;padding:7px 12px calc(7px + env(safe-area-inset-bottom));background:#18161df5;backdrop-filter:blur(18px); }
  .main-nav>a { display:flex;flex-direction:column;justify-content:center;gap:4px;padding:5px 0;min-height:48px;border-radius:12px; }
  .main-nav>a>span { display:block!important;font-size:11px;line-height:1.2;min-height:0; }
  .main-nav>a .icon { width:19px;height:19px; }
  .main-nav>a.active { background:#b899ff13;color:#e4d5ff; }
  .topbar { position:absolute;top:9px;right:18px;min-height:44px;padding:0; }
  .topbar .breadcrumb,.header-waitlist { display:none; }
  .header-actions { gap:0; }.wallet-button { min-height:42px; }
  .preview-banner { position:static;min-height:0;padding:7px 18px;gap:8px;align-items:center; }
  .preview-banner p { font-size:10px;line-height:1.4; }
  .preview-banner>span { font-size:8px; }
  main>section,main>footer { display:none!important; }
  body[data-mobile-page="home"] #home,body[data-mobile-page="home"] #help,
  body[data-mobile-page="help"] #help,body[data-mobile-page="demo"] #demo,
  body[data-mobile-page="gift-cards"] #demo,body[data-mobile-page="perks"] #perks { display:block!important; }
  body[data-mobile-page="waitlist"] #waitlist { display:grid!important; }
  body[data-mobile-page="home"] main>footer { display:flex!important; }
  .page-section,.perks-section,.waitlist-section { padding-top:22px;margin-top:0; }
  #demo>.section-heading { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;align-items:center;margin:0 0 14px; }
  #demo>.section-heading>div>.step-label,#demo>.section-heading>.pill { display:none; }
  #demo>.section-heading h2 { font-size:clamp(25px,7vw,32px);line-height:1.1;letter-spacing:-1px;max-width:12ch;margin:0; }
  .mobile-only { display:block; }
  .mobile-swap-mimo { width:68px;height:68px;border-radius:50%; }
  .mobile-shop-back { display:none;padding:4px 0 18px;font-size:13px;color:#c6afff; }
  .shop-layout { display:block; }
  body[data-mobile-page="demo"] .catalog-column,body[data-mobile-page="gift-cards"] .checkout-panel { display:none; }
  body[data-mobile-page="gift-cards"] .mobile-shop-back { display:block; }
  body[data-mobile-page="gift-cards"] .mobile-swap-mimo { display:none; }
  body[data-mobile-page="gift-cards"] #demo>.section-heading { margin-bottom:22px; }
  body[data-mobile-page="gift-cards"] #demo>.section-heading h2 { max-width:18ch; }
  body[data-mobile-page="gift-cards"] .token-band,body[data-mobile-page="gift-cards"] .how-strip,body[data-mobile-page="gift-cards"] .mimo-catalog-note { display:none; }
  .checkout-panel { background:transparent;border-radius:0;padding:0 0 130px;max-width:600px;margin:auto; }
  .checkout-heading { display:none; }
  .connection-state { margin:0 0 14px;font-size:11px;line-height:1.4; }
  .chosen-product { display:flex;align-items:center;gap:10px;padding:12px;background:#201e26;border-radius:14px;margin:0 0 16px; }
  .chosen-product>div { flex:1; }
  .chosen-product strong { font-size:14px; }
  .chosen-product small { font-size:10px; }
  .change-merchant { display:flex;align-items:center;min-height:44px;flex-shrink:0;color:#d6bfff;font-size:12px;text-decoration:underline; }
  #checkout-form>label { font-size:12px;margin:0 0 7px; }
  #checkout-form>label>span { font-size:10px; }
  .value-field { padding:10px 14px;min-height:56px; }
  .value-field input { font-size:34px; }
  .value-field>span:first-child { font-size:28px; }
  .amount-presets { margin:6px 0 15px; }
  .amount-presets button { min-height:36px;padding:5px;font-size:12px; }
  .token-select-field { min-height:48px;padding:10px 12px; }
  .exchange-summary { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:12px 0 0; }
  .exchange-divider { display:none; }
  .send-summary,.receive-summary { padding:8px 0; }
  .send-summary strong,.receive-summary strong { font-size:22px;line-height:1.2;letter-spacing:-.6px;margin:6px 0; }
  .send-summary small,.receive-summary>span:last-child { font-size:10px;line-height:1.4; }
  .exchange-summary .step-label { font-size:9px;letter-spacing:1px; }
  .quote-clock { margin:6px 0;font-size:11px; }
  .quote-clock button { min-height:40px; }
  .quote-details { padding-top:6px; }
  .quote-details summary { min-height:40px;display:flex;align-items:center; }
  .holder-hint { display:none; }
  #supplier-disclosure { margin:8px 0;font-size:11px; }
  #supplier-disclosure small { font-size:10px; }
  #review-button { position:fixed;z-index:10;bottom:calc(86px + env(safe-area-inset-bottom));left:18px;width:calc(100% - 36px);min-height:49px;margin:0;background:#c6afff;box-shadow:0 0 0 10px #121215,0 -12px 30px #121215;color:#21172f; }
  .checkout-sandbox { position:fixed;z-index:10;bottom:calc(64px + env(safe-area-inset-bottom));left:0;width:100%;margin:0;padding:2px 12px 6px;background:#121215;text-align:center;font-size:9px; }
  #amount-error { margin:8px 0; }
  .waitlist-section { gap:10px; }
}

@media(max-width:900px) and (max-height:700px) {
  #demo { padding-top:14px; }
  #demo>.section-heading { margin-bottom:8px; }
  #demo>.section-heading h2 { font-size:24px; }
  .mobile-swap-mimo { width:50px;height:50px; }
  .connection-state { margin-bottom:9px;font-size:10px; }
  .chosen-product { margin-bottom:12px;padding:8px 10px; }
  .chosen-product small { display:none; }
  .value-field { min-height:48px;padding:5px 12px; }
  .value-field input { font-size:30px; }
  .amount-presets { margin:4px 0 10px; }
  .amount-presets button { min-height:32px; }
}

/* Compact checkout: two choices, one action, details when needed. */
.sidebar .mini-mimo-wrap .sidebar-mimo { width:96px;height:96px;object-fit:contain;mix-blend-mode:screen;transform:none; }
.compact-checkout { padding:22px; }
.compact-checkout .checkout-heading { gap:12px;align-items:center; }
.compact-checkout .checkout-heading h2 { margin:0;font-size:21px;line-height:1.2;letter-spacing:-.6px; }
.checkout-preview-badge { font-size:10px;color:#cfb7ed;padding:5px 8px;background:#c6afff0d;border-radius:6px; }
.compact-checkout .connection-state { font-size:11px;line-height:1.4;margin:8px 0 18px; }
.checkout-get,.checkout-pay { min-width:0;border-radius:16px;background:#24222a;padding:15px; }
.compact-checkout .chosen-product { display:flex;align-items:center;gap:10px;margin:0 0 15px;padding:0;background:transparent; }
.compact-checkout .chosen-product>div { min-width:0;flex:1; }
.checkout-eyebrow { display:block;font-size:9px;letter-spacing:1.3px;color:#aaa0b6;margin-bottom:3px; }
.compact-checkout .chosen-product strong { display:block;font-size:14px;line-height:1.25; }
.compact-checkout label { display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px;font-size:11px; }
.compact-checkout label>span { font-size:10px;color:#b1a4bd;text-align:right; }
.compact-checkout .value-field { background:transparent;border-radius:0;padding:0;min-height:48px;gap:5px; }
.compact-checkout .value-field input { font-size:36px;line-height:1.15;height:48px; }
.compact-checkout .value-field>span:first-child { font-size:30px; }
.compact-checkout .value-field>span:last-child { font-size:11px; }
.compact-checkout .amount-presets { margin:8px 0 0;gap:6px; }
.compact-checkout .amount-presets button { font-size:11px;padding:5px 0;min-height:32px;background:#ffffff04; }
.compact-checkout .amount-presets button.active { background:#c6afff22; }
.checkout-pay { margin-top:10px; }
.checkout-pay>label { font-size:9px;letter-spacing:1px;color:#b9abc7; }
.checkout-pay>label>span { letter-spacing:0; }
.compact-checkout .token-select-field { padding:4px 0;background:transparent;min-height:38px;gap:8px; }
.compact-checkout .token-select-field select { font-size:14px;min-width:0;width:0;flex:1; }
.compact-checkout .token-select-field .token-icon { width:24px;height:24px;font-size:12px; }
.compact-checkout .send-summary { padding:10px 0 0; }
.compact-checkout .send-summary strong { font-size:19px;line-height:1.25;letter-spacing:-.35px;margin:0 0 4px; }
.compact-checkout .send-summary small { font-size:10px;line-height:1.45; }
.compact-checkout #amount-error { font-size:12px;margin:10px 0 0; }
.compact-checkout #amount-error:empty { display:none; }
.compact-checkout #review-button { margin-top:16px;min-height:48px; }
.compact-checkout .checkout-sandbox { font-size:9px;margin:8px 0 0;line-height:1.4; }
.compact-checkout .checkout-more { margin-top:15px;padding:0; }
.compact-checkout .checkout-more>summary { display:flex;justify-content:space-between;align-items:center;min-height:40px;padding:0;font-size:11px;color:#c2b3d0;list-style:none; }
.compact-checkout .checkout-more>summary::-webkit-details-marker { display:none; }
.checkout-more>summary>span { font-size:19px;font-weight:300; }
.checkout-more[open]>summary>span { transform:rotate(45deg); }
.checkout-provider { font-size:10px;color:#9e90ac;text-align:center;margin:3px 0 0; }
.checkout-reward-note { font-size:11px;line-height:1.5;color:#b2a1c0; }
.checkout-reward-note a { text-decoration:underline;color:#d1b9eb; }
@media(min-width:1101px) { .compact-checkout { position:sticky;top:20px;align-self:start; } }
@media(max-width:900px) {
 .compact-checkout { padding:0 0 132px; }
 .compact-checkout .checkout-heading { display:none; }
 .compact-checkout .connection-state { margin:0 0 12px; }
 .compact-checkout .checkout-get,.compact-checkout .checkout-pay { padding:13px 15px; }
 .compact-checkout .chosen-product { margin-bottom:10px; }
 .compact-checkout #review-button { margin:0; }
 .compact-checkout .checkout-sandbox { margin:0; }
 .compact-checkout .checkout-more { margin-top:8px; }
}

.demo-profile .profile-avatar { width:40px;height:40px;flex:none;border-radius:50%;overflow:hidden; }
.demo-profile .profile-avatar img { display:block;width:100%;height:100%;object-fit:contain; }
.demo-profile>div { min-width:0; }.demo-profile small { overflow-wrap:anywhere; }
