/* ===== RESET & TOKENS ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* Palette: Cream, White, Green */
  --bg:#FAF8F5; /* Cream */
  --bg-card:#FFFFFF; /* White */
  --bg-card-hover:#Fdfdfc;
  --surface:#F2EFEB;
  --surface-light:#EAE6DF;
  --text:#1A2920; /* Very dark green/black */
  --text-muted:#405C4D;
  --text-dim:#6B8A7A;
  
  --accent:#2A5539; /* Deep Indigenous Green */
  --accent-dim:#3D724F;
  --accent-glow:rgba(42,85,57,.15);
  
  --coral:#C45237; /* Terracotta accent if needed */
  --gold:#D4A526;
  
  --radius:12px;
  --radius-lg:20px;
  --radius-sm:8px;
  --font:'Outfit',sans-serif;
  --font-serif:'Noto Serif',serif;
  --shadow:0 8px 30px rgba(42,85,57,.08);
  --transition:.3s cubic-bezier(.4,0,.2,1);
}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  /* Greenish pre-columbian faint pattern */
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><path d="M0 30 L30 0 L60 30 L30 60 Z" fill="none" stroke="rgba(42,85,57,0.04)" stroke-width="2"/><path d="M15 30 L30 15 L45 30 L30 45 Z" fill="none" stroke="rgba(42,85,57,0.06)" stroke-width="1"/><circle cx="30" cy="30" r="3" fill="rgba(42,85,57,0.05)"/><path d="M0 0 L15 15 M60 0 L45 15 M0 60 L15 45 M60 60 L45 45" stroke="rgba(42,85,57,0.04)" stroke-width="1"/></svg>') repeat;
  pointer-events: none;
  z-index: -1;
}

