/* Season 2 — public-web presentation only. Original artwork is byte-exact.
   Kept separate from site.css and the IE6 in-game/admin layouts. */
html { min-width: 0; scroll-padding-top: 132px; }
body.season2-public {
    --bg-0: #080d20;
    --bg-1: #0d1630;
    --bg-2: #14213f;
    --panel: #111b35;
    --panel-2: #192446;
    --panel-edge: #35446a;
    --gold: #dfb866;
    --gold-lt: #f2d397;
    --gold-pale: #ffebc1;
    --gold-dp: #9f763e;
    --ink: #f0f3ff;
    --muted: #b2bdd6;
    --muted-2: #a0afcd;
    --line: rgba(171, 186, 225, .19);
    --radius: 15px;
    --wrap: 1220px;
    --gold-grad: linear-gradient(145deg, #fae3af, #e1b563 62%, #c18d42);
    min-width: 0;
    background: radial-gradient(ellipse at 0 620px, #2d1b442d, transparent 65%),
                radial-gradient(ellipse at 100% 1200px, #15366b35, transparent 65%), #080d20;
    color: var(--ink);
    font-family: "Sarabun", "Leelawadee UI", Tahoma, sans-serif;
    line-height: 1.75;
    color-scheme: dark;
}
.season2-public :is(h1,h2,h3,h4) {
    font-family: "Kanit", "Leelawadee UI", Tahoma, sans-serif;
    line-height: 1.45;
}
.season2-public :is(button,input,select,textarea) { font-family: inherit; }
.season2-public :is(a,button,input,select,textarea):focus-visible {
    outline: 2px solid #d2b5ff;
    outline-offset: 4px;
}
.season2-public :is(.wrap,.hero-inner,.footer-top,.feature-grid) { max-width: var(--wrap); }
.season2-public :is(.account-main,.account-side,.hero-headline,.home-grid>section,.reg-aside,.reg-card) { min-width: 0; }
.season2-public .site-header {
    background: rgba(8, 13, 30, .96);
    border-bottom: 1px solid #d9b97947;
    box-shadow: 0 8px 28px #03061155;
}
.season2-public .topbar { background: #060b1bc9; border-color: #93a5d019; }
.season2-public .topbar-inner { min-height: 34px; height: auto; padding-top: 4px; padding-bottom: 4px; }
.season2-public .topbar-account { flex-wrap: wrap; gap: 6px 18px; }
.season2-public .brandbar { height: 86px; gap: 18px; }
.season2-public .brand { flex: 0 0 auto; }
.season2-public .brand .brand-logo {
    height: auto !important; width: 214px; max-width: 100%; object-fit: contain;
    filter: drop-shadow(0 3px 10px #7343ba35);
}
.season2-public .mainnav { align-items: center; gap: 2px; flex-wrap: nowrap; }
.season2-public .mainnav a { font-size: .9rem; white-space: nowrap; padding: .7em .72em; }
.season2-public .mainnav a.active { background: linear-gradient(180deg, #e0b36610, #e0b36605); }
.season2-public .mainnav a.active::after { bottom: 3px; height: 1px; box-shadow: 0 0 12px #d8a95970; }
.season2-public .nav-submenu { background: #121b33; border-color: #b79a6455; box-shadow: 0 14px 32px #02051199; }
.season2-public .social-row { gap: 8px; margin-left: 4px; }
.season2-public .social-row a img { width: 28px; height: 28px; object-fit: contain; }
.season2-public .hero { border-bottom: 1px solid #b48e515c; }
.season2-public .hero-bg { background-position: center 56%; }
.season2-public .hero-overlay {
    background: linear-gradient(90deg, #080e25bb 0%, #0a112f55 55%, #080e2588),
                linear-gradient(0deg, #080d20 0%, #0a12321a 52%, #08112620);
}
.season2-public .hero-inner {
    display: grid; grid-template-columns: minmax(0, 1fr) 320px;
    align-items: center; gap: 60px; padding: 48px 20px 78px; min-height: 520px;
}
.season2-public .hero-headline { padding-top: 0; max-width: 660px; }
.season2-public .season2-eyebrow {
    color: #e4d3b1; font: 600 .73rem/1.6 Tahoma, sans-serif;
    letter-spacing: .24em; margin: 0 0 22px;
}
.season2-public .season2-eyebrow span { color: #b797e9; margin: 0 10px; }
.season2-public .hero-logo {
    width: min(100%, 535px); height: auto; margin: 0 0 25px;
    filter: drop-shadow(0 12px 24px #050919a6);
}
.season2-public .hero-headline h1 { font-size: clamp(1.7rem, 2.6vw, 2.45rem); margin: 0 0 16px; }
.season2-public .hero-headline p:not(.season2-eyebrow) { max-width: 550px; font-size: 1rem; line-height: 1.95; color: #dce5f6; margin-bottom: 0; }
.season2-public .hero-login { width: 100%; }
.season2-public .login-box {
    padding: 30px 26px; border: 1px solid #c19b5d82;
    background: linear-gradient(145deg, #17243deF, #0a1129f5);
    box-shadow: 0 24px 54px #04071f77, inset 0 1px 0 #f4d69b24;
    backdrop-filter: blur(12px);
}
.season2-public .login-box h3 { font-size: 1.22rem; padding-bottom: 17px; margin-bottom: 22px; }
.season2-public .login-box .form { gap: 15px; }
.season2-public .login-box .auth-links { font-size: .84rem; }
.season2-public .hero-compact .hero-bg { background-position: center 43%; }
.season2-public .hero-compact .hero-overlay { background: linear-gradient(90deg, #091024d9, #14204295, #091024d9); }
.season2-public .hero-compact .hero-inner { display: block; min-height: 220px; padding: 27px 20px 35px; }
.season2-public .hero-compact h1 { font-size: clamp(1.65rem, 3vw, 2rem); text-wrap: balance; }
.season2-public .season2-compact-emblem { width: 58px; height: 58px; object-fit: contain; margin: 0 auto 8px; }
.season2-public .hero-compact .eyebrow { margin: 0 0 7px; font-size: .75rem; letter-spacing: .1em; }
.season2-public .cta-row { margin-top: -37px; gap: 22px; }
.season2-public .cta-img { border-radius: 10px; }
.season2-public .cta-img:focus-visible { outline-offset: 5px; }
.season2-public .home-grid { margin-top: 46px; gap: 34px; margin-bottom: 42px; }
.season2-public .section-title { gap: 12px; margin-bottom: 20px; }
.season2-public .section-title h2 { font-size: 1.4rem; }
.season2-public .section-title::before { color: #b998e7; filter: none; font-size: .65rem; }
.season2-public .section-title .more { font-size: .84rem; }
.season2-public :is(.card,.panel,.auth-card,.news-card-item,.shop-item) {
    background: linear-gradient(145deg, #17223d, #10182f);
    border: 1px solid #8a8dba38;
    box-shadow: 0 12px 28px #03061640, inset 0 1px 0 #f9dfb30a;
}
.season2-public :is(.card,.panel)::before,
.season2-public :is(.card,.panel)::after { opacity: .42; }
.season2-public .news-card-item:hover { border-color: #d6b179; }
.season2-public .news-thumb-logo { background-size: 68% auto !important; background-color: #10172f; }
.season2-public .news-card-body { padding: 17px; }
.season2-public .news-card-body h4 { line-height: 1.6; }
.season2-public .rank-list li { border-color: #a8b7d414; }
.season2-public .rank-list .rk { box-shadow: none; }
.season2-public .auth-wrap { padding-top: 40px; padding-bottom: 50px; }
.season2-public .auth-card { padding: 30px; border-radius: var(--radius); max-width: 460px; }
.season2-public .auth-card-wide { max-width: 600px; }
.season2-public .auth-card > h1 { color: var(--gold-pale); }
.season2-public :is(.form,.account-main) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea) {
    min-width: 0; min-height: 46px; border: 1px solid #5967848c; border-radius: 8px;
    background: #0b1328; color: #f3f5ff; padding: .7em .85em; font-size: 1rem; line-height: 1.5;
}
.season2-public :is(.form,.account-main) :is(input,select,textarea):focus {
    border-color: #ceb3ee; box-shadow: 0 0 0 3px #9670d220;
}
.season2-public :is(input,textarea)::placeholder { color: #a5b2ce; opacity: 1; }
.season2-public :is(input[type=checkbox],input[type=radio]) { accent-color: #c7a7f0; min-height: 0; }
.season2-public .btn {
    min-height: 42px; padding: .68em 1.1em; border: 1px solid #a7b4d142;
    border-image: none !important; border-radius: 8px; font-weight: 700;
    background: #283454; color: #f3f5ff; text-shadow: none;
    box-shadow: 0 5px 14px #05091c33; line-height: 1.5;
}
.season2-public .btn:hover { transform: translateY(-1px); }
.season2-public .btn-gold,.season2-public .btn-gold:hover {
    background: var(--gold-grad); border-color: #f0d094; color: #302313 !important;
    text-shadow: none; box-shadow: inset 0 1px 0 #fff7de80, 0 7px 18px #b8842520;
}
.season2-public .btn-blue { background: linear-gradient(145deg,#426baf,#26477f); }
.season2-public .btn-green { background: linear-gradient(145deg,#347b75,#235753); }
.season2-public .btn-purple { background: linear-gradient(145deg,#7755a9,#4b3977); }
.season2-public .btn-orange { background: linear-gradient(145deg,#b6773f,#905137); }
.season2-public .btn-ghost { background: #ffffff05; }
.season2-public .btn:disabled,.season2-public .btn[disabled] { opacity: .45; cursor: not-allowed; transform: none !important; }
.season2-public .reg-head { flex-wrap: wrap; }
.season2-public .field-group { border-color: #93a4ca24; }
.season2-public .account-main > :is(.card,form) { margin-bottom: 16px; }
.season2-public .table-card { overflow-x: auto; max-width: 100%; }
.season2-public .account-main form.card[method=get] { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; }
.season2-public .account-main form.card[method=get] > label { display: flex; flex-direction: column; gap: 6px; max-width: 100%; }
.season2-public .acc-menu a.active { border-color: #c19a6080; background: linear-gradient(90deg,#b58a3920,#9670d214); }
.season2-public .feature-row { margin-top: 42px; border-color: #ac92cc26; background: linear-gradient(180deg,#11182b,#0c1223); }
.season2-public .feature-grid { gap: 16px; padding-top: 32px; padding-bottom: 32px; }
.season2-public .feature-ico { width: 64px; height: 64px; }
.season2-public .site-footer {
    border-top: 1px solid #caac7147;
    background-image: linear-gradient(180deg,#080e21ed,#070c1cf5),var(--footer-bg);
    background-position: center 58%;
}
.season2-public .footer-top { padding-top: 36px; padding-bottom: 34px; }
.season2-public .season2-footer-logo { width: 230px; height: auto; object-fit: contain; margin: 0 0 15px; }
.season2-public .footer-brand .brand-text { font-size: 1rem; }
.season2-public .footer-brand .brand-text small { font-size: .58rem; letter-spacing: .07em; margin-top: 8px; }
.season2-public .footer-brand p { line-height: 1.9; margin-top: 15px; }
.season2-public .footer-col a { padding: 7px 0; }
.season2-public .footer-copy { color: #a8b3ca; }

@media (max-width: 1120px) {
    .season2-public .social-row { display: none; }
    .season2-public .hero-inner { gap: 30px; }
}
@media (max-width: 900px) {
    html { scroll-padding-top: 150px; }
    .season2-public .brandbar { flex-wrap: wrap; height: auto; min-height: 78px; gap: 0 14px; padding-top: 6px; padding-bottom: 6px; }
    .season2-public .brand .brand-logo { width: 185px; }
    .season2-public .nav-toggle { display: inline-flex !important; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border-color: #c8a76d6b; }
    .season2-public .mainnav { display: none; flex: 1 0 100%; flex-direction: column; align-items: stretch; margin: 4px 0 8px; gap: 3px; max-height: 65vh; overflow-y: auto; }
    .season2-public.nav-open .mainnav { display: flex; }
    .season2-public .mainnav a { padding: 12px; min-height: 44px; }
    .season2-public .mainnav .nav-submenu {
        position: static; opacity: 1; visibility: visible; transform: none; width: auto; min-width: 0;
        display: flex; flex-wrap: wrap; gap: 3px; box-shadow: none; border: 0; background: #ffffff04; padding: 3px;
    }
    .season2-public .mainnav .nav-submenu a { font-size: .82rem; white-space: normal; }
    .season2-public .nav-group:hover .nav-submenu,.season2-public .nav-group:focus-within .nav-submenu { transform: none; }
    .season2-public .hero-inner { grid-template-columns: minmax(0,1fr) 290px; gap: 25px; min-height: 500px; }
    .season2-public .hero-headline h1 { font-size: 1.7rem; }
    .season2-public .hero-logo { margin-bottom: 18px; }
    .season2-public .home-grid { grid-template-columns: 1fr; gap: 30px; }
    .season2-public .account-layout { grid-template-columns: 1fr; }
    .season2-public .acc-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 18px; }
    .season2-public .feature-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px 12px; }
    .season2-public .footer-top { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
    .season2-public .footer-brand { grid-column: 1/-1; }
    .season2-public .footer-brand p { max-width: 500px; }
    .season2-public .shop-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .season2-public .shop-thumb { width: min(176px,100%); height: auto; aspect-ratio: 1; }
    .season2-public :is(.quest-detail-grid,.quest-browser) { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .season2-public :is(.wrap,.hero-inner,.footer-top) { padding-left: 18px; padding-right: 18px; }
    .season2-public .topbar-inner { flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding-top: 7px; padding-bottom: 7px; font-size: .72rem; }
    .season2-public .topbar-account { gap: 5px 12px; }
    .season2-public .hero-inner { display: flex; flex-direction: column; align-items: stretch; gap: 28px; padding-top: 32px; padding-bottom: 55px; min-height: 0; }
    .season2-public .hero-headline { text-align: center; }
    .season2-public .hero-logo { width: 100%; margin: 0 auto 23px; }
    .season2-public .season2-eyebrow { font-size: .66rem; margin-bottom: 21px; }
    .season2-public .hero-headline h1 { font-size: 1.7rem; }
    .season2-public .hero-headline p:not(.season2-eyebrow) { font-size: .95rem; line-height: 1.9; }
    .season2-public .hero-bg { background-position: 52% top; }
    .season2-public .hero-overlay { background: linear-gradient(180deg,#0a123d55,#081022ae 38%,#080d20 80%); }
    .season2-public .login-box { max-width: 440px; margin: auto; padding: 26px 22px; }
    .season2-public .hero-compact .hero-inner { display: block; min-height: 195px; padding-top: 20px; padding-bottom: 28px; }
    .season2-public .hero-compact h1 { font-size: 1.55rem; }
    .season2-public .cta-row { grid-template-columns: 1fr; gap: 12px; margin-top: -22px; max-width: 440px; margin-left: auto; margin-right: auto; }
    .season2-public .home-grid { margin-top: 32px; }
    .season2-public .news-cards,.season2-public .news-grid { grid-template-columns: 1fr; }
    .season2-public .news-thumb { aspect-ratio: 16/9; }
    .season2-public .news-thumb-logo { background-size: auto 78% !important; }
    .season2-public :is(.promo-row,.form-row,.char-grid,.item-detail,.quest-cards) { grid-template-columns: 1fr; }
    .season2-public .page { padding-top: 26px; }
    .season2-public :is(.panel,.card,.auth-card) { padding: 22px 18px; }
    .season2-public .flush { padding: 0; }
    .season2-public .auth-wrap { padding-top: 25px; padding-bottom: 20px; }
    .season2-public .auth-links { gap: 12px; flex-wrap: wrap; font-size: .85rem; }
    .season2-public .reg-head { display: grid; grid-template-columns: 44px minmax(0,1fr); }
    .season2-public .reg-badge { grid-column: 2; justify-self: start; margin: 0; font-size: .7rem; }
    .season2-public :is(.reg-head-txt h2,.card-head h2) { font-size: 1.25rem; }
    .season2-public .reg-head { gap: 10px; }
    .season2-public .account-main form.card[method=get] > label { flex: 1 1 120px; }
    .season2-public .account-main form.card[method=get] input[type=search] { width: 100%; }
    .season2-public .table { max-width: 100%; display: block; overflow-x: auto; }
    .season2-public :is(.toolbar,.page-head,.quest-detail-head,.quest-npc-flow) { flex-wrap: wrap; gap: 12px; }
    .season2-public .shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    .season2-public .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding-left: 16px; padding-right: 16px; }
    .season2-public .feature strong { font-size: .88rem; }
    .season2-public .footer-top { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 18px; }
    .season2-public .footer-col h4 { font-size: .95rem; }
    .season2-public .footer-col a { font-size: .86rem; }
    .season2-public .season2-footer-logo { width: 215px; }
}
@media (prefers-reduced-motion: reduce) {
    .season2-public *,.season2-public *::before,.season2-public *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
