/*
Theme Name:  Bosstache
Theme URI:   https://bosstache.com
Author:      Bosstache
Author URI:  https://bosstache.com
Description: The world's funniest stress-relief face editor. Upload any photo, add mustaches, warp faces, play fun games and giggle your worries away. Perfect for office stress relief, boss fun, and sharing laughs with friends.
Version:     1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License:     GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bosstache
Tags:        custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, one-page, entertainment, fun
*/

/* =============================================
   BOSSTACHE THEME — Full CSS
   bosstache.com — Giggle your stress away!
   ============================================= */

:root {
  --peach:    #ffb347;
  --coral:    #ff6b6b;
  --sky:      #74c7ec;
  --mint:     #a8e6cf;
  --lavender: #c9b8f0;
  --butter:   #fff3b0;
  --warm:     #fff8f2;
  --ink:      #3d3250;
  --soft:     #8a7fa0;
  --white:    #ffffff;
  --card-bg:  rgba(255,255,255,0.80);
  --shadow-sm:0 4px 20px rgba(61,50,80,.07);
  --shadow-md:0 8px 32px rgba(61,50,80,.12);
  --radius:   20px;
  --radius-sm:12px;
  --radius-pill:100px;
}

/* RESET */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: 'Quicksand', sans-serif;
  font-weight: 600;
  background: var(--warm);
  color: var(--ink);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* BLOBS */
.bt-blob {
  position: fixed; border-radius: 50%;
  filter: blur(80px); opacity: .28;
  pointer-events: none; z-index: 0;
  animation: blobDrift 14s ease-in-out infinite alternate;
}
.bt-blob-1 { width:560px;height:560px;background:var(--peach);top:-140px;left:-100px;animation-delay:0s; }
.bt-blob-2 { width:400px;height:400px;background:var(--mint);bottom:-80px;right:-70px;animation-delay:5s; }
.bt-blob-3 { width:300px;height:300px;background:var(--lavender);top:38%;left:58%;animation-delay:8s; }
.bt-blob-4 { width:220px;height:220px;background:var(--sky);top:8%;right:18%;animation-delay:3s; }
@keyframes blobDrift {
  from { transform:translate(0,0) scale(1); }
  to   { transform:translate(28px,20px) scale(1.08); }
}

/* SKIP LINK */
.skip-link { position:absolute;top:-100px;left:0;z-index:999;background:var(--coral);color:#fff;padding:8px 16px;border-radius:0 0 8px 8px; }
.skip-link:focus { top:0; }

/* NAVIGATION */
#bt-nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,248,242,.88);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 2px 16px rgba(61,50,80,.06);
}
.bt-nav-inner {
  max-width: 1160px; margin: 0 auto;
  padding: 0 20px;
  display: flex; align-items: center;
  justify-content: space-between;
  height: 64px;
}
.bt-nav-logo {
  display: flex; align-items: center; gap: 10px;
  text-decoration: none;
}
.bt-nav-logo svg { height: 42px; width: auto; }
.bt-nav-wordmark {
  font-family: 'Baloo 2', cursive;
  font-weight: 800; font-size: 1.55rem;
  background: linear-gradient(135deg, var(--coral), var(--peach));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  line-height: 1;
}
.bt-nav-links {
  display: flex; align-items: center; gap: 6px;
  list-style: none;
}
.bt-nav-links a {
  padding: 7px 14px; border-radius: var(--radius-pill);
  text-decoration: none; font-weight: 700; font-size: .82rem;
  color: var(--soft); transition: all .2s;
}
.bt-nav-links a:hover { background: rgba(255,107,107,.1); color: var(--coral); }
.bt-nav-cta {
  background: linear-gradient(135deg, var(--coral), var(--peach)) !important;
  color: white !important; padding: 8px 20px !important;
  box-shadow: 0 3px 12px rgba(255,107,107,.3);
}
.bt-nav-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(255,107,107,.4) !important; }
.bt-hamburger { display:none; cursor:pointer; background:none; border:none; font-size:1.4rem; }

