html, body{ height: 100%; }
body:has(.wiki-body){
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.wiki-header{
  position: sticky;
  top: 0;
  z-index: 50;
  flex-shrink: 0;
  background: rgba(239,233,220,0.97);
  border-bottom: 1px solid var(--gray-line);
}
.wiki-header-inner{
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 0;
}
.wiki-brand{
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--ink);
  flex-shrink: 0;
}
.wiki-brand img{ height: 34px; }
.wiki-brand .tag{
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--amber-deep);
  background: rgba(207,157,79,0.16);
  padding: 3px 9px;
  border-radius: 999px;
  margin-left: 2px;
}
.wiki-search{
  flex: 1;
  max-width: 360px;
  margin-left: auto;
  position: relative;
}
.wiki-search-icon{
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  pointer-events: none;
  opacity: .55;
}
.wiki-search-icon img{ width: 16px; height: 16px; filter: brightness(0); opacity: .85; }
.wiki-search input{
  width: 100%;
  font-family: var(--font-body);
  font-size: 0.92rem;
  padding: 9px 14px 9px 36px;
  border-radius: 999px;
  border: 1.5px solid var(--gray-line);
  background: #fff;
  color: var(--ink);
}
.wiki-search input:focus{ outline: none; border-color: var(--gold); }
.wiki-home-link{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.88rem;
  color: var(--ink-soft);
  white-space: nowrap;
  min-width: 0;
}
.wiki-home-link:hover{ color: var(--amber-deep); }
.wiki-home-arrow{
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  filter: brightness(0);
  opacity: .7;
}

.wiki-body{
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 44px;
  padding: 40px 0;
  align-items: stretch;
}

.wiki-sidebar{
  position: static;
  overflow-y: auto;
  min-height: 0;
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-m);
  padding: 20px;
  box-shadow: var(--shadow-soft);
}
.wiki-sidebar h4{
  font-family: var(--font-display);
  font-size: 0.72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--amber-deep);
  margin: 18px 0 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  user-select: none;
}
.wiki-sidebar h4:first-child{ margin-top: 0; }
.wiki-sidebar h4::after{
  content: "▼";
  font-size: 0.65rem;
  transition: transform .2s ease;
}
.wiki-sidebar h4.collapsed::after{
  transform: rotate(-90deg);
}
.wiki-sidebar h4:hover{
  color: var(--ink);
}
.wiki-sidebar ul{
  overflow: hidden;
  transition: max-height .3s ease;
}
.wiki-sidebar ul.collapsed{
  max-height: 0 !important;
  margin: 0;
}
.wiki-sidebar ul li{ margin-bottom: 2px; }
.wiki-sidebar ul a{
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--ink-soft);
  padding: 5px 10px;
  border-radius: var(--radius-s);
  text-decoration: none;
}
.wiki-sidebar ul a .sidebar-icon{
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 50%;
  object-fit: cover;
}
.wiki-sidebar ul a:hover{ background: var(--cream-2); color: var(--ink); }
.wiki-sidebar ul a.is-current{ background: rgba(207,157,79,0.16); color: var(--amber-deep); }

.wiki-article{
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-m);
  padding: 40px 46px;
  box-shadow: var(--shadow-soft);
  overflow-y: auto;
  min-height: 0;
}
.wiki-breadcrumb{
  font-family: var(--font-body);
  font-size: 0.85rem;
  color: var(--gray);
  margin-bottom: 14px;
}
.wiki-breadcrumb a{ color: var(--gray); }
.wiki-breadcrumb a:hover{ color: var(--amber-deep); }

.wiki-article h1{
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3vw, 2.3rem);
  margin: 0 0 6px;
  color: var(--ink);
}
.wiki-article .subtitle{
  font-size: 1rem;
  color: var(--ink-soft);
  margin: 0 0 28px;
}
.wiki-article h2{
  font-family: var(--font-display);
  font-size: 1.35rem;
  margin: 34px 0 14px;
  padding-bottom: 8px;
  color: var(--ink);
  position: relative;
}
.wiki-article h2::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  border-bottom: 1px solid var(--gray-line);
}
.wiki-article:has(.infobox) h2::after{
  width: calc(100% - 288px);
}
.wiki-article h2:first-of-type{ margin-top: 0; }
.wiki-article h3{
  font-family: var(--font-display);
  font-size: 1.08rem;
  margin: 24px 0 10px;
  color: var(--ink);
}
.wiki-article p{
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0 0 16px;
}
.wiki-article ul.bullets{ margin: 0 0 16px; padding-left: 4px; }
.wiki-article ul.bullets li{
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  font-size: 0.96rem;
  line-height: 1.6;
  color: var(--ink-soft);
}
.wiki-article ul.bullets li::before{
  content: "";
  position: absolute;
  left: 0; top: 9px;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
}
.wiki-figure{
  margin: 0 0 20px;
  background: var(--cream-2);
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-s);
  overflow: hidden;
  max-width: 320px;
}
.wiki-figure img{ width: 100%; display: block; }
.wiki-figure figcaption{
  padding: 8px 12px;
  font-size: 0.82rem;
  color: var(--ink-soft);
  border-top: 1px solid var(--gray-line);
}

.wiki-figure-right{
  float: right;
  margin: 0 0 20px 28px;
  background: var(--cream-2);
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-s);
  overflow: hidden;
  max-width: 320px;
  width: 40%;
}
.wiki-figure-right img{ width: 100%; display: block; }
.wiki-figure-right figcaption{
  padding: 8px 12px;
  font-size: 0.82rem;
  color: var(--ink-soft);
  border-top: 1px solid var(--gray-line);
  text-align: center;
}

