:root { color-scheme: light; --bg:#c2c7ff; --ink:#25166c; --muted:#685e93; --card:#fff; --line:#e7e1fb; --purple:#4a23c9; --purple-2:#6a3df0; --gold:#f5a623; --dark:#161616; --focus:#f16921; font-family: ui-rounded, "Nunito", system-ui, sans-serif; }
[hidden] { display:none!important; }
.amount-field input { overflow-x:auto; text-overflow:clip; }
.previous-quote { margin-top:12px; padding:10px; border:1px solid var(--line); border-radius:12px; }
.previous-quote h2,.previous-quote h4 { margin:0 0 6px; font-size:.85rem; }
.reference-list .reference-previous p { white-space:normal; overflow-wrap:anywhere; font-size:.85rem; line-height:1.5; }
.interaction-fallback { margin:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--card); color:var(--ink); font-size:.9rem; line-height:1.5; }
.interaction-fallback p { margin:0; }
.interaction-fallback noscript p { margin-top:8px; }
.js-pending .quote-meta,.js-pending #calculator-status { visibility:hidden; }
.hub-languages { position:relative; display:flex; flex-wrap:wrap; gap:6px; }
.hub-languages a { display:inline-flex; align-items:center; min-height:44px; padding:8px 10px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--card); }
.hub-languages a[aria-current="page"] { font-weight:800; border-color:currentColor; text-decoration-thickness:2px; }
.previous-quote p { margin:0; font-size:1.125rem; overflow-x:auto; white-space:pre; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; color:var(--ink); background:radial-gradient(circle at 17% 8%,#f1edff 0,transparent 38%), radial-gradient(circle at 85% 24%,#e1dbff 0,transparent 43%),var(--bg); }
button, input { font:inherit; } button, a, input { min-height:44px; } button { cursor:pointer; } button:focus-visible, a:focus-visible, input:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.calculator-root { min-height:100vh; display:flex; flex-direction:column; background-image:url('/assets/calculator/images/map.png'); background-position:center 280px; background-repeat:no-repeat; background-size:min(1100px,160vw) auto; }
.calculator-shell { width:min(100%,480px); flex:1; margin:0 auto; padding-bottom:25px; }
.calculator-header { background:var(--dark); border-top:3px solid var(--gold); }
.calculator-header-inner { width:min(100%,480px); min-height:68px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; }
.market-simulation { width:min(100%,480px); margin:0 auto; padding:5px 16px 7px; color:#1d123d; background:var(--gold); text-align:center; font-size:.75rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.brand { display:flex; align-items:center; } .brand img { display:block; width:122px; height:41px; object-fit:contain; }
.header-actions { display:flex; align-items:center; gap:7px; }.icon-button,.country-trigger { border:1px solid #444; color:#fff; background:#262626; border-radius:24px; }
.icon-button { width:44px; padding:0; color:var(--gold); font-size:20px; }.country-trigger { display:flex; align-items:center; gap:6px; padding:7px 11px; max-width:220px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.coin-tabs-section { min-width:0; padding:17px 12px 7px; }.coin-tabs-section h1 { margin:0 4px 9px; font-size:.86rem; color:#4d3b98; }.coin-tabs { display:flex; gap:8px; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; padding:4px 4px 13px; scroll-padding-inline:4px; scroll-snap-type:x proximity; scrollbar-width:none; cursor:grab; -webkit-overflow-scrolling:touch; }.coin-tabs::-webkit-scrollbar { display:none; }.coin-tabs.is-pointer-down { cursor:grabbing; }.coin-tabs.is-dragging { scroll-snap-type:none; user-select:none; }
.coin-tab { flex:0 0 84px; min-width:84px; min-height:92px; display:grid; place-content:center; gap:5px; border:2px solid var(--line); border-radius:16px; background:#fff; color:#35276f; font-size:.75rem; font-weight:800; scroll-snap-align:start; }.coin-tab.is-selected { border-color:var(--purple); box-shadow:0 7px 18px #4a23c940; transform:translateY(-2px); }.coin-mark { display:block; width:42px; height:42px; object-fit:contain; pointer-events:none; }
.calculator-card,.market-panel { margin:8px 12px 17px; padding:16px; border-radius:22px; background:var(--card); box-shadow:0 14px 40px #3c25b82e; }.quote-heading { display:flex; align-items:center; gap:9px; padding:14px 17px; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--purple),var(--purple-2)); }.quote-heading h1 { margin:0; font-size:1.12rem; }.quote-meta { display:flex; justify-content:space-between; gap:10px; margin:15px 2px 8px; color:var(--muted); font-size:.78rem; }.quote-meta p { display:flex; align-items:center; gap:5px; min-width:0; margin:0; white-space:nowrap; }.quote-meta i { flex:none; color:var(--purple); font-size:1rem; line-height:1; }.quote-meta #quote-countdown { color:var(--purple); font-weight:800; font-variant-numeric:tabular-nums; }.calculator-status { min-height:1.2em; margin:0 2px 10px; color:var(--muted); font-size:.8rem; }.calculator-fields { display:grid; gap:11px; }.amount-field { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:4px 10px; align-items:center; min-height:84px; padding:11px 14px; border:2px solid var(--line); border-radius:16px; background:#fff; }.amount-field>span:first-child { grid-column:1 / -1; color:var(--muted); font-size:.78rem; font-weight:700; }.field-icon { display:block; width:clamp(32px,10vw,44px); height:clamp(32px,10vw,44px); object-fit:contain; }.amount-field input { width:100%; min-width:0; border:0; color:var(--ink); background:transparent; font-size:clamp(1.3rem,8vw,2.15rem); font-weight:800; text-align:right; }.amount-field input:focus-visible { outline:none; }.field-symbol { color:var(--purple); font-size:.82rem; font-weight:800; }.reference-text,.purchase-explanation { margin:11px 2px 0; color:var(--muted); font-size:.78rem; line-height:1.45; }.purchase-button,.primary-button { width:100%; margin-top:14px; border:0; border-radius:15px; padding:13px 16px; background:#8f8ba5; color:#fff; font-weight:800; font-size:1rem; }.purchase-button:disabled { cursor:not-allowed; opacity:.95; }.reference-ticker { display:flex; align-items:center; height:32px; margin:0; padding:0; box-shadow:inset 0 -1px #2a1c44; background:#1f1235; color:#fff; overflow:hidden; }.reference-ticker button { border:0; background:transparent; }.calculator-footer button { border:0; color:var(--gold); background:transparent; text-decoration:underline; font-weight:700; }.calculator-footer { padding:17px; text-align:center; }
.market-panel { position:relative; overflow:hidden; min-height:350px; display:grid; align-content:center; gap:12px; }.market-panel h1,.market-panel p { position:relative; margin:0; }.market-panel h1 { font-size:1.45rem; }.market-panel p { color:var(--muted); line-height:1.5; }.market-map { position:absolute; width:760px; max-width:none; height:auto; top:0; left:50%; transform:translateX(-50%); opacity:.15; }.market-panel .primary-button { width:auto; justify-self:start; background:linear-gradient(135deg,var(--purple),var(--purple-2)); }
dialog { width:min(calc(100% - 24px),456px); max-height:min(82vh,700px); border:0; border-radius:20px; padding:18px; color:var(--ink); background:#fff; box-shadow:0 24px 80px #11093880; } dialog::backdrop { background:#160e2d99; }.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }.dialog-heading h2 { margin:0; font-size:1.2rem; }.dialog-close { width:44px; border:0; border-radius:50%; color:var(--ink); background:#eeeafa; font-size:1.65rem; line-height:1; }.country-search-label { display:block; margin-top:15px; font-weight:700; font-size:.85rem; }.country-search-label + input { width:100%; margin-top:5px; border:2px solid var(--line); border-radius:11px; padding:0 12px; }.country-list { display:grid; gap:7px; margin:15px 0 0; padding:0; list-style:none; }.country-list a,.country-list>li>span { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; color:inherit; text-decoration:none; }.country-list small { margin-left:auto; color:var(--muted); }.reference-list { display:grid; gap:8px; margin-top:14px; }.reference-list article { display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); border-radius:10px; }.reference-list h3,.reference-list p { margin:0; }.tour-invitation { position:fixed; inset:auto 12px 12px; max-width:456px; margin:auto; padding:14px; border-radius:14px; color:#fff; background:#25166c; }.tour-invitation p { margin:0 0 8px; }.tour-invitation button { min-height:44px; margin-right:6px; border:1px solid #fff8; border-radius:8px; padding:0 10px; color:#fff; background:transparent; }
body.dark { --bg:#14101f; --card:#211a35; --ink:#e7e1ff; --muted:#b9aedf; --line:#3a2f5e; background-color:var(--bg); } body.dark .amount-field,body.dark dialog { background:#2a2240; } body.dark .coin-tab { color:#e7e1ff; background:#2a2240; } body.dark .country-list a,body.dark .country-list>li>span { background:#241c3c; }
@media (max-width:360px) { .calculator-header-inner { padding-inline:10px; }.brand img { width:98px; height:auto; }.country-trigger { max-width:145px; padding-inline:8px; }.coin-tabs { gap:8px; }.calculator-card,.market-panel { margin-inline:8px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Country navigation, independent references and the locally shipped tour. */
.country-chevron { margin-left:2px; font-size:1.1rem; }
.country-list .country-primary a { border-color:var(--purple); font-weight:700; }
.country-list [aria-disabled="true"] { opacity:1; }
.reference-ticker { width:100vw; height:32px; margin:0 0 0 calc(50% - 50vw); padding:0; }
.ticker-content { width:min(100%,480px); height:100%; margin:0 auto; display:flex; align-items:center; overflow:hidden; }
.reference-ticker .ticker-label { flex:none; max-width:55%; min-height:32px; padding:0 16px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--gold); font-size:12px; font-weight:700; }
.ticker-viewport { position:relative; flex:1; min-width:0; overflow:hidden; scrollbar-width:none; }
.ticker-viewport::before,.ticker-viewport::after { content:""; position:absolute; z-index:1; top:3px; bottom:3px; width:24px; pointer-events:none; }
.ticker-viewport::before { left:0; background:linear-gradient(90deg,#1f1235,transparent); }
.ticker-viewport::after { right:0; background:linear-gradient(270deg,#1f1235,transparent); }
.ticker-viewport::-webkit-scrollbar { display:none; }
.ticker-track { display:flex; width:max-content; gap:32px; padding:0 32px 0 0; margin:0; list-style:none; animation:reference-drift 24s linear infinite; }
.ticker-track li { flex:none; }
.reference-ticker .ticker-reference { display:inline-flex; align-items:center; padding:0; min-height:32px; color:#fff; text-decoration:none; white-space:nowrap; font-size:12px; font-weight:400; cursor:pointer; }
.reference-ticker .ticker-reference[aria-disabled="true"] { color:#d4cadf; cursor:default; }
.reference-ticker:hover .ticker-track,.reference-ticker:focus-within .ticker-track,.reference-ticker.is-paused .ticker-track { animation-play-state:paused; }
.ticker-pause { min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:9px; background:var(--card); color:var(--ink); }
@keyframes reference-drift { from { transform:translateX(0); } to { transform:translateX(-50%); } }
/* Keyboard navigation exposes the static original sequence without a visible scrollbar. */
.ticker-viewport:has(:focus-visible) { overflow-x:auto; scroll-padding-inline:4px; }
.ticker-viewport:has(:focus-visible) .ticker-track { animation:none; }
.ticker-viewport:has(:focus-visible) .ticker-copy { display:none; }
.reference-ticker button:focus-visible { outline-offset:-3px; }
.reference-list article { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; padding:13px; }
.reference-list h3 { color:var(--purple); }
.reference-title { display:flex; align-items:center; gap:6px; }
.reference-coin-icon { width:1.2em; height:1.2em; object-fit:contain; }
.reference-unit,.reference-capture { font-size:.8rem; color:var(--muted); overflow-wrap:anywhere; }
.reference-input-label { font-size:.85rem; font-weight:700; }
.reference-list input { width:100%; min-width:0; min-height:48px; border:2px solid var(--line); border-radius:9px; background:var(--card); color:var(--ink); padding:8px; font-size:1.2rem; text-align:right; }
.reference-list input:focus-visible { outline:none; border-color:var(--purple); }
.reference-total { display:block; flex:1; min-width:0; font-size:1.15rem; font-weight:800; text-align:right; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.reference-total-label { margin:0; color:var(--muted); font-size:.85rem; }
.reference-total-line { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:.85rem; }
.reference-total-loading { color:var(--purple); font-size:1rem; }
.tour-topics { display:grid; gap:10px; margin-top:18px; }
.tour-topics button { min-height:48px; padding:10px 14px; text-align:left; color:var(--ink); background:var(--card); border:2px solid var(--line); border-radius:12px; font:inherit; }
.tour-invitation { z-index:20; box-shadow:0 6px 30px #160e2d66; }
.driver-popover.calculator-tour { box-sizing:border-box; max-width:calc(100vw - 24px); color:var(--ink); background:var(--card); font-family:inherit; border:1px solid var(--line); }
.driver-popover.calculator-tour .driver-popover-title { padding-right:38px; font-size:1rem; line-height:1.4; }
.driver-popover.calculator-tour .driver-popover-description { font-size:.9rem; }
.driver-popover.calculator-tour button { min-width:44px; min-height:44px; border-radius:8px; font-family:inherit; text-shadow:none; }
.driver-popover.calculator-tour .driver-popover-close-btn { top:4px; right:4px; font-size:24px; color:var(--ink); }
.driver-popover.calculator-tour .driver-popover-footer button { color:var(--ink); background:var(--card); border:1px solid var(--line); font-size:.85rem; }
.driver-popover.calculator-tour .driver-popover-progress-text { color:var(--muted); }
.driver-popover.calculator-tour button:focus-visible { outline:3px solid var(--purple); outline-offset:2px; }
.tour-active-dialog { overflow:visible; }
.tour-active-dialog .country-list,.tour-active-dialog .reference-list { max-height:calc(60dvh - 100px); overflow:auto; }
body.dark { background:radial-gradient(circle at 17% 8%,#29213e 0,transparent 38%),radial-gradient(circle at 85% 24%,#241b39 0,transparent 43%),var(--bg); }
body.dark .coin-tabs-section h1 { color:#c7b7ff; }
body.dark .reference-list h3,body.dark .field-symbol { color:#c7b7ff; }
body.dark .dialog-close { color:var(--ink); background:#3a2f5e; }
@media (prefers-reduced-motion:reduce) {
  .ticker-viewport { overflow-x:auto; }
  .ticker-track { animation:none; transform:none; }
  .ticker-copy { display:none; }
}

.calculator-footer button { color:var(--purple); }
body.dark .calculator-footer button { color:var(--gold); }

.quote-meta { margin-bottom:16px; }

.field-icon.is-changing { animation:currency-icon-swap 420ms cubic-bezier(.22,.75,.25,1); }
@keyframes currency-icon-swap { 0% { opacity:1; transform:translateY(0) scale(1); } 35% { opacity:0; transform:translateY(-6px) scale(.9); } 36% { opacity:0; transform:translateY(6px) scale(.9); } 100% { opacity:1; transform:translateY(0) scale(1); } }

#theme-toggle .bx { position:relative; top:2px; }
#theme-toggle .bxs-sun { color:var(--gold); }
#theme-toggle .bxs-moon { color:#fff; }

#quote-countdown .bx-loader-alt { color:#d23678; }