/* HERO */
#bt-hero {
  position: relative; z-index: 10;
  text-align: center;
  padding: 56px 20px 32px;
}
.bt-logo-lockup {
  display: inline-flex; flex-direction: column;
  align-items: center; gap: 4px; margin-bottom: 16px;
}
.bt-logo-svg-wrap {
  position: relative; display: inline-block;
}
.bt-logo-svg-wrap svg {
  height: 120px; width: auto;
  filter: drop-shadow(0 8px 24px rgba(255,107,107,.25));
  animation: logoWobble 4s ease-in-out infinite;
}
@keyframes logoWobble {
  0%,100% { transform: rotate(-3deg) scale(1); }
  50%      { transform: rotate(3deg) scale(1.04); }
}
.bt-site-title {
  font-family: 'Baloo 2', cursive;
  font-weight: 800;
  font-size: clamp(3rem,10vw,6.5rem);
  line-height: 1;
  background: linear-gradient(135deg, var(--coral) 0%, var(--peach) 50%, var(--lavender) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  filter: drop-shadow(0 4px 16px rgba(255,107,107,.2));
  letter-spacing: -1px;
}
.bt-tagline {
  font-family: 'Baloo 2', cursive;
  font-size: clamp(1rem,3vw,1.35rem);
  font-weight: 600; color: var(--soft);
  margin-bottom: 8px;
}
.bt-sub-tagline {
  font-size: .85rem; color: rgba(61,50,80,.45);
  max-width: 480px; margin: 0 auto 20px; line-height: 1.5;
}
.bt-wiggle-row {
  font-size: 1.7rem; margin-bottom: 20px;
  display: flex; justify-content: center; gap: 8px;
}
.bt-wiggle-row span {
  display: inline-block;
  animation: wig 2s ease-in-out infinite alternate;
}
.bt-wiggle-row span:nth-child(2){animation-delay:.15s;}
.bt-wiggle-row span:nth-child(3){animation-delay:.3s;}
.bt-wiggle-row span:nth-child(4){animation-delay:.45s;}
.bt-wiggle-row span:nth-child(5){animation-delay:.6s;}
@keyframes wig {
  from { transform:rotate(-8deg) scale(1); }
  to   { transform:rotate(8deg) scale(1.18); }
}

/* WHO TOGGLE */
.bt-who-wrap { display:flex; justify-content:center; margin-bottom:20px; }
.bt-who-toggle {
  display:flex; background:rgba(255,255,255,.75);
  border:1.5px solid rgba(255,255,255,.9); border-radius:var(--radius-pill);
  padding:4px; gap:4px;
  box-shadow: var(--shadow-sm);
}
.bt-who-btn {
  padding:7px 20px; border-radius:var(--radius-pill); border:none;
  font-family:'Quicksand',sans-serif; font-weight:700; font-size:.8rem;
  cursor:pointer; transition:all .22s; color:var(--soft); background:transparent;
}
.bt-who-btn.active {
  background:linear-gradient(135deg,var(--coral),var(--peach));
  color:white; box-shadow:0 3px 10px rgba(255,107,107,.3);
}

/* MAIN APP LAYOUT */
#bt-app {
  position: relative; z-index: 10;
  max-width: 1160px; margin: 0 auto;
  padding: 0 14px 60px;
  display: grid;
  grid-template-columns: 244px 1fr;
  gap: 14px;
}
@media (max-width:820px) { #bt-app { grid-template-columns:1fr; } }

/* CARD */
.bt-card {
  background: var(--card-bg);
  backdrop-filter: blur(20px);
  border-radius: var(--radius);
  padding: 16px;
  border: 1.5px solid rgba(255,255,255,.92);
  box-shadow: var(--shadow-sm);
  position: relative; overflow: hidden;
}
.bt-card::before {
  content:''; position:absolute; top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--peach),var(--coral),var(--lavender));
  opacity:.4;
}
.bt-card-title {
  font-family:'Baloo 2',cursive; font-weight:800; font-size:.95rem;
  color:var(--ink); margin-bottom:12px;
  display:flex; align-items:center; gap:5px;
}
.bt-sec-label {
  font-size:.62rem; font-weight:700; text-transform:uppercase;
  letter-spacing:2px; color:var(--soft); margin-bottom:8px;
}

/* LEFT COL */
.bt-left { display:flex; flex-direction:column; gap:12px; }