@media (max-width: 900px){
  .wiki-figure-right{
    float: none;
    width: 100%;
    margin: 0 0 20px;
    max-width: 100%;
  }
}

.bee-abilities,
.Bee-abilities {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 16px 0 24px;
  padding: 16px;
  background: var(--cream-2);
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-m);
}

.bee-ability,
.Bee-ability {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  min-width: 80px;
}

.bee-ability img,
.Bee-ability img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  transition: transform .18s ease, box-shadow .18s ease;
}

.bee-ability:hover img,
.Bee-ability:hover img {
  transform: scale(1.1);
  box-shadow: var(--shadow-soft);
}

.bee-ability span,
.Bee-ability span {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.82rem;
  color: var(--ink);
}

@media (max-width: 900px) {
  .bee-abilities {
    justify-content: center;
  }
}

.wiki-article table{
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 20px;
  font-size: 0.92rem;
}
.wiki-article table th, .wiki-article table td{
  text-align: left;
  padding: 10px 14px;
  border: 1px solid var(--gray-line);
}
.wiki-article table th{
  background: var(--cream-2);
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--ink);
}
.wiki-article table td{ color: var(--ink-soft); }
.wiki-article table .thumb{ width: 48px; height: 48px; object-fit: contain; display: block; border-radius: 4px; }
.wiki-article img.thumb[src*="missing.svg"]{ filter: brightness(0.45); }
[data-theme="dark"] .wiki-article img.thumb[src*="missing.svg"]{ filter: none; }

.wiki-table-wrap{
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 20px;
}
.wiki-table-wrap table{ margin-bottom: 0; }

.wiki-stub{
  background: var(--cream-2);
  border: 1px dashed var(--gray-line);
  border-radius: var(--radius-s);
  padding: 14px 18px;
  font-size: 0.88rem;
  color: var(--ink-soft);
  margin: 0 0 24px;
}

.infobox{
  float: right;
  width: 260px;
  margin: 0 0 20px 28px;
  background: var(--cream-2);
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-m);
  overflow: hidden;
}
.infobox .infobox-title{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.02rem;
  text-align: center;
  padding: 12px 14px;
  background: var(--amber-deep);
  color: #fff;
}
.infobox img{ width: 100%; height: auto; object-fit: contain; display: block; background: #fff; padding: 12px 16px; box-sizing: border-box; transition: background .3s ease, height .3s ease; }
.infobox dl{ margin: 0; padding: 14px 16px; }
.infobox .row{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid var(--gray-line);
  font-size: 0.86rem;
}
.infobox .row:last-child{ border-bottom: none; }
.infobox .row dt{ color: var(--ink-soft); font-weight: 600; }
.infobox .row dd{ margin: 0; color: var(--ink); text-align: right; font-weight: 600; }

.infobox .stars{ display: inline-flex; gap: 2px; font-size: 0.98rem; line-height: 1; vertical-align: -1px; color: var(--gray-line); }
.infobox .stars .star.on{ color: var(--ink); }

.infobox .color-dot{
  display: inline-block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  margin-right: 7px;
  vertical-align: -1px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.14);
}

.infobox-view-toggle{ display: flex; border-top: 1px solid var(--gray-line); }
.infobox-view-toggle button{
  flex: 1;
  padding: 9px 6px;
  border: none;
  background: var(--cream-2);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.8rem;
  color: var(--ink-soft);
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.infobox-view-toggle button + button{ border-left: 1px solid var(--gray-line); }
.infobox-view-toggle button:hover{ background: var(--cream); }
.infobox-view-toggle button.active{ background: var(--ink); color: #fff; }

.bee-crossfade-overlay{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.infobox.infobox--dark img{ background: #1a1a1a; transition: background .3s ease; }

.toolbar-icons{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 24px 0;
  padding: 20px;
  background: var(--cream-2);
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-m);
}
.toolbar-icon{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.toolbar-icon img{
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: var(--radius-s);
  transition: transform .18s ease;
}
.toolbar-icon:hover img{
  transform: scale(1.08);
}
.toolbar-icon span{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--ink);
}
.toolbar-icon a{
  text-decoration: none;
  color: inherit;
}
.toolbar-icon a:hover{
  color: var(--amber-deep);
}

.wiki-hero{
  text-align: center;
  padding: 54px 0 10px;
}
.wiki-hero img{ width: 64px; margin: 0 auto 16px; }
.wiki-hero h1{
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.4vw, 2.6rem);
  margin: 0 0 10px;
}
.wiki-hero p{
  max-width: 520px;
  margin: 0 auto;
  color: var(--ink-soft);
  font-size: 1.02rem;
  line-height: 1.6;
}

.category-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.category-card{
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-m);
  padding: 24px;
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease;
}
.category-card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-card); }
.category-card h3{
  font-family: var(--font-display);
  font-size: 1.05rem;
  margin: 0 0 8px;
  color: var(--ink);
}
.category-card p{
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0 0 14px;
}
.category-card ul li{ margin-bottom: 4px; }
.category-card ul a{
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
}

.wiki-footer{
  flex-shrink: 0;
  border-top: 1px solid var(--gray-line);
  padding: 26px 0;
  margin-top: 40px;
  text-align: center;
  font-size: 0.82rem;
  color: var(--gray);
}
.wiki-last-updated{
  font-weight: 700;
  color: var(--amber-deep);
  margin: 8px 0 4px;
}
.wiki-footer a{ color: var(--amber-deep); }
.wiki-footer a:hover{ color: var(--ink); text-decoration: underline; }

