/* Premium pass: sticky header, cinematic hero, unified tiles, motion, footer */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html{scroll-padding-top:var(--header-h)}
.site-header{position:sticky;top:0;z-index:900;height:var(--header-h);display:flex;align-items:center;gap:20px;padding:0 clamp(14px,3vw,36px);background:rgba(10,10,12,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}
.sh-logo{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:.04em;color:var(--ink);text-decoration:none;white-space:nowrap}
.sh-logo span{color:var(--gold-bright)}
.sh-nav{display:flex;gap:4px;margin-left:auto}
.sh-nav a{color:var(--muted);text-decoration:none;font:600 14px Inter,sans-serif;padding:8px 12px;border-radius:8px}
.sh-nav a:hover,.sh-nav a:focus-visible{color:var(--ink);background:rgba(255,255,255,.06)}
.lang-select{font:600 14px Inter,sans-serif;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 10px;cursor:pointer}
.sh-sub,.btn-gold{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#1a1405;font:700 14px Inter,sans-serif;text-decoration:none;border:0;border-radius:10px;padding:10px 18px;cursor:pointer;white-space:nowrap}
.sh-sub:hover,.btn-gold:hover{filter:brightness(1.08)}
a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}
@media(max-width:900px){.sh-nav{display:none}.sh-lang{margin-left:auto}}
@media(max-width:480px){.sh-logo{font-size:21px}.sh-lang select{max-width:104px}}

/* Hero */
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 6px}
.hero-ctas .btn-gold{font-size:16px;padding:14px 26px}
.btn-ghost{color:var(--ink);font:600 16px Inter,sans-serif;text-decoration:none;border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:14px 22px}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.hero-cue{display:none}
.hero-lang-pick .lang-select{min-width:240px;font-size:16px;padding:12px 14px}
/* Banner stays a full-width image on top; copy and language card sit below it (as before) */
.hero-media .hero-banner{display:block;width:100%;height:auto}
.hero-lang-chips[hidden]{display:none!important}

/* One tile language for every data section */
.econ .panel,.econ .card,.econ [class*="-card"]{border-radius:16px}
.econ{border-top:1px solid rgba(var(--accent-rgb),.35)}
@media(min-width:1100px){.wrap{max-width:1240px}}
#worldclock,#currency-board{min-height:480px}

/* Motion: price flash (only when a value actually changes) */
@keyframes flashUp{from{background:rgba(95,208,138,.45)}to{background:transparent}}
@keyframes flashDown{from{background:rgba(255,107,107,.45)}to{background:transparent}}
.flash-up{animation:flashUp 1.2s ease-out}
.flash-down{animation:flashDown 1.2s ease-out}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.is-loading{color:transparent!important;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.05) 25%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.05) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}
@media(prefers-reduced-motion:reduce){.flash-up,.flash-down,.is-loading{animation:none}}

/* Subscribe states */
.sib-form-message-panel{border-radius:12px}
#success-message{border:1px solid #5fd08a}

/* Footer */
.site-footer{background:var(--panel);border-top:1px solid var(--line-soft);padding:56px 0 28px;margin-top:40px}
.sf-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.sf-logo{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:.04em}
.sf-logo span{color:var(--gold-bright)}
.sf-brand p{color:var(--muted);max-width:44ch;line-height:1.6}
.sf-col h4{font:700 14px Inter,sans-serif;margin:0 0 12px;color:var(--gold-bright)}
.sf-col a{display:block;color:var(--muted);text-decoration:none;padding:5px 0;font:500 15px Inter,sans-serif}
.sf-col a:hover{color:var(--ink)}
.sf-legal{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font:14px Inter,sans-serif}
@media(max-width:700px){.sf-grid{grid-template-columns:1fr}}

/* Header stays out of the banner: hidden until the banner has scrolled away */
.site-header{position:fixed;top:0;left:0;right:0;transform:translateY(-100%);transition:transform .25s ease;pointer-events:none}
.site-header.is-visible{transform:none;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}

