/* Merchant promotion inventory and the homepage exchange entry. No fund logic. */
.promotion-section { min-width:0;padding:22px 0 26px;border-top:1px solid var(--line); }
.promotion-heading,.promotion-heading>div,.promotion-controls { display:flex;align-items:center; }
.promotion-heading { justify-content:space-between;gap:16px;margin-bottom:14px; }
.promotion-heading>div { gap:10px; }
.promotion-heading h2 { margin:0;font-size:1.125rem; }
.promotion-label { border:1px solid var(--input-line);border-radius:4px;padding:1px 5px;font-size:.625rem;color:var(--muted); }
.promotion-caption { color:var(--muted);font-size:.75rem; }
.promotion-controls>a { display:flex;align-items:center;gap:8px;min-height:44px;margin-right:10px;font-size:.8125rem;color:var(--ink); }
.promotion-controls>a svg { width:13px;height:13px; }
.promotion-controls .icon-btn { border:1px solid var(--line);border-radius:50%;width:36px;min-width:44px;height:44px; }
.promotion-controls .icon-btn:disabled { opacity:.35;cursor:default; }
.promotion-controls .icon-btn:hover:not(:disabled) { border-color:var(--input-line);color:var(--ink); }
.promotion-rail { display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 0; }
.promotion-rail::-webkit-scrollbar { display:none; }
.promo-card { position:relative;isolation:isolate;flex:0 0 320px;width:320px;height:180px;scroll-snap-align:start;border-radius:10px;padding:14px 18px 10px;display:flex;flex-direction:column;background-size:cover;background-position:center;color:var(--promo-ink);overflow:hidden; }
.promo-card:not(.has-image)::after { content:"";position:absolute;right:-36px;top:-44px;width:156px;height:156px;border:1px solid currentColor;opacity:.10;border-radius:50%;pointer-events:none;z-index:-1; }
.promo-badge { display:block;font-size:.5625rem;line-height:16px;align-self:start; }
.promo-content { margin-top:10px;min-width:0; }
.promo-card .promo-content h3 { margin:0;color:inherit;font-size:1.125rem;font-weight:650;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.promo-content p { margin:6px 0 0;font-size:.75rem;line-height:1.6;color:inherit;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere; }
.promo-footer { margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:.6875rem; }
.promo-merchant { white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:550; }
.promo-card .promo-link { display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--promo-ink);font:inherit;white-space:nowrap;min-height:44px;padding:0; }
.promo-link:hover { text-decoration:underline!important;text-underline-offset:4px; }
.promo-card.is-preview .promo-preview-label { font-size:.625rem;white-space:nowrap; }
.promotion-meta { display:flex;justify-content:space-between;gap:16px;font-size:.625rem;color:var(--muted);margin-top:8px; }
#promotion-range { white-space:nowrap;font-variant-numeric:tabular-nums; }
.pro-market { grid-template-columns:minmax(0,1fr) 320px;gap:32px; }
.pro-market-aside { border-left:0;padding-left:0;gap:20px; }
.feed-footer { display:flex;align-items:start;justify-content:space-between;gap:16px; }
.feed-footer .feed-disclosure { flex:1; }
.feed-footer>a { display:flex;align-items:center;gap:6px;white-space:nowrap;min-height:44px;font-size:.6875rem;color:var(--muted); }
.feed-footer>a svg { width:13px;height:13px; }
.quick-exchange { padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--paper);min-width:0; }
.quick-exchange-head { display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:20px; }
.quick-exchange-head h2 { font-size:1.125rem;margin:0; }
.quick-exchange-demo { font-size:.625rem;color:var(--muted);padding:3px 6px;border:1px solid var(--line);border-radius:4px;white-space:nowrap; }
.quick-exchange-route { display:flex;align-items:center;gap:12px;font-size:.8125rem;margin-top:10px; }
.quick-exchange-route strong { font-weight:550; }.quick-exchange-route>span { color:var(--muted); }
.quick-exchange-route strong:first-child::before { content:"T";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:oklch(94% .03 163);color:var(--success);font-size:.75rem;margin-right:7px; }
.quick-exchange-route strong:last-child::before { content:"D";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--soft);color:oklch(42% .09 82);font-size:.75rem;margin-right:7px; }
#quick-exchange-form { display:grid;gap:18px; }
.quick-exchange fieldset { border:0;margin:0;padding:0;min-width:0; }
.quick-exchange legend,.quick-amount { font-size:.75rem;color:var(--muted);font-weight:500; }
.quick-exchange legend { margin-bottom:8px; }
.quick-network-options { display:flex;gap:8px; }
.quick-network-option { flex:1;min-width:0;display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--line);border-radius:7px;cursor:pointer;min-height:56px; }
.quick-network-option:has(input:checked) { border-color:oklch(65% .12 83);background:var(--soft); }
.quick-network-option:has(input:focus-visible) { outline:2px solid oklch(60% .14 80);outline-offset:3px; }
.pro-app .quick-network-option input { width:14px;height:14px;margin:0;accent-color:oklch(52% .1 82);flex-shrink:0; }
.quick-network-option strong { display:block;font-size:.75rem;font-weight:600;color:var(--ink); }
.quick-network-option small { display:block;font-size:.5625rem;color:var(--muted);margin-top:2px;white-space:nowrap; }
.pro-app .quick-amount input { width:100%;margin-top:8px;min-height:52px;font-size:1.375rem;font-weight:550;font-variant-numeric:tabular-nums; }
.quick-quote-result { display:grid;grid-template-columns:1fr auto;gap:4px 8px;background:var(--surface);padding:14px;border-radius:8px; }
.quick-quote-label { grid-column:1/-1;font-size:.6875rem;color:var(--muted); }
.quick-quote-result strong { grid-column:1/-1;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums; }
.quick-quote-fee,.quick-quote-badge { font-size:.625rem;color:var(--muted);margin-top:5px; }
.quick-quote-error { padding:14px;background:var(--surface);color:var(--muted);font-size:.8125rem;border-radius:8px;line-height:1.7; }
#quick-exchange-form>.btn { width:100%;min-height:48px;font-weight:600; }
.quick-exchange-note { margin:14px 0 0;font-size:.625rem;color:var(--muted);line-height:1.8; }
.quick-exchange-links { display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:8px;border-top:1px solid var(--line); }
.quick-exchange-links a { display:flex;align-items:center;min-height:36px;font-size:.6875rem;color:var(--ink); }
.aside-rule-links { display:flex;flex-direction:column;padding:0 4px; }
.aside-rule-links>a { display:flex;align-items:center;gap:12px;color:var(--ink);font-size:.75rem;padding:14px 0;border-bottom:1px solid var(--line);min-height:44px; }
.aside-rule-links>a>svg:last-child { margin-left:auto;width:14px;height:14px;color:var(--muted); }
.aside-rule-links strong { display:block;font-size:.75rem;font-weight:550; }
.aside-rule-links small { display:block;font-size:.625rem;color:var(--muted);margin-top:5px; }
.ad-editor-page { max-width:1100px;margin:auto;min-width:0; }
.ad-editor-layout { display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;margin-top:28px;align-items:start; }
.ad-editor-form { min-width:0; }
.ad-editor-form label { display:block;font-size:.875rem;font-weight:550; }
.ad-editor-form label>.muted { font-size:.75rem;margin-left:8px;font-weight:400; }
.ad-editor-form :is(input:not([type=checkbox]),textarea) { display:block;width:100%;margin-top:8px; }
.ad-editor-form input[type=color] { max-width:100px;height:46px;padding:5px;border:1px solid var(--line);cursor:pointer; }
.ad-editor-form input[type=file] { border:1px dashed var(--input-line);border-radius:7px;padding:12px;font-size:.75rem; }
.ad-editor-form input[type=hidden] { display:none; }
.ad-editor-form .field>p { font-size:.75rem;line-height:1.8;margin-top:10px; }
.ad-editor-form .field>button { margin-top:10px; }
.ad-editor-form .check-label { display:flex;gap:10px;align-items:center;min-height:44px;font-size:.8125rem; }
.ad-editor-form .check-label input { flex:0 0 18px;width:18px;height:18px;accent-color:oklch(55% .12 83); }
.ad-editor-form .notice { padding:14px;font-size:.8125rem;line-height:1.8; }
.ad-editor-form>p { margin-top:16px;line-height:1.8; }
.ad-editor-preview { position:sticky;top:calc(var(--header-height) + 24px);padding:24px;background:var(--surface);border-radius:12px;min-width:0; }
.ad-editor-preview h2 { font-size:1rem;margin:0 0 8px; }.ad-editor-preview>p { margin-bottom:24px; }
#promotion-preview { min-width:0;display:flex;justify-content:center; }
.ad-editor-preview .promo-card { max-width:100%;flex:0 1 320px; }
@media(max-width:1250px) { .pro-market { grid-template-columns:minmax(0,1fr) 300px;gap:24px; }.quick-exchange { padding:18px; }.quick-network-option { padding:9px 8px;gap:6px; } }
@media(max-width:959px) { .pro-market { grid-template-columns:minmax(0,1fr);gap:32px; }.pro-market-aside { display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px; }.ad-editor-layout { grid-template-columns:minmax(0,1fr) 320px;gap:24px; }.ad-editor-preview { padding:16px; }.ad-editor-preview .promo-card { padding-inline:14px; }.ad-editor-preview .promo-content h3 { font-size:1rem; } }
@media(max-width:767px) {
  .promotion-section { padding:16px 0 24px; }.promotion-heading { gap:8px;margin-bottom:10px; }.promotion-heading h2 { font-size:1rem; }.promotion-caption { display:none; }.promotion-heading>div { gap:8px; }.promotion-controls>a { font-size:.75rem;margin-right:0; }.promotion-controls>a svg { display:none; }.promotion-controls .icon-btn { min-width:44px;width:44px;height:44px;border:0; }
  .promotion-meta { font-size:.625rem;line-height:1.7;gap:8px; }.promotion-meta>span:first-child { max-width:34ch; }
  .pro-market-aside { display:flex;flex-direction:column;gap:20px; }.quick-exchange,.aside-rule-links { width:100%; }.quick-exchange { padding:20px; }.quick-exchange-head h2 { font-size:1.25rem; }.quick-exchange legend,.quick-amount { font-size:.8125rem; }.quick-network-option { padding:10px 12px;gap:10px; }.quick-network-option strong { font-size:.875rem; }.quick-network-option small { font-size:.625rem; }.quick-exchange-note { font-size:.6875rem; }.quick-exchange-links a { min-height:44px;font-size:.75rem; }
  .ad-editor-layout { display:flex;flex-direction:column;gap:24px; }.ad-editor-preview { position:static;order:-1;width:100%; }.ad-editor-preview>p { margin-bottom:16px; }.ad-editor-form { width:100%; }.ad-editor-form :is(input,textarea) { font-size:1rem; }.ad-editor-form input[type=file] { font-size:.75rem; }
}
@media(max-width:359px) {
  .promo-card { flex-basis:272px;width:272px;height:153px;padding:10px 14px 6px; }.promo-badge { font-size:.5625rem;line-height:12px; }.promo-content { margin-top:6px; }.promo-card .promo-content h3 { font-size:.875rem;line-height:20px; }.promo-content p { margin-top:4px;font-size:.6875rem;line-height:1.5; }.promo-footer { font-size:.625rem;min-height:40px; }.promo-card.is-preview .promo-preview-label { font-size:.5625rem; }.promotion-controls { gap:2px!important; }.promotion-heading .promotion-label { display:none; }.ad-editor-preview { padding:12px; }
}