.social-link{
  color: var(--blurple);
  font-weight: 700;
}
.social-link:hover{ color: var(--blurple-dark); text-decoration: underline; }

.wiki-sidebar-toggle{
  display: none;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.85rem;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-s);
  padding: 10px 14px;
  margin-bottom: 18px;
  width: 100%;
  text-align: left;
  cursor: pointer;
}
.wiki-sidebar-toggle img{
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  filter: brightness(0);
  opacity: .8;
}

@media (max-width: 900px){
  html, body{ height: auto; }
  body:has(.wiki-body){ display: block; overflow-x: hidden; overflow-y: visible; }
  .wiki-body{ flex: none; grid-template-columns: 1fr; gap: 20px; align-items: start; }
  .wiki-article{ overflow: visible; overflow-x: hidden; max-width: 100%; }
  .wiki-sidebar{
    position: static;
    display: none;
  }
  .wiki-sidebar.is-open{ display: block; }
  .wiki-sidebar-toggle{ display: flex; }
  .infobox{ float: none; width: 100%; max-width: 320px; margin: 0 auto 20px; }
  .infobox img{ padding: 8px 10px; }
  .infobox .infobox-title{ padding: 10px 12px; }
  .infobox .row{ padding: 5px 0; font-size: 0.82rem; }
  .infobox dl{ padding: 10px 12px; }
  .infobox-view-toggle button{ padding: 7px 4px; font-size: 0.76rem; }
  .infobox-table-wrap{ flex-direction: column; }
  .infobox-table-wrap .infobox{ margin: 0 auto 20px; max-width: 320px; width: 100%; }
  .wiki-article{ padding: 28px 22px; }
  .wiki-search{ display: none; }
  .category-grid{ grid-template-columns: 1fr; }
  .wiki-article:has(.infobox) h2::after{ width: 100%; }
}

.badge-list {
  margin: 24px 0;
}

.badge-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  margin-bottom: 16px;
  background: var(--cream-2);
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-m);
}

.badge-item img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: var(--radius-s);
}

.badge-info h3 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  margin: 0 0 6px;
  color: var(--ink);
}

.badge-info p {
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--ink-soft);
  margin: 0;
}