/* Keep the buttons in the text column, under the description — never over the banner */
@media(min-width:900px){.hero-copy > .hero-ctas{grid-column:1;grid-row:3;margin:22px 0 0}}

/* Header is desktop-only: phones keep the page exactly as it was */
@media(max-width:899px){
  :root{--header-h:0px}
  .site-header{display:none}
}

/* Desktop: dashboards sit side by side */
@media(min-width:1100px){
  .dash-pair{display:grid;grid-template-columns:1fr 1fr;max-width:1520px;margin:0 auto;align-items:stretch}
  .dash-pair > .section{min-width:0;min-height:0}
  .dash-pair > .section > .wrap{max-width:none;padding-left:clamp(20px,2.4vw,40px);padding-right:clamp(20px,2.4vw,40px)}
  .dash-pair .worldclock-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .dash-pair .worldclock-grid > *{padding-left:6px;padding-right:6px}
  #worldclock,#currency-board{min-height:0}
}

/* About Carl */
.about-grid{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.about-photo{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:20px;border:2px solid var(--gold-dim)}
.about-copy h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(40px,5vw,64px);letter-spacing:.03em;margin:0 0 10px}
.about-lead{font:600 clamp(20px,2vw,26px)/1.35 Fraunces,Georgia,serif;color:var(--gold-bright);margin:0 0 16px}
.about-copy p{max-width:60ch;line-height:1.7;color:var(--ink)}
.about-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@media(max-width:760px){.about-grid{grid-template-columns:1fr}.about-photo{max-width:280px}}
.site-footer .sf-legal{display:block}
.btn-gold,.btn-ghost,.sh-sub{display:inline-flex;align-items:center;justify-content:center;line-height:1.2}

/* About photo: portrait frame, anchored to the top so the head is never cropped */
.about-grid{grid-template-columns:minmax(0,380px) minmax(0,1fr)}
.about-photo{aspect-ratio:3/4;object-fit:cover;object-position:50% 8%}
@media(max-width:760px){.about-grid{grid-template-columns:1fr}.about-photo{max-width:300px}}

/* Language card: every language shown in its own words, in a tidy grid */
.hero-lang-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hero-lang-chips .lang-chip{display:flex;align-items:center;gap:8px;width:100%;margin:0;text-align:left;white-space:normal;line-height:1.3}
.hero-lang-chips .lang-chip-en{grid-column:1/-1}
@media(max-width:560px){.hero-lang-chips{grid-template-columns:1fr}}

/* ===== Polish pass: icons, tap feedback, jump highlight, floating menu, reveals, skeletons ===== */
.mi{ width:1em; height:1em; display:block; flex:none; }
.menu-card-icon{ color:rgb(var(--g)); }
.menu-card-icon .mi{ width:24px; height:24px; }
.menu-group-title > span:first-child{ display:inline-grid; place-items:center; }
.mi-g{ width:22px; height:22px; }
@media (min-width:700px){ .menu-card-icon .mi{ width:26px; height:26px; } }

/* Tap feedback: a quick press-in, and no "stuck" hover lift on touch screens */
html .menu-card{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
/* Each card sits in a wrapper so the star can live in its corner without nesting buttons inside links */
.menu-item{ position:relative; display:flex; min-width:0; transition:transform .18s ease; }
.menu-item > .menu-card{ flex:1 1 auto; min-width:0; }
html .menu-card:hover{ transform:none; }
@media (hover:hover){ html .menu-item:hover{ transform:translateY(-3px); } }
html .menu-item:has(> .menu-card:active){ transform:scale(.97); transition-duration:.08s; }

/* Landing highlight on the section a card jumps to */
@keyframes jumpFlash{
  0%{ box-shadow:inset 0 3px 0 rgba(239,201,120,.95), inset 0 48px 70px -46px rgba(239,201,120,.30); }
  100%{ box-shadow:inset 0 3px 0 rgba(239,201,120,0), inset 0 48px 70px -46px rgba(239,201,120,0); }
}
.jump-flash{ animation:jumpFlash 1.7s ease-out 1; }

/* Floating Menu button (phones only) */
.menu-fab[hidden]{ display:none; }
.menu-fab{ position:fixed; right:14px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); z-index:55; display:inline-flex; align-items:center; gap:8px;
  padding:11px 17px 11px 13px; border-radius:999px; font:700 14px Inter,sans-serif; letter-spacing:.02em; color:#1a1405; text-decoration:none;
  background:linear-gradient(180deg,var(--gold-bright),var(--gold)); box-shadow:0 10px 28px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.14);
  opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity .2s ease, transform .2s ease; -webkit-tap-highlight-color:transparent; }