/* UPLOAD ZONE */
.bt-upload-zone {
  border:2.5px dashed rgba(255,107,107,.32); border-radius:14px;
  padding:18px 10px; text-align:center; cursor:pointer;
  transition:all .3s; background:rgba(255,179,71,.05); position:relative;
}
.bt-upload-zone:hover, .bt-upload-zone.over {
  border-color:var(--peach); background:rgba(255,179,71,.11); transform:scale(1.02);
}
.bt-upload-zone input { position:absolute;inset:0;opacity:0;cursor:pointer; }
.bt-upload-face { font-size:2.4rem; display:block; animation:fb 2.5s ease-in-out infinite alternate; }
@keyframes fb{from{transform:translateY(0);}to{transform:translateY(-7px);}}
.bt-upload-lbl { font-weight:700;font-size:.84rem;margin-top:5px;color:var(--ink); }
.bt-upload-hint { font-size:.68rem;color:var(--soft);margin-top:2px; }

/* TOOL TABS */
.bt-tab-row { display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px; }
.bt-tab {
  padding:5px 10px;border-radius:var(--radius-pill);
  border:1.5px solid rgba(200,190,220,.5);
  background:rgba(255,255,255,.5);
  font-family:'Quicksand',sans-serif;font-weight:700;font-size:.66rem;
  color:var(--soft);cursor:pointer;transition:all .2s;white-space:nowrap;
}
.bt-tab:hover { background:white;color:var(--ink); }
.bt-tab.active {
  background:linear-gradient(135deg,var(--coral),var(--peach));
  color:white;border-color:transparent;
  box-shadow:0 3px 10px rgba(255,107,107,.25);
}

/* TOOL PANELS */
.bt-panel { display:none; }
.bt-panel.visible { display:block; }

/* MUSTACHE GRID */
.bt-mustache-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:7px; }
.bt-mstch-btn {
  background:rgba(255,255,255,.6);border:1.5px solid rgba(200,190,220,.45);
  border-radius:12px;padding:7px 4px 5px;cursor:pointer;
  transition:all .22s cubic-bezier(.34,1.56,.64,1);text-align:center;
  font-family:'Quicksand',sans-serif;font-weight:700;font-size:.58rem;color:var(--soft);
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
.bt-mstch-btn:hover { transform:scale(1.08) translateY(-2px);background:white;box-shadow:var(--shadow-sm); }
.bt-mstch-btn.active { background:rgba(255,107,107,.12);border-color:var(--coral);color:var(--coral); }

/* OVERLAY GRID */
.bt-ov-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:6px; }
.bt-ov-btn {
  background:rgba(255,255,255,.55);border:1.5px solid rgba(200,190,220,.4);
  border-radius:10px;font-size:1.3rem;padding:6px 2px;
  cursor:pointer;transition:all .18s;text-align:center;line-height:1;
  display:flex;flex-direction:column;align-items:center;gap:1px;
}
.bt-ov-btn span.ol { font-size:.5rem;font-weight:700;color:var(--soft); }
.bt-ov-btn:hover { transform:scale(1.2) rotate(-5deg);background:white; }
.bt-ov-btn.active { background:rgba(255,107,107,.13);border-color:var(--coral);transform:scale(1.1); }

