/* FFU / Maya language explorer — light (FFU) and dark (ranas.ai) themes */
.ffx{--ffx-ink:#12262e;--ffx-muted:#5b6b73;--ffx-card:#fff;--ffx-line:#e6ebee;--ffx-soft:#f3f7f8;--ffx-accent:#0f766e;--ffx-accent-ink:#fff;--ffx-cta:#f0653f;--ffx-focus:rgba(15,118,110,.25);
  --ffx-native-bg:#f0fdfa;--ffx-native-line:#99f6e4;--ffx-native-ink:#115e59;
  --ffx-indig-bg:#fff1f2;--ffx-indig-line:#fecdd3;--ffx-indig-ink:#9f1239;
  --ffx-beta-bg:#fffbeb;--ffx-beta-line:#fde68a;--ffx-beta-ink:#92400e;
  --ffx-limited-bg:#f5f3ff;--ffx-limited-line:#ddd6fe;--ffx-limited-ink:#5b21b6;
  --ffx-classical-bg:#f8fafc;--ffx-classical-line:#cbd5e1;--ffx-classical-ink:#334155;
  color:var(--ffx-ink);font-family:inherit;line-height:1.5;max-width:1180px;margin:0 auto}
.ffx-dark{--ffx-ink:#F4F1EA;--ffx-muted:#A9A49A;--ffx-card:#141416;--ffx-line:rgba(255,255,255,.09);--ffx-soft:#111113;--ffx-accent:#F0B043;--ffx-accent-ink:#0A0A0B;--ffx-cta:#F0B043;--ffx-focus:rgba(240,176,67,.3);
  --ffx-native-bg:rgba(240,176,67,.12);--ffx-native-line:rgba(240,176,67,.45);--ffx-native-ink:#F0B043;
  --ffx-indig-bg:rgba(232,130,59,.12);--ffx-indig-line:rgba(232,130,59,.45);--ffx-indig-ink:#F4A67A;
  --ffx-beta-bg:rgba(255,255,255,.06);--ffx-beta-line:rgba(255,255,255,.18);--ffx-beta-ink:#D9D4CA;
  --ffx-limited-bg:rgba(255,255,255,.04);--ffx-limited-line:rgba(255,255,255,.14);--ffx-limited-ink:#B8B2A6;
  --ffx-classical-bg:rgba(255,255,255,.05);--ffx-classical-line:rgba(255,255,255,.16);--ffx-classical-ink:#CFC9BD}
.ffx *{box-sizing:border-box}
.ffx-top{display:grid;grid-template-columns:1fr 220px;gap:10px;margin-bottom:12px}
.ffx-search{position:relative}
.ffx-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:var(--ffx-muted);stroke-width:2;stroke-linecap:round}
.ffx-search input,.ffx-region{width:100%;height:50px;border:1px solid var(--ffx-line);border-radius:14px;background:var(--ffx-card);color:var(--ffx-ink);font:inherit;font-size:16px;padding:0 14px 0 42px;outline:none;transition:border-color .15s,box-shadow .15s}
.ffx-region{padding:0 14px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ffx-muted) 50%),linear-gradient(135deg,var(--ffx-muted) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.ffx-search input:focus,.ffx-region:focus{border-color:var(--ffx-accent);box-shadow:0 0 0 4px var(--ffx-focus)}
.ffx-tiers{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.ffx-tier{border:1px solid var(--ffx-line);background:var(--ffx-card);color:var(--ffx-ink);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer;transition:all .15s}
.ffx-tier b{font-weight:600;color:var(--ffx-muted);margin-left:4px}
.ffx-tier:hover{border-color:var(--ffx-accent)}
.ffx-tier.on{background:var(--ffx-accent);border-color:var(--ffx-accent);color:var(--ffx-accent-ink)}
.ffx-tier.on b{color:inherit;opacity:.8}
.ffx-blurb{margin:0 0 16px;color:var(--ffx-muted);font-size:14.5px}
.ffx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.ffx-card{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;gap:4px 14px;background:var(--ffx-card);border:1px solid var(--ffx-line);border-radius:18px;padding:16px;transition:transform .15s,box-shadow .15s,border-color .15s}
.ffx-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.08);border-color:var(--ffx-accent)}
.ffx-flag{font-size:30px;line-height:1;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--ffx-soft)}
.ffx-name{margin:0;font-size:17px;font-weight:600;line-height:1.25;color:var(--ffx-ink)}
.ffx-own{display:block;color:var(--ffx-muted);font-size:14px;margin-top:1px}
.ffx-where{margin:4px 0 6px;font-size:13px;color:var(--ffx-muted)}
.ffx-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.01em;padding:2px 9px;border-radius:999px;border:1px solid var(--ffx-line);vertical-align:middle}
.ffx-b-native{background:var(--ffx-native-bg);border-color:var(--ffx-native-line);color:var(--ffx-native-ink)}
.ffx-b-indigenous{background:var(--ffx-indig-bg);border-color:var(--ffx-indig-line);color:var(--ffx-indig-ink)}
.ffx-b-beta{background:var(--ffx-beta-bg);border-color:var(--ffx-beta-line);color:var(--ffx-beta-ink)}
.ffx-b-limited{background:var(--ffx-limited-bg);border-color:var(--ffx-limited-line);color:var(--ffx-limited-ink)}
.ffx-b-classical{background:var(--ffx-classical-bg);border-color:var(--ffx-classical-line);color:var(--ffx-classical-ink)}
.ffx-actions{grid-column:1/-1;display:flex;gap:8px;align-items:center;margin-top:8px}
.ffx-btn{display:inline-block;background:var(--ffx-cta);color:#fff;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:600;text-decoration:none;transition:filter .15s}
.ffx-dark .ffx-btn{color:#0A0A0B}
.ffx-btn:hover{filter:brightness(1.07);text-decoration:none}
.ffx-link{color:var(--ffx-accent);font-weight:600;font-size:13.5px;text-decoration:none;padding:8px 10px}
.ffx-link:hover{text-decoration:underline}
.ffx-empty{text-align:center;padding:40px 20px;border:1px dashed var(--ffx-line);border-radius:18px;color:var(--ffx-muted)}
.ffx-empty p{margin:0 0 12px;font-size:16px}
.ffx-mini{display:block;margin-top:10px;font-size:12.5px}
@media(max-width:720px){.ffx-top{grid-template-columns:1fr}.ffx-grid{grid-template-columns:1fr}.ffx-tier{padding:7px 11px;font-size:13px}}
/* picker upgrade */
.ffx-pick{display:flex;flex-direction:column;gap:8px}
.ffx-pick-search{width:100%;font:inherit}
.ffx-pick-hint{margin:2px 0 0;font-size:12.5px;line-height:1.6;opacity:.85}
.ffx-pick .ffx-badge{margin-right:2px}
.ffx-more{display:flex;justify-content:center;margin:18px 0 0}
.ffx-more-btn{padding:10px 18px;font-size:14px}
