.public-page{min-height:calc(100vh - 92px);padding:58px clamp(18px,6vw,96px) 90px;position:relative;z-index:1}
.public-page-inner{width:min(1320px,100%);margin:0 auto}
.public-page-head{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid rgba(171,190,230,.14)}
.public-page-head .eyebrow{margin-bottom:10px}
.public-page-head h1{margin:0;color:#f4d27a;font-size:clamp(36px,5vw,64px);font-weight:600;line-height:1.15}
.public-page-head p{max-width:760px;margin:13px 0 0;color:#91a1bd;font-size:15px;line-height:1.8}
.public-panel{border:1px solid rgba(171,190,230,.15);border-radius:16px;background:linear-gradient(145deg,rgba(14,24,47,.96),rgba(6,12,27,.98));box-shadow:0 26px 70px rgba(0,0,0,.25);overflow:hidden}
.public-table-wrap{overflow-x:auto}
.public-ranking{width:100%;border-collapse:collapse;min-width:800px}
.public-ranking th{padding:17px 18px;text-align:left;color:#91a1bd;font-size:12px;letter-spacing:.7px;background:rgba(255,255,255,.025);border-bottom:1px solid rgba(171,190,230,.14)}
.public-ranking td{padding:17px 18px;color:#d9e2f4;border-bottom:1px solid rgba(171,190,230,.09)}
.public-ranking tbody tr{transition:.18s}
.public-ranking tbody tr:hover{background:rgba(109,216,255,.045)}
.public-ranking td:first-child b{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(231,194,108,.24);border-radius:9px;color:#f1ce73}
.public-ranking td small{display:block;margin-top:4px;color:#687997;font-size:10px}
.public-ranking .podium{background:linear-gradient(90deg,rgba(231,194,108,.08),transparent 55%)}
.public-ranking .p1 td:first-child b{background:linear-gradient(145deg,#ffe49a,#c99832);color:#211507;border-color:#ffe59d}
.public-ranking .p2 td:first-child b{background:linear-gradient(145deg,#e6ebf5,#8593ac);color:#101621}
.public-ranking .p3 td:first-child b{background:linear-gradient(145deg,#e9ad79,#8a5736);color:#21130c}
.public-empty{padding:42px;text-align:center;color:#8391a9}
.public-download-hero{margin-bottom:22px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid rgba(231,194,108,.2);border-radius:17px;background:radial-gradient(circle at 90% 10%,rgba(93,117,255,.18),transparent 35%),linear-gradient(145deg,rgba(29,28,51,.97),rgba(8,15,31,.98))}
.public-download-copy h2{margin:8px 0;color:#fff;font-size:clamp(28px,4vw,44px)}
.public-download-copy p{margin:0;color:#97a6c0;line-height:1.75}
.public-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(231,194,108,.12);border:1px solid rgba(231,194,108,.3);color:#f0ce76;font-size:10px;letter-spacing:1.5px}
.public-requirements{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.public-requirements span{padding:8px 11px;border:1px solid rgba(171,190,230,.14);border-radius:8px;color:#a8b5cb;font-size:12px;background:rgba(255,255,255,.025)}
.public-download-emblem{width:150px;height:150px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(231,194,108,.38);background:linear-gradient(145deg,rgba(231,194,108,.16),rgba(61,51,113,.2));transform:rotate(45deg);color:#f2d47e;font-size:44px;font-weight:700;box-shadow:inset 0 0 30px rgba(231,194,108,.08)}
.public-download-emblem span{transform:rotate(-45deg)}
.public-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}
.public-download-card{padding:22px;display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;border:1px solid rgba(171,190,230,.15);border-radius:14px;background:linear-gradient(145deg,rgba(14,24,47,.96),rgba(6,12,27,.98));transition:.2s}
.public-download-card:hover{transform:translateY(-3px);border-color:rgba(231,194,108,.38);box-shadow:0 18px 38px rgba(0,0,0,.24)}
.public-download-card>i{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:rgba(109,216,255,.08);color:#6dd8ff;font-size:22px;font-style:normal}
.public-download-card small,.public-download-card b,.public-download-card span{display:block}.public-download-card small{color:#637392;font-size:9px;letter-spacing:1.5px}.public-download-card b{margin:3px 0;color:#fff;font-size:19px}.public-download-card span{color:#8695ad;font-size:12px}.public-download-card strong{color:#f0ce76}
.public-install{padding:28px}.public-install h2{margin:0 0 18px;color:#fff}.public-install ol{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;counter-reset:step;list-style:none;padding:0;margin:0}.public-install li{counter-increment:step;padding:18px 18px 18px 62px;position:relative;border:1px solid rgba(171,190,230,.13);border-radius:12px;background:#08101d}.public-install li:before{content:counter(step);position:absolute;left:17px;top:17px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e7c26c;color:#111;font-weight:700}.public-install b,.public-install span{display:block}.public-install span{margin-top:4px;color:#8391a9;font-size:13px}
.public-site-footer{padding:28px;text-align:center;border-top:1px solid rgba(171,190,230,.12);color:#65738d;font-size:12px;background:rgba(3,7,16,.45)}
@media(max-width:760px){.public-page{padding:34px 13px 78px}.public-download-hero{padding:25px 20px}.public-download-emblem{display:none}.public-download-grid,.public-install ol{grid-template-columns:1fr}.public-download-card{grid-template-columns:44px 1fr}.public-download-card>strong{grid-column:2}.public-page-head h1{font-size:38px}}

/* Celestial Adventure public pages */
.public-page{padding-top:72px}.public-page-head{position:relative;border-bottom-color:rgba(151,219,231,.15)}.public-page-head:after{content:"";position:absolute;left:0;bottom:-1px;width:180px;height:1px;background:linear-gradient(90deg,#ffdb78,transparent)}.public-page-head h1{color:#fff0b9;text-shadow:0 5px 30px rgba(0,0,0,.35)}.public-page-head p{color:#a7bec8}.public-panel,.public-download-card,.public-download-hero{border-color:rgba(151,219,231,.17);background:linear-gradient(145deg,rgba(7,37,49,.93),rgba(3,19,28,.97));box-shadow:0 25px 65px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(14px)}.public-panel{position:relative}.public-panel:before{content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,219,120,.5),transparent)}.public-ranking th{color:#86d9e8;background:rgba(14,56,70,.64);border-bottom-color:rgba(151,219,231,.14)}.public-ranking td{color:#e8f6fa;border-bottom-color:rgba(151,219,231,.08)}.public-ranking tbody tr:hover{background:rgba(94,218,240,.05)}.public-ranking td:first-child b{border-color:rgba(255,219,120,.28);color:#ffe18a}.public-download-hero{border-color:rgba(255,219,120,.23);background:radial-gradient(circle at 90% 10%,rgba(83,220,245,.16),transparent 34%),linear-gradient(145deg,rgba(7,40,51,.94),rgba(3,19,28,.97))}.public-download-copy h2{color:#fff0bd}.public-badge{border-color:rgba(255,219,120,.35);background:rgba(255,219,120,.09);color:#ffe08a}.public-download-emblem{border-color:rgba(255,219,120,.42);background:linear-gradient(145deg,rgba(255,219,120,.16),rgba(47,182,207,.15));color:#ffe18b;box-shadow:inset 0 0 34px rgba(255,219,120,.09),0 0 35px rgba(87,218,241,.08)}.public-download-card:hover{border-color:rgba(255,219,120,.42);box-shadow:0 20px 45px rgba(0,0,0,.33)}.public-download-card>i{border:1px solid rgba(115,229,250,.18);background:rgba(79,204,226,.08);color:#82ebff}.public-download-card strong{color:#ffe087}.public-install li{border-color:rgba(151,219,231,.13);background:rgba(3,24,33,.75)}.public-install li:before{background:linear-gradient(145deg,#ffedaa,#c8952b)}.public-site-footer{border-top-color:rgba(255,219,120,.12);background:rgba(2,13,20,.78)}
.wealth-coins{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.wealth-coins b{color:#fff}.wealth-coin{width:14px;height:14px;display:inline-block;border-radius:50%;box-shadow:inset -2px -2px 3px #0005,0 1px 4px #0005}.wealth-coin.gold{background:#ffd21a}.wealth-coin.silver{background:#c9d0d8}.wealth-coin.bronze{background:#c9822b}

/* 2026 Celestial Kingdom integration */
.public-page{padding-top:150px;background:linear-gradient(180deg,rgba(3,9,22,.38),#030916 72%)}
.public-page:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,9,22,.95),rgba(4,17,37,.72) 60%,rgba(3,9,22,.88)),url('../celestial-kingdom-hero.png') 69% center/cover no-repeat;filter:saturate(.75)}
.public-page:after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 72% 8%,rgba(115,221,246,.13),transparent 30%),linear-gradient(180deg,transparent 48%,#030916 88%)}
.public-page-head h1{font-family:'Noto Serif Thai',serif;font-weight:600;letter-spacing:-1px}.public-panel,.public-download-card,.public-download-hero{background:linear-gradient(145deg,rgba(12,38,66,.91),rgba(5,19,38,.96))}.public-ranking th{background:rgba(17,55,83,.62)}
@media(max-width:820px){.public-page{padding-top:115px}}

/* Ranking category navigation */
.ranking-switcher{position:relative;margin:0 0 22px;padding:9px;display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));align-items:stretch;gap:8px;overflow:visible;border:1px solid rgba(139,214,241,.22);border-radius:16px;background:radial-gradient(circle at 12% 0,rgba(255,214,111,.1),transparent 27%),linear-gradient(145deg,rgba(7,33,58,.95),rgba(4,19,39,.96));box-shadow:0 18px 44px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(16px)}
.ranking-switcher:before{content:"";position:absolute;left:18px;right:18px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#ffdd7e,rgba(112,226,248,.7),transparent)}
.ranking-switcher a{position:relative;min-width:0;min-height:58px;padding:8px 9px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(134,205,232,.08);border-radius:11px;color:#9bb1c8;background:linear-gradient(180deg,rgba(26,66,96,.22),rgba(7,27,51,.1));font-size:12px;font-weight:800;line-height:1.3;text-align:center;white-space:normal;transition:transform .2s,color .2s,border-color .2s,background .2s,box-shadow .2s}
.ranking-switcher a:before{content:"✦";flex:0 0 auto;width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(122,210,237,.16);border-radius:8px;color:#73d9ee;background:rgba(68,169,201,.08);font-size:13px;transition:transform .2s,color .2s,border-color .2s,background .2s}
.ranking-switcher a[href="ranking-level.php"]:before{content:"♛"}.ranking-switcher a[href*="period=month"]:before{content:"☾"}.ranking-switcher a[href*="period=career"]:before{content:"⚔"}.ranking-switcher a[href="ranking-guild.php"]:before{content:"♜"}.ranking-switcher a[href="ranking-wealth.php"]:before{content:"◆"}.ranking-switcher a[href="ranking-online.php"]:before{content:"◉"}
.ranking-switcher a:hover{z-index:1;transform:translateY(-2px);border-color:rgba(116,224,245,.3);color:#effcff;background:linear-gradient(180deg,rgba(39,108,139,.26),rgba(9,43,70,.18));box-shadow:0 10px 24px rgba(0,0,0,.24),0 0 20px rgba(85,206,232,.07)}
.ranking-switcher a:hover:before{transform:scale(1.08);border-color:rgba(112,226,248,.38);color:#baf5ff;background:rgba(68,188,218,.14)}
.ranking-switcher a.active{z-index:2;transform:translateY(-1px);border-color:rgba(255,218,116,.5);color:#fff1bb;background:radial-gradient(circle at 50% 0,rgba(255,222,126,.19),transparent 62%),linear-gradient(145deg,rgba(39,75,91,.7),rgba(14,43,64,.76));box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 10px 28px rgba(0,0,0,.25),0 0 24px rgba(255,204,91,.09)}
.ranking-switcher a.active:after{content:"";position:absolute;left:19%;right:19%;bottom:4px;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#ffe08b,transparent);box-shadow:0 0 9px rgba(255,219,120,.45)}
.ranking-switcher a.active:before{border-color:rgba(255,222,126,.52);color:#ffe795;background:rgba(255,209,92,.12);box-shadow:0 0 14px rgba(255,209,92,.12)}
@media(max-width:760px){.ranking-switcher{grid-template-columns:repeat(3,minmax(0,1fr));margin-inline:-2px;padding:7px;gap:6px}.ranking-switcher a{min-height:54px;padding:7px 5px;font-size:11px}.ranking-switcher a:before{width:24px;height:24px}}
@media(max-width:480px){.ranking-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-switcher a{justify-content:flex-start;padding-inline:10px;text-align:left}}
.public-online-status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(130,145,169,.26);border-radius:999px;color:#9aa9bc;background:rgba(124,138,160,.08);font-size:11px;font-weight:800;white-space:nowrap}.public-online-status.is-online{border-color:rgba(81,224,164,.38);color:#8ff0c2;background:rgba(40,177,125,.12);box-shadow:0 0 18px rgba(40,177,125,.08)}.public-online-hours{color:#8edfff;font-size:15px;white-space:nowrap}