a{color:var(--accent);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--gold)}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:var(--font)}
input,textarea,select{font-family:var(--font)}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(20,34,25,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(212,165,38,.2);transition:background var(--transition), box-shadow var(--transition)}
.nav.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.3)}
.nav__inner{max-width:1200px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}
.nav__logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.1rem;color:#FAF8F5;font-family:var(--font-serif)}
.nav__logo-icon{font-size:1.4rem}
.nav__links{display:flex;align-items:center;gap:24px}
.nav__link{color:#E2DACD;font-size:.9rem;font-weight:600;transition:color var(--transition)}
.nav__link:hover{color:var(--gold)}
.nav__btn{background:var(--gold);color:#142219;border:none;padding:8px 18px;border-radius:999px;font-weight:700;font-size:.85rem;display:flex;align-items:center;gap:6px;transition:all var(--transition)}
.nav__btn:hover{background:#FFF;transform:translateY(-1px);box-shadow:0 4px 15px rgba(212,165,38,.4)}
.nav__btn--mobile{width:100%;justify-content:center;margin-top:8px;padding:12px}
.nav__hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px}
.nav__hamburger span{width:24px;height:2px;background:#FAF8F5;border-radius:2px;transition:var(--transition)}
.nav__mobile-menu{display:none;flex-direction:column;padding:16px 24px;gap:12px;border-top:1px solid rgba(212,165,38,.2); background:#142219}
.nav__mobile-menu.active{display:flex}
.nav__mobile-link{color:#E2DACD;font-size:1rem;padding:8px 0; font-weight:500;}
@media(max-width:768px){
  .nav__links{display:none}
  .nav__hamburger{display:flex}
}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 24px 60px;text-align:center;overflow:hidden;background:linear-gradient(180deg, #142219 0%, #1A2920 100%);color:#FAF8F5;}
.hero__bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 20%,rgba(212,165,38,.12) 0%,transparent 60%),radial-gradient(ellipse at 80% 80%,rgba(42,85,57,.2) 0%,transparent 50%);pointer-events:none}
.hero__content{position:relative;max-width:720px;z-index:2}
.hero__subtitle{color:var(--gold);font-weight:700;font-size:.9rem;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px;opacity:0;animation:fadeUp .8s .2s forwards}
.hero__title{font-size:clamp(2.8rem,8vw,5.5rem);font-family:var(--font-serif);font-weight:700;line-height:1.05;margin-bottom:24px;opacity:0;animation:fadeUp .8s .4s forwards;color:#FAF8F5}
.hero__title--accent{color:var(--gold)}
.hero__desc{color:#E2DACD;font-size:1.1rem;font-weight:400;max-width:560px;margin:0 auto 40px;opacity:0;animation:fadeUp .8s .6s forwards}
.hero__stats{display:flex;justify-content:center;gap:48px;margin-bottom:48px;opacity:0;animation:fadeUp .8s .8s forwards}
.hero__stat{text-align:center}
.hero__stat-num{display:block;font-size:2.2rem;font-weight:700;color:var(--gold);font-family:var(--font-serif)}
.hero__stat-label{font-size:.8rem;color:#B3A898;text-transform:uppercase;letter-spacing:1px;font-weight:600;}
.hero__search-wrapper{opacity:0;animation:fadeUp .8s 1s forwards}
.hero__scroll-hint{position:absolute;bottom:32px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#B3A898;font-size:.75rem;animation:bounce 2s infinite}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* ===== SEARCH ===== */
.search-bar{display:flex;align-items:center;background:var(--bg-card);border:2px solid rgba(42,85,57,.15);border-radius:999px;padding:4px 8px 4px 20px;max-width:480px;margin:0 auto;transition:border-color var(--transition),box-shadow var(--transition);box-shadow:var(--shadow)}
.search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow), var(--shadow)}
.search-bar__icon{width:20px;height:20px;color:var(--accent);flex-shrink:0}
.search-bar__input{flex:1;background:none;border:none;outline:none;color:var(--text);padding:12px;font-size:1rem;font-weight:500;}
.search-bar__input::placeholder{color:var(--text-dim);font-weight:400}
.search-bar__clear{background:none;border:none;color:var(--text-muted);font-size:1.2rem;padding:8px 12px;border-radius:50%;transition:color var(--transition)}
.search-bar__clear:hover{color:var(--coral)}

/* ===== SECTION ===== */
.section{padding:80px 24px}
.section__inner{max-width:1200px;margin:0 auto;position:relative}
.section__title{font-size:clamp(1.8rem,4vw,2.5rem);font-family:var(--font-serif);font-weight:700;text-align:center;margin-bottom:8px;color:var(--accent)}
.section__subtitle{color:var(--text-muted);text-align:center;margin-bottom:48px;font-size:1.05rem}
.section__decor{display:flex;justify-content:center;margin-bottom:16px;}

/* ===== CATEGORIES (VINTAGE BOOK COVER) ===== */
.categories{background:var(--surface)}
.categories__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:24px;
  perspective: 1000px;
}
.cat-card{
  background-color: var(--accent); /* Deep Green Cover */
  background-image: 
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30"><path d="M5 25 Q 25 25 25 5 M5 5 L 5 25 L 25 25" fill="none" stroke="%23D4A526" stroke-width="1.5"/><circle cx="25" cy="5" r="2" fill="%23D4A526"/><circle cx="5" cy="5" r="1.5" fill="%23D4A526"/></svg>'),
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30"><path d="M25 25 Q 5 25 5 5 M25 5 L 25 25 L 5 25" fill="none" stroke="%23D4A526" stroke-width="1.5"/><circle cx="5" cy="5" r="2" fill="%23D4A526"/><circle cx="25" cy="5" r="1.5" fill="%23D4A526"/></svg>'),
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30"><path d="M5 5 Q 25 5 25 25 M5 25 L 5 5 L 25 5" fill="none" stroke="%23D4A526" stroke-width="1.5"/><circle cx="25" cy="25" r="2" fill="%23D4A526"/><circle cx="5" cy="25" r="1.5" fill="%23D4A526"/></svg>'),
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30"><path d="M25 5 Q 5 5 5 25 M25 25 L 25 5 L 5 5" fill="none" stroke="%23D4A526" stroke-width="1.5"/><circle cx="5" cy="25" r="2" fill="%23D4A526"/><circle cx="25" cy="25" r="1.5" fill="%23D4A526"/></svg>');
  background-position: top 12px left 12px, top 12px right 12px, bottom 12px left 12px, bottom 12px right 12px;
  background-repeat: no-repeat;
  border-radius: 4px 10px 10px 4px;
  padding: 44px 24px 36px;
  cursor: pointer;
  transition: all 0.4s ease;
  position: relative;
  box-shadow: 
    8px 8px 15px rgba(0,0,0,0.08),
    inset 10px 0 20px rgba(0,0,0,0.5), /* spine crease */
    inset 14px 0 0 rgba(255,255,255,0.08); /* spine highlight */
  border-right: 4px solid rgba(0,0,0,0.15); /* book pages edge */
  border-bottom: 4px solid rgba(0,0,0,0.15);
  z-index: 1;
}
/* Double inner gold borders */
.cat-card::before {
  content: '';
  position: absolute;
  top: 16px; bottom: 16px; left: 16px; right: 16px;
  border: 1px solid rgba(212, 165, 38, 0.7); /* Gold outer border */
  border-radius: 2px;
  pointer-events: none;
}
.cat-card::after {
  content: '';
  position: absolute;
  top: 22px; bottom: 22px; left: 22px; right: 22px;
  border: 1px solid rgba(212, 165, 38, 0.3); /* Gold inner border */
  border-radius: 2px;
  pointer-events: none;
}
.cat-card:hover {
  transform: translateY(-8px) rotateY(-6deg) scale(1.02);
  box-shadow: 
    16px 16px 30px rgba(0,0,0,0.12),
    inset 10px 0 20px rgba(0,0,0,0.5),
    inset 14px 0 0 rgba(255,255,255,0.1);
  z-index: 2;
}
/* Center Book Ornaments */
.cat-card__icon{
  font-size: 2rem;
  margin-bottom: 8px;
  display: block; 
  text-align: center;
  position: relative;
}
.cat-card__icon svg {
  width: 36px;
  height: 36px;
  stroke: var(--gold);
  display: block;
  margin: 0 auto;
}
.cat-card__icon::before {
  content: ''; display: block; width: 40px; height: 10px; margin: 0 auto 10px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 10"><path d="M0 5 Q 10 5 20 0 Q 30 5 40 5 Q 30 5 20 10 Q 10 5 0 5" fill="%23D4A526" opacity="0.9"/></svg>') no-repeat center;
}
.cat-card__icon::after {
  content: ''; display: block; width: 40px; height: 10px; margin: 10px auto 0;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 10"><path d="M0 5 Q 10 5 20 0 Q 30 5 40 5 Q 30 5 20 10 Q 10 5 0 5" fill="%23D4A526" opacity="0.9"/></svg>') no-repeat center;
}
.cat-card__name {
  font-weight: 700;
  font-size: 1.25rem;
  margin-bottom: 4px;
  color: #fff;
  font-family: var(--font-serif);
  text-align: center;
  letter-spacing: 1px;
}
.cat-card__count {
  color: var(--gold);
  font-weight: 700;
  font-size: .75rem;
  text-align: center;
  display: block;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.cat-card__desc {
  color: rgba(255,255,255,0.85);
  font-size: .85rem;
  margin-top: 16px;
  line-height: 1.45;
  text-align: center;
  font-family: var(--font-serif);
  font-style: italic;
}

/* ===== DICTIONARY SECTION ===== */
.glossary {
  background: linear-gradient(180deg, var(--surface) 0%, #f7f4ee 100%);
  position: relative;
  padding: 80px 24px;
}
.glossary .section__inner {
  background: var(--bg-card);
  border: 1px solid rgba(42,85,57,.12);
  border-radius: 24px;
  padding: 48px 32px 56px;
  position: relative;
  box-shadow: 0 12px 32px rgba(0,0,0,.06);
}

.glossary-search-wrapper { margin-bottom: 32px; }
.search-bar--glossary { max-width: 600px; }

/* ===== FILTERS ===== */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;justify-content:center}
.filter-chip{background:var(--bg-card);border:1px solid rgba(42,85,57,.15);color:var(--text-muted);padding:8px 20px;border-radius:999px;font-size:.9rem;font-weight:600;transition:all var(--transition);box-shadow: 0 2px 8px rgba(0,0,0,0.03);display:inline-flex;align-items:center;gap:8px;}
.filter-chip svg{width:18px;height:18px;stroke:currentColor;transition:stroke var(--transition)}
.filter-chip:hover{border-color:var(--accent);color:var(--text)}
.filter-chip--active{background:var(--accent);color:#fff;border-color:var(--accent)}
.filter-chip--active svg{stroke:#fff}

.word-card__badge svg,
.word-detail__category svg,
.cat-icon-sm svg {
  width:16px;
  height:16px;
  stroke:currentColor;
  vertical-align:-2px;
  display:inline-block;
  margin-right:4px;
}

/* ===== LETTER INDEX ===== */
.letter-index{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:32px;justify-content:center}
.letter-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:1px solid rgba(42,85,57,.1);color:var(--text-muted);font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all var(--transition);box-shadow: 0 2px 6px rgba(0,0,0,0.02)}
.letter-btn:hover,.letter-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}
.letter-btn--disabled{opacity:.4;pointer-events:none;background:var(--surface)}

/* ===== WORD CARDS ===== */
.words-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.word-card{background:var(--bg-card);border:1px solid rgba(42,85,57,.1);border-radius:var(--radius);padding:24px;cursor:pointer;transition:all var(--transition);position:relative;box-shadow: 0 4px 12px rgba(0,0,0,0.02)}
.word-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
.word-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.word-card__word{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:var(--accent)}
.word-card__badge{background:var(--surface);color:var(--accent);padding:4px 12px;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:1px; border: 1px solid rgba(42,85,57,.1)}
.word-card__meaning{color:var(--text-muted);font-size:.95rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-weight:500;}
.word-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.word-card__tag{font-size:.75rem;color:var(--accent-dim);background:rgba(42,85,57,.06);padding:4px 10px;border-radius:6px; font-weight:600;}
.word-card__feedback-btn{position:absolute;bottom:16px;right:16px;background:none;border:none;color:var(--text-dim);font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:4px;opacity:0;transition:opacity var(--transition),color var(--transition)}
.word-card:hover .word-card__feedback-btn{opacity:1}
.word-card__feedback-btn:hover{color:var(--coral)}

/* ===== EMPTY STATE ===== */
.empty-state{text-align:center;padding:60px 20px}
.empty-state__icon{font-size:3.5rem;display:block;margin-bottom:16px}
.empty-state__text{color:var(--text-muted);font-size:1.1rem;margin-bottom:24px}

/* ===== PAGINATION ===== */
.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:40px}
.pagination__btn{background:var(--bg-card);border:1px solid rgba(42,85,57,.2);color:var(--text-muted);padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;transition:all var(--transition)}
.pagination__btn:hover:not(:disabled){border-color:var(--accent);color:var(--text);box-shadow: 0 4px 12px rgba(42,85,57,.1)}
.pagination__btn:disabled{opacity:.4;cursor:not-allowed}
.pagination__info{color:var(--text-dim);font-weight:600;font-size:.9rem}

/* ===== ABOUT ===== */
.about{background:linear-gradient(180deg,var(--bg) 0%,var(--surface) 100%)}
.about__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}
.about__card{background:var(--bg-card);border:1px solid rgba(42,85,57,.1);border-radius:var(--radius-lg);padding:36px 32px;transition:transform var(--transition); border-top: 4px solid var(--accent); box-shadow: 0 6px 20px rgba(0,0,0,0.03)}
.about__card:hover{transform:translateY(-4px); box-shadow:var(--shadow)}
.about__card-icon{font-size:2.8rem;display:block;margin-bottom:20px}
.about__card h3{font-size:1.3rem;margin-bottom:12px; color:var(--text); font-weight:700;}
.about__card p{color:var(--text-muted);font-size:.95rem;line-height:1.6;margin-bottom: 24px;}

/* ===== BUTTONS ===== */
.btn{padding:12px 28px;border-radius:var(--radius-sm);font-weight:700;font-size:.95rem;border:none;transition:all var(--transition);display:inline-flex;align-items:center;gap:8px}
.btn--primary{background:var(--accent);color:#fff}
.btn--primary:hover{background:var(--accent-dim);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}
.btn--outline{background:var(--bg-card);border:2px solid var(--accent);color:var(--accent)}
.btn--outline:hover{background:var(--accent);color:#fff}
.btn--full{width:100%;justify-content:center}

/* ===== MODAL ===== */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(26,41,32,.6);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .3s}
.modal-overlay.active{display:flex;opacity:1}
.modal{background:var(--bg-card);border:1px solid rgba(42,85,57,.1);border-radius:var(--radius-lg);max-width:560px;width:100%;max-height:85vh;overflow-y:auto;position:relative;padding:36px;animation:modalIn .3s cubic-bezier(.4,0,.2,1); box-shadow: 0 20px 60px rgba(26,41,32,0.15)}
.modal--feedback{max-width:600px}
@keyframes modalIn{from{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal__close{position:absolute;top:16px;right:16px;background:var(--surface);border:none;color:var(--text-muted);width:36px;height:36px;border-radius:50%;font-size:1.3rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition);z-index:1}
.modal__close:hover{background:var(--coral);color:#fff}
.modal__tabs{display:flex;gap:4px;margin-bottom:28px;background:var(--surface);border-radius:var(--radius-sm);padding:6px}
.modal__tab{flex:1;padding:10px 8px;border:none;background:none;color:var(--text-muted);font-size:.85rem;font-weight:600;border-radius:6px;transition:all var(--transition)}
.modal__tab--active{background:var(--bg-card);color:var(--accent);box-shadow: 0 2px 8px rgba(0,0,0,0.05)}
.modal__panel h3{font-size:1.4rem;margin-bottom:10px; font-family:var(--font-serif); color:var(--text); font-weight:700;}
.modal__panel p{color:var(--text-muted);font-size:.95rem;margin-bottom:28px;line-height:1.5}
.modal__success{text-align:center;padding:40px 20px}
.modal__success-icon{font-size:3.5rem;display:block;margin-bottom:20px}
.modal__success h3{margin-bottom:16px; font-family:var(--font-serif); color:var(--text)}
.modal__success p{color:var(--text-muted);margin-bottom:28px; font-size:1.05rem}

/* ===== WORD DETAIL (in modal) ===== */
.word-detail__word{font-family:var(--font-serif);font-size:2.2rem;font-weight:700;color:var(--text);margin-bottom:6px}
.word-detail__category{color:var(--accent);font-size:.85rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:24px; font-weight:700;}
.word-detail__section{margin-bottom:24px}
.word-detail__label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:8px;font-weight:700;}
.word-detail__text{color:var(--text-muted);font-size:1.05rem;line-height:1.6}
.word-detail__variants{display:flex;flex-wrap:wrap;gap:8px}
.word-detail__variant{background:var(--surface);padding:6px 14px;border-radius:999px;font-size:.9rem;color:var(--text);font-weight:500;}
.word-detail__actions{display:flex;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(42,85,57,.1)}

/* ===== FORMS ===== */
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:8px}
.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--surface);border:2px solid transparent;border-radius:var(--radius-sm);padding:14px 16px;color:var(--text);font-size:.95rem;transition:all var(--transition);font-weight:500;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;background:var(--bg-card);border-color:var(--accent);box-shadow:0 4px 12px rgba(42,85,57,.05)}
.form-group input::placeholder, .form-group textarea::placeholder{color:var(--text-dim);font-weight:400;}
.form-group textarea{min-height:100px;resize:vertical}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232a5539' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}

/* ===== TOAST ===== */
.toast{position:fixed;bottom:-80px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;padding:14px 28px;border-radius:999px;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:10px;z-index:300;transition:bottom .4s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 40px rgba(42,85,57,.3)}
.toast.show{bottom:32px}

/* ===== FOOTER ===== */
.footer{border-top:1px solid rgba(42,85,57,.1);padding:60px 24px 40px; position:relative; overflow:hidden; background:var(--bg)}
.footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="4"><path d="M0 4 L10 0 L20 4" fill="none" stroke="%232a5539" stroke-width="1"/></svg>') repeat-x;
  opacity: 0.3;
}
.footer__inner{max-width:1200px;margin:0 auto;text-align:center; position:relative; z-index:2}
.footer__logo{font-size:1.3rem;font-family:var(--font-serif);font-weight:700;margin-bottom:16px;display:block; color:var(--text)}
.footer__inner>p,.footer__copy{color:var(--text-muted);font-size:.9rem}
.footer__links{display:flex;justify-content:center;gap:32px;margin:24px 0}
.footer__links a{color:var(--text);font-size:.9rem;font-weight:600;}
.footer__copy{margin-top:32px;font-size:.8rem}

/* ===== RESPONSIVE ===== */
@media(max-width:600px){
  .hero__stats{gap:24px}
  .hero__stat-num{font-size:1.8rem}
  .words-grid{grid-template-columns:1fr}
  .categories__grid{grid-template-columns:1fr}
  .about__grid{grid-template-columns:1fr}
  .modal{padding:24px;margin:16px}
  .modal__tabs{flex-direction:column}
  .word-detail__actions{flex-direction:column}
}

@media (hover: none), (pointer: coarse) {
  .word-card__feedback-btn {
    position: static;
    margin-top: 16px;
    opacity: 1;
    justify-content: flex-start;
  }

  .word-card:hover .word-card__feedback-btn {
    opacity: 1;
  }
}
