/* item / monster database pages (items.php, item.php, monsters.php, monster.php) */
.gd-sec { padding: 28px 0 56px; }
.gd-search { padding: 16px; margin-bottom: 14px; }
.gd-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.gd-row input[type=text] { flex: 1 1 260px; }
.gd-row select { flex: 0 1 190px; width: auto; }
.gd-row .btn { padding: 11px 18px; }
.gd-filters { margin-top: 10px; }
.gd-filters select { flex: 1 1 140px; }
.gd-lv { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 14px; }
.gd-lv input { width: 86px; padding: 9px 10px; }
.gd-check { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; font-size: 14px; color: var(--muted); cursor: pointer; flex-basis: 100%; }
.gd-check input { width: 16px; height: 16px; accent-color: var(--brand); }

.gd-meta { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; margin: 4px 2px 12px; color: var(--muted); font-size: 14px; }
.gd-meta b { color: var(--ink); }
.gd-sort a { margin-left: 10px; color: var(--muted); }
.gd-sort a.on { color: var(--gold); font-weight: 600; }

/* item list */
.gd-list { display: grid; gap: 8px; }
.gd-item { display: flex; align-items: center; gap: 12px; padding: 10px 14px; color: var(--ink); transition: border-color .15s, transform .15s; }
.gd-item:hover { text-decoration: none; border-color: rgba(242, 194, 91, .45); transform: translateX(2px); color: var(--ink); }
.gd-ico { width: 24px; height: 24px; image-rendering: pixelated; flex: none; }
.gd-item .gd-ico { width: 32px; height: 32px; padding: 4px; border-radius: 8px; background: rgba(255, 255, 255, .05); box-sizing: content-box; }
.gd-main { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.gd-main b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gd-main small { color: var(--muted); font-size: 13px; }
.gd-tags { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.gd-tags i, .gd-badge { font-style: normal; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 99px; background: rgba(255, 255, 255, .06); color: var(--muted); white-space: nowrap; }
.gd-tags em { font-style: normal; font-size: 12px; color: var(--muted); min-width: 52px; text-align: right; }
.t-drop { color: #86efac !important; background: rgba(52, 211, 153, .12) !important; }
.t-shop { color: #93c5fd !important; background: rgba(96, 165, 250, .13) !important; }
.t-cash, .gd-badge.gold { color: var(--gold) !important; background: var(--gold-soft) !important; }
.gd-badge { margin-left: 6px; vertical-align: 1px; }
.gd-badge.mvp, .t-mvp { color: #fda4af !important; background: rgba(251, 113, 133, .14) !important; }
.t-boss { color: #c4b5fd !important; background: rgba(139, 92, 246, .18) !important; }
@media (max-width: 600px) {
  .gd-item { flex-wrap: wrap; }
  .gd-tags { flex-basis: 100%; justify-content: flex-start; padding-left: 52px; }
  .gd-tags em { text-align: left; min-width: 0; }
}

/* pager */
.gd-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 20px 0 6px; }
.gd-pg { padding: 6px 12px; border-radius: 8px; border: 1px solid var(--line); background: var(--card); color: var(--ink); font-size: 14px; }
.gd-pg:hover { text-decoration: none; border-color: rgba(242, 194, 91, .45); }
.gd-pg.on { background: var(--brand); border-color: var(--brand); color: #fff; }
.gd-pager > span:not(.gd-pg) { padding: 6px 4px; color: var(--muted); }
.gd-note { font-size: 13px; margin: 12px 2px 0; }

/* detail head */
.gd-head { padding-bottom: 28px; }
.gd-back { display: inline-block; font-size: 14px; margin-bottom: 14px; color: var(--muted); }
.gd-title { display: flex; align-items: center; gap: 18px; }
.gd-title h1 { margin: 0 0 8px; word-break: break-word; }
.gd-bigico { width: 72px; height: 72px; border-radius: 16px; display: grid; place-items: center; flex: none;
  background: radial-gradient(circle at 50% 40%, rgba(242, 194, 91, .22), rgba(139, 92, 246, .12)); border: 1px solid var(--line); }
.gd-bigico img { width: 48px; height: 48px; image-rendering: pixelated; }
.gd-bigmob { width: 120px; height: 120px; display: grid; place-items: end center; flex: none;
  background: radial-gradient(60% 22% at 50% 92%, rgba(0, 0, 0, .45), transparent 70%); }
.gd-bigmob img { max-width: 120px; max-height: 120px; image-rendering: pixelated; }
.gd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gd-chips span { font-size: 13px; font-weight: 600; padding: 3px 10px; border-radius: 99px; background: rgba(255, 255, 255, .07); color: var(--muted); }

/* detail body */
.gd-split { display: grid; gap: 22px; grid-template-columns: 1fr; align-items: start; }
@media (min-width: 900px) { .gd-split { grid-template-columns: minmax(0, 1fr) 320px; } }
.gd-split aside { display: grid; gap: 14px; }
.gd-h { font-size: 20px; margin: 26px 0 10px; }
.gd-h small { font-size: 13px; font-weight: 400; }
.gd-desc { line-height: 1.8; font-size: 15px; }
.gd-desc hr { border: 0; border-top: 1px dashed var(--line); margin: 10px 0; }
.gd-tablecard { padding: 4px 6px; }
.gd-table td, .gd-table th { padding: 9px 10px; }
.gd-table td { font-size: 14.5px; }
.gd-table small { font-size: 12px; }
.gd-table tr.dim td { opacity: .55; }
.gd-table tr.gd-cardrow td { background: rgba(242, 194, 91, .06); }
.gd-where { line-height: 1.9; }
.gd-map { display: inline-block; margin: 0 6px 0 0; padding: 1px 9px; border-radius: 99px; background: rgba(255, 255, 255, .06);
  font-size: 13px; white-space: nowrap; color: inherit; text-decoration: none; transition: background .15s, color .15s; }
a.gd-map:hover { background: rgba(167, 139, 250, .2); color: #ddd6fe; }
.gd-map small { color: var(--muted); }
.gd-mapmore { font-size: 13px; white-space: nowrap; }

/* maps (maps.php, map.php) */
.gd-minimap { padding: 12px; display: grid; place-items: center;
  background: radial-gradient(circle at 50% 45%, rgba(139, 92, 246, .14), transparent 70%), var(--card); }
.gd-minimap img { width: 100%; max-width: 296px; height: auto; image-rendering: auto; border-radius: 6px; }
@media (max-width: 899px) { .gd-split.gd-mapsplit aside { order: -1; } .gd-split.gd-mapsplit .gd-h { margin-top: 6px; } }
.gd-mapgrid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.gd-mapcard { display: flex; gap: 12px; align-items: center; padding: 10px 12px; color: var(--ink); transition: border-color .15s, transform .15s; }
.gd-mapcard:hover { text-decoration: none; color: var(--ink); border-color: rgba(242, 194, 91, .45); transform: translateY(-1px); }
.gd-mapthumb { width: 76px; height: 76px; flex: none; border-radius: 8px; background: rgba(255, 255, 255, .04); display: grid; place-items: center; overflow: hidden; }
.gd-mapthumb img { width: 76px; height: 76px; }
.gd-mapthumb svg { width: 28px; height: 28px; color: var(--muted); opacity: .45; }
.gd-mapfilters select { flex: 0 1 200px; }
.gd-mapinfo { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 13.5px; }
.gd-mapinfo b { font-size: 15px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gd-mapinfo .gd-badge { margin: 2px 6px 0 0; }
@media (max-width: 400px) { .gd-mapgrid { grid-template-columns: 1fr; } }
.gd-morebtn { display: block; width: 100%; margin: 2px 0 4px; padding: 10px; border: 0; border-top: 1px solid var(--line); background: none;
  color: #c4b5fd; font: inherit; font-size: 14px; cursor: pointer; }
.gd-morebtn:hover { color: #fff; }
.gd-itemlink { display: inline-flex; align-items: center; gap: 8px; }
.gd-itemlink img { width: 24px; height: 24px; image-rendering: pixelated; flex: none; }
.gd-mob { display: flex; align-items: center; gap: 10px; color: var(--ink); }
.gd-mob:hover { text-decoration: none; color: #fff; }
.gd-mobpic { width: 44px; height: 44px; display: grid; place-items: center; flex: none; }
.gd-mobpic img { max-width: 44px; max-height: 44px; image-rendering: pixelated; }
.gd-mobs td:first-child { min-width: 200px; }
.gd-facts { padding: 6px 18px; }
.gd-facts .kv { font-size: 14px; }
.gd-facts .kv b { text-align: right; overflow-wrap: anywhere; }
.gd-attr { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 10px; }
.gd-attr div { text-align: center; padding: 8px 4px; }
.gd-attr span { display: block; font-size: 12px; color: var(--muted); letter-spacing: .08em; }
.gd-attr b { font-size: 18px; }
.gd-stats { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.gd-stats .stat b { font-size: 22px; }
.gd-cardart { padding: 10px; text-align: center; }
.gd-cardart img { max-width: 100%; border-radius: 8px; }
.gd-cash b { color: var(--gold); }
.gd-cash p { margin-top: 6px; font-size: 14px; }
/* "in development": the item exists in the game data but nothing on the server gives it yet */
.t-dev, .gd-tags i.t-dev, .gd-chips .t-dev { color: #fdba74 !important; background: rgba(251, 146, 60, .14) !important; }
.gd-dev { border-color: rgba(251, 146, 60, .4); background: linear-gradient(135deg, rgba(251, 146, 60, .1), transparent 60%), var(--card); margin-bottom: 14px; }
.gd-dev b { color: #fdba74; }
.gd-dev p { margin-top: 6px; font-size: 14.5px; }

/* costume tiers: 1 common / 2 good / 3 grand */
.ct-1, .ct-2, .ct-3 { font-style: normal; font-weight: 600; }
.gd-tags i.ct-1, .gd-chips .ct-1, td .ct-1 { color: #cbd5e1 !important; background: rgba(203, 213, 225, .1) !important; }
.gd-tags i.ct-2, .gd-chips .ct-2, td .ct-2 { color: #7dd3fc !important; background: rgba(56, 189, 248, .14) !important; }
.gd-tags i.ct-3, .gd-chips .ct-3, td .ct-3 { color: var(--gold) !important; background: var(--gold-soft) !important; }
td .ct-1, td .ct-2, td .ct-3 { font-size: 12px; padding: 2px 9px; border-radius: 99px; }
.gd-tiers { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-bottom: 10px; }
.gd-tiercard { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; color: var(--ink); transition: border-color .15s, transform .15s; }
.gd-tiercard:hover, .gd-tiercard.on { text-decoration: none; color: var(--ink); transform: translateY(-2px); }
.gd-tiercard span { font-size: 13px; }
.gd-tiercard b { font-size: 18px; }
.gd-tiercard small { color: var(--muted); font-size: 13px; }
.ct-box-1.on { border-color: rgba(203, 213, 225, .5); }
.ct-box-2 { border-color: rgba(56, 189, 248, .3); } .ct-box-2.on { border-color: rgba(56, 189, 248, .75); }
.ct-box-3 { border-color: rgba(242, 194, 91, .35); } .ct-box-3.on { border-color: rgba(242, 194, 91, .85); }
.gd-tierbox b { color: var(--ink); }
.gd-tierbox p { margin-top: 6px; font-size: 14px; }

/* pets */
.gd-pets { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); }
.gd-pet { padding: 16px 18px; scroll-margin-top: 90px; }
.gd-pet.boss { border-color: rgba(251, 113, 133, .35); }
.gd-pet:target { border-color: var(--gold); box-shadow: var(--glow); }
.gd-pet header { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.gd-pet h3 { margin: 0; font-size: 17px; }
.gd-pet h3 a { color: #fff; }
/* label column + value column; extra notes (small) drop under the value */
.gd-petrows > div, .gd-petbonus > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); column-gap: 10px; align-items: center; padding: 6px 0; border-top: 1px solid var(--line); font-size: 14px; }
.gd-petrows > div > :nth-child(n+3), .gd-petbonus > div > :nth-child(n+3) { grid-column: 2; }
.gd-petrows > div > span:first-child, .gd-petbonus > div > span:first-child { color: var(--muted); font-size: 13px; }
.gd-petbonus b { color: #86efac; font-weight: 600; }
.gd-evo { margin-top: 10px; padding: 10px 12px; }
.gd-evo summary { font-size: 14px; }
.gd-evo div { font-size: 13.5px; margin-top: 8px; }
.gd-evo .muted { display: block; }
.gd-script { margin-top: 22px; }
.gd-script pre { margin: 12px 0 0; white-space: pre-wrap; word-break: break-word; font-size: 13px; color: #d9cffd; background: rgba(0, 0, 0, .25); padding: 12px; border-radius: 8px; }