/* GAME GRID */
.bt-game-grid { display:grid;grid-template-columns:1fr 1fr;gap:7px; }
.bt-game-btn {
  background:rgba(255,255,255,.6);border:1.5px solid rgba(200,190,220,.45);
  border-radius:14px;padding:10px 6px 8px;cursor:pointer;
  transition:all .22s cubic-bezier(.34,1.56,.64,1);text-align:center;
  font-family:'Quicksand',sans-serif;font-weight:700;font-size:.68rem;color:var(--soft);
  display:flex;flex-direction:column;align-items:center;gap:3px;
}
.bt-game-btn .gi { font-size:1.7rem;transition:transform .2s; }
.bt-game-btn:hover { transform:scale(1.05) translateY(-2px);background:white;box-shadow:var(--shadow-sm); }
.bt-game-btn:hover .gi { transform:scale(1.2) rotate(8deg); }
.bt-game-btn.active { background:rgba(255,179,71,.18);border-color:var(--peach);color:#b37700; }

/* WARP GRID */
.bt-warp-grid { display:grid;grid-template-columns:1fr 1fr;gap:7px; }
.bt-warp-btn {
  background:rgba(255,255,255,.6);border:1.5px solid rgba(200,190,220,.45);
  border-radius:12px;padding:9px 5px 7px;cursor:pointer;
  transition:all .22s cubic-bezier(.34,1.56,.64,1);text-align:center;
  font-family:'Quicksand',sans-serif;font-weight:700;font-size:.68rem;color:var(--soft);
  display:flex;flex-direction:column;align-items:center;gap:3px;
}
.bt-warp-btn .wi { font-size:1.4rem;transition:transform .2s; }
.bt-warp-btn:hover { transform:scale(1.05) translateY(-2px);background:white;box-shadow:var(--shadow-sm); }
.bt-warp-btn:hover .wi { transform:scale(1.2) rotate(8deg); }
.bt-warp-btn.active { background:rgba(116,199,236,.18);border-color:var(--sky);color:#3a8fbf; }

/* DRAW TOOLS */
.bt-color-row { display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px; }
.bt-sw {
  width:23px;height:23px;border-radius:50%;cursor:pointer;
  border:2.5px solid transparent;transition:all .18s;
}
.bt-sw:hover { transform:scale(1.3); }
.bt-sw.active { border-color:var(--ink);transform:scale(1.3); }
.bt-pill-row { display:flex;gap:5px;margin-bottom:7px; }
.bt-pill {
  flex:1;padding:6px 3px;border:1.5px solid rgba(200,190,220,.5);border-radius:var(--radius-pill);
  background:rgba(255,255,255,.5);font-family:'Quicksand',sans-serif;
  font-weight:700;font-size:.66rem;color:var(--soft);cursor:pointer;
  transition:all .2s;display:flex;align-items:center;justify-content:center;gap:2px;
}
.bt-pill:hover { background:white;color:var(--ink); }
.bt-pill.active { background:var(--coral);color:white;border-color:var(--coral); }
input[type=range] { width:100%;accent-color:var(--coral);cursor:pointer;margin:3px 0; }

/* JOY BUTTON */
.bt-joy-btn {
  width:100%;padding:11px;border:none;border-radius:16px;
  background:linear-gradient(135deg,var(--peach),var(--coral));
  color:white;font-family:'Baloo 2',cursive;font-size:1rem;font-weight:800;
  cursor:pointer;transition:all .22s;
  box-shadow:0 4px 16px rgba(255,107,107,.28);
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.bt-joy-btn:hover { transform:translateY(-3px) scale(1.02);box-shadow:0 8px 22px rgba(255,107,107,.35); }

/* RIGHT COL */
.bt-right { display:flex;flex-direction:column;gap:12px; }

/* CANVAS */
.bt-canvas-wrap {
  background:rgba(255,255,255,.55);border-radius:var(--radius);
  border:1.5px solid rgba(255,255,255,.92);box-shadow:var(--shadow-sm);
  min-height:420px;position:relative;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
#bt-canvas {
  display:block;max-width:100%;max-height:500px;
  border-radius:18px;touch-action:none;
}
#bt-game-overlay {
  position:absolute;inset:0;display:none;pointer-events:none;
  border-radius:18px;overflow:hidden;z-index:20;
}
.bt-placeholder {
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
  color:rgba(61,50,80,.22);pointer-events:none;
}
.bt-ph-big { font-size:4.5rem;animation:phf 3s ease-in-out infinite alternate; }
@keyframes phf{from{transform:translateY(0) rotate(-4deg);}to{transform:translateY(-12px) rotate(4deg);}}
.bt-ph-txt { font-family:'Baloo 2',cursive;font-weight:800;font-size:1.15rem; }
.bt-ph-sub { font-size:.78rem;text-align:center;max-width:200px;line-height:1.4; }
.bt-cursor-hint {
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
  background:rgba(255,255,255,.85);border-radius:100px;padding:5px 14px;
  font-size:.68rem;font-weight:700;color:var(--soft);pointer-events:none;
  white-space:nowrap;box-shadow:0 2px 10px rgba(61,50,80,.08);transition:opacity .3s;
}

/* ACTIONS */
.bt-act-row { display:grid;grid-template-columns:repeat(4,1fr);gap:8px; }
.bt-act {
  padding:10px 6px;border-radius:14px;border:none;
  font-family:'Baloo 2',cursive;font-weight:700;font-size:.82rem;
  cursor:pointer;transition:all .2s;
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
.bt-act:hover { transform:translateY(-3px); }
.bt-act .ai { font-size:1.2rem; }
.bt-a-undo  { background:rgba(201,184,240,.2);color:#7b5ea7;border:1.5px solid rgba(201,184,240,.5); }
.bt-a-reset { background:rgba(168,230,207,.2);color:#2d9e7a;border:1.5px solid rgba(168,230,207,.5); }
.bt-a-clear { background:rgba(255,179,71,.15);color:#b37700;border:1.5px solid rgba(255,179,71,.4); }
.bt-a-save  { background:linear-gradient(135deg,var(--mint),var(--sky));color:var(--ink);box-shadow:0 3px 12px rgba(116,199,236,.25); }

/* STRESS METER */
.bt-meter-top { display:flex;justify-content:space-between;align-items:center;margin-bottom:7px; }
.bt-meter-title { font-family:'Baloo 2',cursive;font-weight:800;font-size:.9rem; }
.bt-meter-pct { font-family:'Baloo 2',cursive;font-weight:800;font-size:1rem;color:var(--coral); }
.bt-meter-track { background:rgba(61,50,80,.07);border-radius:100px;height:14px;overflow:hidden; }
.bt-meter-fill {
  height:100%;background:linear-gradient(90deg,var(--mint),var(--sky),var(--lavender));
  border-radius:100px;width:0%;transition:width .5s cubic-bezier(.34,1.2,.64,1);position:relative;
}
.bt-meter-fill::after { content:'✨';position:absolute;right:-2px;top:50%;transform:translateY(-50%);font-size:.8rem; }
.bt-meter-msg { font-size:.68rem;color:var(--soft);margin-top:4px;text-align:center;font-style:italic; }

/* SHARE BUTTONS */
.bt-share-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:7px; }
.bt-sh {
  padding:9px 4px;border:none;border-radius:13px;cursor:pointer;
  font-family:'Quicksand',sans-serif;font-weight:700;font-size:.62rem;
  transition:all .22s;display:flex;flex-direction:column;align-items:center;gap:3px;color:white;
}
.bt-sh:hover { transform:translateY(-3px) scale(1.04);filter:brightness(1.1); }
.bt-sh svg { width:20px;height:20px; }
.bt-sh-wa  { background:#25d366; }
.bt-sh-fb  { background:#1877f2; }
.bt-sh-tw  { background:#000000; }
.bt-sh-cp  { background:linear-gradient(135deg,var(--peach),var(--coral)); }
.bt-sh-note { font-size:.62rem;color:var(--soft);text-align:center;margin-top:6px;line-height:1.4; }

/* QUOTE */
.bt-quote-bubble {
  background:linear-gradient(135deg,rgba(255,243,176,.6),rgba(255,220,180,.45));
  border:1.5px solid rgba(255,179,71,.3);border-radius:16px 16px 16px 4px;
  padding:11px 13px;font-size:.78rem;color:var(--ink);line-height:1.5;
  animation:qsi .4s ease; margin-bottom:8px;
}
@keyframes qsi{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.bt-quote-attr { font-size:.65rem;color:var(--soft);margin-top:5px;display:block; }
.bt-quote-btn {
  width:100%;padding:7px;border:1.5px solid rgba(255,179,71,.4);border-radius:100px;
  background:rgba(255,179,71,.08);font-family:'Quicksand',sans-serif;
  font-weight:700;font-size:.74rem;color:var(--peach);cursor:pointer;transition:all .2s;
}
.bt-quote-btn:hover { background:rgba(255,179,71,.18);transform:scale(1.02); }

/* HOW IT WORKS SECTION */
#bt-how {
  position:relative;z-index:10;
  max-width:1160px;margin:0 auto;padding:20px 14px 40px;
}
.bt-how-title {
  font-family:'Baloo 2',cursive;font-weight:800;
  font-size:clamp(1.5rem,4vw,2.2rem);
  text-align:center;margin-bottom:24px;
  background:linear-gradient(135deg,var(--coral),var(--peach));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.bt-how-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px; }
.bt-how-card {
  background:var(--card-bg);border-radius:var(--radius);border:1.5px solid rgba(255,255,255,.9);
  padding:22px 16px;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .22s;
}
.bt-how-card:hover { transform:translateY(-4px); }
.bt-how-icon { font-size:2.5rem;display:block;margin-bottom:10px; }
.bt-how-step {
  font-family:'Baloo 2',cursive;font-weight:800;font-size:.72rem;
  color:var(--coral);letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;
}
.bt-how-card h3 { font-family:'Baloo 2',cursive;font-weight:800;font-size:1rem;margin-bottom:5px; }
.bt-how-card p { font-size:.76rem;color:var(--soft);line-height:1.5; }

/* FEATURES STRIP */
#bt-features {
  position:relative;z-index:10;
  background:linear-gradient(135deg,rgba(255,107,107,.08),rgba(255,179,71,.08));
  border-top:1px solid rgba(255,179,71,.15);border-bottom:1px solid rgba(255,179,71,.15);
  padding:28px 20px;text-align:center;
}
.bt-feat-list {
  max-width:900px;margin:0 auto;
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
}
.bt-feat-pill {
  background:rgba(255,255,255,.8);border:1.5px solid rgba(255,179,71,.3);
  border-radius:100px;padding:6px 16px;
  font-size:.78rem;font-weight:700;color:var(--ink);
  display:flex;align-items:center;gap:5px;
}

/* FLOATING PARTICLES */
.bt-heart {
  position:fixed;pointer-events:none;z-index:9998;font-size:1.4rem;
  animation:hf 2s ease-out forwards;
}
@keyframes hf{0%{opacity:1;transform:translateY(0) scale(1);}100%{opacity:0;transform:translateY(-160px) scale(.3);}}

/* AFFIRMATION */
.bt-affirm {
  position:fixed;z-index:9999;pointer-events:none;
  font-family:'Baloo 2',cursive;font-weight:800;font-size:1.05rem;
  background:white;color:var(--coral);
  border:2px solid var(--peach);border-radius:100px;padding:7px 18px;
  box-shadow:0 6px 24px rgba(255,107,107,.2);
  animation:ap 2.2s cubic-bezier(.34,1.56,.64,1) forwards;white-space:nowrap;
}
@keyframes ap{
  0%{opacity:0;transform:translateX(-50%) translateY(20px) scale(.8);}
  20%{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}
  75%{opacity:1;transform:translateX(-50%) translateY(-18px);}
  100%{opacity:0;transform:translateX(-50%) translateY(-45px) scale(.9);}
}

/* TOAST */
.bt-toast {
  position:fixed;bottom:26px;left:50%;
  transform:translateX(-50%) translateY(110px);
  background:white;color:var(--ink);
  border:1.5px solid rgba(255,179,71,.4);padding:10px 24px;border-radius:100px;
  font-family:'Baloo 2',cursive;font-weight:700;font-size:.95rem;
  z-index:9999;transition:transform .4s cubic-bezier(.34,1.56,.64,1);
  box-shadow:0 6px 28px rgba(61,50,80,.11);white-space:nowrap;
}
.bt-toast.show { transform:translateX(-50%) translateY(0); }

/* COOKIE BANNER */
#bt-cookie {
  position:fixed;bottom:0;left:0;right:0;z-index:9990;
  background:rgba(255,248,242,.97);backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,179,71,.25);
  padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  box-shadow:0 -4px 20px rgba(61,50,80,.08);
  transform:translateY(100%);transition:transform .4s ease;
}
#bt-cookie.show { transform:translateY(0); }
#bt-cookie p { font-size:.78rem;color:var(--soft);max-width:700px;line-height:1.5; }
#bt-cookie a { color:var(--coral); }
.bt-cookie-btns { display:flex;gap:8px;flex-shrink:0; }
.bt-cookie-accept {
  padding:8px 18px;background:linear-gradient(135deg,var(--coral),var(--peach));
  color:white;border:none;border-radius:100px;font-family:'Quicksand',sans-serif;
  font-weight:700;font-size:.8rem;cursor:pointer;transition:all .2s;
}
.bt-cookie-accept:hover { transform:scale(1.04); }
.bt-cookie-decline {
  padding:8px 14px;background:transparent;color:var(--soft);
  border:1px solid rgba(61,50,80,.15);border-radius:100px;
  font-family:'Quicksand',sans-serif;font-weight:700;font-size:.8rem;cursor:pointer;
}

/* FOOTER */
#bt-footer {
  position:relative;z-index:10;
  background:rgba(255,255,255,.55);backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,255,255,.7);
  padding:32px 20px 20px;text-align:center;
}
.bt-footer-logo {
  font-family:'Baloo 2',cursive;font-weight:800;font-size:1.6rem;
  background:linear-gradient(135deg,var(--coral),var(--peach));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:8px;
}
.bt-footer-links { display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:12px 0; }
.bt-footer-links a {
  font-size:.78rem;font-weight:700;color:var(--soft);text-decoration:none;transition:color .2s;
}
.bt-footer-links a:hover { color:var(--coral); }
.bt-footer-copy { font-size:.72rem;color:rgba(61,50,80,.35);margin-top:8px;line-height:1.6; }
.bt-footer-copy strong { color:rgba(61,50,80,.5); }

/* Subtle partner credits — visible on page but not prominent */
.bt-footer-credits {
  margin-top:16px;padding-top:14px;
  border-top:1px solid rgba(61,50,80,.05);
  font-size:.62rem;color:rgba(61,50,80,.25);
  line-height:1.8;
}
.bt-footer-credits a {
  color:rgba(61,50,80,.3);text-decoration:none;
  border-bottom:1px dotted rgba(61,50,80,.15);
  transition:color .2s;
}
.bt-footer-credits a:hover { color:var(--soft); }

/* CANVAS SHAKE */
@keyframes btShake {
  0%,100%{transform:translate(0,0) rotate(0);}
  20%{transform:translate(-5px,3px) rotate(-1deg);}
  40%{transform:translate(5px,-3px) rotate(1deg);}
  60%{transform:translate(-4px,4px) rotate(-.8deg);}
  80%{transform:translate(4px,-2px) rotate(.8deg);}
}
.bt-shaking { animation:btShake .35s ease-in-out; }

/* GAME EFFECTS */
.bt-effect {
  position:absolute;font-size:2.5rem;pointer-events:none;
  transform:translate(-50%,-50%);
}
.bt-eff-slap    { animation:effSlap .35s cubic-bezier(.17,.67,.51,1.4) forwards; }
.bt-eff-punch   { animation:effPunch .45s ease-out forwards; }
.bt-eff-tickle  { animation:effTickle .55s ease-out forwards; }
@keyframes effSlap  {0%{opacity:1;transform:translate(-50%,-50%) scale(.3) rotate(-20deg);}60%{transform:translate(-50%,-50%) scale(1.4) rotate(5deg);}100%{opacity:0;transform:translate(-50%,-50%) scale(1) rotate(0);}}
@keyframes effPunch {0%{transform:translate(-50%,-50%) scale(0);opacity:1;}50%{transform:translate(-50%,-50%) scale(1.6);opacity:1;}100%{transform:translate(-50%,-50%) scale(.8);opacity:0;}}
@keyframes effTickle{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:1;}60%{transform:translate(-50%,-50%) scale(1.4) rotate(180deg);opacity:1;}100%{transform:translate(-50%,-50%) scale(0) rotate(360deg);opacity:0;}}

.bt-divider { height:1px;background:rgba(61,50,80,.06);margin:8px 0; }

/* INT ROW */
.bt-int-row { display:flex;gap:6px;align-items:center;margin:4px 0; }
.bt-int-row span { font-size:.66rem;color:var(--soft); }

/* MOBILE */
@media(max-width:600px){
  .bt-act-row { grid-template-columns:1fr 1fr; }
  .bt-share-grid { grid-template-columns:1fr 1fr; }
  .bt-how-grid { grid-template-columns:1fr 1fr; }
  .bt-nav-links { display:none; }
  .bt-hamburger { display:block; }
}

/* PRINT */
@media print {
  .bt-blob,.bt-nav,.bt-joy-btn,.bt-share-grid,#bt-cookie { display:none; }
}
