/* ═══════════════════════════════════════════════════════════════
   TinyMatch — "Toy Blocks" theme (Oct 2026)
   Loaded last on every page. Palette + type + shape in one place.
   ═══════════════════════════════════════════════════════════════ */
:root{
  /* core */
  --ink:#2B2D42; --paper:#FFFBF2; --cream:#FFF3DC; --cream2:#FBE8C4;
  --rust:#B9502F;   /* coral, text-safe (4.8:1 on paper) */
  --teal:#2F6E56;   /* sage, text-safe (5.8:1 on paper) */
  --gold:#C98A1B; --muted:#5E6178; --border:#EADFC8;
  /* block fills (decorative, ink text on top) */
  --butter:#F2CC8F; --sky:#A9D6E5; --sage:#B8DCC8; --rose:#F4C2C2; --coral:#E07A5F;
  /* type */
  --display:'Fredoka','Nunito Sans',system-ui,sans-serif;
  --serif:'Nunito Sans',system-ui,sans-serif;
  --mono:'Nunito Sans',system-ui,sans-serif;
  --radius:16px;
}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper)!important;color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}
body::after{display:none!important}

/* Display type */
h1,h2,h3,h4,.logo,.fl,.footer-logo,.mt,.dcn,.stat-n,.stat-num,.hero h1,
[class*="title"],[class*="-name"],.big-check+h3,.board-title,.name{
  font-family:var(--display)!important;letter-spacing:-.5px;
}
h1{font-weight:700!important;letter-spacing:-1px!important}
h2,h3{font-weight:600}
h1 em,h2 em,h3 em,[class*="title"] em{font-style:normal!important;color:var(--rust)}
.logo span,.fl span,.footer-logo span{color:#D4603F!important}
button{font-family:inherit}

/* Buttons: sentence case, chunky, toy-shadowed */
button,[class*="btn"],[class*="cta"],.msub,.fsub,.modal-submit,.add,.nav-cta,.nav-ghost,.post-toggle{
  text-transform:none!important;letter-spacing:.1px!important;font-weight:700!important;font-family:var(--serif)!important;
}
button:not(.chip):not(.filter-btn):not(.unlicensed-toggle):not([class*="close"]):not(.mc),
.msub,.fsub,.modal-submit,.nav-cta,.add,.dc-cta,.upgrade-cta{
  border-radius:14px!important;
}
.msub,.fsub,.modal-submit,.dc-cta,.add,.upgrade-cta,.capture-form button,.ef button,.nearby-btn{
  box-shadow:0 4px 0 rgba(43,45,66,.85);transition:transform .08s ease,box-shadow .08s ease;
}
.msub:active,.fsub:active,.modal-submit:active,.dc-cta:active,.add:active,.capture-form button:active,.ef button:active{
  transform:translateY(3px);box-shadow:0 1px 0 rgba(43,45,66,.85);
}

/* Inputs */
input:not([type=checkbox]):not([type=radio]),select,textarea{
  border-radius:12px!important;font-family:var(--serif)!important;font-size:16px;
}
input:focus,select:focus,textarea:focus{outline:3px solid var(--sky)!important;outline-offset:1px;border-color:var(--ink)!important}

/* Small labels that used to be mono caps */
label{letter-spacing:.3px}

/* Cards & modals */
.modal-box,.auth-box,.dc,.mbox,.mo .mb,.row,.how-card,.card{border-radius:var(--radius)!important}
nav{backdrop-filter:blur(10px)}

/* Links */
a{text-underline-offset:3px}

/* Map pins/popup polish */
.mapboxgl-popup-content{border-radius:14px!important;font-family:var(--serif)}

/* Focus visibility */
:focus-visible{outline:3px solid var(--sky)!important;outline-offset:2px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Logo block mark (all pages) */
.logo{display:inline-flex!important;align-items:center;gap:8px}
.logo::before{content:'';flex-shrink:0;width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='11' height='11' rx='3' fill='%23F2CC8F'/%3E%3Crect x='13' width='11' height='11' rx='3' fill='%23A9D6E5'/%3E%3Crect y='13' width='11' height='11' rx='3' fill='%23B8DCC8'/%3E%3Crect x='13' y='13' width='11' height='11' rx='3' fill='%23E07A5F'/%3E%3C/svg%3E") center/contain no-repeat}
.logo span{margin-left:-8px}  /* keep "tiny" + "match" together after the flex gap */
footer .logo::before,.fl::before{filter:none}

/* Navigation: friendly sentence-case links */
.nav-links a,nav a.back,.nav-right a,.nav-btn{text-transform:none!important;letter-spacing:0!important;font-weight:700!important;font-size:15px!important;white-space:nowrap}
.nav-links a.active,.nav-links a:hover{background:var(--cream)!important;color:var(--ink)!important;border-radius:12px}
.nav-cta{background:var(--ink)!important;color:#fff!important;border-radius:14px!important;padding:10px 16px!important}
@media(max-width:640px){
  nav{padding:12px 16px!important;flex-wrap:wrap}
  .nav-links{width:100%;flex-wrap:nowrap!important;overflow-x:auto;gap:4px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a,.nav-links button{flex-shrink:0}
}
/* Eyebrow labels: lighter tracking now that they're sans */
[class*="eyebrow"],.eyebrow,.sh>div:first-child{letter-spacing:.8px!important;font-weight:800}
.footer-links{flex-wrap:wrap!important;justify-content:center;row-gap:8px}
.nav-links{gap:4px!important}
.nav-links a{padding:8px 10px!important}
@media(max-width:700px){.count-tag{width:100%;order:9}.nearby-wrap{max-width:none!important}}