.menu-fab.is-on{ opacity:1; transform:none; pointer-events:auto; }
.menu-fab:active{ transform:scale(.96); }
.menu-fab .mi{ width:18px; height:18px; }
@media (min-width:700px){ .menu-fab{ display:none !important; } }

/* Scroll reveals (classes are added by premium.js only when motion is allowed) */
.js-reveal .rv{ opacity:0; transition:opacity .6s ease, transform .6s ease; }
.js-reveal .rv.rv-up{ transform:translateY(18px); }
.js-reveal .rv.is-in{ opacity:1; transform:none; }

/* Loading placeholders: shimmer shows only while a live grid is still empty, then steps aside */
@keyframes twcShimmer{ 0%{ background-position:200% 0; } 100%{ background-position:-200% 0; } }
@keyframes twcSkelGone{ to{ opacity:0; height:0; } }
#fxGridMajors:empty, #pricesGridFuel:empty, #pricesGridStore:empty, #tvnGrid:empty, #ratesGridMajors:empty, #m2Grid:empty{ display:block; }
#fxGridMajors:empty::before, #pricesGridFuel:empty::before, #pricesGridStore:empty::before, #tvnGrid:empty::before, #ratesGridMajors:empty::before, #m2Grid:empty::before{
  content:''; display:block; height:132px; border-radius:16px;
  background:linear-gradient(90deg, rgba(255,255,255,.04) 25%, rgba(255,255,255,.10) 50%, rgba(255,255,255,.04) 75%); background-size:200% 100%;
  animation:twcShimmer 1.4s ease-in-out 7, twcSkelGone .3s ease 10s forwards; }
@media (prefers-reduced-motion:reduce){ .jump-flash{ animation:none; } .menu-fab{ transition:none; } }
.menu-fav{ text-align:left; }

