/* Server page: rates, live game configuration and content scale. */
.rate-band,.config-band,.woe-band,.world-band{padding:65px 0 10px}
.rate-band .section-heading,.config-band .section-heading,.woe-band .section-heading,.world-band .section-heading{margin-bottom:34px}
.realm-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.realm-stats span{display:flex;align-items:baseline;gap:7px;padding:8px 12px;border-radius:8px;background:#ffffff12}
.realm-stats strong{color:#f9c10b;font:900 17px Jost,sans-serif}
.realm-stats small{color:#c7bfd6;font-size:12px;letter-spacing:.5px;text-transform:uppercase}
.rate-tuning{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:18px 0 0}
.tune-card{display:flex;flex-direction:column;gap:5px;padding:20px;border-radius:11px;background:#fffdfa;box-shadow:0 4px 12px #6036220d}
.tune-card i{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#f1e9f7;color:#6f4fa8;font-size:20px;margin-bottom:6px}
.tune-card span{color:#9b8879;font:700 13px Jost,sans-serif;letter-spacing:1.1px;text-transform:uppercase}
.tune-card strong{color:#4c3a75;font:900 22px Jost,sans-serif}
.tune-card small{color:#8a7a70;font-size:13px}
.config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.config-card{padding:28px;border-radius:12px;background:#fff;box-shadow:0 4px 14px #3923380f}
.config-card>header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.config-card>header i{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:10px;background:#21163d;color:#f9c10b;font-size:21px}
.config-card h3{margin:0;font-size:17px}
.config-card header small{display:block;margin-top:3px;color:#b0937e;font:700 13px Jost,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.config-rows{display:grid;gap:0;margin:0;padding:0;list-style:none}
.config-rows li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed #eee4dc;color:#7c6f68;font-size:13px}
.config-rows li:last-child{border:0}
.config-rows strong{color:#3f2f6d;font:700 13px Jost,sans-serif;text-align:right}
.woe-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
.woe-count-card{position:relative;display:flex;align-items:flex-end;min-height:240px;overflow:hidden;border-radius:14px;background:#17102f;box-shadow:0 8px 22px #21143b1f}
.woe-count-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;filter:saturate(.9)}
.woe-count-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#17102f14,#17102fe8)}
.woe-count-body{position:relative;z-index:1;width:100%;padding:24px;color:#fff;text-align:center}
.woe-count-body strong{display:block;color:#f9c10b;font:900 46px Jost,sans-serif;line-height:1}
.woe-count-body span{display:block;margin-top:8px;font:700 14px Jost,sans-serif;letter-spacing:.6px;text-transform:uppercase}
.woe-count-body small{display:block;margin-top:8px;color:#cfc6dd;font-size:13px;line-height:1.55}
.castle-groups{display:grid;gap:22px}
.castle-group-label{display:block;margin-bottom:12px;color:#b0937e;font:700 13px Jost,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.castle-photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.castle-photo{position:relative;overflow:hidden;border-radius:12px;background:#21153f;box-shadow:0 5px 14px #21143b14}
.castle-photo-exterior{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.castle-photo-altar{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease}
.castle-photo:hover .castle-photo-altar{opacity:1}
.castle-photo>span{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:28px 12px 10px;background:linear-gradient(transparent,#0d0722e8);color:#fff}
.castle-photo strong{font:700 14px Jost,sans-serif}
.castle-photo small{color:#c3b7d6;font-size:13px;letter-spacing:.4px;text-transform:uppercase}
.castle-photo.is-exclusive{outline:2px solid #f9c10b;outline-offset:-2px}
.castle-photo.is-exclusive strong{color:#f9c10b}
.woe-schedule{display:flex;align-items:flex-start;gap:11px;margin:22px 0 0;padding:18px 22px;border-radius:11px;background:#eee7dc;color:#6c5f57;font-size:13px;line-height:1.75}
p.woe-schedule{flex-wrap:nowrap}
.woe-schedule i{flex:0 0 auto;color:#8a63c9;font-size:18px;line-height:1.75}
.world-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.world-card{padding:26px;border-radius:12px;background:#fff;box-shadow:0 4px 14px #3923380f}
.world-card>header{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.world-card>header i{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#f1e9f7;color:#6f4fa8;font-size:20px}
.world-card h3{margin:0;font-size:15px}
.world-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.world-card li{display:flex;justify-content:space-between;gap:12px;color:#8a7a70;font-size:13px}
.world-card li strong{color:#4c3a75;font:800 14px Jost,sans-serif}
@media(max-width:1000px){.rate-tuning{grid-template-columns:repeat(3,1fr)}.config-grid{grid-template-columns:1fr 1fr}.world-stats{grid-template-columns:1fr 1fr}.castle-photo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.rate-tuning{grid-template-columns:1fr 1fr}.config-grid,.world-stats{grid-template-columns:1fr}.woe-counts{grid-template-columns:1fr}.castle-photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.rate-tuning{grid-template-columns:1fr}.config-card{padding:22px}.woe-schedule{padding:16px 18px}.castle-photo-grid{grid-template-columns:repeat(2,1fr)}}

/* Official progression: level 175, stats to 130 and the official tables. */
.progression-band{padding:65px 0 10px}
.progression-band .section-heading{margin-bottom:34px}
.progression-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.progression-card{padding:26px;border-radius:12px;background:#fff;box-shadow:0 4px 14px #3923380f}
.progression-card.is-wide{grid-column:1/-1}
.progression-card>header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.progression-card>header i{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:10px;background:#21163d;color:#f9c10b;font-size:21px}
.progression-card h3{margin:0;font-size:17px}
.progression-card header small{display:block;margin-top:3px;color:#b0937e;font:700 12px Jost,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.progression-total{margin-left:auto;padding:7px 12px;border-radius:6px;background:#f6f0e8;color:#7a5cb0;font:800 13px Onest,Arial,sans-serif;white-space:nowrap}
.progression-card p{margin:0;color:#7c6f68;font-size:14px;line-height:1.75}
.progression-card p strong{color:#4c3a75}
.progression-rows{display:grid;gap:10px;margin:0 0 12px;padding:0;list-style:none}
.progression-rows li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:9px;background:#f8f4ef;color:#8a7a70;font-size:13px}
.progression-rows strong{color:#3f2f6d;font:700 13px Jost,sans-serif;text-align:right}
.progression-caption{margin-top:12px!important;color:#8a7a70!important;font-size:13px!important}
.stat-chart{display:flex;align-items:flex-end;gap:8px;height:158px;padding:14px 6px 8px;border-radius:10px;background:linear-gradient(180deg,#faf6f1,#fff)}
.stat-bar{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.stat-bar b{color:#7a5cb0;font:800 12px Jost,sans-serif}
.stat-bar i{display:block;width:100%;max-width:26px;height:8%;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#f9c10b,#e0a50a);box-shadow:0 2px 6px #b17d0030}
.stat-bar small{color:#a3958c;font:700 12px Onest,Arial,sans-serif}
@media(max-width:1000px){.progression-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.progression-grid{grid-template-columns:1fr}.stat-chart{height:124px;gap:5px}.stat-bar b{font-size:12px}.stat-bar small{font-size:12px}}
@media(max-width:560px){.stat-chart .stat-bar:nth-child(even){display:none}.stat-chart{gap:7px}}

.stat-bar.is-talent i{background:linear-gradient(180deg,#b9a3ff,#7c5cff)}
.stat-bar.is-talent b,.stat-bar.is-talent small{color:#a78bfa}

.stat-chart{display:flex;gap:12px;align-items:stretch;height:auto;padding:0;background:none;border:0}
.stat-zone{flex:1;display:flex;flex-direction:column;padding:36px 10px 10px;border-radius:12px;background:#faf7ff;border:1px solid #ece4fb;position:relative}
.stat-zone.is-renewal{background:#fbf8f1;border-color:#f0e6cf}
.stat-zone.is-kro{background:#f7f4ff;border-color:#ddd0ff}
.stat-zone-label{position:absolute;top:12px;left:12px;font:700 12px/1 Onest,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#9a8fb5}
.stat-zone.is-pre .stat-zone-label{color:#b8860b}
.stat-zone.is-renewal .stat-zone-label{color:#9a7b2e}
.stat-zone.is-kro .stat-zone-label{color:#7c5cff}
.stat-zone-bars{display:flex;gap:8px;align-items:flex-end;flex:1;height:150px}
.stat-zone .stat-bar{height:100%;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.stat-zone .stat-bar i{display:block;width:100%;max-width:26px;min-height:4px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#f9c10b,#e0a800)}
.stat-zone.is-kro .stat-bar i{background:linear-gradient(180deg,#b9a3ff,#7c5cff)}

/* Continuous official-era strip: one unbroken chart, eras only tinted + labelled. */
.stat-chart{display:flex;gap:0;align-items:stretch;height:auto;padding:0;background:none;border:0}
.stat-era{display:flex;flex-direction:column;padding:30px 0 10px;background:#faf7ff}
.stat-era.is-pre{border-radius:12px 0 0 12px;background:#faf7ff}
.stat-era.is-renewal{background:#fcf9f1}
.stat-era.is-kro{border-radius:0 12px 12px 0;background:#f8f5ff}
.stat-era-label{display:block;margin:0 4px 6px;font:700 12px/1.2 Onest,Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-era.is-pre .stat-era-label{color:#b8860b}
.stat-era.is-renewal .stat-era-label{color:#9a7b2e}
.stat-era.is-kro .stat-era-label{color:#7c5cff}
.stat-era-bars{display:flex;gap:8px;align-items:flex-end;flex:1;height:150px;padding:0 4px}
.stat-era .stat-bar{height:100%;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.stat-era .stat-bar i{display:block;width:100%;max-width:26px;min-height:4px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#f9c10b,#e0a800)}
.stat-era.is-kro .stat-bar i{background:linear-gradient(180deg,#b9a3ff,#7c5cff)}
@media (max-width:700px){.stat-era-label{display:none}}

/* Full-width continuous progression: rising cumulative bars, no cuts. */
.stat-chart{width:100%;overflow:hidden}
.stat-era{min-width:0}
.stat-era-bars{height:170px;gap:6px}
.stat-era .stat-bar i{max-width:none}

/* Chart v3: full width, rising per-level bars, era tints without cuts. */
.stat-chart{display:flex;gap:0;width:100%;overflow:hidden;padding:0;background:none;border:0;align-items:stretch;height:auto}
.stat-era{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;padding:14px 0 0;background:#fbf9ff}
.stat-era.is-pre{border-radius:12px 0 0 12px}
.stat-era.is-renewal{background:#fdfaf3}
.stat-era.is-kro{border-radius:0 12px 12px 0;background:#f9f6ff}
.stat-era-label{display:flex;align-items:center;gap:6px;margin:0 8px 10px;font:700 12px/1.2 Onest,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9a8fb5}
.stat-era.is-pre .stat-era-label{color:#b8860b}
.stat-era.is-renewal .stat-era-label{color:#9a7b2e}
.stat-era.is-kro .stat-era-label{color:#7c5cff}
.stat-era-bars{display:flex;align-items:stretch;gap:5px;padding:0 8px 10px;height:196px}
.stat-bar{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px}
.stat-bar b{font:700 12px/1 Onest,Arial,sans-serif;color:#5a4b7c}
.stat-bar-track{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}
.stat-bar-track>i{display:block;width:100%;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#ffd34d,#e0a800);box-shadow:0 6px 14px #e0a8002e}
.stat-bar.is-talent b{color:#7c5cff}
.stat-bar.is-talent .stat-bar-track>i{background:linear-gradient(180deg,#c3b0ff,#7c5cff);box-shadow:0 6px 14px #7c5cff2e}
.stat-bar small{font:600 12px/1 Onest,Arial,sans-serif;color:#9a8fb5}
@media (max-width:700px){.stat-era-label{display:none}.stat-bar b{font-size:12px}}

@media (max-width:700px){
.progression-grid{grid-template-columns:minmax(0,1fr)}
.progression-card{min-width:0}
.progression-card header{flex-wrap:wrap}
.stat-chart{min-width:0}
.stat-era-bars{gap:3px;padding:0 5px;height:140px}
.stat-bar b,.stat-bar small,.stat-era-label{display:none}
}

/* Chart v4: give the strip a definite height so bar heights resolve. */
.stat-chart{height:236px;align-items:stretch}
.stat-era{height:100%}
.stat-era-bars{flex:1 1 auto;height:auto;min-height:0}
.stat-bar{height:100%;min-height:0}
.stat-bar-track{min-height:0}
@media (max-width:700px){.stat-chart{height:176px}.stat-era-bars{height:auto}}

/* Chart v5: thin flat bars, no gradients, no borders, no shadows. */
.stat-era .stat-bar .stat-bar-track>i{width:100%;max-width:13px;border-radius:0;background:#e2a900;box-shadow:none;border:0}
.stat-era.is-kro .stat-bar .stat-bar-track>i,.stat-era .stat-bar.is-talent .stat-bar-track>i{background:#8b6cff;box-shadow:none;border:0}
.stat-era{background:#faf7ff;border:0}
.stat-era.is-renewal{background:#fcf9f1}
.stat-era.is-kro{background:#f8f5ff}

/* Rates extras: weekend boost + premium configuration. */
.rate-extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin:22px 0 0}
.rate-extra{padding:20px 22px;border-radius:14px;background:#120b28c4;border:1px solid #ffffff12}
.rate-extra header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.rate-extra header>i{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px;font-size:20px}
.rate-extra.is-weekend header>i{background:#f9c10b1f;color:#f9c10b}
.rate-extra.is-premium header>i{background:#7c5cff26;color:#b9a3ff}
.rate-extra h3{margin:0;color:#fff;font:700 17px/1.2 Onest,Arial,sans-serif}
.rate-extra header small{display:block;margin-top:3px;color:#9a8fb5;font:700 12px/1.2 Onest,Arial,sans-serif;letter-spacing:1px}
.rate-extra p{margin:0 0 14px;color:#c9bddc;font:500 13.5px/1.65 Onest,Arial,sans-serif}
.rate-swap{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.rate-swap li{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:10px;background:#ffffff0a}
.rate-swap span{flex:1;color:#c9bddc;font:600 13px/1.3 Onest,Arial,sans-serif}
.rate-swap b{color:#9a8fb5;font:700 14px/1 Onest,Arial,sans-serif;text-decoration:line-through}
.rate-swap i{color:#6f6483;font-size:14px}
.rate-swap strong{color:#f9c10b;font:700 17px/1 Onest,Arial,sans-serif}
.rate-perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin:0;padding:0;list-style:none}
.rate-perks li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:9px;background:#ffffff0a}
.rate-perks span{color:#c9bddc;font:600 12px/1.3 Onest,Arial,sans-serif}
.rate-perks strong{color:#b9a3ff;font:700 14px/1 Onest,Arial,sans-serif}

/* Solid panels so the rates read clearly over the light background. */
.rate-card{background:#150d2b;border:1px solid #ffffff16}
.rate-card span{color:#cfc4e2}
.rate-card small{color:#a99bc0}
.rate-extra{background:#150d2b;border:1px solid #ffffff16}
.rate-extra p{color:#cfc4e2}
.rate-swap li,.rate-perks li{background:#ffffff0f;border:1px solid #ffffff14}
.rate-swap span,.rate-perks span{color:#d6cbe8}
/* Refinement +20 band (refine aura samples, rates, ores, shop). */
.refine-band{padding:65px 0 10px}
.refine-samples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.refine-sample{display:flex;flex-direction:column;margin:0;border-radius:10px;overflow:hidden;background:#140d26}
.refine-sample img{display:block;width:100%;height:auto;aspect-ratio:440/420;object-fit:cover;image-rendering:pixelated}
.refine-sample figcaption{flex:1;display:flex;align-items:baseline;gap:8px;padding:8px 12px;background:#1c1238;color:#d8cfea;font-size:13px;line-height:1.3}
.refine-sample figcaption strong{color:#ffd01f;font:800 18px Onest,Arial,sans-serif}
.refine-legend{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;margin-bottom:6px}
.refine-legend-title{display:block;margin-bottom:8px;color:#b0937e;font:700 12px Jost,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.refine-swatches{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;color:#4c3a75;font-size:13px}
.refine-swatches li{display:inline-flex;align-items:center;gap:6px}
.refine-swatches i{display:inline-block;width:14px;height:14px;border-radius:50%}
.refine-gradient{display:flex;justify-content:space-between;align-items:center;height:30px;padding:0 10px;border-radius:15px;color:#fff;font:800 12px Onest,Arial,sans-serif;text-shadow:0 1px 2px #0006}
.refine-table-wrap{overflow-x:auto}
.refine-table{width:100%;border-collapse:collapse;font-size:13px}
.refine-table th,.refine-table td{padding:7px 10px;text-align:center;border-bottom:1px solid #f0e8de;white-space:nowrap}
.refine-table thead th{color:#b0937e;font:700 12px Jost,sans-serif;letter-spacing:1px;text-transform:uppercase}
.refine-table tbody th{color:#4c3a75;font-weight:800;text-align:left}
.refine-table td strong{display:block}
.refine-table td small{display:block;color:#8a7a70;font-size:12px}
.refine-table td.is-safe strong{color:#2f9d5c}.refine-table td.is-risk strong{color:#c98a0c}.refine-table td.is-hard strong{color:#d0413d}
@media(max-width:760px){.refine-legend{grid-template-columns:1fr}.refine-samples{grid-template-columns:repeat(2,minmax(0,1fr))}}
