/* v0.1.1: AnisonDB routes only - hide Luxeritas breadcrumbs and tighten the top gap. */
body.anisondb-route #breadcrumb,
body.anisondb-route #breadcrumb-box{display:none!important}
body.anisondb-route #primary{margin-top:0!important;padding-top:0!important}
body.anisondb-route .anisondb-page-main{padding-top:6px!important}

.anisondb-page-main{margin:0!important;padding:18px!important;width:100%!important;max-width:none!important}.anisondb-app{--accent:#7150DE;--text:#202124;--muted:#6b7280;--line:#e5e7eb;--table-line:#C9CDD3;--op:#E7508A;--op-text:#CC3F76;--op-soft:#FDF0F5;--op-border:#F7DCE7;--ed:#53AAC1;--ed-text:#428DA1;--ed-soft:#EDFAFD;--ed-border:#D8F1F7;--in:#55A875;--in-text:#3F895D;--in-soft:#EEF8F1;--in-border:#D7EEDF;--im:#E5A23D;--im-text:#B7791F;--im-soft:#FFF6E5;--im-border:#F4E2BD;--other:#7B8490;--other-soft:#F1F3F5;--other-border:#DCE0E4;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",Meiryo,sans-serif}.anisondb-app *{box-sizing:border-box}.anisondb-searchbar{background:#fff;border:1px solid var(--line);padding:14px;border-radius:10px;display:grid;grid-template-columns:36px minmax(220px,1fr) 120px minmax(160px,220px) 150px auto;gap:8px;align-items:center;margin-bottom:14px}.anisondb-search-icon{width:32px;height:32px;object-fit:contain;display:block;justify-self:center}.anisondb-searchbar input,.anisondb-searchbar select{border:1px solid #d1d5db;border-radius:7px;padding:9px;background:#fff;min-height:40px}.anisondb-searchbar button,.anisondb-tab,.anisondb-pager button{border:0;border-radius:7px;padding:9px 14px;cursor:pointer;background:var(--accent);color:#fff;font-weight:700}.anisondb-layout{display:grid;grid-template-columns:430px minmax(0,1fr);gap:14px;align-items:start}.anisondb-panel{background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden}.anisondb-panelhead{padding:12px 14px;border-bottom:1px solid #232F3E;font-weight:700;display:flex;justify-content:space-between;align-items:center;background:#232F3E;color:#fff}.anisondb-panelhead small{color:#fff}.anisondb-results{max-height:calc(100vh - 235px);overflow:auto}.anisondb-result{padding:12px 14px;border-bottom:1px solid #eee;cursor:pointer}.anisondb-result:hover{background:#faf8ff}.anisondb-result.active{background:#f0ebff;border-left:4px solid var(--accent);padding-left:10px}.anisondb-rtitle{font-weight:800}.anisondb-meta{color:var(--muted);font-size:12px;margin-top:4px}.anisondb-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.anisondb-badge{font-size:11px;padding:2px 6px;border-radius:999px;background:#f1f1f3;color:#4b5563}.anisondb-badge.op,.anisondb-songuse.op{background:var(--op-soft);color:var(--op-text);border:1px solid var(--op-border)}.anisondb-badge.ed,.anisondb-songuse.ed{background:var(--ed-soft);color:var(--ed-text);border:1px solid var(--ed-border)}.anisondb-badge.in,.anisondb-songuse.in{background:var(--in-soft);color:var(--in-text);border:1px solid var(--in-border)}.anisondb-badge.im,.anisondb-songuse.im{background:var(--im-soft);color:var(--im-text);border:1px solid var(--im-border)}.anisondb-badge.other,.anisondb-songuse.other{background:var(--other-soft);color:#59616B;border:1px solid var(--other-border)}.anisondb-pager{padding:10px 12px;display:flex;gap:8px;align-items:center;justify-content:center}.anisondb-pager .anisondb-ghost{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;padding:9px 14px;background:#f3f4f6;color:#374151;font-weight:700;text-decoration:none!important;line-height:1.2;min-height:36px}.anisondb-pager a.anisondb-ghost{cursor:pointer}.anisondb-pager a.anisondb-ghost:hover{background:#e9eaed;color:#202124}.anisondb-pager .anisondb-ghost.is-disabled,.anisondb-pager button:disabled{opacity:.45;cursor:default;pointer-events:none}.anisondb-detail{padding:18px;min-height:500px}.anisondb-empty{color:var(--muted);padding:48px 20px;text-align:center}.anisondb-empty-visual{display:block;max-width:260px;width:46%;height:auto;margin:0 auto 18px}.anisondb-empty-text{font-size:14px;line-height:1.7;color:#4b5563;font-weight:600}.anisondb-noresult{padding:30px 15px;text-align:center}.anisondb-loading,.anisondb-error,.anisondb-muted{padding:24px;color:var(--muted)}.anisondb-error{color:#b42318}.anisondb-titleline{display:flex;align-items:flex-start;justify-content:space-between}.anisondb-titleline h1{margin:0!important;font-size:26px!important;line-height:1.4!important;border:0!important;padding:0!important;background:none!important}.anisondb-id{font-size:12px;color:var(--muted);margin-top:3px}.anisondb-summarychips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 18px}.anisondb-chip{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:7px;padding:6px 9px;font-size:12px}.anisondb-chip.is-zero{background:#f4f4f5;border-color:#e5e7eb;color:#a1a1aa;opacity:.72}.anisondb-section{margin-top:24px}.anisondb-section>h2{font-size:17px!important;line-height:1.5!important;margin:8px 0 14px!important;border:0!important;border-left:5px solid var(--accent)!important;padding:0 0 0 9px!important;background:none!important;color:#202124!important}.anisondb-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.anisondb-info{border:1px solid var(--line);border-radius:7px;padding:9px}.anisondb-info small{color:var(--muted);display:block}.anisondb-song-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 12px}.anisondb-tab{background:#f3f4f6;color:#374151;padding:7px 12px;border-radius:999px;font-size:12px;border:1px solid transparent}.anisondb-tab.active{background:var(--accent);color:#fff}.anisondb-tab.op.active{background:var(--op)}.anisondb-tab.ed.active{background:var(--ed)}.anisondb-tab.in.active{background:var(--in)}.anisondb-tab.im.active{background:var(--im)}.anisondb-tab.other.active{background:var(--other)}.anisondb-tabcount{font-size:11px;margin-left:5px;opacity:.92}.anisondb-songcard{border:1px solid var(--line);border-radius:9px;padding:12px;margin:9px 0}.anisondb-songtitle{font-weight:800;font-size:16px}.anisondb-songuse{display:inline-block;font-size:11px;border-radius:5px;padding:2px 6px;margin-right:7px;font-weight:700}.anisondb-songnote{font-size:12px;color:var(--muted);margin-top:5px}.anisondb-credits{font-size:13px;margin-top:7px;display:grid;gap:3px}.anisondb-sources{margin-top:9px;border-top:1px dashed #ddd;padding-top:7px}.anisondb-sources summary{cursor:pointer;font-size:12px;font-weight:700;color:#4b5563}.anisondb-source-list{margin-top:7px;display:grid;gap:5px}.anisondb-source{display:flex;justify-content:space-between;gap:10px;background:#f8f9fa;padding:6px 8px;font-size:12px}.anisondb-source span{color:var(--muted);text-align:right}.anisondb-table-wrap{overflow:auto}.anisondb-table{border-collapse:collapse;width:100%;font-size:12px}.anisondb-table th,.anisondb-table td{border:1px solid var(--table-line);padding:7px 8px;text-align:left;white-space:nowrap}.anisondb-table th{background:#F1F3F5}.anisondb-stats-title{margin:24px auto 8px;text-align:center;font-weight:800;color:#7650DF;font-size:16px;line-height:1.5}.anisondb-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center;margin:0 auto;text-align:center}.anisondb-stat{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:8px;min-width:120px}.anisondb-stat b{display:block;font-size:20px}.anisondb-stat small{color:var(--muted)}
@media(max-width:900px){.anisondb-layout{grid-template-columns:340px minmax(0,1fr)}.anisondb-searchbar{grid-template-columns:32px 1fr 105px 1fr 130px auto}}
@media(max-width:700px){.anisondb-page-main{padding:10px!important}.anisondb-searchbar{grid-template-columns:28px minmax(0,1fr) 92px auto;padding:10px}.anisondb-search-icon{width:28px;height:28px}.anisondb-searchbar #anisondb-type,.anisondb-searchbar #anisondb-sort{display:none}.anisondb-layout{grid-template-columns:1fr}.anisondb-results{max-height:360px}.anisondb-detail{padding:14px;min-height:360px}.anisondb-empty-visual{width:58%;max-width:220px;margin-bottom:14px}.anisondb-empty{padding:32px 16px}.anisondb-source{display:block}.anisondb-source span{display:block;text-align:left;margin-top:2px}}


.anisondb-detail-loading{opacity:.72;pointer-events:none}.anisondb-song-tabs{scroll-margin-top:20px}

/* v0.1.7: public CSV download button for the complete song list. */
.anisondb-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px}
.anisondb-section-heading>h2{font-size:17px!important;line-height:1.5!important;margin:0!important;border:0!important;border-left:5px solid var(--accent)!important;padding:0 0 0 9px!important;background:none!important;color:#202124!important}
.anisondb-csv-download{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 14px;border-radius:7px;background:#7650DF;color:#fff!important;font-size:13px;font-weight:800;line-height:1.2;text-decoration:none!important;white-space:nowrap;box-shadow:none}
.anisondb-csv-download-icon{display:block;width:15px;height:15px;object-fit:contain;flex:0 0 15px}
.anisondb-csv-download:hover,.anisondb-csv-download:focus{background:#6842d3;color:#fff!important;text-decoration:none!important}
@media(max-width:700px){.anisondb-section-heading{flex-direction:column;align-items:stretch;gap:10px}.anisondb-section-heading>h2{align-self:stretch}.anisondb-csv-download{width:100%}}


/* v0.1.8: smartphone users do not need CSV download. */
@media (max-width:600px){.anisondb-csv-download{display:none!important}}


/* v0.2.0: program image (on-demand external lookup, local persistent cache). */
.anisondb-detail-top-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:20px;align-items:start;margin-top:10px}
.anisondb-detail-top-grid.no-image{grid-template-columns:1fr}
.anisondb-detail-top-main{min-width:0}
.anisondb-program-image-card{width:230px;max-width:100%;background:#232F3E;border:1px solid #232F3E;border-radius:8px;overflow:hidden;justify-self:end}
.anisondb-program-image-inner{width:100%;min-height:160px;display:flex;flex-direction:column;justify-content:center}
.anisondb-program-image{display:block;width:100%;height:auto;max-height:340px;object-fit:cover;background:#232F3E}
.anisondb-program-image-loading{min-height:220px;display:flex;align-items:center;justify-content:center;padding:18px;color:#fff;font-size:12px;text-align:center}
.anisondb-program-image-caption{padding:7px 9px;color:#fff;font-size:10px;line-height:1.45;text-align:center;word-break:break-word}
.anisondb-program-image-caption a{color:#fff!important;text-decoration:underline;text-underline-offset:2px}
.anisondb-program-image-caption a:hover{color:#fff!important}
@media(max-width:900px){
  .anisondb-detail-top-grid{grid-template-columns:minmax(0,1fr) 210px;gap:14px}
  .anisondb-program-image-card{width:210px}
}
@media(max-width:700px){
  .anisondb-detail-top-grid{grid-template-columns:1fr}
  .anisondb-program-image-card{width:100%;max-width:220px;justify-self:center;margin-top:4px}
  .anisondb-program-image-inner{min-height:140px}
  .anisondb-program-image-loading{min-height:180px}
}


/* v0.2.1: mobile image placement and mobile/public REST reliability. */
.anisondb-program-image-mobile-wrap{display:none}
@media(max-width:700px){
  .anisondb-program-image-card.is-desktop{display:none!important}
  .anisondb-program-image-mobile-wrap{display:block;margin:0 0 14px}
  .anisondb-program-image-mobile-wrap:empty{display:none!important;margin:0}
  .anisondb-program-image-card.is-mobile{
    display:block;
    width:100%;
    max-width:220px;
    margin:0 auto;
    justify-self:auto;
  }
  .anisondb-work-info-section>h2{margin-bottom:12px!important}
}
@media(min-width:701px){
  .anisondb-program-image-card.is-mobile{display:none!important}
}


/* v0.2.2: related-group search links. */
.anisondb-related-groups{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.anisondb-related-group{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border:1px solid #d8cff8;
  border-radius:999px;
  background:#f5f1ff;
  color:#5f3cc8!important;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  text-decoration:none!important;
  transition:background .15s,border-color .15s,color .15s;
}
.anisondb-related-group:hover{
  background:#7650DF;
  border-color:#7650DF;
  color:#fff!important;
}
.anisondb-info-empty{color:#6b7280}


/* v0.2.3: maker/company links use the same search-pill behavior as related groups. */
.anisondb-maker-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}
.anisondb-maker-link{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:4px 10px;
  border:1px solid #d8cff8;
  border-radius:999px;
  background:#f5f1ff;
  color:#5f3cc8!important;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  text-decoration:none!important;
  transition:background .15s,border-color .15s,color .15s;
}
.anisondb-maker-link:hover{
  background:#7650DF;
  border-color:#7650DF;
  color:#fff!important;
}


/* v0.10.17: singer names link to person search without changing card layout. */
.anisondb-singer-link{
  color:#5f3cc8!important;
  font-weight:800!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(95,60,200,.35);
  transition:color .15s,border-color .15s;
}
.anisondb-singer-link:hover{
  color:#40249d!important;
  border-bottom-color:#40249d;
}
.anisondb-singer-link:focus-visible{
  outline:2px solid #7650DF;
  outline-offset:2px;
  border-radius:2px;
}


/* v0.3.0: Apple artwork for OP/ED song cards only. */
.anisondb-songcard-row{display:flex;align-items:flex-start;gap:12px}
.anisondb-songcontent{min-width:0;flex:1}
.anisondb-song-artwork-slot{
  width:84px;
  height:84px;
  flex:0 0 84px;
  border-radius:8px;
  overflow:hidden;
  background:#f1f3f5;
  border:1px solid #e1e5ea;
}
.anisondb-song-artwork{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.anisondb-song-artwork-placeholder{
  width:100%;
  height:100%;
  background:linear-gradient(110deg,#eef0f3 8%,#f8f9fa 18%,#eef0f3 33%);
  background-size:200% 100%;
  animation:anisondb-artwork-loading 1.3s linear infinite;
}
@keyframes anisondb-artwork-loading{to{background-position-x:-200%}}
@media(max-width:600px){
  .anisondb-songcard-row{gap:10px}
  .anisondb-song-artwork-slot{width:72px;height:72px;flex-basis:72px;border-radius:7px}
}
@media(prefers-reduced-motion:reduce){
  .anisondb-song-artwork-placeholder{animation:none}
}


/* v0.4.0: LRCLIB lyrics excerpt for OP/ED only. */
.anisondb-lyrics{
  margin-top:10px;
  border-top:1px solid #eceff3;
  padding-top:8px;
}
.anisondb-lyrics>summary{
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  color:#5f3cc8;
  font-size:13px;
  font-weight:800;
  list-style:none;
  user-select:none;
}
.anisondb-lyrics>summary::-webkit-details-marker{display:none}
.anisondb-lyrics>summary::before{
  content:"▶";
  display:inline-block;
  font-size:10px;
  transition:transform .15s ease;
}
.anisondb-lyrics[open]>summary::before{transform:rotate(90deg)}
.anisondb-lyrics-body{
  margin-top:8px;
  padding:10px 12px;
  border-radius:7px;
  background:#faf9ff;
  border:1px solid #e6e0fa;
  font-size:13px;
  line-height:1.75;
}
.anisondb-lyrics-excerpt{
  color:#252836;
  word-break:break-word;
}
.anisondb-lyrics-message{color:#6b7280}
.anisondb-lyrics-source{
  display:inline-block;
  margin-top:6px;
  color:#7650DF!important;
  font-size:11px;
  font-weight:700;
  text-decoration:none!important;
}
.anisondb-lyrics-source:hover{text-decoration:underline!important}
@media(max-width:600px){
  .anisondb-lyrics-body{padding:9px 10px}
}


/* v0.5.0: AnimeThemes OP/ED WebM, on-demand only. */
.anisondb-theme-video{
  margin-top:10px;
  border-top:1px solid #eceff3;
  padding-top:8px;
}
.anisondb-theme-video>summary{
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  color:#5f3cc8;
  font-size:13px;
  font-weight:800;
  list-style:none;
  user-select:none;
}
.anisondb-theme-video>summary::-webkit-details-marker{display:none}
.anisondb-theme-video>summary::before{
  content:"▶";
  display:inline-block;
  font-size:10px;
  transition:transform .15s ease;
}
.anisondb-theme-video[open]>summary::before{transform:rotate(90deg)}
.anisondb-theme-video-body{
  margin-top:8px;
  padding:10px;
  border-radius:8px;
  background:#f7f7fa;
  border:1px solid #e4e6eb;
}
.anisondb-theme-video-message{
  color:#6b7280;
  font-size:13px;
  line-height:1.6;
}
.anisondb-theme-video-player video{
  display:block;
  width:100%;
  max-width:720px;
  aspect-ratio:16/9;
  margin:0 auto;
  background:#111;
  border-radius:7px;
}
.anisondb-theme-video-credit{
  margin-top:6px;
  color:#7a7f89;
  font-size:10px;
  text-align:right;
}
.anisondb-theme-video-credit a{
  color:#7650DF!important;
  text-decoration:none!important;
}
.anisondb-theme-video-credit a:hover{text-decoration:underline!important}
@media(max-width:600px){
  .anisondb-theme-video-body{padding:8px}
  .anisondb-theme-video-player video{border-radius:6px}
}


/* v0.7.1: clearer truncated lyrics + YouTube fallback for missing OP/ED video. */
.anisondb-lyrics-continued{
  display:inline;
  margin-left:0;
  font-weight:700;
  color:#4b5563;
}
.anisondb-theme-video-youtube{
  display:inline-block;
  margin-top:8px;
  color:#7650DF!important;
  font-size:12px;
  font-weight:800;
  text-decoration:none!important;
}
.anisondb-theme-video-youtube:hover{text-decoration:underline!important}


/* v0.8.8: Dedicated AnisonDB one-column template.
   The database UI is detached from Luxeritas' normal post/page column at runtime
   and mounted directly before the site footer. This means Luxeritas' per-template
   1/2/3-column settings no longer decide the database width. */
body.anisondb-route #breadcrumb,
body.anisondb-route #breadcrumb-box{
  display:none!important;
}

body.anisondb-route #side,
body.anisondb-route #col3,
body.anisondb-route #secondary,
body.anisondb-route #sidebar,
body.anisondb-route .sidebar{
  display:none!important;
}

/* Original theme content column is collapsed after the standalone DB shell is moved out. */
body.anisondb-route .anisondb-origin-host{
  display:none!important;
}

body.anisondb-route .anisondb-standalone-root{
  display:block!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

body.anisondb-route .anisondb-standalone-inner{
  width:min(1500px, calc(100vw - 40px))!important;
  max-width:1500px!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}

body.anisondb-route .anisondb-page-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:6px 18px 18px!important;
  position:static!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}

@media(max-width:700px){
  body.anisondb-route .anisondb-standalone-inner{
    width:100%!important;
    max-width:none!important;
  }
  body.anisondb-route .anisondb-page-main{
    padding:10px!important;
  }
}


/* v0.8.11: AnisonDB route only — make the footer background full-bleed white.
   Luxeritas keeps the footer content in a centered container, so on the special
   standalone database route the body background can show at both sides.
   Keep the footer content width unchanged; only extend its white background. */
body.anisondb-route #footer,
body.anisondb-route footer#footer,
body.anisondb-route .site-footer{
  background:#fff!important;
  box-shadow:0 0 0 100vmax #fff!important;
  clip-path:inset(0 -100vmax)!important;
}

/* Some Luxeritas builds render the footer navigation as a separate block. */
body.anisondb-route #footer-nav,
body.anisondb-route .footer-nav{
  background:#fff!important;
  box-shadow:0 0 0 100vmax #fff!important;
  clip-path:inset(0 -100vmax)!important;
}

/* v0.10.0: AnisonDB独自SNSシェア */
.anisondb-social-share{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid rgba(120,105,200,.16);
}
.anisondb-social-share-title{
  margin:0 0 14px;
  font-size:1.18rem;
  line-height:1.55;
}
.anisondb-share-buttons{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.anisondb-share-button{
  appearance:none;
  min-height:44px;
  border:0;
  border-radius:9px;
  padding:9px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#fff!important;
  text-decoration:none!important;
  font:inherit;
  font-size:.88rem;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  transition:filter .15s ease,transform .15s ease;
}
.anisondb-share-button:hover{
  filter:brightness(.95);
  transform:translateY(-1px);
}
.anisondb-share-button:focus-visible{
  outline:3px solid rgba(113,80,222,.28);
  outline-offset:2px;
}
.anisondb-share-mark{
  min-width:20px;
  font-weight:800;
  text-align:center;
}
.anisondb-share-button.is-x{background:#111}
.anisondb-share-button.is-facebook{background:#1877f2}
.anisondb-share-button.is-line{background:#06c755}
.anisondb-share-button.is-hatena{background:#00a4de}
.anisondb-share-button.is-copy{background:#7150de}
.anisondb-share-button.is-copy.is-copied{background:#5d49b7}

@media (max-width:700px){
  .anisondb-share-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .anisondb-share-button.is-copy{grid-column:1/-1}
}

/* v0.10.13: ranking route from an empty database search result. */
.anisondb-noresult-ranking{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:12px;
  color:#5b42c7!important;
  font-size:13px;
  font-weight:800;
  text-decoration:none!important;
}
.anisondb-noresult-ranking:hover{
  color:#432da8!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