/* ===== Menu sheet: the card list, opened in place from the floating Menu button ===== */
.menu-sheet-scrim[hidden], .menu-sheet[hidden]{ display:none; }
.menu-sheet-scrim{ position:fixed; inset:0; z-index:140; background:rgba(4,7,18,.6); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); opacity:0; transition:opacity .22s ease; }
.menu-sheet-scrim.is-open{ opacity:1; }
.menu-sheet{ position:fixed; left:0; right:0; bottom:0; z-index:141; max-height:82vh; max-height:82dvh; display:flex; flex-direction:column;
  background:linear-gradient(180deg,#171822,#0e0f15); border:1px solid rgba(239,201,120,.22); border-bottom:0; border-radius:22px 22px 0 0;
  box-shadow:0 -18px 50px rgba(0,0,0,.55); transform:translateY(100%); transition:transform .26s cubic-bezier(.2,.8,.2,1); overscroll-behavior:contain; }
.menu-sheet.is-open{ transform:none; }
.ms-grab{ width:40px; height:4px; border-radius:4px; background:rgba(255,255,255,.22); margin:9px auto 0; flex:none; }
.ms-head{ display:flex; align-items:center; justify-content:space-between; padding:10px 18px 6px; flex:none; }
.ms-title{ font-family:'Bebas Neue',sans-serif; font-size:26px; letter-spacing:.06em; color:var(--ink); }
.ms-close{ width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.05); color:var(--muted); font-size:15px; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.ms-body{ overflow-y:auto; -webkit-overflow-scrolling:touch; padding:4px 16px calc(18px + env(safe-area-inset-bottom,0px)); }
.ms-group{ margin-top:14px; }
.ms-gtitle{ display:flex; align-items:center; gap:8px; margin:0 0 9px; font-size:17px; letter-spacing:.05em; color:rgb(var(--g)); }
.ms-gtitle .mi{ width:18px; height:18px; }
.ms-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.ms-chip:last-child:nth-child(odd){ grid-column:1 / -1; }
.ms-chip{ display:flex; align-items:center; gap:10px; min-height:52px; padding:8px 12px 8px 9px; border-radius:14px; text-decoration:none; color:var(--ink);
  border:1px solid rgba(var(--g),.24); background:radial-gradient(180px 80px at 0% 0%, rgba(var(--g),.14), transparent 70%), linear-gradient(180deg,#1a1b25,#12131a);
  -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.ms-chip:active{ transform:scale(.97); }
.ms-ico{ flex:none; width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:rgb(var(--g));
  background:linear-gradient(135deg, rgba(var(--g),.28), rgba(var(--g),.07)); border:1px solid rgba(var(--g),.36); }
.ms-ico .mi{ width:20px; height:20px; }
.ms-label{ font-family:'Bebas Neue',sans-serif; font-size:17px; letter-spacing:.05em; line-height:1.1; }
@media (min-width:700px){ .menu-sheet-scrim, .menu-sheet{ display:none !important; } }
@media (prefers-reduced-motion:reduce){ .menu-sheet, .menu-sheet-scrim{ transition:none; } }
/* Emoji card icons: keep them readable inside the Jump-to sheet too */
.ms-ico{ font-size:19px; line-height:1; }

/* ===== Favorites: star on every card, removal options, undo toast ===== */
.menu-star{ position:absolute; top:8px; right:8px; z-index:2; width:40px; height:40px; display:grid; place-items:center; padding:0; border:0; border-radius:50%;
  background:transparent; color:rgba(255,255,255,.55); cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; transition:color .15s, background .15s; }
.menu-star svg{ width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; stroke-linecap:round; transition:fill .15s; }
@media (hover:hover){ .menu-star:hover{ color:#efc978; background:rgba(239,201,120,.13); } }
.menu-star:focus-visible{ outline:2px solid #efc978; outline-offset:1px; }
.menu-star[aria-pressed="true"]{ color:#efc978; }
.menu-star[aria-pressed="true"] svg{ fill:#efc978; filter:drop-shadow(0 0 6px rgba(239,201,120,.55)); }
.menu-star.pop svg{ animation:starPop .4s cubic-bezier(.2,1.6,.4,1); }
@keyframes starPop{ 0%{ transform:scale(.55); } 60%{ transform:scale(1.4); } 100%{ transform:scale(1); } }
@media (max-width:699px){ .is-full > .menu-card{ padding-right:52px; } }
.menu-fav .menu-group-head::after{ order:1; }
.menu-fav-clear{ order:2; flex:none; padding:7px 13px; border-radius:999px; border:1px solid rgba(239,201,120,.35); background:rgba(239,201,120,.08); color:#efc978;
  font:600 12px Inter,sans-serif; letter-spacing:.02em; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.menu-fav-clear:active{ transform:scale(.96); }
.menu-toast[hidden]{ display:none; }
.menu-toast{ position:fixed; left:50%; transform:translateX(-50%); bottom:calc(80px + env(safe-area-inset-bottom,0px)); z-index:150; display:flex; align-items:center; gap:14px;
  width:max-content; max-width:calc(100vw - 28px); padding:10px 10px 10px 16px; border-radius:14px; background:#1d1e29; color:var(--ink); border:1px solid rgba(239,201,120,.3);
  box-shadow:0 12px 32px rgba(0,0,0,.55); font:500 14px Inter,sans-serif; }
.menu-toast button{ border:0; background:rgba(239,201,120,.16); color:#efc978; font:700 13px Inter,sans-serif; padding:8px 13px; border-radius:10px; cursor:pointer; }
@media (min-width:700px){ .menu-toast{ bottom:24px; } }
@media (prefers-reduced-motion:reduce){ .menu-star.pop svg{ animation:none; } .menu-item{ transition:none; } }

/* ===== World clock: "what the world is up to" and the clocks merged into one ===== */
.wc-groups{ display:grid; grid-template-columns:1fr; gap:12px; margin-top:10px; }
@media (min-width:700px) and (max-width:1099px){ .wc-groups{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.wc-loading{ color:var(--muted); font-size:14px; padding:6px 0; }
.wc-group{ --a:255,138,112; padding:14px; border-radius:16px; border:1px solid rgba(var(--a),.30);
  background:radial-gradient(280px 130px at 0% 0%, rgba(var(--a),.16), transparent 70%), rgba(255,255,255,.03); }
.wc-group.act-wake, .wc-group.act-breakfast{ --a:255,170,90; }
.wc-group.act-work, .wc-group.act-weekend{ --a:255,126,182; }
.wc-group.act-lunch, .wc-group.act-home, .wc-group.act-dinner{ --a:255,138,112; }
.wc-group.act-wind{ --a:150,120,255; }
.wc-group.act-sleep{ --a:110,125,200; }
.wc-group-head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.wc-group-icon{ font-size:26px; line-height:1; flex:none; }
.wc-group-label{ font-size:15px; font-weight:800; line-height:1.25; color:var(--ink); }
.wc-cities{ display:grid; grid-template-columns:repeat(auto-fill,minmax(132px,1fr)); gap:10px; }
.wc-city{ position:relative; min-width:0; padding:11px 12px 10px; border-radius:13px; background:rgba(0,0,0,.24); border:1px solid rgba(255,255,255,.08); }
.wc-city-name{ font-size:15px; font-weight:800; color:var(--ink); line-height:1.2; }
.wc-emoji{ margin-right:6px; }
.wc-city-region{ margin-top:2px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); }
.wc-city-time{ margin-top:7px; font-family:'Bebas Neue',sans-serif; font-size:30px; letter-spacing:.03em; line-height:1.05; color:rgb(var(--a)); filter:brightness(1.35); white-space:nowrap; }
.wc-daypart{ position:absolute; right:11px; bottom:9px; font-size:16px; line-height:1; }
.wc-city-date{ margin-top:2px; font-size:12px; color:var(--muted); }
.wc-city.is-pinned{ border-color:rgba(var(--a),.4); }
.wc-unpin{ position:absolute; top:7px; right:7px; width:22px; height:22px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:rgba(8,9,14,.55);
  color:var(--muted); font:inherit; font-size:15px; line-height:1; padding:0; cursor:pointer; opacity:.75; -webkit-tap-highlight-color:transparent; }
.wc-unpin:hover, .wc-unpin:focus-visible{ opacity:1; background:linear-gradient(90deg,#ff7eb6,#ff9a5c); color:#1a1015; }
#clockAhead:empty{ display:none; }

.wc-cities > .wc-city:only-child{ grid-column:1 / -1; }
@media (max-width:1099px){ .wc-cities > .wc-city:last-child:nth-child(odd){ grid-column:1 / -1; } }
@media (max-width:420px){ .wc-city-name{ font-size:14px; } .wc-city-time{ font-size:26px; } }

/* Desktop (side-by-side layout): the "How this actually affects you" lesson is always shown, no button */
@media (min-width:1100px){
  #fxGuideToggle{ display:none; }
  #fxGuide[hidden]{ display:block; }
  #fxGuide{ margin-top:16px; }
}

/* Desktop language picker with SVG flags (shown only on desktop; phones keep the native select) */
.lp{display:none}
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  .lp-on .sh-lang.lp-src{display:none}
  .lp-on .lp{display:block;position:relative}
  .lp-btn{display:flex;align-items:center;gap:9px;font:600 14px Inter,sans-serif;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;white-space:nowrap}
  .lp-btn:hover,.lp-btn[aria-expanded="true"]{border-color:rgba(239,201,120,.55)}
  .lp-caret{width:10px;height:7px;color:var(--muted);margin-left:2px}
  .lp-flag{display:inline-flex;flex:none;width:24px;height:16px;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
  .lp-flag svg{display:block;width:100%;height:100%}
  .lp-list{position:absolute;right:0;top:calc(100% + 6px);min-width:100%;margin:0;padding:6px;list-style:none;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.55);z-index:950}
  .lp-list[hidden]{display:none}
  .lp-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font:600 14px Inter,sans-serif;color:var(--ink);cursor:pointer;white-space:nowrap}
  .lp-list li:hover,.lp-list li:focus-visible{background:rgba(255,255,255,.08);outline:none}
  .lp-list li[aria-selected="true"]{background:rgba(239,201,120,.14);color:var(--gold-bright)}
}

/* Flag images (real SVG files, so every OS/browser shows them; Windows has no flag emoji) */
.flag-img{display:inline-block;flex:none;vertical-align:-3px;width:28px;height:19px;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.2)}

/* ===== World clocks: day/night map + weather ===== */
.wc-map{ margin:14px 0 4px; padding:14px 14px 10px; border-radius:16px; background:linear-gradient(180deg,rgba(8,10,20,.78),rgba(10,10,16,.62)); border:1px solid rgba(255,255,255,.09); }
.wc-map-head{ display:flex; align-items:center; gap:14px; margin-bottom:8px; flex-wrap:wrap; }
.wc-map-title{ font:800 13px Inter,sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); }
.wc-map-key{ display:inline-flex; align-items:center; gap:6px; font:600 11.5px Inter,sans-serif; color:var(--muted); margin-left:auto; }
.wc-map-key i{ width:9px; height:9px; border-radius:50%; display:inline-block; margin-left:8px; }
.wc-map-key i:first-child{ margin-left:0; }
.k-day{ background:#ffc462; } .k-tw{ background:#a98a96; } .k-night{ background:#465a96; }
.wc-unit{ font:700 12px Inter,sans-serif; color:var(--gold-bright); background:transparent; border:1px solid var(--line); border-radius:999px; padding:4px 11px; cursor:pointer; }
.wc-unit:hover{ border-color:rgba(239,201,120,.55); }
#wcMapCanvas{ display:block; width:100%; height:auto; }
.wc-map-cap{ margin:8px 0 0; font-size:12.5px; color:var(--muted); }
.wc-wx{ display:grid; grid-template-columns:18px 1fr; column-gap:7px; row-gap:1px; align-items:center; margin-top:8px; padding:7px 0 0 0; border-top:1px solid rgba(255,255,255,.08); font-size:12px; color:var(--ink); }
.wc-wx-ico{ grid-row:1 / span 2; width:18px; height:18px; color:rgb(var(--a)); filter:brightness(1.3); }
.wc-wx-ico svg{ display:block; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.wc-wx-main{ font-weight:700; line-height:1.25; }
.wc-wx-sub{ white-space:nowrap; color:var(--muted); font-size:11.5px; line-height:1.25; }
.wc-wx-sun{ grid-column:1 / -1; margin-top:3px; font-size:11.5px; white-space:nowrap; font-weight:600; color:var(--gold-bright); }
.wc-wx-sun:empty{ display:none; }
.wc-credit{ margin-top:10px; }
@media (max-width:560px){ .wc-map{ padding:10px 10px 8px; } .wc-map-key{ margin-left:0; } .wc-unit{ margin-left:auto; } }
.wc-unit b{ color:var(--ink); }

/* Currency board flag images (consistent on desktop + mobile; emoji flags render as letters on Windows) */
.fx-flag-img{display:inline-block;flex:none;width:24px;height:16px;object-fit:cover;vertical-align:-3px;border-radius:2px;box-shadow:0 0 0 1px rgba(128,128,128,.35)}
.econ .fx-grid-rest .fx-card .fx-flag-img{width:20px;height:13px;vertical-align:-2px}
#fxHookText .fx-flag-img{width:20px;height:13px;vertical-align:-2px}
.fx-card .fx-flag{display:inline-flex;align-items:center}

/* ===== Currency board, desktop: all currencies shown, converter fills the column so it matches the clocks ===== */
.fx-conv-title,.fx-rateline{display:none}
@media(min-width:1100px){
  #currency-board{display:flex;flex-direction:column}
  #currency-board > .wrap{flex:1;display:flex;flex-direction:column;width:100%}
  #currency-board > .wrap > *{order:0}
  #currency-board #fxMoreToggle{display:none}
  #currency-board #fxMore[hidden]{display:block}
  #currency-board .fx-group{margin-bottom:0}
  #currency-board .econ-grid,#currency-board .fx-grid-majors{gap:10px}
  #currency-board .fx-grid-rest{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  #currency-board #fxMore .fx-group{margin-top:12px!important}
  #currency-board .fx-converter{order:1;flex:none;margin-top:16px!important;display:grid!important;grid-template-columns:1fr auto 1fr;gap:12px 12px!important;align-content:start;align-items:end!important}
  #currency-board .fx-converter > *{flex:none!important;min-width:0!important}
  #currency-board .fx-conv-title{display:block;grid-column:1/-1;font:700 15px/1.2 Fraunces,Georgia,serif;color:var(--ink)}
  #currency-board .fx-conv-title em{display:block;margin-top:3px;font:500 12.5px/1.3 system-ui,sans-serif;font-style:normal;color:var(--muted)}
  #currency-board .fx-converter > :nth-child(2){grid-column:1/-1}
  #currency-board .fx-converter > :last-child{grid-column:1/-1}
  #currency-board #fxResult{font-size:24px!important;padding:14px 16px!important}
  #currency-board .fx-rateline{display:block;margin-top:8px;font-size:12.5px;color:var(--muted);white-space:pre-wrap}
  #currency-board #fxGuideToggle{order:2}
  #currency-board #fxGuide{order:3}
  #currency-board .fine-print{order:4}
}

/* "What $100 buys" list: desktop only, fills the column so it lines up with the clocks */
.fx-buys{display:none}
@media(min-width:1100px){
  #currency-board .fx-buys{display:block;order:1;margin-top:14px;background:var(--panel);border:1px solid rgba(var(--accent-rgb),.3);border-top:3px solid var(--accent);border-radius:14px;padding:16px 20px 8px}
  #currency-board .fx-buys-title{font:700 15px/1.2 Fraunces,Georgia,serif;color:var(--ink);margin-bottom:6px}
  #currency-board .fx-buys-title em{display:block;margin-top:3px;font:500 12.5px/1.3 system-ui,sans-serif;font-style:normal;color:var(--muted)}
  #currency-board .fx-buys-list{list-style:none;margin:0;padding:0}
  #currency-board .fx-buys-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
  #currency-board .fx-buys-list li:last-child{border-bottom:0}
  #currency-board .fx-buys-name{display:flex;align-items:center;gap:10px;color:var(--muted)}
  #currency-board .fx-buys-list b{color:var(--ink);font-variant-numeric:tabular-nums}
  #currency-board .fx-converter{flex:none}
  #currency-board .fx-buys{flex:1 1 auto;max-height:580px;display:flex;flex-direction:column}
  #currency-board .fx-buys-list{flex:1;display:flex;flex-direction:column}
  #currency-board .fx-buys-list li{flex:1 1 auto;max-height:50px}
}