@media (max-width: 900px) {
  .badge-item {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .badge-item img {
    width: 100px;
    height: 100px;
  }
}

.infobox-table-wrap{
  display: flex;
  gap: 0;
  align-items: start;
}
.infobox-table-wrap .infobox{
  float: none;
  margin: 0 0 20px 28px;
  flex-shrink: 0;
}
.infobox-table-wrap table{
  flex: 1;
  min-width: 0;
}

@media (max-width: 900px){
  .infobox-table-wrap table{ display: block; width: 100%; overflow-x: auto; }
}


.theme-transition,
.theme-transition *,
.theme-transition *::before,
.theme-transition *::after{
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease, opacity 0.4s ease, transform 0.3s cubic-bezier(.4,0,.2,1) !important;
}


.theme-toggle{
  position: relative;
  width: 54px;
  height: 28px;
  border-radius: 999px;
  border: 2px solid var(--gray-line);
  background: var(--cream-2);
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background 0.3s ease, border-color 0.3s ease;
}
.theme-toggle img{
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  pointer-events: none;
}
.theme-toggle .icon-light{
  left: 7px;
  filter: brightness(0);
  opacity: 1;
}
.theme-toggle .icon-dark{
  right: 7px;
  filter: brightness(0);
  opacity: 0.2;
}
.theme-toggle .knob{
  position: absolute;
  top: 2px;
  left: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: transparent;
  border: 2px solid rgba(0,0,0,0.25);
  z-index: 1;
  transition: transform 0.3s cubic-bezier(.4,0,.2,1), border-color 0.3s ease;
}


[data-theme="dark"]{
  --cream:       #1c1c1e;
  --cream-2:     #2c2c2e;
  --stone:       #3a3a3c;
  --ink:         #f5f5f5;
  --ink-soft:    #a0a0a0;
  --gray:        #787878;
  --gray-line:   #3a3a3c;
  --gold:        #e0bc7c;
  --gold-soft:   #f0d4a0;
  --amber:       #d4a056;
  --amber-deep:  #e8b870;
  --blurple:     #7983F5;
  --blurple-dark:#6370e0;
  --shadow-card: 0 10px 30px -12px rgba(0,0,0,0.6);
  --shadow-soft: 0 4px 14px -6px rgba(0,0,0,0.4);
}


[data-theme="dark"] .btn{ background: var(--ink); color: var(--cream); }


[data-theme="dark"] .theme-toggle{
  background: #3a3a3c;
  border-color: #4a4a4c;
}
[data-theme="dark"] .theme-toggle .knob{
  transform: translateX(22px);
  border-color: rgba(255,255,255,0.35);
}
[data-theme="dark"] .theme-toggle .icon-light{ opacity: 0.2; filter: brightness(10); }
[data-theme="dark"] .theme-toggle .icon-dark{ opacity: 1; filter: brightness(10); }


[data-theme="dark"] .wiki-header{
  background: rgba(28,28,30,0.97);
}


[data-theme="dark"] .wiki-sidebar{
  background: #2c2c2e;
  border-color: #3a3a3c;
}
[data-theme="dark"] .wiki-sidebar ul a.is-current{
  background: rgba(232,184,112,0.16);
}
[data-theme="dark"] .wiki-sidebar ul a:hover{
  background: #3a3a3c;
}
[data-theme="dark"] .wiki-sidebar-toggle{
  background: #2c2c2e;
  border-color: #3a3a3c;
  color: #f5f5f5;
}
[data-theme="dark"] .wiki-home-arrow,
[data-theme="dark"] .wiki-sidebar-toggle img{ filter: brightness(0) invert(1); }


[data-theme="dark"] .wiki-article{
  background: #2c2c2e;
  border-color: #3a3a3c;
}
[data-theme="dark"] .wiki-article table th{
  background: #3a3a3c;
}
[data-theme="dark"] .wiki-article table td,
[data-theme="dark"] .wiki-article table th{
  border-color: #4a4a4c;
}
[data-theme="dark"] .wiki-article h2::after{
  border-color: #4a4a4c;
}


[data-theme="dark"] .wiki-search input{
  background: #2c2c2e;
  border-color: #3a3a3c;
}
[data-theme="dark"] .wiki-search-icon img{
  filter: brightness(10);
  opacity: 0.6;
}


[data-theme="dark"] .wiki-stub{
  background: #3a3a3c;
  border-color: #4a4a4c;
}


[data-theme="dark"] .category-card{
  background: #2c2c2e;
  border-color: #3a3a3c;
}


[data-theme="dark"] .infobox{
  background: #3a3a3c;
  border-color: #4a4a4c;
}
[data-theme="dark"] .infobox img{
  background: #1c1c1e;
}
[data-theme="dark"] .infobox .infobox-title{
  background: #1c1c1e;
  color: #f5f5f5;
}
[data-theme="dark"] .infobox .row{
  border-color: #4a4a4c;
}
[data-theme="dark"] .infobox .row dt{ color: #a0a0a0; }
[data-theme="dark"] .infobox .row dd{ color: #f5f5f5; }
[data-theme="dark"] .infobox .stars{ color: #555; }
[data-theme="dark"] .infobox .stars .star.on{ color: #e8b870; }


[data-theme="dark"] .bee-abilities,
[data-theme="dark"] .Bee-abilities{
  background: #3a3a3c;
  border-color: #4a4a4c;
}
[data-theme="dark"] .bee-ability img,
[data-theme="dark"] .Bee-ability img{
  background: #2c2c2e;
  border-color: #4a4a4c;
}


[data-theme="dark"] .toolbar-icons{
  background: #3a3a3c;
  border-color: #4a4a4c;
}


[data-theme="dark"] .wiki-figure,
[data-theme="dark"] .wiki-figure-right{
  background: #3a3a3c;
  border-color: #4a4a4c;
}
[data-theme="dark"] .wiki-figure figcaption,
[data-theme="dark"] .wiki-figure-right figcaption{
  border-color: #4a4a4c;
}


[data-theme="dark"] .badge-item{
  background: #3a3a3c;
  border-color: #4a4a4c;
}
[data-theme="dark"] .badge-item img{
  background: #2c2c2e;
  border-color: #4a4a4c;
}


[data-theme="dark"] .infobox-view-toggle button{
  background: #3a3a3c;
  color: #a0a0a0;
}
[data-theme="dark"] .infobox-view-toggle button:hover{ background: #4a4a4c; }
[data-theme="dark"] .infobox-view-toggle button.active{ background: #f5f5f5; color: #1c1c1e; }


[data-theme="dark"] .wiki-footer{
  border-color: #3a3a3c;
}
[data-theme="dark"] .wiki-footer a{
  color: #e8b870;
}
[data-theme="dark"] .wiki-footer a:hover{
  color: #f5f5f5;
}


[data-theme="dark"] .wiki-hero h1{
  color: #f5f5f5;
}

@media (max-width: 900px) {
  .wiki-article table{ display: block; width: 100%; overflow-x: auto; }
  .wiki-header-inner{ flex-wrap: wrap; row-gap: 10px; }
  .wiki-home-link{
    font-size: 0.78rem;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
  }
}

@media (max-width: 480px) {
  .wiki-brand{ font-size: 0.98rem; }
  .wiki-brand img{ height: 30px; }
  .wiki-home-link{ font-size: 0.74rem; }
  .wiki-article{ padding: 22px 16px; }
  .wiki-hero{ padding: 34px 0 6px; }
  .toolbar-icons{ gap: 16px; padding: 16px; }
  .toolbar-icon img{ width: 64px; height: 64px; }
}


.wiki-quest{
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-s);
  background: var(--cream-2);
  margin: 0 0 12px;
  overflow: hidden;
}
.wiki-quest > summary{
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  user-select: none;
}
.wiki-quest > summary::-webkit-details-marker{ display: none; }
.wiki-quest > summary::before{
  content: "";
  width: 24px; height: 24px;
  background-color: currentColor;
  -webkit-mask: url(../../icons/svg/arrowDropDown.svg) no-repeat center / contain;
  mask: url(../../icons/svg/arrowDropDown.svg) no-repeat center / contain;
  transform: rotate(270deg);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.wiki-quest[open] > summary::before{ transform: rotate(360deg); }
.wiki-quest > summary:hover{ background: var(--cream); }
.wiki-quest-no{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px; height: 26px;
  padding: 0 6px;
  background: var(--gold);
  color: #fff;
  border-radius: 999px;
  font-size: 0.8rem;
}
.wiki-quest-inner{
  padding: 8px 16px 14px;
  border-top: 1px dashed var(--gray-line);
}
.wiki-quest-inner h4{
  font-family: var(--font-display);
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin: 14px 0 6px;
  color: var(--ink-soft);
}
.wiki-quest-tasks{ margin: 0 0 4px; padding-left: 18px; }
.wiki-quest-tasks li{
  font-size: 0.96rem;
  line-height: 1.6;
  color: var(--ink-soft);
  margin-bottom: 4px;
}

.wiki-list{
  list-style: disc;
  padding-left: 20px;
  margin: 8px 0 12px;
}
.wiki-list li{
  font-size: 0.98rem;
  line-height: 1.6;
  color: var(--ink-soft);
  margin-bottom: 4px;
}
.wiki-quest-rewards{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  font-size: 0.96rem;
  font-weight: 600;
  color: var(--amber-deep);
  margin: 4px 0 10px;
}


.q-stat{
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.q-unlock{
  display: block;
  margin-top: 10px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink-soft);
}
.q-unlock img.reward-icon{
  width: 22px; height: 22px;
  border-radius: 50%;
  object-fit: cover;
  display: inline-flex;
  vertical-align: middle;
  margin-right: 6px;
}
.q-unlock .q-unlock-text{
  display: inline;
  color: var(--ink-soft);
}
.q-unlock a{
  color: var(--amber-deep);
  text-decoration: none;
  white-space: nowrap;
}
.q-unlock a:hover{
  text-decoration: underline;
}

.q-set{
  font-size: 0.86rem;
  font-weight: 500;
  color: var(--ink-soft);
  line-height: 1.5;
}
.q-scale-note{
  font-size: 0.86rem;
  font-style: italic;
  color: var(--ink-soft);
  margin: 0 0 8px;
}

.quest-ref{
  color: var(--gold);
  font-weight: 800;
}
.quest-ref:hover{
  text-decoration: underline;
}

.cooking-table .cooking-item{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.cooking-table .cooking-ingredients .reward{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 0;
  white-space: nowrap;
}
.cooking-table .cooking-ingredients .reward + .reward{ margin-top: 3px; }
.cooking-table img.reward-icon{
  width: 22px; height: 22px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  vertical-align: middle;
}
.wiki-error{
  display: block;
  width: fit-content;
  margin-top: 6px;
  font-family: var(--font-display);
  font-size: 0.88rem;
  color: var(--amber-deep);
  background: rgba(207,157,79,.12);
  border: 1px solid var(--gray-line);
  border-radius: 6px;
  padding: 2px 9px;
}
[data-theme="dark"] .wiki-error{
  color: var(--gold);
}
.wiki-dialogue{
  background: var(--cream);
  border: 1px solid var(--gray-line);
  border-left: 3px solid var(--gold);
  border-radius: var(--radius-s);
  padding: 10px 14px;
  margin: 8px 0 2px;
}
.wiki-dlg-label{
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--amber);
  margin: 10px 0 4px;
}
.wiki-dlg-line{
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0 0 2px;
  font-style: italic;
}
.wiki-note{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: flex-start;
  background: var(--cream);
  border: 1px solid var(--gold);
  border-radius: var(--radius-s);
  padding: 12px 14px;
  margin: 0 0 16px;
  font-size: 0.96rem;
  line-height: 1.6;
  color: var(--ink);
}
.wiki-repeat-note{
  font-size: 0.96rem;
  color: var(--ink-soft);
  margin: 0 0 14px;
}
.wiki-milestones{
  width: 100%;
  border-collapse: collapse;
  margin: 6px 0 16px;
  font-size: 0.95rem;
}
.wiki-milestones th, .wiki-milestones td{
  border: 1px solid var(--gray-line);
  padding: 8px 12px;
  text-align: left;
}
.wiki-milestones th{
  background: var(--cream-2);
  font-family: var(--font-display);
  color: var(--ink);
}
.wiki-milestones td{ color: var(--ink-soft); }


.wiki-quest-tasks{ list-style: disc; }


[data-theme="dark"] .wiki-quest-no{ background: #9a6a16; }
[data-theme="dark"] .wiki-quest{ border-color: #4a4a4c; }


.wiki-dlg{
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-s);
  background: var(--cream);
  margin: 10px 0 2px;
}
.wiki-dlg > summary{
  cursor: pointer;
  list-style: none;
  user-select: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--ink);
}
.wiki-dlg > summary::-webkit-details-marker{ display: none; }
.wiki-dlg > summary::before{
  content: "";
  width: 24px; height: 24px;
  background-color: currentColor;
  -webkit-mask: url(../../icons/svg/arrowDropDown.svg) no-repeat center / contain;
  mask: url(../../icons/svg/arrowDropDown.svg) no-repeat center / contain;
  transform: rotate(270deg);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.wiki-dlg[open] > summary::before{ transform: rotate(360deg); }
.wiki-dlg > summary:hover{ background: var(--cream-2); }
.wiki-dlg-inner{ padding: 2px 12px 10px; border-top: 1px dashed var(--gray-line); }


.wiki-pb{
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--cream);
  border: 1px solid var(--amber);
  border-left: 3px solid var(--amber);
  border-radius: var(--radius-s);
  padding: 10px 12px;
  margin: 8px 0 18px;
  font-size: 0.9rem;
  color: var(--amber-deep);
}
.wiki-pb{ font-style: italic; }


.wiki-quest-rewards .reward,
.wiki-milestones .reward{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.wiki-milestones .reward + .reward::before{ content: ", "; font-weight: 600; }
.wiki-quest-rewards .reward img.reward-icon,
.wiki-milestones .reward img.reward-icon{
  width: 22px; height: 22px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  vertical-align: middle;
}


.wiki-note > strong:first-child{
  display: block;
  flex: 0 0 100%;
}

.ability-infobox .ability-carousel{
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  background: var(--cream);
}
.ability-infobox .ability-carousel img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}
.ability-infobox dl{
  padding: 14px 16px;
}
.ability-infobox .row dt{ color: var(--ink-soft); }
.ability-infobox .row dd{ color: var(--ink); }

.ability-infobox .ability-carousel img:nth-child(1){
  animation: ab-fade 59.5s linear infinite;
}
@keyframes ab-fade{
  0%, 4.2% { opacity: 1; }
  5.88%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(2){
  animation: ab-fade2 59.5s linear infinite;
}
@keyframes ab-fade2{
  0%, 4.2% { opacity: 0; }
  5.88% { opacity: 1; }
  10.08% { opacity: 1; }
  11.76%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(3){
  animation: ab-fade3 59.5s linear infinite;
}
@keyframes ab-fade3{
  0%, 10.08% { opacity: 0; }
  11.76% { opacity: 1; }
  15.97% { opacity: 1; }
  17.65%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(4){
  animation: ab-fade4 59.5s linear infinite;
}
@keyframes ab-fade4{
  0%, 15.97% { opacity: 0; }
  17.65% { opacity: 1; }
  21.85% { opacity: 1; }
  23.53%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(5){
  animation: ab-fade5 59.5s linear infinite;
}
@keyframes ab-fade5{
  0%, 21.85% { opacity: 0; }
  23.53% { opacity: 1; }
  27.73% { opacity: 1; }
  29.41%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(6){
  animation: ab-fade6 59.5s linear infinite;
}
@keyframes ab-fade6{
  0%, 27.73% { opacity: 0; }
  29.41% { opacity: 1; }
  33.61% { opacity: 1; }
  35.29%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(7){
  animation: ab-fade7 59.5s linear infinite;
}
@keyframes ab-fade7{
  0%, 33.61% { opacity: 0; }
  35.29% { opacity: 1; }
  39.5% { opacity: 1; }
  41.18%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(8){
  animation: ab-fade8 59.5s linear infinite;
}
@keyframes ab-fade8{
  0%, 39.5% { opacity: 0; }
  41.18% { opacity: 1; }
  45.38% { opacity: 1; }
  47.06%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(9){
  animation: ab-fade9 59.5s linear infinite;
}
@keyframes ab-fade9{
  0%, 45.38% { opacity: 0; }
  47.06% { opacity: 1; }
  51.26% { opacity: 1; }
  52.94%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(10){
  animation: ab-fade10 59.5s linear infinite;
}
@keyframes ab-fade10{
  0%, 51.26% { opacity: 0; }
  52.94% { opacity: 1; }
  57.14% { opacity: 1; }
  58.82%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(11){
  animation: ab-fade11 59.5s linear infinite;
}
@keyframes ab-fade11{
  0%, 57.14% { opacity: 0; }
  58.82% { opacity: 1; }
  63.03% { opacity: 1; }
  64.71%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(12){
  animation: ab-fade12 59.5s linear infinite;
}
@keyframes ab-fade12{
  0%, 63.03% { opacity: 0; }
  64.71% { opacity: 1; }
  68.91% { opacity: 1; }
  70.59%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(13){
  animation: ab-fade13 59.5s linear infinite;
}
@keyframes ab-fade13{
  0%, 68.91% { opacity: 0; }
  70.59% { opacity: 1; }
  74.79% { opacity: 1; }
  76.47%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(14){
  animation: ab-fade14 59.5s linear infinite;
}
@keyframes ab-fade14{
  0%, 74.79% { opacity: 0; }
  76.47% { opacity: 1; }
  80.67% { opacity: 1; }
  82.35%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(15){
  animation: ab-fade15 59.5s linear infinite;
}
@keyframes ab-fade15{
  0%, 80.67% { opacity: 0; }
  82.35% { opacity: 1; }
  86.55% { opacity: 1; }
  88.24%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(16){
  animation: ab-fade16 59.5s linear infinite;
}
@keyframes ab-fade16{
  0%, 86.55% { opacity: 0; }
  88.24% { opacity: 1; }
  92.44% { opacity: 1; }
  94.12%, 100% { opacity: 0; }
}
.ability-infobox .ability-carousel img:nth-child(17){
  animation: ab-fade17 59.5s linear infinite;
}
@keyframes ab-fade17{
  0%, 92.44% { opacity: 0; }
  94.12% { opacity: 1; }
  100% { opacity: 1; }
}
.index-carousel{ position: relative; width: 100%; aspect-ratio: 1; background: var(--cream); }
.index-carousel img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
.bee-carousel img{ object-fit: contain; }

.bee-carousel img:nth-child(1){
  animation: bee-fade 45.5s linear infinite;
}
@keyframes bee-fade{
  0%, 5.49% { opacity: 1; }
  7.69%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(2){
  animation: bee-fade2 45.5s linear infinite;
}
@keyframes bee-fade2{
  0%, 5.49% { opacity: 0; }
  7.69% { opacity: 1; }
  13.19% { opacity: 1; }
  15.38%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(3){
  animation: bee-fade3 45.5s linear infinite;
}
@keyframes bee-fade3{
  0%, 13.19% { opacity: 0; }
  15.38% { opacity: 1; }
  20.88% { opacity: 1; }
  23.08%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(4){
  animation: bee-fade4 45.5s linear infinite;
}
@keyframes bee-fade4{
  0%, 20.88% { opacity: 0; }
  23.08% { opacity: 1; }
  28.57% { opacity: 1; }
  30.77%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(5){
  animation: bee-fade5 45.5s linear infinite;
}
@keyframes bee-fade5{
  0%, 28.57% { opacity: 0; }
  30.77% { opacity: 1; }
  36.26% { opacity: 1; }
  38.46%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(6){
  animation: bee-fade6 45.5s linear infinite;
}
@keyframes bee-fade6{
  0%, 36.26% { opacity: 0; }
  38.46% { opacity: 1; }
  43.96% { opacity: 1; }
  46.15%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(7){
  animation: bee-fade7 45.5s linear infinite;
}
@keyframes bee-fade7{
  0%, 43.96% { opacity: 0; }
  46.15% { opacity: 1; }
  51.65% { opacity: 1; }
  53.85%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(8){
  animation: bee-fade8 45.5s linear infinite;
}
@keyframes bee-fade8{
  0%, 51.65% { opacity: 0; }
  53.85% { opacity: 1; }
  59.34% { opacity: 1; }
  61.54%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(9){
  animation: bee-fade9 45.5s linear infinite;
}
@keyframes bee-fade9{
  0%, 59.34% { opacity: 0; }
  61.54% { opacity: 1; }
  67.03% { opacity: 1; }
  69.23%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(10){
  animation: bee-fade10 45.5s linear infinite;
}
@keyframes bee-fade10{
  0%, 67.03% { opacity: 0; }
  69.23% { opacity: 1; }
  74.73% { opacity: 1; }
  76.92%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(11){
  animation: bee-fade11 45.5s linear infinite;
}
@keyframes bee-fade11{
  0%, 74.73% { opacity: 0; }
  76.92% { opacity: 1; }
  82.42% { opacity: 1; }
  84.62%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(12){
  animation: bee-fade12 45.5s linear infinite;
}
@keyframes bee-fade12{
  0%, 82.42% { opacity: 0; }
  84.62% { opacity: 1; }
  90.11% { opacity: 1; }
  92.31%, 100% { opacity: 0; }
}
.bee-carousel img:nth-child(13){
  animation: bee-fade13 45.5s linear infinite;
}
@keyframes bee-fade13{
  0%, 90.11% { opacity: 0; }
  92.31% { opacity: 1; }
  100% { opacity: 1; }
}
.egg-carousel img:nth-child(1){
  animation: egg-fade 17.5s linear infinite;
}
@keyframes egg-fade{
  0%, 14.29% { opacity: 1; }
  20%, 100% { opacity: 0; }
}
.egg-carousel img:nth-child(2){
  animation: egg-fade2 17.5s linear infinite;
}
@keyframes egg-fade2{
  0%, 14.29% { opacity: 0; }
  20% { opacity: 1; }
  34.29% { opacity: 1; }
  40%, 100% { opacity: 0; }
}
.egg-carousel img:nth-child(3){
  animation: egg-fade3 17.5s linear infinite;
}
@keyframes egg-fade3{
  0%, 34.29% { opacity: 0; }
  40% { opacity: 1; }
  54.29% { opacity: 1; }
  60%, 100% { opacity: 0; }
}
.egg-carousel img:nth-child(4){
  animation: egg-fade4 17.5s linear infinite;
}
@keyframes egg-fade4{
  0%, 54.29% { opacity: 0; }
  60% { opacity: 1; }
  74.29% { opacity: 1; }
  80%, 100% { opacity: 0; }
}
.egg-carousel img:nth-child(5){
  animation: egg-fade5 17.5s linear infinite;
}
@keyframes egg-fade5{
  0%, 74.29% { opacity: 0; }
  80% { opacity: 1; }
  100% { opacity: 1; }
}
.item-carousel img:nth-child(1){
  animation: item-fade 66.5s linear infinite;
}
@keyframes item-fade{
  0%, 3.76% { opacity: 1; }
  5.26%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(2){
  animation: item-fade2 66.5s linear infinite;
}
@keyframes item-fade2{
  0%, 3.76% { opacity: 0; }
  5.26% { opacity: 1; }
  9.02% { opacity: 1; }
  10.53%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(3){
  animation: item-fade3 66.5s linear infinite;
}
@keyframes item-fade3{
  0%, 9.02% { opacity: 0; }
  10.53% { opacity: 1; }
  14.29% { opacity: 1; }
  15.79%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(4){
  animation: item-fade4 66.5s linear infinite;
}
@keyframes item-fade4{
  0%, 14.29% { opacity: 0; }
  15.79% { opacity: 1; }
  19.55% { opacity: 1; }
  21.05%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(5){
  animation: item-fade5 66.5s linear infinite;
}
@keyframes item-fade5{
  0%, 19.55% { opacity: 0; }
  21.05% { opacity: 1; }
  24.81% { opacity: 1; }
  26.32%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(6){
  animation: item-fade6 66.5s linear infinite;
}
@keyframes item-fade6{
  0%, 24.81% { opacity: 0; }
  26.32% { opacity: 1; }
  30.08% { opacity: 1; }
  31.58%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(7){
  animation: item-fade7 66.5s linear infinite;
}
@keyframes item-fade7{
  0%, 30.08% { opacity: 0; }
  31.58% { opacity: 1; }
  35.34% { opacity: 1; }
  36.84%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(8){
  animation: item-fade8 66.5s linear infinite;
}
@keyframes item-fade8{
  0%, 35.34% { opacity: 0; }
  36.84% { opacity: 1; }
  40.6% { opacity: 1; }
  42.11%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(9){
  animation: item-fade9 66.5s linear infinite;
}
@keyframes item-fade9{
  0%, 40.6% { opacity: 0; }
  42.11% { opacity: 1; }
  45.86% { opacity: 1; }
  47.37%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(10){
  animation: item-fade10 66.5s linear infinite;
}
@keyframes item-fade10{
  0%, 45.86% { opacity: 0; }
  47.37% { opacity: 1; }
  51.13% { opacity: 1; }
  52.63%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(11){
  animation: item-fade11 66.5s linear infinite;
}
@keyframes item-fade11{
  0%, 51.13% { opacity: 0; }
  52.63% { opacity: 1; }
  56.39% { opacity: 1; }
  57.89%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(12){
  animation: item-fade12 66.5s linear infinite;
}
@keyframes item-fade12{
  0%, 56.39% { opacity: 0; }
  57.89% { opacity: 1; }
  61.65% { opacity: 1; }
  63.16%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(13){
  animation: item-fade13 66.5s linear infinite;
}
@keyframes item-fade13{
  0%, 61.65% { opacity: 0; }
  63.16% { opacity: 1; }
  66.92% { opacity: 1; }
  68.42%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(14){
  animation: item-fade14 66.5s linear infinite;
}
@keyframes item-fade14{
  0%, 66.92% { opacity: 0; }
  68.42% { opacity: 1; }
  72.18% { opacity: 1; }
  73.68%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(15){
  animation: item-fade15 66.5s linear infinite;
}
@keyframes item-fade15{
  0%, 72.18% { opacity: 0; }
  73.68% { opacity: 1; }
  77.44% { opacity: 1; }
  78.95%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(16){
  animation: item-fade16 66.5s linear infinite;
}
@keyframes item-fade16{
  0%, 77.44% { opacity: 0; }
  78.95% { opacity: 1; }
  82.71% { opacity: 1; }
  84.21%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(17){
  animation: item-fade17 66.5s linear infinite;
}
@keyframes item-fade17{
  0%, 82.71% { opacity: 0; }
  84.21% { opacity: 1; }
  87.97% { opacity: 1; }
  89.47%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(18){
  animation: item-fade18 66.5s linear infinite;
}
@keyframes item-fade18{
  0%, 87.97% { opacity: 0; }
  89.47% { opacity: 1; }
  93.23% { opacity: 1; }
  94.74%, 100% { opacity: 0; }
}
.item-carousel img:nth-child(19){
  animation: item-fade19 66.5s linear infinite;
}
@keyframes item-fade19{
  0%, 93.23% { opacity: 0; }
  94.74% { opacity: 1; }
  100% { opacity: 1; }
}
.npc-carousel img:nth-child(1){
  animation: npc-fade 21.0s linear infinite;
}
@keyframes npc-fade{
  0%, 11.9% { opacity: 1; }
  16.67%, 100% { opacity: 0; }
}
.npc-carousel img:nth-child(2){
  animation: npc-fade2 21.0s linear infinite;
}
@keyframes npc-fade2{
  0%, 11.9% { opacity: 0; }
  16.67% { opacity: 1; }
  28.57% { opacity: 1; }
  33.33%, 100% { opacity: 0; }
}
.npc-carousel img:nth-child(3){
  animation: npc-fade3 21.0s linear infinite;
}
@keyframes npc-fade3{
  0%, 28.57% { opacity: 0; }
  33.33% { opacity: 1; }
  45.24% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
.npc-carousel img:nth-child(4){
  animation: npc-fade4 21.0s linear infinite;
}
@keyframes npc-fade4{
  0%, 45.24% { opacity: 0; }
  50% { opacity: 1; }
  61.9% { opacity: 1; }
  66.67%, 100% { opacity: 0; }
}
.npc-carousel img:nth-child(5){
  animation: npc-fade5 21.0s linear infinite;
}
@keyframes npc-fade5{
  0%, 61.9% { opacity: 0; }
  66.67% { opacity: 1; }
  78.57% { opacity: 1; }
  83.33%, 100% { opacity: 0; }
}
.npc-carousel img:nth-child(6){
  animation: npc-fade6 21.0s linear infinite;
}
@keyframes npc-fade6{
  0%, 78.57% { opacity: 0; }
  83.33% { opacity: 1; }
  100% { opacity: 1; }
}

.ability-token{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid var(--gray-line);
  border-radius: var(--radius-s);
  background: var(--cream);
  padding: 14px 16px;
  margin: 10px 0;
  scroll-margin-top: 90px;
}
.ability-token .ability-icon{
  width: 60px;
  height: 60px;
  border-radius: var(--radius-s);
  object-fit: cover;
  flex-shrink: 0;
  background: var(--cream-2);
}
.ability-token h3{
  flex: 1;
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.08rem;
  color: var(--ink);
}
.ability-token p{
  flex: 0 0 100%;
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.6;
  color: var(--ink-soft);
}
.ability-found{
  font-size: 0.88rem;
  color: var(--ink-soft);
  margin-top: 2px;
}
.ability-found a{
  color: var(--amber-deep);
  text-decoration: none;
}
.ability-found a:hover{
  text-decoration: underline;
}

@keyframes token-flash{
  0%{ background: rgba(207,157,79,.35); }
  100%{ background: var(--cream); }
}
.ability-token:target{
  animation: token-flash 2s ease-out;
}

[data-theme="dark"] .ability-infobox .ability-carousel{
  background: var(--cream);
}

