git / moonbite-network / static/site.css · raw
/* ========================================================================== MoonBite — Marketing Site Layer (site.css) Loaded AFTER style.css. Reuses its :root tokens, fonts and cosmic backdrop. Every selector here is namespaced `.mb-` so the tool pages (dashboard, wallet, mining reactor, explorer) are never affected. No new palette: colors/spacing/radius/gradient/glow all come from style.css tokens. ========================================================================== *//* ------------------------------------------------------------------ layout */.mb-wrap { width: 100%; }.mb-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-lg);}.mb-section { padding: clamp(3rem, 8vw, 6rem) 0; position: relative; }.mb-section-tight { padding: clamp(2rem, 5vw, 3.5rem) 0; }.mb-section-head { text-align: center; max-width: 720px; margin: 0 auto var(--spacing-2xl); }.mb-eyebrow { display: inline-block; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 3px; text-transform: uppercase; color: var(--primary-color-2); margin-bottom: var(--spacing-sm);}.mb-section-title { font-size: clamp(1.7rem, 3.5vw, 2.6rem); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 var(--spacing-md);}.mb-section-sub { color: var(--text-secondary); font-size: 1.05rem; line-height: 1.6; margin: 0; }.mb-gradient-text { background: var(--gradient-primary); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;}/* ------------------------------------------------------------- mega header */.mb-meganav { position: sticky; top: 0; z-index: 100; background: color-mix(in srgb, var(--bg-secondary) 82%, transparent); backdrop-filter: var(--glass-blur); -webkit-backdrop-filter: var(--glass-blur); border-bottom: 1px solid var(--border-color);}.mb-nav-inner { max-width: 1240px; margin: 0 auto; padding: 0 var(--spacing-lg); height: 68px; display: flex; align-items: center; gap: var(--spacing-lg);}.mb-brand { display: flex; align-items: center; gap: 8px; font-size: 1.15rem; font-weight: 700; text-decoration: none; color: var(--text-primary); white-space: nowrap;}.mb-brand .mb-brand-name { background: var(--gradient-primary); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;}.mb-brand img { width: 112px; height: 112px; }.mb-nav-links { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0 auto 0 var(--spacing-md); padding: 0;}.mb-nav-item { position: relative; }.mb-nav-trigger { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border-radius: var(--border-radius-sm); font: inherit; font-size: 0.95rem; font-weight: 500; color: var(--text-secondary); background: none; border: none; text-decoration: none; cursor: pointer; transition: var(--transition);}.mb-nav-trigger:hover,.mb-nav-item.is-open .mb-nav-trigger { color: var(--text-primary); background: var(--card-bg); }.mb-nav-trigger .mb-caret { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform 0.2s ease; opacity: 0.7;}.mb-nav-item.is-open .mb-caret { transform: rotate(-135deg) translateY(-1px); }.mb-dropdown { position: absolute; top: calc(100% + 8px); left: 0; min-width: 250px; background: var(--card-bg-solid); border: 1px solid var(--border-color); border-radius: var(--border-radius); box-shadow: var(--card-shadow); padding: 8px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;}.mb-nav-item.is-open .mb-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }.mb-dropdown a { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: var(--border-radius-sm); text-decoration: none; color: var(--text-primary); transition: var(--transition);}.mb-dropdown a:hover { background: var(--card-bg); }.mb-dropdown a .mb-dd-title { font-weight: 600; font-size: 0.92rem; }.mb-dropdown a .mb-dd-desc { font-size: 0.78rem; color: var(--text-secondary); }.mb-nav-cta { display: flex; align-items: center; gap: var(--spacing-sm); margin-left: auto; }.mb-nav-cta .mb-theme-btn { background: none; border: 1px solid var(--border-color); color: var(--text-secondary); padding: 8px 12px; border-radius: var(--border-radius-sm); cursor: pointer; font: inherit; font-size: 0.85rem; transition: var(--transition); white-space: nowrap;}.mb-nav-cta .mb-theme-btn:hover { color: var(--text-primary); box-shadow: var(--glow-primary); }.mb-hamburger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 42px; height: 42px; border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); background: none; cursor: pointer;}.mb-hamburger span { display: block; height: 2px; width: 20px; margin: 0 auto; background: var(--text-primary); transition: var(--transition); }/* mobile full-screen sheet *//* Keep the off-canvas sheet + decorative glows from widening the page. overflow-x: hidden on the root makes overflow-y compute to auto, so vertical scrolling still works while horizontal overflow is clipped. */html { overflow-x: hidden; }.mb-mobile-sheet { position: fixed; inset: 0; z-index: 200; background: var(--bg-primary); padding: var(--spacing-lg); overflow-y: auto; transform: translateX(100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);}.mb-mobile-sheet.is-open { transform: translateX(0); }.mb-mobile-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--spacing-lg); }.mb-mobile-close { background: none; border: none; color: var(--text-primary); font-size: 1.8rem; cursor: pointer; line-height: 1; }.mb-mobile-group { border-bottom: 1px solid var(--border-color); }.mb-mobile-group > button { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 16px 4px; background: none; border: none; color: var(--text-primary); font: inherit; font-size: 1.05rem; font-weight: 600; cursor: pointer;}.mb-mobile-group .mb-mobile-links { display: none; padding: 0 0 12px 4px; }.mb-mobile-group.is-open .mb-mobile-links { display: block; }.mb-mobile-links a { display: block; padding: 9px 0; color: var(--text-secondary); text-decoration: none; }.mb-mobile-links a:hover { color: var(--primary-color-2); }.mb-mobile-cta { margin-top: var(--spacing-lg); display: grid; gap: var(--spacing-sm); }/* --------------------------------------------------------------- hero */.mb-hero { position: relative; padding: clamp(3.5rem, 9vw, 7rem) 0 clamp(2.5rem, 6vw, 4.5rem); overflow: hidden; }.mb-hero-inner { max-width: 900px; margin: 0 auto; text-align: center; position: relative; z-index: 2; }.mb-hero-glow { position: absolute; top: -20%; left: 50%; width: 720px; height: 720px; max-width: 120vw; transform: translateX(-50%); background: radial-gradient(circle at center, rgba(124,92,255,0.28), rgba(52,211,255,0.10) 45%, transparent 70%); filter: blur(20px); pointer-events: none; z-index: 0;}.mb-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--primary-color-2); background: color-mix(in srgb, var(--primary-color) 12%, transparent); border: 1px solid color-mix(in srgb, var(--primary-color) 40%, transparent); margin-bottom: var(--spacing-lg);}.mb-badge .mb-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--success-color); box-shadow: 0 0 10px var(--success-color); }.mb-hero-title { font-size: clamp(2.4rem, 6.5vw, 4.6rem); font-weight: 700; line-height: 1.02; letter-spacing: -0.03em; margin: 0 0 var(--spacing-lg);}.mb-hero-sub { font-size: clamp(1.05rem, 2.2vw, 1.35rem); color: var(--text-secondary); line-height: 1.55; max-width: 640px; margin: 0 auto var(--spacing-xl);}.mb-cta-row { display: flex; flex-wrap: wrap; gap: var(--spacing-md); justify-content: center; }.mb-btn-xl { padding: 15px 30px; font-size: 1.05rem; border-radius: var(--border-radius); }/* --------------------------------------------------- live network stat band */.mb-statband { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--border-color); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); overflow: hidden; max-width: 940px; margin: 0 auto;}.mb-stat { background: var(--card-bg-solid); padding: var(--spacing-lg); text-align: center; }.mb-stat-value { font-family: var(--font-mono); font-size: clamp(1.3rem, 3vw, 2rem); font-weight: 700; color: var(--primary-color-2); }.mb-stat-label { font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-secondary); margin-top: 4px; }.mb-statband-foot { text-align: center; margin-top: var(--spacing-md); font-size: 0.85rem; color: var(--text-secondary); }/* ------------------------------------------------------------- card grids */.mb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--spacing-lg); }.mb-grid-2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }.mb-grid-3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }.mb-card { background: var(--card-bg-solid); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: var(--spacing-xl); transition: var(--transition); text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: var(--spacing-sm);}a.mb-card:hover, .mb-card.mb-hoverable:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--primary-color) 45%, transparent); box-shadow: var(--glow-primary);}.mb-card-icon { width: 48px; height: 48px; display: grid; place-items: center; font-size: 1.5rem; border-radius: var(--border-radius); background: color-mix(in srgb, var(--primary-color) 14%, transparent); border: 1px solid var(--border-color); margin-bottom: var(--spacing-xs);}.mb-card-title { font-size: 1.2rem; font-weight: 700; margin: 0; }.mb-card-text { color: var(--text-secondary); line-height: 1.55; margin: 0; font-size: 0.95rem; }.mb-card-link { margin-top: auto; padding-top: var(--spacing-sm); color: var(--primary-color-2); font-weight: 600; font-size: 0.9rem; }/* ------------------------------------------------------- exchange (coming soon) */.mb-exchange-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--spacing-md); }.mb-exchange-card { background: var(--card-bg-solid); border: 1px dashed var(--border-color); border-radius: var(--border-radius); padding: var(--spacing-lg); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px;}.mb-exchange-logo { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; font-size: 1.5rem; background: color-mix(in srgb, var(--primary-color) 12%, transparent); border: 1px solid var(--border-color); color: var(--text-secondary);}.mb-exchange-name { font-weight: 600; }.mb-soon-chip { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--warning-color); padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--warning-color) 12%, transparent); border: 1px solid color-mix(in srgb, var(--warning-color) 35%, transparent);}/* --------------------------------------------------------------- features */.mb-feature { display: flex; flex-direction: column; gap: var(--spacing-sm); padding: var(--spacing-lg); }.mb-feature-icon { font-size: 1.8rem; }.mb-feature h3 { margin: 0; font-size: 1.15rem; }.mb-feature p { margin: 0; color: var(--text-secondary); line-height: 1.55; font-size: 0.95rem; }/* ------------------------------------------------------------------ teaser */.mb-teaser { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--spacing-2xl); align-items: center; }.mb-teaser.mb-teaser-rev { grid-template-columns: 0.9fr 1.1fr; }.mb-teaser > * { min-width: 0; }.mb-teaser-copy h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); margin: 0 0 var(--spacing-md); letter-spacing: -0.02em; }.mb-teaser-copy p { color: var(--text-secondary); line-height: 1.6; margin: 0 0 var(--spacing-lg); }.mb-code { background: #0B0D12; border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: var(--spacing-lg); font-family: var(--font-mono); font-size: 0.85rem; color: #cdd6ff; overflow-x: auto; line-height: 1.7;}.mb-code .mb-c-comment { color: var(--text-secondary); }.mb-code .mb-c-key { color: var(--primary-color-2); }/* ------------------------------------------------------------- roadmap */.mb-timeline { display: grid; gap: 0; max-width: 780px; margin: 0 auto; }.mb-milestone { position: relative; padding: 0 0 var(--spacing-xl) var(--spacing-xl); border-left: 2px solid var(--border-color);}.mb-milestone:last-child { border-left-color: transparent; padding-bottom: 0; }.mb-milestone::before { content: ""; position: absolute; left: -8px; top: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--bg-primary); border: 2px solid var(--primary-color);}.mb-milestone.is-done::before { background: var(--success-color); border-color: var(--success-color); box-shadow: 0 0 10px var(--success-color); }.mb-milestone.is-active::before { background: var(--primary-color); box-shadow: var(--glow-primary); }.mb-milestone-phase { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 2px; text-transform: uppercase; color: var(--primary-color-2); }.mb-milestone h3 { margin: 4px 0 6px; font-size: 1.15rem; }.mb-milestone p { margin: 0; color: var(--text-secondary); line-height: 1.55; font-size: 0.95rem; }.mb-milestone-status { display: inline-block; margin-top: 8px; font-size: 0.72rem; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 1px; color: var(--text-secondary); }/* --------------------------------------------------------------- notify */.mb-notify { max-width: 560px; margin: 0 auto; text-align: center; background: var(--card-bg-solid); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: var(--spacing-xl);}.mb-notify h3 { margin: 0 0 var(--spacing-sm); font-size: 1.4rem; }.mb-notify p { color: var(--text-secondary); margin: 0 0 var(--spacing-lg); font-size: 0.95rem; }.mb-notify-form { display: flex; gap: var(--spacing-sm); flex-wrap: wrap; }.mb-notify-form input { flex: 1 1 220px; padding: 13px 16px; border-radius: var(--border-radius); background: var(--bg-tertiary); border: 1px solid var(--border-color); color: var(--text-primary); font: inherit;}.mb-notify-form input:focus { outline: none; border-color: var(--primary-color); box-shadow: var(--glow-primary); }.mb-notify-note { margin-top: var(--spacing-md); font-size: 0.78rem; color: var(--text-secondary); }.mb-notify-ok { color: var(--success-color); font-weight: 600; margin-top: var(--spacing-md); }/* ------------------------------------------------------------- honesty strip */.mb-banner { display: flex; align-items: center; gap: 12px; justify-content: center; text-align: center; flex-wrap: wrap; padding: var(--spacing-md) var(--spacing-lg); border-radius: var(--border-radius); background: color-mix(in srgb, var(--warning-color) 8%, transparent); border: 1px solid color-mix(in srgb, var(--warning-color) 30%, transparent); color: var(--text-secondary); font-size: 0.9rem;}.mb-banner strong { color: var(--warning-color); }/* --------------------------------------------------------------- FAQ */.mb-faq { max-width: 780px; margin: 0 auto; display: grid; gap: var(--spacing-sm); }.mb-faq-item { border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--card-bg-solid); overflow: hidden; }.mb-faq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-md); padding: var(--spacing-lg); background: none; border: none; color: var(--text-primary); font: inherit; font-size: 1.02rem; font-weight: 600; text-align: left; cursor: pointer;}.mb-faq-q .mb-plus { color: var(--primary-color-2); font-size: 1.4rem; transition: transform 0.2s ease; line-height: 1; }.mb-faq-item.is-open .mb-plus { transform: rotate(45deg); }.mb-faq-a { max-height: 0; overflow: hidden; transition: max-height 0.28s ease; }.mb-faq-a-inner { padding: 0 var(--spacing-lg) var(--spacing-lg); color: var(--text-secondary); line-height: 1.6; }/* --------------------------------------------------------------- downloads */.mb-download-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--spacing-md); }.mb-download-card { background: var(--card-bg-solid); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: var(--spacing-lg); display: flex; flex-direction: column; gap: 8px;}.mb-download-card .mb-dl-os { font-size: 1.6rem; }.mb-download-card h3 { margin: 0; font-size: 1.05rem; }.mb-download-card .mb-dl-meta { font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-secondary); }.mb-download-card .btn { margin-top: auto; }.mb-download-card.mb-soon { border-style: dashed; }.mb-download-card.mb-soon .mb-dl-os { opacity: 0.6; }.mb-download-card.mb-soon .mb-soon-chip { align-self: flex-start; }/* Featured (flagship) download — the MoonBite Reactor desktop app */.mb-download-card.mb-featured { position: relative; overflow: hidden; margin-bottom: var(--spacing-xl); padding: var(--spacing-xl); border: 1px solid rgba(124, 92, 255, 0.4); background: radial-gradient(700px 300px at 90% -30%, rgba(124, 92, 255, 0.18), transparent 60%), radial-gradient(500px 260px at -10% 130%, rgba(51, 225, 237, 0.12), transparent 60%), var(--card-bg-solid, var(--bg-secondary)); box-shadow: 0 0 60px rgba(124, 92, 255, 0.18);}.mb-download-card.mb-featured .mb-featured-body { position: relative; z-index: 1; max-width: 720px; }.mb-download-card.mb-featured .mb-featured-title { margin: var(--spacing-sm) 0 4px; font-size: 1.8rem; line-height: 1.1;}.mb-download-card.mb-featured .mb-soon-chip { align-self: flex-start; }@media (max-width: 620px) { .mb-download-card.mb-featured .mb-cta-row { flex-direction: column; } .mb-download-card.mb-featured .mb-cta-row .btn { width: 100%; }}/* --------------------------------------------------------------- footer */.mb-footer { border-top: 1px solid var(--border-color); background: var(--bg-secondary); padding: var(--spacing-2xl) 0 var(--spacing-lg); margin-top: var(--spacing-2xl);}.mb-footer-cols { display: grid; grid-template-columns: 1.4fr repeat(5, 1fr); gap: var(--spacing-xl); margin-bottom: var(--spacing-xl);}.mb-footer-brand .mb-brand { margin-bottom: var(--spacing-md); }.mb-footer-brand p { color: var(--text-secondary); font-size: 0.9rem; line-height: 1.55; max-width: 260px; }.mb-footer-col h4 { font-size: 0.78rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-secondary); margin: 0 0 var(--spacing-md); }.mb-footer-col a { display: block; padding: 5px 0; color: var(--text-primary); text-decoration: none; font-size: 0.9rem; }.mb-footer-col a:hover { color: var(--primary-color-2); }.mb-footer-bottom { border-top: 1px solid var(--border-color); padding-top: var(--spacing-lg); display: flex; flex-wrap: wrap; gap: var(--spacing-md); justify-content: space-between; align-items: center; color: var(--text-secondary); font-size: 0.82rem;}.mb-footer-legal { max-width: 620px; line-height: 1.5; }/* --------------------------------------------------------------- exchange / order book */.mb-ex-tabs { display: flex; gap: var(--spacing-sm); flex-wrap: wrap; justify-content: center; margin-bottom: var(--spacing-lg); }.mb-ex-tab { font: inherit; font-weight: 600; padding: 10px 20px; border-radius: 999px; background: var(--card-bg-solid); border: 1px solid var(--border-color); color: var(--text-secondary); cursor: pointer; transition: var(--transition);}.mb-ex-tab:hover { color: var(--text-primary); border-color: color-mix(in srgb, var(--primary-color) 45%, transparent); }.mb-ex-tab.is-active { color: var(--text-primary); border-color: transparent; background: var(--gradient-primary); box-shadow: var(--glow-primary);}.mb-ex-lastbar { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; justify-content: center; margin-bottom: var(--spacing-lg); font-family: var(--font-mono);}.mb-ex-last-label { font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-secondary); }.mb-ex-last-value { font-size: 1.35rem; font-weight: 700; color: var(--text-primary); }.mb-ex-last-quote { font-size: 0.8rem; color: var(--text-secondary); }.mb-ex-ease { font-size: 0.65rem; letter-spacing: 1px; text-transform: uppercase; color: var(--primary-color-2); padding: 3px 9px; border-radius: 999px; background: color-mix(in srgb, var(--primary-color) 12%, transparent); border: 1px solid var(--border-color);}.mb-ex-book { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-lg); }.mb-ex-side { background: var(--card-bg-solid); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); overflow: hidden;}.mb-ex-side-head { padding: var(--spacing-md) var(--spacing-lg); font-weight: 700; font-size: 0.9rem; border-bottom: 1px solid var(--border-color);}.mb-ex-bids { color: var(--success-color); background: color-mix(in srgb, var(--success-color) 8%, transparent); }.mb-ex-asks { color: var(--danger-color, #ff5c72); background: color-mix(in srgb, var(--danger-color, #ff5c72) 8%, transparent); }.mb-ex-table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: 0.82rem; }.mb-ex-table th { text-align: left; padding: 8px var(--spacing-lg); font-size: 0.66rem; letter-spacing: 1px; text-transform: uppercase; color: var(--text-secondary); font-weight: 600; border-bottom: 1px solid var(--border-color);}.mb-ex-table td { padding: 8px var(--spacing-lg); border-bottom: 1px solid color-mix(in srgb, var(--border-color) 55%, transparent); color: var(--text-primary); }.mb-ex-table tr:last-child td { border-bottom: none; }.mb-ex-empty { color: var(--text-secondary); text-align: center; font-family: var(--font-sans, inherit); padding: var(--spacing-lg) !important; }.mb-ex-idbtn { font-family: var(--font-mono); font-size: 0.68rem; padding: 2px 8px; border-radius: 6px; background: var(--bg-tertiary); border: 1px solid var(--border-color); color: var(--text-secondary); cursor: pointer;}.mb-ex-idbtn:hover { color: var(--primary-color-2); border-color: var(--primary-color); }/* ---- order form ---- */.mb-ex-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--spacing-lg); max-width: 720px; margin: 0 auto; background: var(--card-bg-solid); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: var(--spacing-xl);}.mb-ex-field { display: flex; flex-direction: column; gap: 6px; }.mb-ex-field-wide { grid-column: 1 / -1; display: flex; flex-direction: column; gap: var(--spacing-sm); align-items: stretch; }.mb-ex-formmsg { grid-column: 1 / -1; font-size: 0.85rem; color: var(--text-secondary); min-height: 1.2em; word-break: break-word; }.mb-ex-formmsg.is-ok { color: var(--success-color); font-weight: 600; }.mb-ex-formmsg.is-err { color: var(--danger-color, #ff5c72); font-weight: 600; }.mb-ex-field label { font-size: 0.82rem; font-weight: 600; color: var(--text-secondary); }.mb-ex-qlabel { font-weight: 400; font-family: var(--font-mono); font-size: 0.72rem; color: var(--primary-color-2); }.mb-ex-field input, .mb-ex-field select { padding: 12px 14px; border-radius: var(--border-radius); background: var(--bg-tertiary); border: 1px solid var(--border-color); color: var(--text-primary); font: inherit;}.mb-ex-field input:focus, .mb-ex-field select:focus { outline: none; border-color: var(--primary-color); box-shadow: var(--glow-primary); }.mb-ex-toggle { display: flex; gap: 8px; }.mb-ex-sidebtn { flex: 1; font: inherit; font-weight: 600; padding: 11px; border-radius: var(--border-radius); background: var(--bg-tertiary); border: 1px solid var(--border-color); color: var(--text-secondary); cursor: pointer; transition: var(--transition);}.mb-ex-sidebtn.is-active { color: var(--text-primary); border-color: var(--primary-color); background: color-mix(in srgb, var(--primary-color) 16%, transparent); }.mb-ex-total { font-family: var(--font-mono); font-size: 0.9rem; color: var(--primary-color-2); min-height: 1.2em; text-align: center; }.mb-ex-cancelnote { text-align: center; color: var(--text-secondary); font-size: 0.88rem; margin: var(--spacing-2xl) 0 var(--spacing-sm); }.mb-ex-cancel { display: flex; gap: var(--spacing-sm); flex-wrap: wrap; justify-content: center; align-items: center; max-width: 720px; margin: 0 auto; }.mb-ex-cancel input { flex: 1 1 200px; padding: 11px 14px; border-radius: var(--border-radius); background: var(--bg-tertiary); border: 1px solid var(--border-color); color: var(--text-primary); font: inherit;}.mb-ex-cancel input:focus { outline: none; border-color: var(--primary-color); box-shadow: var(--glow-primary); }.mb-ex-actions { display: flex; gap: 6px; justify-content: flex-end; }.mb-ex-takebtn { font-family: var(--font-mono); font-size: 0.68rem; font-weight: 600; padding: 2px 10px; border-radius: 6px; background: color-mix(in srgb, var(--primary-color) 16%, transparent); border: 1px solid var(--primary-color); color: var(--text-primary); cursor: pointer;}.mb-ex-takebtn:hover { background: var(--gradient-primary); box-shadow: var(--glow-primary); }/* ---- settle hand-off modal ---- */.mb-ex-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: var(--spacing-lg); }.mb-ex-modal[hidden] { display: none; }.mb-ex-modal-overlay { position: absolute; inset: 0; background: rgba(3, 4, 12, 0.72); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }.mb-ex-modal-card { position: relative; width: 100%; max-width: 560px; max-height: 90vh; overflow-y: auto; background: var(--card-bg-solid); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: var(--spacing-xl); box-shadow: var(--glow-primary), 0 20px 60px rgba(0, 0, 0, 0.5);}.mb-ex-modal-x { position: absolute; top: 14px; right: 16px; width: 32px; height: 32px; display: grid; place-items: center; font-size: 1.4rem; line-height: 1; background: var(--bg-tertiary); border: 1px solid var(--border-color); border-radius: 8px; color: var(--text-secondary); cursor: pointer;}.mb-ex-modal-x:hover { color: var(--text-primary); border-color: var(--primary-color); }.mb-ex-modal-eyebrow { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 2px; text-transform: uppercase; color: var(--primary-color-2); }.mb-ex-modal-card h3 { margin: 6px 0 var(--spacing-lg); font-size: 1.35rem; }.mb-ex-modal-summary { margin-bottom: var(--spacing-lg); }.mb-ex-modal-pair { font-weight: 700; font-size: 1.05rem; margin-bottom: 6px; }.mb-ex-modal-nums { display: flex; gap: 12px; flex-wrap: wrap; font-family: var(--font-mono); font-size: 0.85rem; color: var(--text-secondary); }.mb-ex-legs { display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--spacing-sm); align-items: stretch; }.mb-ex-leg { background: var(--bg-tertiary); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: var(--spacing-md); display: flex; flex-direction: column; gap: 5px;}.mb-ex-leg-send { border-color: color-mix(in srgb, var(--danger-color, #ff5c72) 45%, var(--border-color)); }.mb-ex-leg-recv { border-color: color-mix(in srgb, var(--success-color) 45%, var(--border-color)); }.mb-ex-leg-label { font-size: 0.68rem; letter-spacing: 1px; text-transform: uppercase; color: var(--text-secondary); }.mb-ex-leg-send .mb-ex-leg-label { color: var(--danger-color, #ff5c72); }.mb-ex-leg-recv .mb-ex-leg-label { color: var(--success-color); }.mb-ex-leg-amt { font-family: var(--font-mono); font-weight: 700; font-size: 0.95rem; }.mb-ex-leg-to { font-size: 0.72rem; color: var(--text-secondary); }.mb-ex-leg-addr { display: block; font-family: var(--font-mono); font-size: 0.72rem; color: var(--primary-color-2); word-break: break-all; background: #0B0D12; border-radius: 6px; padding: 6px 8px; }.mb-ex-leg-swap { display: grid; place-items: center; font-size: 1.3rem; color: var(--text-secondary); }.mb-ex-modal-note { margin-top: var(--spacing-lg); padding: var(--spacing-md); border-radius: var(--border-radius); background: color-mix(in srgb, var(--warning-color) 8%, transparent); border: 1px solid color-mix(in srgb, var(--warning-color) 30%, transparent); font-size: 0.82rem; line-height: 1.5; color: var(--text-secondary);}.mb-ex-modal-note strong { color: var(--warning-color); }/* --------------------------------------------------------------- merchants */.mb-mrc-filters { display: flex; gap: var(--spacing-sm); flex-wrap: wrap; justify-content: center; margin-bottom: var(--spacing-2xl); }.mb-mrc-filter { font: inherit; font-size: 0.85rem; text-transform: capitalize; padding: 7px 16px; border-radius: 999px; background: var(--card-bg-solid); border: 1px solid var(--border-color); color: var(--text-secondary); cursor: pointer; transition: var(--transition);}.mb-mrc-filter:hover { color: var(--text-primary); border-color: color-mix(in srgb, var(--primary-color) 45%, transparent); }.mb-mrc-filter.is-active { color: var(--text-primary); border-color: transparent; background: var(--gradient-primary); box-shadow: var(--glow-primary); }.mb-mrc-empty { grid-column: 1 / -1; text-align: center; color: var(--text-secondary); padding: var(--spacing-2xl); border: 1px dashed var(--border-color); border-radius: var(--border-radius-lg); }.mb-mrc-item { gap: var(--spacing-sm); }.mb-mrc-item-head { display: flex; align-items: center; gap: 10px; }.mb-mrc-icon { font-size: 1.4rem; }.mb-mrc-cat { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--primary-color-2); padding: 3px 9px; border-radius: 999px; background: color-mix(in srgb, var(--primary-color) 12%, transparent); border: 1px solid var(--border-color); }.mb-mrc-name { font-size: 1.15rem; font-weight: 700; }.mb-mrc-name-link { font-size: 1.15rem; font-weight: 700; color: var(--text-primary); text-decoration: none; }.mb-mrc-name-link:hover { color: var(--primary-color-2); }.mb-mrc-addr { margin-top: auto; padding-top: var(--spacing-sm); display: flex; flex-direction: column; gap: 8px; }.mb-mrc-addr code { font-family: var(--font-mono); font-size: 0.68rem; color: var(--text-secondary); word-break: break-all; background: #0B0D12; border-radius: 6px; padding: 6px 8px; }.mb-mrc-pay { font: inherit; font-size: 0.82rem; font-weight: 600; padding: 8px; border-radius: var(--border-radius); background: color-mix(in srgb, var(--primary-color) 16%, transparent); border: 1px solid var(--primary-color); color: var(--text-primary); cursor: pointer; }.mb-mrc-pay:hover { background: var(--gradient-primary); box-shadow: var(--glow-primary); }/* register + invoice forms */.mb-mrc-cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-lg); align-items: start; }.mb-mrc-card { background: var(--card-bg-solid); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: var(--spacing-xl); display: flex; flex-direction: column; gap: var(--spacing-md); }.mb-mrc-card-title { margin: 0 0 var(--spacing-xs); font-size: 1.15rem; }.mb-mrc-field { display: flex; flex-direction: column; gap: 6px; }.mb-mrc-field label { font-size: 0.82rem; font-weight: 600; color: var(--text-secondary); }.mb-mrc-field input, .mb-mrc-field select { padding: 12px 14px; border-radius: var(--border-radius); background: var(--bg-tertiary); border: 1px solid var(--border-color); color: var(--text-primary); font: inherit;}.mb-mrc-field input:focus, .mb-mrc-field select:focus { outline: none; border-color: var(--primary-color); box-shadow: var(--glow-primary); }.mb-mrc-addrrow { display: flex; gap: 8px; }.mb-mrc-addrrow input { flex: 1; }.mb-mrc-addrrow .btn { white-space: nowrap; }/* checkout panel */.mb-mrc-checkout { max-width: 620px; margin: var(--spacing-2xl) auto 0; background: var(--card-bg-solid); border: 1px solid var(--primary-color); border-radius: var(--border-radius-lg); overflow: hidden; box-shadow: var(--glow-primary); }.mb-mrc-checkout[hidden] { display: none; }.mb-mrc-checkout-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--spacing-md); padding: var(--spacing-lg) var(--spacing-xl); border-bottom: 1px solid var(--border-color); background: var(--bg-secondary); }.mb-mrc-checkout-eyebrow { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 2px; text-transform: uppercase; color: var(--primary-color-2); }.mb-mrc-checkout-amt { font-size: 1.5rem; font-weight: 700; margin-top: 4px; }.mb-mrc-checkout-memo { color: var(--text-secondary); font-size: 0.9rem; }.mb-mrc-status { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--warning-color) 14%, transparent); border: 1px solid color-mix(in srgb, var(--warning-color) 35%, transparent); color: var(--warning-color); white-space: nowrap; }.mb-mrc-status.is-paid { background: color-mix(in srgb, var(--success-color) 16%, transparent); border-color: color-mix(in srgb, var(--success-color) 40%, transparent); color: var(--success-color); }.mb-mrc-status.is-expired { background: color-mix(in srgb, var(--danger-color, #ff5c72) 14%, transparent); border-color: color-mix(in srgb, var(--danger-color, #ff5c72) 35%, transparent); color: var(--danger-color, #ff5c72); }.mb-mrc-checkout-body { padding: var(--spacing-xl); display: flex; flex-direction: column; gap: var(--spacing-md); }.mb-mrc-copyrow { display: flex; gap: 8px; align-items: stretch; }.mb-mrc-copyrow code { flex: 1; font-family: var(--font-mono); font-size: 0.72rem; color: var(--primary-color-2); word-break: break-all; background: #0B0D12; border-radius: 6px; padding: 10px 12px; }.mb-mrc-copy { font: inherit; font-size: 0.78rem; font-weight: 600; padding: 0 14px; border-radius: 6px; background: var(--bg-tertiary); border: 1px solid var(--border-color); color: var(--text-primary); cursor: pointer; white-space: nowrap; }.mb-mrc-copy:hover { border-color: var(--primary-color); color: var(--primary-color-2); }.mb-mrc-progress { height: 8px; border-radius: 999px; background: var(--bg-tertiary); overflow: hidden; }.mb-mrc-progress-fill { height: 100%; width: 0; background: var(--gradient-primary); transition: width 0.4s ease; }.mb-mrc-checkout-note { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.5; }.mb-mrc-checkout-note strong { color: var(--text-primary); }/* --------------------------------------------------------------- forum */.mb-forum-wrap { max-width: 860px; margin: 0 auto; }.mb-forum-bar { display: flex; align-items: baseline; justify-content: space-between; gap: var(--spacing-md); flex-wrap: wrap; margin-bottom: var(--spacing-lg); }.mb-forum-count { font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 1px; color: var(--text-secondary); }.mb-forum-error { margin-bottom: var(--spacing-lg); padding: 12px 16px; border-radius: var(--border-radius); background: color-mix(in srgb, var(--danger-color, #ff5c72) 12%, transparent); border: 1px solid color-mix(in srgb, var(--danger-color, #ff5c72) 35%, transparent); color: var(--danger-color, #ff5c72); font-size: 0.9rem; }.mb-forum-list { display: flex; flex-direction: column; gap: var(--spacing-md); }.mb-forum-thread { display: block; text-decoration: none; color: inherit; padding: var(--spacing-lg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); background: var(--card-bg); transition: border-color 0.2s ease, transform 0.2s ease; }.mb-forum-thread:hover { border-color: var(--primary-color); transform: translateY(-2px); }.mb-forum-thread h3 { margin: 0 0 6px; font-size: 1.12rem; line-height: 1.35; }.mb-forum-meta { font-size: 0.8rem; color: var(--text-secondary); display: flex; gap: var(--spacing-md); flex-wrap: wrap; align-items: center; }.mb-forum-meta .mb-forum-author { color: var(--primary-color-2); font-weight: 600; }.mb-forum-pill { font-family: var(--font-mono); font-size: 0.72rem; padding: 2px 9px; border-radius: 999px; background: var(--bg-tertiary); border: 1px solid var(--border-color); }.mb-forum-empty { text-align: center; color: var(--text-secondary); padding: var(--spacing-2xl); border: 1px dashed var(--border-color); border-radius: var(--border-radius-lg); }.mb-forum-form { display: flex; flex-direction: column; gap: var(--spacing-md); background: var(--card-bg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); padding: var(--spacing-xl); }.mb-forum-form label { font-size: 0.8rem; font-weight: 600; color: var(--text-secondary); display: block; margin-bottom: 6px; }.mb-forum-form input, .mb-forum-form textarea { width: 100%; padding: 12px 14px; border-radius: var(--border-radius); background: var(--bg-tertiary); border: 1px solid var(--border-color); color: var(--text-primary); font: inherit; }.mb-forum-form textarea { min-height: 120px; resize: vertical; }.mb-forum-form input:focus, .mb-forum-form textarea:focus { outline: none; border-color: var(--primary-color); box-shadow: var(--glow-primary); }.mb-forum-form-actions { display: flex; align-items: center; gap: var(--spacing-md); flex-wrap: wrap; }.mb-forum-hint { font-size: 0.78rem; color: var(--text-secondary); }.mb-forum-op { padding: var(--spacing-xl); border: 1px solid var(--primary-color); border-radius: var(--border-radius-lg); background: var(--card-bg); box-shadow: var(--glow-primary); margin-bottom: var(--spacing-xl); }.mb-forum-op h1 { font-size: clamp(1.4rem, 3vw, 2rem); margin: 0 0 var(--spacing-sm); }.mb-forum-body { white-space: pre-wrap; word-wrap: break-word; line-height: 1.6; color: var(--text-primary); margin-top: var(--spacing-md); }.mb-forum-reply { padding: var(--spacing-lg); border: 1px solid var(--border-color); border-radius: var(--border-radius-lg); background: var(--card-bg); }.mb-forum-reply + .mb-forum-reply { margin-top: var(--spacing-md); }.mb-forum-reply-head { display: flex; gap: var(--spacing-md); align-items: baseline; flex-wrap: wrap; margin-bottom: 6px; }.mb-forum-back { display: inline-block; margin-bottom: var(--spacing-lg); font-size: 0.85rem; color: var(--primary-color-2); text-decoration: none; }.mb-forum-back:hover { text-decoration: underline; }.mb-forum-pagination { display: flex; justify-content: center; gap: var(--spacing-md); margin-top: var(--spacing-2xl); align-items: center; }/* --------------------------------------------------------------- reveal */.mb-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); }.mb-reveal.is-visible { opacity: 1; transform: none; }/* --------------------------------------------------------------- responsive */@media (max-width: 940px) { .mb-statband { grid-template-columns: repeat(2, 1fr); } .mb-teaser, .mb-teaser.mb-teaser-rev { grid-template-columns: 1fr; } .mb-footer-cols { grid-template-columns: 1fr 1fr; } .mb-ex-book { grid-template-columns: 1fr; } .mb-ex-form { grid-template-columns: 1fr; } .mb-ex-legs { grid-template-columns: 1fr; } .mb-ex-leg-swap { transform: rotate(90deg); } .mb-mrc-cols { grid-template-columns: 1fr; }}@media (max-width: 860px) { .mb-nav-links { display: none; } .mb-nav-cta .mb-theme-btn, .mb-nav-cta .mb-nav-cta-btn { display: none; } .mb-hamburger { display: flex; }}@media (max-width: 560px) { .mb-statband { grid-template-columns: 1fr; } .mb-footer-cols { grid-template-columns: 1fr; } .mb-cta-row { flex-direction: column; } .mb-btn-xl { width: 100%; }}@media (prefers-reduced-motion: reduce) { .mb-reveal { opacity: 1; transform: none; transition: none; } .mb-dropdown, .mb-mobile-sheet, .mb-faq-a { transition: none; }}/* ---------------------------------------------- MoonBite badges + first block */.mb-badge-shelf { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }.mb-badge { display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.03); opacity: 0.35; filter: grayscale(1); font-size: 0.85rem; }.mb-badge.earned { opacity: 1; filter: none; border-color: rgba(217,164,65,0.5); background: linear-gradient(135deg, rgba(217,164,65,0.12), rgba(184,134,59,0.08)); box-shadow: 0 0 14px rgba(217,164,65,0.15); }.mb-badge-icon { font-size: 1.1rem; }.mb-badge-toast { position: fixed; left: 50%; bottom: 40px; transform: translateX(-50%) translateY(20px); background: linear-gradient(135deg, #D9A441, #B8863B); color: #0B0D12; font-weight: 800; padding: 12px 22px; border-radius: 12px; opacity: 0; transition: all .35s ease; z-index: 1000; box-shadow: 0 8px 30px rgba(184,134,59,0.4); }.mb-badge-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }.mb-first-block-overlay { position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center; background: rgba(5,8,20,0.9); }.mb-confetti { position: absolute; inset: 0; pointer-events: none; }.mb-first-block-card { position: relative; max-width: 420px; width: calc(100% - 40px); text-align: center; padding: 36px 28px; border-radius: 20px; background: linear-gradient(180deg, #1A1E27, #0B0D12); border: 1px solid rgba(217,164,65,0.4); box-shadow: 0 0 60px rgba(217,164,65,0.15); animation: mbFbPop .5s cubic-bezier(.2,1.6,.4,1); }@keyframes mbFbPop { from { transform: scale(.7); opacity: 0; } to { transform: scale(1); opacity: 1; } }.mb-fb-kicker { letter-spacing: .25em; font-size: .75rem; color: #2E9E6B; font-weight: 700; }.mb-fb-amount { font-size: 3rem; font-weight: 800; margin: 10px 0 4px; background: linear-gradient(135deg, #D9A441, #B8863B); -webkit-background-clip: text; background-clip: text; color: transparent; }.mb-fb-line { color: rgba(255,255,255,0.75); font-size: .95rem; margin-top: 4px; }.mb-fb-addr { font-family: monospace; font-size: .85rem; opacity: .6; }.mb-fb-badges { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 16px 0 6px; }.mb-fb-badge { padding: 6px 12px; border-radius: 999px; font-size: .8rem; font-weight: 700; border: 1px solid rgba(217,164,65,0.5); background: rgba(217,164,65,0.1); color: #D9A441; }.mb-fb-quote { font-style: italic; color: rgba(255,255,255,0.6); font-size: .9rem; margin: 12px 0 18px; }.mb-fb-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }.mb-fb-btn { padding: 12px 20px; border-radius: 10px; cursor: pointer; font-weight: 700; border: 1px solid rgba(217,164,65,0.6); color: #0B0D12; background: linear-gradient(135deg, #D9A441, #B8863B); }.mb-fb-btn.ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,0.3); }@media (prefers-reduced-motion: reduce) { .mb-first-block-card { animation: none; }}