/* GCH Fanart V2.5. High-contrast overlay navigation and compact controls. */
main.gch-fanart-detail, main.gch-fanart-detail * {box-sizing:border-box;}
main.gch-fanart-detail {
  position:relative; left:50%;transform:translateX(-50%);
  width:calc(100vw - 18px); max-width:1920px; padding:0;
  margin:0 auto 3rem; font-family:inherit; color:#f5f8ff;
}
main.gch-fanart-detail .gch-fanart-detail__stage {margin:0 0 12px;}
main.gch-fanart-detail .gch-fanart-detail__viewer {
  position:relative;display:flex;justify-content:center;align-items:center;
  min-width:0;width:100%;min-height:160px;margin:0 auto;padding:2px;
  border:1px solid #5f6c83;border-radius:13px;
  background:#111b2b;box-shadow:0 10px 28px rgba(3,11,28,.28);
  overflow:hidden;
}
main.gch-fanart-detail .gch-fanart-detail__artwork {
  display:block;width:auto;max-width:100%;height:auto;
  max-height:min(94vh,1450px);object-fit:contain;border-radius:9px;
  cursor:default;user-select:none;
}
main.gch-fanart-detail .gch-fanart-detail__nav-button {
  position:absolute;z-index:3;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:center;
  width:clamp(48px,4.6vw,68px);height:clamp(56px,5.5vw,84px);
  padding:0;border:1px solid rgba(224,232,255,.7);border-radius:12px;
  background:rgba(10,23,44,.86) !important;color:#fff !important;
  box-shadow:0 5px 20px rgba(0,0,0,.45);cursor:pointer;
  opacity:0;pointer-events:none;transition:opacity .16s ease,background .16s ease;
}
main.gch-fanart-detail .gch-fanart-detail__nav-button--prev {left:clamp(9px,1.8vw,24px);}
main.gch-fanart-detail .gch-fanart-detail__nav-button--next {right:clamp(9px,1.8vw,24px);}
main.gch-fanart-detail .gch-fanart-detail__nav-button svg {display:block;width:34px;height:34px;color:#fff;stroke:#fff;flex:none;}
main.gch-fanart-detail .gch-fanart-detail__viewer:hover .gch-fanart-detail__nav-button,
main.gch-fanart-detail .gch-fanart-detail__viewer:focus-within .gch-fanart-detail__nav-button {
  opacity:1;pointer-events:auto;
}
main.gch-fanart-detail .gch-fanart-detail__nav-button:hover {background:#245b9a !important;border-color:#ffe5ae;}
main.gch-fanart-detail .gch-fanart-detail__nav-button:focus-visible {outline:3px solid #ffda84;outline-offset:2px;opacity:1;pointer-events:auto;}
main.gch-fanart-detail .gch-fanart-detail__nav-tooltip {
  display:none;position:absolute;top:calc(100% + 9px);white-space:nowrap;
  min-width:max-content;max-width:min(260px,80vw);padding:7px 10px;
  border-radius:7px;background:#0d192d !important;color:#fff !important;
  border:1px solid #8da7d0;box-shadow:0 4px 13px rgba(0,0,0,.3);
  font-size:.82rem;font-weight:700;
}
main.gch-fanart-detail .gch-fanart-detail__nav-button--prev .gch-fanart-detail__nav-tooltip {left:0;}
main.gch-fanart-detail .gch-fanart-detail__nav-button--next .gch-fanart-detail__nav-tooltip {right:0;}
main.gch-fanart-detail .gch-fanart-detail__nav-button:hover .gch-fanart-detail__nav-tooltip,
main.gch-fanart-detail .gch-fanart-detail__nav-button:focus-visible .gch-fanart-detail__nav-tooltip {display:block;}
main.gch-fanart-detail .gch-fanart-detail__nsfw {position:absolute;top:14px;right:14px;padding:5px 9px;border:1px solid #e5bd68;border-radius:8px;background:#172339;color:#ffe4a6;font-size:.88rem;font-weight:800;}
@media (hover:none), (pointer:coarse) {
  main.gch-fanart-detail .gch-fanart-detail__nav-button {opacity:1;pointer-events:auto;width:47px;height:60px;background:rgba(10,23,44,.8) !important;}
}
main.gch-fanart-detail .gch-fanart-detail__panel {
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;
  width:100%;max-width:1450px;margin:0 auto;padding:16px clamp(14px,2vw,28px);
  background:#15243e !important;color:#f8fbff !important;
  border:1px solid #7286a5;border-radius:14px;
  box-shadow:0 7px 23px rgba(3,10,25,.25);
}
main.gch-fanart-detail .gch-fanart-detail__actions {
  display:flex;align-items:stretch;flex-wrap:wrap;justify-content:center;gap:14px;
  margin:0;padding:0;border:0;flex:1 1 360px;
}
main.gch-fanart-detail .gch-fanart-detail__download {
  display:flex;flex-direction:column;justify-content:center;align-items:stretch;
  gap:7px;flex:0 1 210px;min-width:160px;padding:8px 10px 10px;
  border:1px solid #7185aa;border-radius:11px;background:#0c1c35 !important;
  color:#fff !important;text-align:center;
}
main.gch-fanart-detail .gch-fanart-detail__download .gch-fanart-detail__action,
main.gch-fanart-detail .gch-fanart-detail__download a.gch-fanart-detail__action {
  display:block;min-height:44px;padding:10px 12px;border:1px solid #90b6fa;border-radius:8px;
  color:#ffffff !important;background:#315c9e !important;
  text-align:center;text-decoration:none !important;font-size:1rem;line-height:1.25;font-weight:750;
}
main.gch-fanart-detail .gch-fanart-detail__download .gch-fanart-detail__action--secondary {background:#36506f !important;}
main.gch-fanart-detail .gch-fanart-detail__download .gch-fanart-detail__action:hover {background:#427ac5 !important;border-color:#fff3cf;}
main.gch-fanart-detail .gch-fanart-detail__download .gch-fanart-detail__resolution {
  display:block;background:#0c1c35 !important;color:#f7faff !important;
  opacity:1 !important;text-shadow:none !important;font-size:.92rem;font-weight:750;
  line-height:1.5;font-variant-numeric:tabular-nums;
}
main.gch-fanart-detail .gch-fanart-detail__rating {
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 22px;
  margin:0;padding:0;flex:1 1 365px;min-width:0;color:#fff !important;
}
main.gch-fanart-detail .gch-fanart-detail__rating-summary {text-align:center;}
main.gch-fanart-detail .gch-fanart-detail__rating h2 {color:#fff !important;font-size:1rem;font-weight:800;margin:0 0 4px;line-height:1.25;}
main.gch-fanart-detail .gch-fanart-detail__score {display:flex;gap:7px;align-items:baseline;justify-content:center;flex-wrap:wrap;margin:0;}
main.gch-fanart-detail .gch-fanart-detail__score strong {color:#fff !important;font-size:1.08rem;font-weight:800;}
main.gch-fanart-detail .gch-fanart-detail__votes {color:#dce8ff !important;font-size:.85rem;}
main.gch-fanart-detail .gch-fanart-detail__rating-form {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;}
main.gch-fanart-detail .gch-fanart-detail__stars {display:flex;flex-direction:row-reverse;justify-content:center;align-items:center;gap:1px;min-width:0;padding:0;margin:0;border:0;}
main.gch-fanart-detail .gch-fanart-detail__star {position:relative;display:block;margin:0;cursor:pointer;line-height:1;}
main.gch-fanart-detail .gch-fanart-detail__star input {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;}
main.gch-fanart-detail .gch-fanart-detail__star span {
  display:block;padding:5px 3px;background:transparent !important;color:#708099 !important;
  font-size:clamp(26px,2.2vw,34px);line-height:1;transition:color .13s;
}
main.gch-fanart-detail .gch-fanart-detail__star:hover span,
main.gch-fanart-detail .gch-fanart-detail__star:hover ~ .gch-fanart-detail__star span,
main.gch-fanart-detail .gch-fanart-detail__star:has(input:checked) span,
main.gch-fanart-detail .gch-fanart-detail__star:has(input:checked) ~ .gch-fanart-detail__star span {color:#ffd66e !important;}
main.gch-fanart-detail .gch-fanart-detail__star:has(input:focus-visible) span {outline:3px solid #f8d286;outline-offset:2px;border-radius:4px;}
main.gch-fanart-detail .gch-fanart-detail__stars[aria-busy="true"] {opacity:.62;}
main.gch-fanart-detail .gch-fanart-detail__message {max-width:310px;margin:0;min-height:1.2em;color:#d4f2db !important;font-size:.82rem;text-align:center;}
main.gch-fanart-detail .gch-fanart-detail__message[data-state="error"] {color:#ffd6d6 !important;}
main.gch-fanart-detail .gch-fanart-detail__unavailable {max-width:380px;margin:0;color:#ffedc6 !important;font-size:.9rem;text-align:center;}
main.gch-fanart-detail .gch-fanart-detail__footer {
  display:flex;flex-direction:column;align-items:center;gap:9px;max-width:1450px;
  margin:18px auto 0;padding:14px 18px;border:1px solid #7386a3;border-radius:12px;
  background:#1c2c44 !important;color:#fff !important;text-align:center;
}
main.gch-fanart-detail .gch-fanart-detail__footer h1 {margin:0;color:#fff !important;font-size:1.35rem;font-weight:800;}
main.gch-fanart-detail .gch-fanart-detail__footer nav {display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;}
main.gch-fanart-detail .gch-fanart-detail__footer a {color:#d2e8ff !important;font-weight:650;font-size:.94rem;text-decoration:underline;}
main.gch-fanart-detail .gch-fanart-detail__footer a:hover {color:#ffe5b6 !important;}
main.gch-fanart-detail .gch-fanart-detail__noscript-nav {display:flex;justify-content:space-evenly;gap:12px;padding:9px;background:#16233a;}
main.gch-fanart-detail .gch-fanart-detail__noscript-nav a {color:#fff !important;}
main.gch-fanart-detail .gch-fanart-detail__sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:700px) {
  main.gch-fanart-detail {width:calc(100vw - 8px);}
  main.gch-fanart-detail .gch-fanart-detail__viewer {padding:1px;border-radius:8px;}
  main.gch-fanart-detail .gch-fanart-detail__artwork {max-height:89vh;}
  main.gch-fanart-detail .gch-fanart-detail__panel {padding:12px;}
  main.gch-fanart-detail .gch-fanart-detail__download {flex:1 1 140px;min-width:125px;}
  main.gch-fanart-detail .gch-fanart-detail__rating {gap:12px;}
}
@media(prefers-reduced-motion:reduce) {main.gch-fanart-detail .gch-fanart-detail__nav-button,main.gch-fanart-detail .gch-fanart-detail__star span {transition:none;}}

/* Use the available page width, excluding the browser's scrollbar. */
main.gch-fanart-detail{left:auto;transform:none;width:calc(100% - 16px);margin-left:auto;margin-right:auto}
@media(max-width:760px){main.gch-fanart-detail .gch-fanart-detail__nav-button{opacity:1;pointer-events:auto;width:42px;height:54px}}

/* A single viewport-sized frame contains artwork and every primary control. */
main.gch-fanart-detail{margin-bottom:12px}
main.gch-fanart-detail .gch-fanart-detail__stage{margin:0}
main.gch-fanart-detail .gch-fanart-detail__viewer{display:grid;grid-template-rows:minmax(0,1fr) auto auto;height:max(340px,calc(100dvh - var(--fanart-top,90px) - 12px));min-height:0;padding:0;align-items:stretch;justify-content:stretch}
main.gch-fanart-detail .gch-fanart-detail__canvas{position:relative;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0d1523}
main.gch-fanart-detail .gch-fanart-detail__artwork{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:0}
main.gch-fanart-detail .gch-fanart-detail__panel{width:100%;max-width:none;margin:0;padding:8px 14px;border:0;border-top:1px solid #526783;border-radius:0;box-shadow:none;gap:10px}
main.gch-fanart-detail .gch-fanart-detail__actions{flex:1 1 320px;gap:10px}
main.gch-fanart-detail .gch-fanart-detail__download{min-width:0;flex:0 1 190px;padding:0;border:0;background:transparent!important;gap:3px}
main.gch-fanart-detail .gch-fanart-detail__download a.gch-fanart-detail__action{font-size:.8rem;padding:8px 10px;min-height:36px}
main.gch-fanart-detail .gch-fanart-detail__download .gch-fanart-detail__resolution{font-size:.7rem;background:transparent!important}
main.gch-fanart-detail .gch-fanart-detail__rating{flex:1 1 300px;gap:8px 16px}
main.gch-fanart-detail .gch-fanart-detail__rating h2{font-size:.75rem;margin-bottom:2px}
main.gch-fanart-detail .gch-fanart-detail__score strong{font-size:.9rem}
main.gch-fanart-detail .gch-fanart-detail__votes{font-size:.7rem}
main.gch-fanart-detail .gch-fanart-detail__rating-form{position:relative}
main.gch-fanart-detail .gch-fanart-detail__message:empty{display:none}
main.gch-fanart-detail .gch-fanart-detail__message{font-size:.65rem;min-height:0}
main.gch-fanart-detail .gch-fanart-detail__footer{width:100%;max-width:none;flex-direction:row;justify-content:space-between;gap:8px;margin:0;padding:8px 14px;border:0;border-top:1px solid #526783;border-radius:0}
main.gch-fanart-detail .gch-fanart-detail__footer h1{font-size:.9rem}
main.gch-fanart-detail .gch-fanart-detail__footer a{font-size:.75rem}
main.gch-fanart-detail .gch-fanart-detail__footer nav{gap:8px 16px}
@media(max-width:700px){main.gch-fanart-detail .gch-fanart-detail__panel{display:grid;grid-template-columns:1fr;padding:8px 10px;gap:6px}main.gch-fanart-detail .gch-fanart-detail__actions{width:100%}main.gch-fanart-detail .gch-fanart-detail__download{flex:1}main.gch-fanart-detail .gch-fanart-detail__rating{flex-wrap:nowrap;justify-content:space-between}main.gch-fanart-detail .gch-fanart-detail__rating h2{display:none}main.gch-fanart-detail .gch-fanart-detail__star span{font-size:27px;padding:4px}main.gch-fanart-detail .gch-fanart-detail__footer{flex-direction:column;gap:5px;padding:7px 10px}main.gch-fanart-detail .gch-fanart-detail__footer h1{font-size:.8rem}main.gch-fanart-detail .gch-fanart-detail__footer nav{gap:4px 12px}main.gch-fanart-detail .gch-fanart-detail__footer a{font-size:.65rem}}
@media(max-width:700px){main.gch-fanart-detail .gch-fanart-detail__viewer{height:auto;grid-template-rows:auto auto auto}main.gch-fanart-detail .gch-fanart-detail__canvas{max-height:max(120px,calc(100dvh - var(--fanart-top,160px) - 215px))}main.gch-fanart-detail .gch-fanart-detail__artwork{height:auto;max-height:max(120px,calc(100dvh - var(--fanart-top,160px) - 215px))}}
