/* Custom styles for MK Glossary */
:root{
  --bg:#f8fafc;
  --card-bg:#ffffff;
  --muted:#6b7280;
  --accent:#0d6efd;
}

html,body{height:100%;}
body{
  background:var(--bg);
  color:#0f172a;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

main.container{
  max-width:980px;
}

h1.h3{
  font-weight:700;
  letter-spacing:-0.3px;
}

.search-form{
  min-width:220px;
  max-width:480px;
}

.input-group .form-control{
  border-top-right-radius:0;
  border-bottom-right-radius:0;
}
.input-group .btn{
  border-top-left-radius:0;
  border-bottom-left-radius:0;
}

.card{
  background:var(--card-bg);
  border:0;
  border-radius:.75rem;
  box-shadow:0 1px 2px rgba(2,6,23,0.06);
}

.card .fw-semibold{
  color:#0f172a;
}

.no-results{
  background:transparent;
  border:1px dashed rgba(15,23,42,0.04);
  color:var(--muted);
}

.badge.bg-secondary{
  background:#6b7280 !important;
}

a{
  color:var(--accent);
}

a:hover{
  text-decoration:underline;
}

@media (max-width:576px){
  .search-form{width:100%; min-width:0;}
}

/* New class-specific styles */
.term-card{
  transition:transform .12s ease,box-shadow .12s ease;
}
.term-card:hover{
  transform:translateY(-3px);
  box-shadow:0 6px 18px rgba(2,6,23,0.08);
}
.term-title{
  font-weight:700;
}
.search-input{
  min-width:0;
}
.term-badge{
  opacity:0.95;
}
.card .text-muted small{color:var(--muted);}
