


/* ==========================================================================
   KanomJeen Player Portal — สไตล์ชุดเดียวทั้งเว็บ (ภาษาเดิมของหน้าแรก)
   ส่วนที่ 1: สไตล์หน้าแรกเวอร์ชันเดิม (ตามที่อนุมัติ)
   ส่วนที่ 2: คอมโพเนนต์ของหน้าเพิ่มเติม (กิจกรรม/เติมเงิน/ร้านค้า/คำสั่ง/Daily/กฎ/มอด)
              ใช้โทเคน ฟอนต์ และวัสดุเดียวกับส่วนที่ 1 ทั้งหมด
   ========================================================================== */

/* ── AI EDIT MAP: แก้ค่าต่าง ๆ จากตัวแปรด้านล่างเป็นหลัก ─────────────────────── */
/*
   1) ตัวละครมุมขวาล่าง: --character-right / --character-bottom / --character-width / --character-height
   2) ฮีโร่: ค้นหา "HERO" หรือแก้ .hero / .hero-copy / .hero-note
   3) เมนูด้านบน: ค้นหา "NAVBAR" หรือแก้ .topbar / .brand / .topbar nav
   4) การ์ดโฆษณา: ค้นหา "AD CARD" หรือแก้ .ad-card / .ad-controls
   5) Responsive: แก้เฉพาะบล็อก @media ตามขนาดหน้าจอ
   6) สีหลัก: แก้ตัวแปรใน :root เท่านั้น
*/

/* ── 0. DESIGN TOKENS / ค่ากลางทั้งเว็บไซต์ ───────────────────────────────── */
:root{
  --character-right:-170px;
  --character-bottom:-105px;
  --character-width:490px;
  --character-height:545px;
}

/* ── 1. HOME / หน้าแรก ───────────────────────────────────────────────────── */
:root{--glass:rgba(28,39,51,.72);--panel:linear-gradient(145deg,#273544d9,#111b26e8);--line:#9bb6c766;--text:#f4f8fb;--muted:#afc0cc;--cyan:#8eeaff;--green:#70e5b4;--orange:#ffb85b;--gold:#ffd15f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#101820;color:var(--text);font-family:'Segoe UI','Noto Sans Thai',Tahoma,sans-serif}.skyline{position:fixed;inset:0;z-index:-2;background:#182631 url('assets/background-clean.webp') center top/cover no-repeat}.skyline:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09111bcc,#09111b55 48%,#09111b66),linear-gradient(0deg,#081018dd,transparent 42%)}.glass{border:1px solid var(--line);background:var(--glass);box-shadow:0 14px 32px #050b1299,inset 0 1px #ffffff1c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.portal-page{width:min(1320px,calc(100% - 40px));margin:auto;padding-bottom:24px}.zombie-left-edge{position:fixed;z-index:2;left:-42px;bottom:-28px;width:clamp(143px,18vw,293px);height:auto;transform:scaleX(-1) rotate(-2deg);transform-origin:center bottom;pointer-events:none;filter:drop-shadow(14px 16px 16px #05090d99)}.topbar{position:relative;z-index:4;min-height:92px;margin-top:10px;padding:10px 16px 10px 20px;border-radius:20px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;flex:0 0 265px;height:70px}.brand-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 8px #0008)}nav{display:flex;align-items:stretch;justify-content:center;gap:5px;flex:1}.topbar nav a{position:relative;min-width:70px;height:72px;padding:8px 9px 6px;border:1px solid transparent;border-radius:11px;color:#f5f7fb;text-decoration:none;font-size:15.5px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav-icon{font-size:23px;color:#d9f5ff;line-height:1;text-shadow:0 0 8px #63d8ff}.topbar nav a:after{content:'';position:absolute;left:13px;right:13px;bottom:5px;height:2px;border-radius:9px;background:var(--orange);transform:scaleX(0);transition:.2s}.topbar nav a:hover,.topbar nav a.nav-active,.topbar nav a[aria-current="page"]{background:linear-gradient(145deg,#a96735,#704224);border-color:#e6a45f;box-shadow:inset 0 1px #ffd39c66,0 7px 18px #050a1099}.topbar nav a:hover:after,.topbar nav a.nav-active:after,.topbar nav a[aria-current="page"]:after{transform:scaleX(1)}button,.primary,.secondary{font:inherit;cursor:pointer}.steam{flex:0 0 auto;min-width:126px;height:44px;padding:0 15px;border:1px solid #78cfff88;border-radius:12px;background:linear-gradient(145deg,#3d9d82cc,#1b5d56cc);color:#f5fffb;font-size:13px;font-weight:800;box-shadow:inset 0 1px #ffffff44,0 7px 16px #07101899}.hero{position:relative;min-height:545px;margin-top:26px;padding:28px 0 0}.hero-copy{position:relative;z-index:3;max-width:900px;padding-left:34px}.eyebrow{margin:0 0 6px;color:#d6e4eb;font-size:13px;letter-spacing:.05em}.hero h1{margin:0;font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.05em;text-shadow:0 4px 0 #263342}.hero h1 em{font-style:normal;color:var(--orange);margin-left:12px}.hero h2{margin:10px 0 8px;font-size:25px}.intro{margin:0;color:#d2dae3;font-size:15px;line-height:1.5}.hero-actions{display:flex;gap:13px;margin-top:17px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 19px;border-radius:12px;border:1px solid #ffffff33;text-decoration:none;color:#fff;font-size:14px;font-weight:800}.primary{border-color:#ffd48b;background:linear-gradient(#ffb33b,#ee661d);box-shadow:0 0 18px #ff8d2c66}.secondary{background:#18232fb8;border-color:#d9e2ec}.ad-card{position:relative;width:min(880px,100%);min-height:190px;margin-top:28px;padding:23px 25px 31px;border:1px solid #ffb85b88;border-radius:18px;overflow:hidden;background:#16222dcc url('assets/point-exp-bg.webp') center/cover;box-shadow:0 16px 35px #0008,inset 0 1px #ffffff22}.ad-card:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07101bee,#07101b99 55%,#07101b12);pointer-events:none}.ad-copy,.ad-controls{position:relative;z-index:1}.ad-copy{max-width:70%}.ad-tag{display:inline-flex;padding:4px 9px;border-radius:99px;background:#ffffff1f;color:#d9f6ff;font-size:12px;font-weight:800}.ad-card h3{margin:9px 0 3px;font-size:28px}.ad-card p{margin:0;color:#e0e7ed;font-size:14px}.ad-card small{display:block;margin-top:7px;color:#aee9d6;font-size:12px}.ad-action{margin-top:12px;padding:8px 13px;border:1px solid #ffffff55;border-radius:8px;background:#ffffff1a;color:#fff;font-weight:700}.ad-controls{position:absolute;bottom:10px;left:25px;display:flex;align-items:center;gap:7px}.ad-controls button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#ffffff66}.ad-controls button:first-child,.ad-controls button:last-child{width:22px;height:22px;border:1px solid #ffffff4d;background:#ffffff12;color:#fff;font-size:17px}.ad-controls .is-active{width:24px;border-radius:99px;background:var(--orange)}/* COMPONENT: CHARACTER / ตัวละครซอมบี้มุมขวาล่าง */
.character{position:fixed;z-index:2;right:var(--character-right);bottom:var(--character-bottom);top:auto;width:var(--character-width);height:var(--character-height);pointer-events:none;transform:rotate(-3deg);transform-origin:center bottom}.character img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 15px #0009)}.beta-section{position:relative;z-index:3;margin:0 0 24px;padding:30px 36px;border-radius:22px;text-align:center}.beta-kicker{color:#ffd171;font-size:12px;font-weight:900;letter-spacing:.18em}.beta-heading h2{margin:7px 0 0;color:#f4fbff;font-size:38px}.beta-heading p{margin:6px 0;color:#a9c8d8;font-size:12px;font-weight:800}.beta-milestones,.beta-rewards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;width:min(860px,100%);margin:18px auto 0}.milestone{min-height:98px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #a9c7d766;border-radius:14px;background:#ffffff12;color:#dcecf5;box-shadow:inset 0 1px #ffffff24,0 7px 14px #06101866}.milestone small{color:#a9c4d2;font-size:12px}.milestone strong{margin-top:3px;color:#f6c56f;font-size:42px;line-height:1;text-shadow:0 0 14px #ffc66b44}.milestone span{color:#c0d2dd;font-size:12px}.milestone.is-current{transform:translateY(-4px);border-color:#ffca6caa;background:#ffb3472c;box-shadow:inset 0 1px #ffe6ad55,0 0 18px #f7c96733}.beta-progress-wrap{width:min(860px,100%);margin:18px auto 0}.beta-progress{height:18px;padding:3px;border:1px solid #8cb6c988;border-radius:99px;background:#0c1822aa;box-shadow:inset 0 2px 5px #000a,0 0 10px #5ddcff33}.beta-progress span{display:block;width:66%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#63e5ff,#70e4b1);box-shadow:0 0 9px #7deaff}.beta-progress-labels{display:flex;justify-content:space-between;margin-top:7px;color:#a9c6d4;font-size:12px}.beta-progress-labels b{color:#8ff2cf}.beta-reward-heading{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:24px}.beta-reward-heading>span{width:min(190px,23%);height:2px;background:linear-gradient(90deg,transparent,#8db2c4)}.beta-reward-heading>span:last-child{transform:scaleX(-1)}.beta-reward-heading h3{margin:0;color:#eefaff;font-size:23px}.beta-reward-heading small{display:block;color:#8fb3c3;font-size:12px}.beta-reward{padding:10px 8px;border:1px solid #94b5c766;border-radius:14px;background:#ffffff0d;box-shadow:inset 0 1px #ffffff14,0 8px 16px #050c1466}.reward-art{display:grid;place-items:center;aspect-ratio:1;max-width:90px;margin:auto;border:1px solid #8ed4e488;border-radius:12px;background:#0d1a25aa;font-size:34px}.beta-reward strong{display:block;margin-top:7px;color:#e4f5fc;font-size:12px}.beta-reward p{margin:2px 0;color:#b9d1dc;font-size:12px}.beta-reward p b{display:block;color:#ffc66d}.beta-register-button{margin:24px auto 0;padding:11px 30px;border:1px solid #7de5c0;border-radius:12px;background:linear-gradient(135deg,#3d9d82cc,#1b5d56cc);color:#effff9;font-size:14px;font-weight:800;box-shadow:inset 0 1px #ffffff44,0 6px 14px #0009}.beta-form-card{width:min(520px,100%);margin:18px auto 0;padding:20px;text-align:left;border:1px solid #aec1ce66;border-radius:16px;background:#0d1721e8}.beta-form-card[hidden]{display:none}.beta-form-card h3{margin-top:0}.beta-form-card label{display:block;margin-top:12px;color:#d9e3eb;font-size:12px;font-weight:700}.beta-form-card input:not([type=checkbox]){display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #75889888;border-radius:9px;background:#101c27;color:#fff}.beta-check{display:flex!important;gap:8px;align-items:flex-start}.dashboard{position:relative;z-index:3;display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:10px}.panel{min-height:184px;padding:14px 16px;border-radius:17px;background:var(--panel)}.panel header{display:flex;align-items:flex-start;gap:8px;margin-bottom:11px}.panel header h3{margin:0;font-size:18px}.panel header span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-grid>div,.point-total{padding:10px 12px;border:1px solid #65717e70;border-radius:11px;background:#19222a99}.stat-grid small,.point-total small{display:block;color:#c4cbd4;font-size:12px}.stat-grid b{font-size:16px}.good{color:var(--green)}.point-total{display:flex;gap:14px;align-items:center;margin-bottom:9px}.point-total>b{font-size:35px;color:var(--gold)}.point-total strong{display:block;font-size:27px}.point-total i,.products i{font-size:12px;color:var(--gold);font-style:normal}.panel .primary,.panel .secondary{min-height:35px;padding:7px 12px;font-size:12px}.days{display:flex;gap:5px}.days span{flex:1;min-width:0;height:65px;border:1px solid #67758380;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ccd4dd;font-size:12px}.days b{font-size:21px}.days span:not(.gift) b{color:var(--green)}.days .gift{border-color:#e9b737;background:#67471955}.days .gift b{color:#ffd248}.claim{width:100%;margin-top:12px;padding:10px;border:1px solid #66e7bb;border-radius:11px;background:linear-gradient(#3ea87e,#14654e);color:#fff;font-weight:800}.event-list,.command-list{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:12px}.event-list li{display:grid;grid-template-columns:82px 1fr 42px;gap:7px;padding:4px 0;border-bottom:1px solid #66738230}.event-list time{color:#b5c0cd;text-align:right}.command-list li{padding:5px 8px;border:1px solid #65717e70;border-radius:8px;background:#19222a99}.command-list code{display:inline-block;width:55px;color:#b5f1ff;font-weight:800}.full{display:block;margin-top:10px;text-align:center}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.products>div{padding:8px;border:1px solid #65717e70;border-radius:10px;background:#202a32}.products img{width:100%;height:80px;object-fit:cover;border-radius:8px}.products b,.products strong{display:block;margin-top:5px;font-size:12px}.products strong{color:var(--gold);font-size:13px}footer{margin:14px 0;color:#dce4ed;font-size:13px;line-height:1.6}footer small{color:#8290a0}.toast{position:fixed;z-index:10;left:50%;bottom:25px;transform:translateX(-50%);padding:12px 22px;border:1px solid #5ce5bd;border-radius:12px;background:#10272af5;box-shadow:0 0 20px #0009;font-weight:700;opacity:0;pointer-events:none;transition:.2s;max-width:min(92vw,520px)}.toast.show{opacity:1}.toast.is-error{border-color:#ff8f8f;background:#341216f5;color:#ffeced}
.page-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin:10px 0 4px;padding:0;list-style:none}
.page-links a{color:#cfe0ea;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid #ffb85b55;padding-bottom:2px}
.page-links a:hover{color:var(--orange);border-bottom-color:var(--orange)}

@media(max-width:900px){.portal-page{width:100%}.topbar{margin:0;border-radius:0;padding:8px 6px;min-height:100px}.brand,.steam{display:none}.topbar nav{width:100%;display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.topbar nav a{min-width:0;height:84px;padding:7px 2px;font-size:15.5px}.hero{min-height:450px;margin-top:10px;padding:20px 15px 0}.hero-copy{padding-left:0}.hero h1{font-size:48px}.hero h2{font-size:19px}.intro{font-size:13px}.hero-actions{flex-wrap:wrap}.character{right:-70px;top:auto;bottom:-35px;width:300px;height:330px;opacity:.45}.ad-card{width:100%;min-height:165px}.beta-section{margin:0 9px 18px;padding:24px 14px}.beta-heading h2{font-size:29px}.beta-milestones,.beta-rewards{gap:6px}.milestone{min-height:80px}.milestone strong{font-size:28px}.milestone small{font-size:12px}.milestone span{font-size:12px}.beta-reward{padding:7px 3px}.reward-art{font-size:25px}.beta-reward strong,.beta-reward p{font-size:12px}.dashboard{grid-template-columns:1fr;margin:0 9px}.panel{min-height:0}.products{gap:5px}footer{margin:14px 9px}}
@media(max-width:560px){.beta-milestones{grid-template-columns:repeat(5,minmax(62px,1fr));overflow:auto}.beta-rewards{grid-template-columns:repeat(5,minmax(82px,1fr));overflow:auto}.hero h1{font-size:40px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions>*{width:100%}.ad-copy{max-width:84%}.dashboard{margin:0 9px}.panel{padding:12px}.days{gap:3px}.days span{font-size:12px}.event-list li{grid-template-columns:72px 1fr 38px}}

/* ── 1A. HERO LAYOUT / ฮีโร่เต็มจอและแถวข้อมูล ─────────────────────────────── */
/* ฮีโร่กินพื้นที่จอแรกพอดี (หักความสูงท็อปบาร์กับระยะขอบบน) → ทุกอย่างที่อยู่ถัดลงไปจะพ้นขอบจอ */
.hero{min-height:calc(100vh - 128px)}
@supports (height:100svh){.hero{min-height:calc(100svh - 128px)}}

/* แถวในฮีโร่: แบนเนอร์โฆษณา (ซ้าย) + ข้อมูลเซิร์ฟเวอร์ (ขวา) */
.hero-lower{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:18px;align-items:stretch;max-width:900px;margin-top:28px;padding-left:34px}
/* ความสูงคงที่: ทุกสไลด์โฆษณาใช้การ์ดขนาดเดียวกัน ไม่เด้งตอนสไลด์เปลี่ยน */
.hero-lower .ad-card{width:100%;min-height:190px;height:248px;margin-top:0}
.hero-lower .panel{display:flex;flex-direction:column;justify-content:center;min-height:0}
.hero-lower .panel header{margin-bottom:9px}

/* ── 1B. MOTION / เอฟเฟกต์การแสดงผลเมื่อเลื่อน ─────────────────────────────── */
/* คลาส .js ถูกเติมโดย script.js เท่านั้น → ถ้าไม่มี JS เนื้อหายังเห็นครบปกติ */
.js .reveal{opacity:0;transform:translateY(26px)}
.js .reveal{transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.js .reveal.is-visible{opacity:1;transform:none}
/* เฟดที่หนึ่ง: แถวในฮีโร่โผล่ตอนเปิดหน้า (อยู่จอแรกเสมอ) */
.js .hero-enter{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.js .hero-enter.is-visible{opacity:1;transform:none}
/* ส่วนลงทะเบียนล่วงหน้า (เฟดที่สอง) เว้นระยะจากฮีโร่เล็กน้อย */
.beta-section{margin-top:22px}

@media(max-width:900px){.hero{min-height:calc(100vh - 120px)}.hero-lower{grid-template-columns:1fr;gap:12px;margin-top:22px;padding-left:0}.hero-lower .ad-card{height:auto;min-height:165px}}
@supports (height:100svh){@media(max-width:900px){.hero{min-height:calc(100svh - 120px)}}}

/* ── 2. SHARED COMPONENTS / คอมโพเนนต์ที่ใช้ร่วมกันทุกหน้า ───────────────── */
/* ไอคอน, หัวข้อหน้า, การ์ด, ตาราง และลิงก์ย่อย */
.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}
.skip-link{position:absolute;left:-9999px;top:0;z-index:99}
.skip-link:focus{left:16px;top:16px;padding:10px 16px;border:1px solid var(--cyan);border-radius:12px;background:#0d1721f2;color:#fff;text-decoration:none}
.ico{--i:none;display:inline-block;width:1.1em;height:1.1em;flex:0 0 auto;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.i-home{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.6 12 3.2l9 7.4V21h-6.2v-6H9.2v6H3z'/%3E%3C/svg%3E")}
.i-calendar{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2.5v4M16 2.5v4M3.5 6.5h17v14h-17zM3.5 11h17'/%3E%3C/svg%3E")}
.i-star{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.2 14.9 9.3 21.5 10.2 16.7 14.7 17.9 21.2 12 17.9 6.1 21.2 7.3 14.7 2.5 10.2 9.1 9.3z'/%3E%3C/svg%3E")}
.i-cart{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5h2.2l2.5 10.2a2 2 0 0 0 1.95 1.55h7.6a2 2 0 0 0 1.95-1.55L21 8.5H6.2M10 19.5h.01M17 19.5h.01'/%3E%3C/svg%3E")}
.i-car{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.2 10.2 7.1 6h9.8l1.9 4.2M4 10.5h16v7H4zM7 17.5v2M17 17.5v2M7.3 13.8h.01M16.7 13.8h.01M8.2 10.5h7.6'/%3E%3C/svg%3E")}
.i-terminal{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5h17v14h-17zM7 9.5l3 3-3 3M13 15.5h4'/%3E%3C/svg%3E")}
.i-gift{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 11h17v9.5h-17zM3.5 7h17v4h-17zM12 7v13.5M12 7c-2.6 0-4.3-.8-4.3-2.2S9.4 2 12 7zM12 7c2.6 0 4.3-.8 4.3-2.2S14.6 2 12 7z'/%3E%3C/svg%3E")}
.i-shield{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.2 20 6v6.2c0 4.6-3.2 7.6-8 8.6-4.8-1-8-4-8-8.6V6z'/%3E%3C/svg%3E")}
.i-puzzle{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3.5h4v2.2a1.8 1.8 0 1 0 3.6 0h2.4v5.6h-2.2a1.8 1.8 0 1 0 0 3.6h2.2v5.6h-5.6v-2.2a1.8 1.8 0 1 0-3.6 0v2.2H4.4v-5.6h2.2a1.8 1.8 0 1 0 0-3.6H4.4V3.5H10z'/%3E%3C/svg%3E")}
.i-copy{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 8.5h11v11h-11zM4.5 15.5v-11h11'/%3E%3C/svg%3E")}
.i-check{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E")}
.i-users{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zM2.5 20.5c0-3.3 2.9-6 6.5-6s6.5 2.7 6.5 6M17 11.5a3 3 0 1 0 0-6M22 20.5c0-2.8-1.9-5.1-4.6-5.8'/%3E%3C/svg%3E")}
.i-clock{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.2a8.8 8.8 0 1 0 0 17.6 8.8 8.8 0 0 0 0-17.6zM12 7.2V12l3.8 2.2'/%3E%3C/svg%3E")}
/* บัตรชำระเงิน — ใช้ที่หัวข้อ "ช่องทางชำระเงิน" ใน points.html
   ของเดิมใช้ .i-card โดยไม่มีนิยาม ⇒ ไอคอนว่างเปล่า (เจอด้วย check:player) */
.i-card{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5.5' width='19' height='13' rx='2.6'/%3E%3Cpath d='M2.5 10h19M6 14.4h4'/%3E%3C/svg%3E")}
/* ไอคอนที่เพิ่มเพื่อเลิกใช้อักขระจากฟอนต์ของเครื่อง (▦ ⇄ ↻ ◉ ▣ ♨) */
.i-grid{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7.4' height='7.4' rx='1.6'/%3E%3Crect x='13.6' y='3' width='7.4' height='7.4' rx='1.6'/%3E%3Crect x='3' y='13.6' width='7.4' height='7.4' rx='1.6'/%3E%3Crect x='13.6' y='13.6' width='7.4' height='7.4' rx='1.6'/%3E%3C/svg%3E")}
.i-swap{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 6.6h11.5M15.5 3.6l3 3-3 3M17 17.4H5.5M8.5 14.4l-3 3 3 3'/%3E%3C/svg%3E")}
.i-history{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.6 12a8.4 8.4 0 1 0 2.5-5.9M3.6 4.6V9h4.4'/%3E%3Cpath d='M12 7.9V12l3 1.8'/%3E%3C/svg%3E")}
.i-eye{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.4 12S6 5.6 12 5.6 21.6 12 21.6 12 18 18.4 12 18.4 2.4 12 2.4 12z'/%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3C/svg%3E")}
.i-bulb{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.4 18.2h5.2M10.4 21h3.2M12 3a6 6 0 0 0-3.4 10.9V16h6.8v-2.1A6 6 0 0 0 12 3z'/%3E%3C/svg%3E")}
.i-bolt{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.2 2.5 4.5 13.5h6.2l-1 8 8.8-11h-6.2z'/%3E%3C/svg%3E")}
.i-search{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4.2a6.8 6.8 0 1 0 0 13.6 6.8 6.8 0 0 0 0-13.6zM20 20l-4.3-4.3'/%3E%3C/svg%3E")}
.i-arrow{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.i-chevron{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 5.5l7 6.5-7 6.5'/%3E%3C/svg%3E")}
.i-map{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3.6 3.5 5.6v14.8L9 18.4l6 2 5.5-2V3.6L15 5.6zM9 3.6v14.8M15 5.6v14.8'/%3E%3C/svg%3E")}
.i-trophy{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 4h9v5.2a4.5 4.5 0 0 1-9 0zM7.5 6H4.2v1.8a3.3 3.3 0 0 0 3.3 3.3M16.5 6h3.3v1.8a3.3 3.3 0 0 1-3.3 3.3M9.5 20.5h5M12 13.7v6.8'/%3E%3C/svg%3E")}
.i-alert{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.2 2.5 20.5h19zM12 9.5v4.5M12 17.3h.01'/%3E%3C/svg%3E")}
.i-lock{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 11h12v9.5H6zM9 11V8a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E")}
.i-link{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 14.5l5-5M8.6 17.4l-1.6 1.6a3.6 3.6 0 0 1-5.1-5.1l2.9-2.9a3.6 3.6 0 0 1 5.1 0M15.4 6.6l1.6-1.6a3.6 3.6 0 0 1 5.1 5.1l-2.9 2.9a3.6 3.6 0 0 1-5.1 0'/%3E%3C/svg%3E")}
.i-download{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5v11M7.5 10l4.5 4.5L16.5 10M4.5 20.5h15'/%3E%3C/svg%3E")}
.i-refresh{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.6-5.9M20 4v4.5h-4.5'/%3E%3C/svg%3E")}
.i-login{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4.5h5.5v15H14M4.5 12h11M11.5 8l4 4-4 4'/%3E%3C/svg%3E")}
.i-chat{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H8.5L4 19z'/%3E%3C/svg%3E")}
.i-plug{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3v5M15 3v5M6.5 8h11v3.5a5.5 5.5 0 0 1-11 0zM12 17v4'/%3E%3C/svg%3E")}
.i-close{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E")}
.topbar .ico{color:#d9f5ff;text-shadow:0 0 8px #63d8ff}

/* ── COMPONENT: HERO NOTE / ข้อความตกแต่งฮีโร่ ─────────────────────────────── */
/* โน้ตข้อความตกแต่งในฮีโร่ (ไฟล์ภาพที่ผู้ใช้อนุมัติ) */
.hero-note{position:absolute;z-index:3;right:2%;top:6px;width:clamp(180px,22vw,290px);height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 5px rgba(0,0,0,.45))}
@media(max-width:900px){.hero-note{right:2%;top:0;width:180px}}
@media(max-width:640px){.hero-note{display:none}}

/* จอใหญ่ที่มีความสูงพอ: จัดกลุ่มเนื้อหากลางแนวตั้ง + ให้ตัวละครยืนขอบล่างของฮีโร่
   ไม่ให้เหลือแถบว่างท้ายจอ และย้ายโน้ตลงมาเกาะเหนือหัวตัวละครเป็นชุดเดียวกัน */
@media(min-width:1001px) and (min-height:820px){
  .hero{display:flex;flex-direction:column;justify-content:center;padding-bottom:100px}
  .character{right:-70px;top:auto;bottom:-35px}
}

/* โน้ต “เจอกันในแคลิฟอร์เนีย นะ!” — วางบนหัวตัวละคร
   ตัวละครเป็น position:fixed ที่ขอบขวาล่าง จึงยึดโน้ตกับ viewport ด้วย bottom เหมือนกัน
   ระยะ 445px = --character-height(545) − --character-bottom(-105) + 5px
   → เกาะหัวตัวละครทุกความสูงจอ; จอเตี้ยกว่า 780px กลับไปใช้ตำแหน่งขวาบน (base rule)
   เพราะถ้าต่ำกว่านั้นโน้ตจะไปทับ topbar */
@media(min-width:1001px) and (min-height:780px){
  .hero-note{position:fixed;top:auto;right:2%;bottom:445px}
}

/* ── COMPONENT: PORTAL LOGO / โลโก้ Semi-Roleplay ────────────────────────── */
/* โลโก้โหมดเซิร์ฟเวอร์ของฮีโร่ */
/* ตัวอักษรจริงในไฟล์ kanomjeen-logo.webp (2172×724) อยู่ที่ 2127×339 เท่านั้น
   ที่เหลือเป็นขอบโปร่งใส → ใช้ aspect-ratio ของตัวอักษรจริง + object-fit:cover
   เพื่อไม่ให้กล่องโลโก้สูงเกินจริงและไปดันหัวข้อด้านล่างตกจอ */
.hero .portal-logo-heading{margin:0 0 18px;line-height:0;font-size:0}
.portal-logo-heading img{display:block;width:min(720px,100%);height:auto;aspect-ratio:2127/339;object-fit:cover;object-position:center center;filter:drop-shadow(0 5px 10px rgba(0,0,0,.5))}
@media(max-width:900px){.portal-logo-heading img{width:min(560px,100%)}}

/* ── COMPONENT: SUBPAGE CONTENT / เนื้อหาหน้าย่อย ─────────────────────────── */
.page-head{position:relative;z-index:3;margin-top:26px;padding:24px 28px;border-radius:22px}
.breadcrumb{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--muted);font-size:12px}
.breadcrumb a{color:var(--cyan);text-decoration:none}
.page-head h1{margin:0;font-size:clamp(26px,3.2vw,38px);text-shadow:0 3px 0 #263342}
.page-head h1 .ico{color:var(--orange);font-size:.95em;vertical-align:-.06em}
.page-head p{margin:8px 0 0;max-width:74ch;color:#d3dde6;font-size:14px}
.section{position:relative;z-index:3;margin-top:24px}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.section-head h2{display:flex;align-items:center;gap:9px;margin:0;font-size:clamp(20px,2.3vw,26px)}
.section-head h2 .ico{color:var(--orange)}
.section-head p{margin:7px 0 0;color:var(--muted);font-size:12.5px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.card{position:relative;padding:16px 18px;border:1px solid var(--line);border-radius:17px;background:var(--panel);box-shadow:0 14px 32px #050b1299,inset 0 1px #ffffff1c}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}
.card-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:17px}
.card-head h3 .ico{color:var(--cyan);font-size:1.05em}
.card-head .sub{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:400}
.head-link{display:inline-flex;align-items:center;gap:4px;color:var(--cyan);font-size:12.5px;font-weight:800;text-decoration:none;white-space:nowrap}
.stat-grid .stat{padding:10px 12px;border:1px solid #65717e70;border-radius:11px;background:#19222a99}
.stat-grid .stat small{display:block;color:#c4cbd4;font-size:12px;font-weight:400}
.stat-grid .stat b{font-size:16px}
.rows{display:grid;gap:6px}
.row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:10px 13px;border:1px solid #65717e70;border-radius:11px;background:#19222a99;font-size:12.5px}
.row .ico{color:var(--cyan);font-size:1.15em}
.row b{font-weight:800}
.row small{display:block;color:#b8c6d2;font-size:12px;font-weight:400}
.row time,.row .price{color:var(--gold);font-weight:800;white-space:nowrap}
.row.is-today{border-color:#ffca6caa;background:#ffb3472c}
.row.is-today .row-tag{display:inline-flex;margin-left:6px;padding:2px 8px;border-radius:99px;background:#7de5c030;color:#c8f5e2;font-size:12px;font-weight:800}
.table-wrap{overflow-x:auto;border:1px solid #65717e70;border-radius:14px;background:#141d26a6}
table{width:100%;min-width:480px;border-collapse:collapse;font-size:13px}
caption{padding:11px 14px;color:var(--muted);font-size:12px;text-align:left}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid #66738230}
th{background:#ffffff0d;color:#cbd8e2;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#ffffff08}
code{font-family:ui-monospace,Consolas,monospace;color:#b5f1ff;font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid #a9c7d766;border-radius:99px;background:#ffffff12;color:#dce8f0;font-size:12.5px;font-weight:700;cursor:pointer}
.chip[aria-pressed="true"]{border-color:#e6a45f;background:linear-gradient(145deg,#a96735,#704224);color:#ffe9c9}
.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;background:#ffffff14;font-size:12px;font-weight:800}
.pill.required{background:#ff8f8f33;color:#ffd3d3}
.pill.optional{background:#70e5b42e;color:#c8f5e2}
.pill.live{background:#70e5b42e;color:#c8f5e2}
.timer{display:flex;gap:8px}
.timer-cell{min-width:72px;padding:10px 6px;text-align:center;border:1px solid #a9c7d766;border-radius:14px;background:#ffffff12;box-shadow:inset 0 1px #ffffff24}
.timer-cell b{display:block;font-size:24px;font-variant-numeric:tabular-nums;color:#f6c56f;text-shadow:0 0 14px #ffc66b44}
.timer-cell small{color:#c0d2dd;font-size:12px}
.bar{display:flex;flex-direction:column;gap:4px}
.bar-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
.bar-track{height:12px;padding:2px;border:1px solid #8cb6c988;border-radius:99px;background:#0c1822aa}
.bar-track>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#63e5ff,#70e4b1)}
.balance{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #65717e70;border-radius:14px;background:linear-gradient(135deg,#ffd15f22,#0c1822aa)}
.balance .ico{font-size:34px;color:var(--gold)}
.balance strong{display:block;font-size:29px;line-height:1.1}
.balance small{color:var(--muted);font-size:12px;font-weight:400}
.note-box{padding:11px 14px;border:1px solid #65717e70;border-left:3px solid var(--orange);border-radius:11px;background:#ffffff0a;color:#dbe5ec;font-size:12.5px}
.day{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:92px;padding:9px 5px;border:1px solid #67758380;border-radius:10px;background:#19222a99;text-align:center}
.day small{color:#c3cfd9;font-size:12px}
.day .ico{font-size:1.5em;color:var(--muted)}
.day b{font-size:13px;color:#ffd248}
.day span{color:#b9c6d1;font-size:12px}
.day.is-done{border-color:#66e7bb88;background:#14654e33}
.day.is-done .ico{color:var(--green)}
.day.is-today{border-color:#e9b737;background:#67471955}
.day.is-today .ico{color:#ffd248}
.day.is-locked{opacity:.55}
.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.products .product{display:flex;flex-direction:column;gap:7px;padding:11px;border:1px solid #65717e70;border-radius:14px;background:#202a32}
.products .thumb{display:grid;place-items:center;height:96px;border:1px solid #65717e70;border-radius:10px;background:#0d1721aa;overflow:hidden}
.products .thumb img{width:100%;height:100%;object-fit:contain;border-radius:0}
.products .thumb .ico{font-size:40px;color:var(--cyan)}
.product h4{margin:0;font-size:13.5px}
.product .desc{margin:0;color:var(--muted);font-size:12px;flex:1;font-weight:400}
.product .price-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.product .rarity{color:#9fd4e6;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.product.is-owned{border-color:#66e7bb88;background:#14654e2e}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 16px;border:1px solid #d9e2ec;border-radius:12px;background:#18232fb8;color:#fff;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.1)}
.btn-primary{border-color:#ffd48b;background:linear-gradient(#ffb33b,#ee661d);box-shadow:0 0 18px #ff8d2c66}
.btn-mint{border-color:#7de5c0;background:linear-gradient(135deg,#3d9d82cc,#1b5d56cc);box-shadow:inset 0 1px #ffffff44}
.btn-ghost{background:#ffffff0f;border-color:#a9c7d766}
.btn-sm{min-height:33px;padding:6px 12px;font-size:12px;border-radius:10px}
.btn-row{display:flex;flex-wrap:wrap;gap:9px}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;filter:none}
.field{display:block;margin-top:12px;color:#d9e3eb;font-size:12px;font-weight:700}
.field input:not([type=checkbox]),.field select,.field textarea,.input{width:100%;margin-top:6px;padding:11px;border:1px solid #75889888;border-radius:9px;background:#101c27;color:#fff;font:inherit;font-size:13px}
.field .hint{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:400}
.check{display:flex;gap:8px;align-items:flex-start;margin-top:12px;color:#d9e3eb;font-size:12px}
.check input{width:17px;height:17px;margin-top:2px;accent-color:var(--green)}
.form-error{margin:10px 0 0;padding:9px 12px;border:1px solid #ff8f8f88;border-radius:10px;background:#ff78781f;color:#ffd9d9;font-size:12.5px}
.form-error:empty{display:none}
.search{position:relative;display:flex;align-items:center;max-width:400px;width:100%}
.search .ico{position:absolute;left:12px;color:var(--muted);pointer-events:none}
.search .input{padding-left:36px}
.muted{color:var(--muted);font-weight:400}
.warn{color:var(--orange)}
.bad{color:#ff9c9c}
.mt-0{margin-top:0}.mt-sm{margin-top:10px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.between{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.center{text-align:center}
.nowrap{white-space:nowrap}
ol.rows{counter-reset:step}
ol.rows>li.row{grid-template-columns:auto 1fr}
ol.rows>li.row::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#70e5b42e;color:#c8f5e2;font-size:12px;font-weight:800}
@media(max-width:900px){.page-head{margin:0 9px;padding:20px 16px}.section{margin:20px 9px 0}.section-head{align-items:flex-start}.days-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.timer-cell{min-width:62px}.timer-cell b{font-size:20px}}
@media(max-width:560px){.grid-2,.grid-3{grid-template-columns:1fr}.days-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.products{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
/* ── NAVBAR: text-only mode / เมนูใช้ตัวหนังสือล้วน ─────────────────────── */
.nav-icon{display:none}
.topbar nav a{gap:0}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ========================================================================== */
/* AI QUICK EDIT SECTIONS / จุดแก้ไขหลักสำหรับ AI และผู้ดูแลเว็บ               */
/* ========================================================================== */
/* [01] CHARACTER POSITION + SIZE / ตัวละคร: แก้เฉพาะค่าชุดนี้                 */
:root{
  --character-right:-170px;   /* ค่าติดลบ = โผล่ออกนอกจอทางขวา */
  --character-bottom:-105px;  /* ค่าติดลบ = ถูกตัดออกด้านล่าง */
  --character-width:490px;    /* ความกว้างตัวละคร */
  --character-height:545px;   /* ความสูงตัวละคร */
  --character-angle:-3deg;    /* มุมเอียง */
}
.character{
  position:fixed;
  right:var(--character-right);
  bottom:var(--character-bottom);
  top:auto;
  width:var(--character-width);
  height:var(--character-height);
  transform:rotate(var(--character-angle));
}

/* [02] GLOBAL COLORS / สีหลัก: แก้ตัวแปรใน :root ด้านบน                   */
/* [03] NAVBAR / เมนูบน: .topbar, .brand, .topbar nav                       */
/* [04] HERO / ฮีโร่: .hero, .hero-copy, .hero-note, .portal-logo-heading    */
/* [05] AD CARD / การ์ดโฆษณา: .ad-card, .ad-copy, .ad-controls               */
/* [06] DASHBOARD / แผงข้อมูล: .dashboard, .panel, .stat-grid                */
/* [07] SUBPAGES / หน้าย่อย: .page-head, .section, .card, .grid-*            */
/* [08] RESPONSIVE / มือถือ: บล็อก @media(max-width:900px) และ max-width:560px */
/* แก้ไขค่าของส่วนใด ให้ค้นหาหมายเลข [01]-[08] ก่อนเริ่มแก้ CSS               */

/* [13] PLAYER AUTH — Steam + Discord verification */
body.auth-modal-open{overflow:hidden}
.player-auth-modal[hidden]{display:none}
.player-auth-modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px}
.player-auth-backdrop{position:absolute;inset:0;border:0;background:rgba(2,8,14,.42);backdrop-filter:blur(4px) saturate(110%);-webkit-backdrop-filter:blur(4px) saturate(110%);cursor:default}
.player-auth-dialog{
  position:relative;
  z-index:1;
  width:min(560px,100%);
  max-height:min(780px,calc(100vh - 40px));
  overflow:auto;
  padding:26px;
  border-radius:22px;
  background:linear-gradient(155deg,rgba(20,35,49,.90),rgba(8,19,29,.92));
  box-shadow:0 30px 90px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.08);
}
.player-auth-close{
  position:absolute;right:14px;top:12px;
  width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:10px;
  background:rgba(255,255,255,.06);color:#dcebf2;font-size:22px;line-height:1;cursor:pointer
}
.player-auth-head{padding-right:42px}
.player-auth-kicker{display:block;color:#70e5c8;font-size:12px;font-weight:900;letter-spacing:.16em}
.player-auth-head h2{margin:7px 0 0;color:#f3f9fc;font-size:30px;line-height:1.08}
.player-auth-head p{margin:9px 0 0;color:#8fa6b2;font-size:12px;line-height:1.6}
.player-auth-steps{display:grid;gap:8px;margin-top:22px}
.player-auth-step{
  display:flex;align-items:center;gap:12px;padding:11px 12px;
  border:1px solid rgba(138,174,190,.18);border-radius:13px;
  background:rgba(255,255,255,.035)
}
.player-auth-step.is-done{border-color:rgba(88,221,180,.28);background:rgba(74,196,160,.055)}
.player-auth-step-icon{
  display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;
  border:1px solid rgba(143,176,190,.28);background:#0b1a25;color:#78909c;font-weight:900
}
.player-auth-step.is-done .player-auth-step-icon{border-color:rgba(91,225,185,.45);background:rgba(55,188,151,.14);color:#87f0ce}
.player-auth-step strong{display:block;color:#e6f0f5;font-size:12px}
.player-auth-step small{display:block;margin-top:2px;color:#78909c;font-size:12px}
.player-auth-providers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.player-auth-provider{
  display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:13px 14px;
  border:1px solid rgba(255,255,255,.13);border-radius:14px;text-decoration:none;
  box-shadow:inset 0 1px rgba(255,255,255,.07);transition:.18s
}
.player-auth-provider:hover{transform:translateY(-1px);filter:brightness(1.08)}
.player-auth-provider b{font-size:13px;letter-spacing:.08em}
.player-auth-provider span{margin-top:4px;font-size:12px;opacity:.8}
.steam-provider{background:linear-gradient(135deg,rgba(41,99,145,.42),rgba(24,47,68,.48));color:#e9f6ff}
.discord-provider{background:linear-gradient(135deg,rgba(88,101,242,.48),rgba(72,76,157,.38));color:#f3f4ff}
.player-auth-provider.is-disabled{opacity:.45;cursor:not-allowed}
.player-auth-notice{
  display:flex;flex-direction:column;gap:5px;margin-top:16px;padding:13px 14px;
  border:1px solid rgba(255,190,93,.25);border-radius:13px;background:rgba(255,175,54,.055)
}
.player-auth-notice b{color:#ffd17a;font-size:12px}
.player-auth-notice span{color:#9aadb7;font-size:12px;line-height:1.55}
.player-auth-verify-actions{display:flex;gap:9px;margin-top:10px}
.player-auth-verify,.player-auth-invite{
  flex:1;display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;
  border:1px solid rgba(99,224,194,.3);border-radius:10px;background:rgba(60,181,153,.12);
  color:#dffdf5;text-decoration:none;font-size:12px;font-weight:850;cursor:pointer
}
.player-auth-invite{border-color:rgba(112,126,244,.3);background:rgba(88,101,242,.12);color:#eef0ff}
.player-auth-success{
  margin-top:16px;padding:12px;border:1px solid rgba(81,224,181,.35);border-radius:12px;
  background:rgba(62,197,158,.09);color:#8af0d0;text-align:center;font-size:12px;font-weight:950;letter-spacing:.08em
}
.player-auth-logout{display:block;margin:14px auto 0;border:0;background:transparent;color:#718692;font-size:12px;text-decoration:underline;cursor:pointer}
.login-trigger.is-verified{border-color:rgba(91,225,185,.45)!important;box-shadow:0 0 18px rgba(74,211,170,.08)}
.topbar .login-trigger.is-verified{display:flex;align-items:center;gap:9px;min-width:315px;height:58px;padding:6px 11px;border-color:rgba(155,182,199,.5)!important;background:linear-gradient(145deg,rgba(39,53,68,.96),rgba(17,27,38,.96));box-shadow:inset 0 1px rgba(255,255,255,.12),0 7px 16px #07101888;text-align:left}
.topbar .login-trigger.is-verified:hover{border-color:rgba(142,234,255,.72)!important;background:linear-gradient(145deg,rgba(47,66,83,.98),rgba(18,32,45,.98));transform:translateY(-1px)}
.top-profile-avatar{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;overflow:hidden;border:1px solid rgba(142,234,255,.62);border-radius:10px;background:rgba(82,183,211,.14);color:#aeeeff;font-size:17px;box-shadow:inset 0 1px rgba(255,255,255,.14),0 0 14px rgba(66,202,235,.13)}
.top-profile-avatar img{width:100%;height:100%;object-fit:cover}

/* Steam avatar guard: external avatars must never escape the compact topbar account chip. */
.topbar .login-trigger.is-verified{overflow:hidden}
.topbar .login-trigger.is-verified .top-profile-avatar{
  flex:0 0 31px;
  width:31px;min-width:31px;max-width:31px;
  height:31px;min-height:31px;max-height:31px;
  overflow:hidden
}
.topbar .login-trigger.is-verified .top-profile-avatar>img{
  display:block!important;
  position:static!important;
  inset:auto!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:100%!important;min-height:0!important;max-height:100%!important;
  margin:0!important;padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important
}
.top-profile-identity{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px}.top-profile-identity small,.top-profile-stat small{color:rgba(211,228,237,.61);font-size:12px;font-weight:900;letter-spacing:.1em}.top-profile-identity b{overflow:hidden;color:#f4f8fb;font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.top-profile-stat{display:flex;flex:0 0 auto;min-width:45px;flex-direction:column;gap:1px;padding-left:9px;border-left:1px solid rgba(155,182,199,.22)}.top-profile-stat b{color:#8eeaff;font-size:13px;line-height:1.1}.top-profile-point b{color:#ffd15f}

/* Authenticated player dropdown: keep the compact chip as the trigger, reveal account actions on demand. */
.top-profile-menu[hidden]{display:none!important}
.top-profile-menu{
  position:absolute;z-index:120;top:calc(100% + 8px);right:10px;
  width:min(330px,calc(100vw - 24px));padding:10px;
  border:1px solid rgba(142,234,255,.24);border-radius:16px;
  background:linear-gradient(165deg,rgba(18,31,43,.98),rgba(7,17,26,.99));
  box-shadow:0 20px 48px rgba(0,0,0,.56),inset 0 1px rgba(255,255,255,.09);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)
}
.top-profile-menu-head{display:flex;align-items:center;gap:11px;padding:5px 5px 10px;border-bottom:1px solid rgba(155,182,199,.14)}
.top-profile-menu-head>span:last-child{display:flex;min-width:0;flex-direction:column}
.top-profile-menu-head b{overflow:hidden;color:#f7fbff;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.top-profile-menu-head small{overflow:hidden;margin-top:2px;color:#8ea7b5;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.top-profile-menu-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;overflow:hidden;border:1px solid rgba(142,234,255,.4);border-radius:12px;background:#122535;color:#c9f3ff;font-weight:950}
.top-profile-menu-avatar img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;object-fit:cover!important}
.top-profile-menu-resources{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px 5px 4px}
.top-profile-resource{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:54px;padding:7px 9px;border:1px solid rgba(155,182,199,.26);border-radius:11px;background:linear-gradient(145deg,rgba(28,43,56,.78),rgba(10,21,31,.82));color:#f4f8fb;text-decoration:none}
.top-profile-resource:hover{border-color:rgba(142,234,255,.5);background:linear-gradient(145deg,rgba(38,56,70,.88),rgba(12,26,38,.9))}
.top-profile-resource-art{display:grid;place-items:center;width:34px;height:34px}
.top-profile-resource-art img{display:block;width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;object-fit:contain!important}
.top-profile-resource>span:last-child{display:flex;min-width:0;flex-direction:column}
.top-profile-resource small{color:#879eab;font-size:10px;font-weight:900;letter-spacing:.1em}
.top-profile-resource b{overflow:hidden;margin-top:2px;color:#dff8ff;font-size:14px;line-height:1;text-overflow:ellipsis;white-space:nowrap}
.top-profile-resource:nth-child(2) b{color:#ffd15f}
.top-profile-menu-status{display:grid;gap:6px;padding:10px 5px}
.top-profile-menu-status>span,.top-profile-menu-status>a{display:flex;align-items:center;gap:7px;min-height:28px;padding:5px 8px;border-radius:8px;color:#b7cad4;font-size:11px;font-weight:850;text-decoration:none}
.top-profile-menu-status .is-ok{background:rgba(112,229,180,.07);color:#8cebc9}
.top-profile-menu-status>a{border:1px solid rgba(255,184,91,.2);background:rgba(255,184,91,.06);color:#ffd39c}
.top-profile-menu-status .ico{width:15px;height:15px;flex:0 0 15px}
.top-profile-menu-links{display:grid;gap:5px;padding:4px 0 7px;border-top:1px solid rgba(155,182,199,.12);border-bottom:1px solid rgba(155,182,199,.12)}
.top-profile-menu-links>a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:7px 9px;border-radius:10px;color:#eaf4f8;text-decoration:none}
.top-profile-menu-links>a:hover{background:rgba(142,234,255,.07)}
.top-profile-menu-links>a>.ico{width:17px;height:17px;color:#9feaff}
.top-profile-menu-links>a>span{display:flex;min-width:0;flex-direction:column;font-size:12px;font-weight:900}
.top-profile-menu-links>a small{margin-top:2px;color:#829aa8;font-size:10px;font-weight:700}
.top-profile-menu-links>a>b{color:#78909d;font-size:18px;font-weight:400}
.top-profile-menu-logout{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:36px;margin-top:8px;border:0;border-radius:9px;background:transparent;color:#d7a8a8;font-size:11px;font-weight:900;cursor:pointer}
.top-profile-menu-logout:hover{background:rgba(255,100,100,.07);color:#ffc0c0}
.top-profile-menu-logout .ico{width:15px;height:15px}
.login-trigger[aria-expanded="true"] .top-profile-arrow{transform:rotate(180deg)}
.top-profile-arrow{transition:transform .16s ease}
@media(max-width:900px){.topbar .login-trigger.is-verified{display:none}}

/* [18] POINT REWARD CENTER */
.points-page{padding-top:18px}.points-hero{position:relative;display:flex;align-items:center;min-height:170px;overflow:hidden;margin-bottom:14px;padding:20px 42px 18px 205px;border-color:rgba(255,195,96,.48);border-radius:20px;background:linear-gradient(100deg,rgba(12,25,37,.97),rgba(23,42,54,.9));isolation:isolate}.points-hero:after{position:absolute;z-index:-1;inset:0;content:'';background:radial-gradient(circle at 17% 50%,rgba(255,169,31,.28),transparent 27%),linear-gradient(90deg,transparent 55%,rgba(255,172,52,.12))}.points-hero-art{position:absolute;z-index:-1;left:-6px;bottom:-48px;width:230px;filter:drop-shadow(0 8px 15px #02060dcc)}.points-hero-copy{max-width:720px}.points-kicker{color:#ffd15f;font-size:12px;font-weight:950;letter-spacing:.19em}.points-hero h1{margin:4px 0 5px;font-size:clamp(31px,4vw,49px);letter-spacing:-.04em}.points-hero h1 em{font-style:normal;color:#ffd15f}.points-hero p{max-width:625px;margin:0;color:#bfced8;font-size:12px;line-height:1.5}.points-live-stats{display:flex;gap:8px;margin-top:12px}.points-live-stats span{min-width:94px;padding:6px 9px;border:1px solid rgba(142,234,255,.26);border-radius:9px;background:rgba(7,18,29,.48)}.points-live-stats small,.points-live-stats b{display:block}.points-live-stats small{color:#8ca4b1;font-size:12px;font-weight:900;letter-spacing:.1em}.points-live-stats b{margin-top:2px;color:#8eeaff;font-size:16px}.points-live-stats span:last-child b{color:#ffd15f}.points-hero-quote{position:absolute;right:35px!important;bottom:25px;width:145px;color:#f5cd82!important;font-size:16px!important;font-style:italic;font-weight:800;line-height:1.25!important;text-align:right}.points-main-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:14px;margin-top:14px}.points-panel,.points-history{padding:18px;border-radius:18px}.points-panel>header{display:flex;justify-content:space-between;margin-bottom:12px}.points-panel h2,.points-history h2{margin:0;font-size:23px}.points-panel h2 .ico,.points-history h2 .ico{color:#8eeaff}.points-panel p,.points-history p{margin:3px 0 0;color:#a2b5c0;font-size:12px}.points-pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.points-pack{position:relative;display:flex;min-height:224px;flex-direction:column;align-items:center;padding:8px 8px 10px;border:1px solid rgba(117,157,178,.46);border-radius:13px;background:linear-gradient(145deg,rgba(25,50,66,.78),rgba(13,29,40,.82));text-align:center}.points-pack.is-featured{border-color:#ffd15f;box-shadow:0 0 17px rgba(255,188,55,.23),inset 0 1px rgba(255,255,255,.14)}.points-pack.is-featured>span{position:absolute;top:-9px;right:8px;padding:3px 7px;border-radius:99px;background:#ffd15f;color:#3f2600;font-size:12px;font-weight:950}.points-pack img{width:91px;height:91px;object-fit:contain;filter:drop-shadow(0 5px 7px #0008)}.points-pack b{margin-top:1px;color:#f7fbff;font-size:16px}.points-pack small{margin-top:5px;color:#8ea4af;font-size:12px}.points-pack strong{color:#ffd15f;font-size:16px}.points-pack button,.points-reward-grid button{width:100%;margin-top:auto;padding:8px;border:1px solid #63e7c0;border-radius:8px;background:linear-gradient(135deg,#2f9f89,#155d58);color:#f2fffb;font-size:12px;font-weight:900}.points-payment{background:linear-gradient(145deg,rgba(19,46,61,.86),rgba(13,27,39,.93))}.points-payment-list{display:grid;gap:8px}.points-payment-list>div{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid rgba(123,173,195,.34);border-radius:10px;background:rgba(7,17,27,.37)}.points-payment-list span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(67,195,230,.13);color:#74e4ff;font-size:16px}.points-payment-list b,.points-payment-list small{display:block}.points-payment-list b{font-size:12px}.points-payment-list small{margin-top:2px;color:#8ba2ad;font-size:12px;font-weight:500}.points-lower-grid{grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr)}.points-exchange{display:grid;grid-template-columns:175px 1fr;gap:14px;align-items:center}.points-exchange>img{width:100%;height:128px;object-fit:contain;filter:drop-shadow(0 6px 10px #02111a)}.points-exchange-rates{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.points-exchange-rates span{padding:13px 5px;border:1px solid rgba(106,196,222,.39);border-radius:10px;background:rgba(13,42,57,.62);text-align:center}.points-exchange-rates b,.points-exchange-rates small{display:block}.points-exchange-rates b{color:#dffbff;font-size:15px}.points-exchange-rates small{margin-top:5px;color:#ffd15f;font-size:12px;font-weight:900}.points-reward-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.points-reward-grid article{display:flex;min-height:215px;flex-direction:column;align-items:center;padding:8px;border:1px solid rgba(255,193,87,.35);border-radius:12px;background:rgba(52,42,27,.26);text-align:center}.points-reward-grid img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 5px 8px #0008)}.points-reward-grid b{font-size:12px}.points-reward-grid small{margin:3px 0 8px;color:#9aadb7;font-size:12px}.points-history{margin-top:14px}.points-history .section-head{margin:0 0 9px}
@media(max-width:900px){.points-hero{min-height:170px;padding:20px 18px 18px 145px}.points-hero-art{width:180px;left:-35px;bottom:-32px}.points-hero-quote{display:none}.points-main-grid,.points-lower-grid{grid-template-columns:1fr}.points-pack-grid{grid-template-columns:repeat(2,1fr)}.points-exchange-rates{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.points-page{padding:10px 9px 0}.points-hero{min-height:230px;padding:18px 15px 18px 120px}.points-hero-art{width:155px;left:-50px;bottom:-14px}.points-hero h1{font-size:29px}.points-hero p{font-size:12px}.points-live-stats{gap:5px}.points-live-stats span{min-width:70px;padding:5px}.points-live-stats b{font-size:13px}.points-panel,.points-history{padding:14px}.points-panel h2,.points-history h2{font-size:19px}.points-pack{min-height:205px}.points-pack img{width:78px;height:78px}.points-pack b{font-size:14px}.points-exchange{grid-template-columns:1fr}.points-exchange>img{height:100px}.points-reward-grid img{width:95px;height:95px}}
@media(max-width:560px){
  .player-auth-modal{padding:12px}
  .player-auth-dialog{padding:22px 16px;border-radius:18px}
  .player-auth-head h2{font-size:25px}
  .player-auth-providers{grid-template-columns:1fr}
  .player-auth-verify-actions{flex-direction:column}
}

/* [15] PLAYER AUTH WIZARD V3 */
.player-auth-dialog{
  width:min(640px,100%);
  padding:28px;
  border-radius:26px;
  background:
    radial-gradient(circle at 12% 0%,rgba(88,101,242,.12),transparent 28%),
    radial-gradient(circle at 88% 100%,rgba(88,226,190,.08),transparent 30%),
    linear-gradient(155deg,rgba(16,30,43,.94),rgba(6,15,24,.96));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 34px 100px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08)
}
.auth-wizard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:42px}
.auth-wizard-head h2{margin:7px 0 0;color:#f4f9fc;font-size:30px;line-height:1.05}
.auth-wizard-count{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#8ba0aa;
  font-size:12px;font-weight:900;letter-spacing:.12em
}

.auth-wizard-progress{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:24px 0 18px;
  padding-top:20px
}
.auth-wizard-track{
  position:absolute;
  left:16.666%;
  right:16.666%;
  top:15px;
  height:2px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08)
}
.auth-wizard-track span{
  display:block;
  width:var(--auth-progress);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#6f7bf7,#64e6c4);
  box-shadow:0 0 14px rgba(101,225,196,.22);
  transition:width .35s ease
}
.auth-wizard-step{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  z-index:1;
  text-align:center
}
.auth-wizard-dot{
  display:grid;place-items:center;
  width:32px;height:32px;
  margin-top:-20px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  background:#0b1822;
  color:#6f8591;
  font-size:12px;font-weight:950;
  box-shadow:0 0 0 5px rgba(7,16,24,.96)
}
.auth-wizard-step.is-active .auth-wizard-dot{
  border-color:rgba(126,140,255,.65);
  background:linear-gradient(145deg,rgba(88,101,242,.8),rgba(67,78,189,.8));
  color:#fff;
  box-shadow:0 0 0 5px rgba(7,16,24,.96),0 0 22px rgba(88,101,242,.28)
}
.auth-wizard-step.is-complete .auth-wizard-dot{
  border-color:rgba(93,229,191,.46);
  background:rgba(72,196,161,.16);
  color:#8df1d3
}
.auth-wizard-step b{color:#b8c8d0;font-size:12px}
.auth-wizard-step small{color:#627883;font-size:12px}
.auth-wizard-step.is-active b{color:#edf5f9}
.auth-wizard-step.is-complete b{color:#98e6cf}

.auth-stage{
  position:relative;
  overflow:hidden;
  margin-top:18px;
  padding:24px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024));
  box-shadow:inset 0 1px rgba(255,255,255,.06)
}
.auth-stage::before{
  content:"";
  position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(126,140,255,.65),rgba(102,232,199,.55),transparent)
}
.auth-stage-badge{
  display:inline-flex;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(255,255,255,.04);
  color:#748995;
  font-size:12px;font-weight:950;letter-spacing:.14em
}
.auth-stage-icon{
  display:grid;place-items:center;
  width:68px;height:68px;
  margin:18px 0 14px;
  border-radius:18px;
  font-size:28px;font-weight:950
}
.auth-icon-discord{border:1px solid rgba(112,126,244,.38);background:linear-gradient(145deg,rgba(88,101,242,.35),rgba(88,101,242,.12));color:#fff}
.auth-icon-steam{border:1px solid rgba(94,166,219,.34);background:linear-gradient(145deg,rgba(41,99,145,.35),rgba(20,48,69,.18));color:#eaf7ff}
.auth-icon-verify{border:1px solid rgba(96,225,190,.34);background:linear-gradient(145deg,rgba(70,196,160,.28),rgba(41,119,100,.14));color:#8ef0d2}
.auth-stage h3{margin:0;color:#f1f7fa;font-size:24px;line-height:1.1}
.auth-stage>p{max-width:510px;margin:9px 0 0;color:#879ca7;font-size:12px;line-height:1.65}

.auth-stage-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  min-height:64px;
  margin-top:20px;
  padding:12px 14px 12px 16px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  text-decoration:none;
  cursor:pointer;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 12px 22px rgba(0,0,0,.14);
  transition:transform .18s ease,filter .18s ease,border-color .18s ease
}
.auth-stage-cta:hover{transform:translateY(-1px);filter:brightness(1.06)}
.auth-stage-cta span{display:flex;flex-direction:column;gap:3px;text-align:left}
.auth-stage-cta span b{font-size:12px}
.auth-stage-cta span small{font-size:12px;opacity:.72}
.auth-stage-cta>strong{
  display:grid;place-items:center;
  flex:0 0 34px;width:34px;height:34px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  font-size:16px
}
.auth-verify-cta{background:linear-gradient(135deg,rgba(52,169,141,.24),rgba(29,103,87,.22));color:#eafff7}
.auth-done-cta{background:linear-gradient(135deg,rgba(58,192,154,.3),rgba(70,133,118,.2));color:#effff9}

.auth-stage-foot{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px;
  margin-top:11px;
  color:#667c87;
  font-size:12px;font-weight:800
}

.auth-linked-chip{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:10px 11px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:rgba(255,255,255,.035)
}
.auth-chip-icon{
  display:grid;place-items:center;
  flex:0 0 34px;width:34px;height:34px;
  border-radius:10px;
  font-size:13px;font-weight:950
}
.auth-linked-chip>div{min-width:0;flex:1}
.auth-linked-chip small{display:block;color:#687f8b;font-size:12px;font-weight:900;letter-spacing:.08em}
.auth-linked-chip b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e8f1f5;font-size:12px}
.auth-linked-chip em{color:#78e5c5;font-size:12px;font-style:normal;font-weight:950}
.auth-account-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}

.auth-secondary-link{
  display:inline-flex;
  margin-top:13px;
  color:#a9b3ff;
  font-size:12px;
  font-weight:850;
  text-decoration:none
}

.auth-success-ring{
  display:grid;place-items:center;
  width:88px;height:88px;
  margin:20px auto 14px;
  border:1px solid rgba(92,230,191,.38);
  border-radius:50%;
  background:radial-gradient(circle,rgba(69,199,161,.18),rgba(69,199,161,.04));
  box-shadow:0 0 0 9px rgba(67,196,158,.035),0 0 30px rgba(74,209,169,.12)
}
.auth-success-ring span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(64,196,158,.17);color:#8ff0d2;font-size:22px;font-weight:950}
.auth-stage-success{text-align:center}
.auth-stage-success>p{margin-left:auto;margin-right:auto}
.auth-stage-success .auth-account-pair{text-align:left}

@media(max-width:560px){
  .player-auth-dialog{padding:22px 15px}
  .auth-wizard-head h2{font-size:25px}
  .auth-wizard-step small{display:none}
  .auth-stage{padding:18px}
  .auth-stage h3{font-size:21px}
  .auth-account-pair{grid-template-columns:1fr}
}

/* [16] PLAYER AUTH WIZARD V5 — match Player Portal home UI */
.player-auth-backdrop{
  background:rgba(5,11,18,.42);
  backdrop-filter:blur(4px) saturate(110%);
  -webkit-backdrop-filter:blur(4px) saturate(110%)
}
.player-auth-dialog{
  width:min(700px,100%);
  padding:28px 30px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(39,53,68,.94),rgba(17,27,38,.97));
  box-shadow:0 24px 70px #050b12cc,inset 0 1px #ffffff1c;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px)
}
.player-auth-close{
  border:1px solid #9bb6c74d;
  background:#ffffff0d;
  color:#dcecf5;
  box-shadow:inset 0 1px #ffffff14
}
.player-auth-close:hover{background:#ffffff18;border-color:#d7e8f155}
.auth-wizard-head{padding-right:44px}
.auth-wizard-head h2{
  margin:7px 0 0;
  color:#f4fbff;
  font-size:30px;
  font-weight:850;
  letter-spacing:-.02em
}
.auth-wizard-count{
  border:1px solid #8fb7c94d;
  background:#0d172180;
  color:#9eb7c4
}
.player-auth-kicker{
  color:var(--orange);
  font-size:12px;
  font-weight:900;
  letter-spacing:.17em
}
.auth-wizard-progress{
  gap:10px;
  margin:24px 0 16px;
  padding-top:18px
}
.auth-wizard-track{
  top:15px;
  background:#8ea6b326
}
.auth-wizard-track span{
  background:linear-gradient(90deg,var(--green),var(--orange));
  box-shadow:0 0 12px #70e5b444
}
.auth-wizard-dot{
  border:1px solid #7995a44d;
  background:#101c27;
  color:#8198a4;
  box-shadow:0 0 0 5px #16222d
}
.auth-wizard-step.is-active .auth-wizard-dot{
  border-color:#ffbf6caa;
  background:linear-gradient(145deg,#a96735,#704224);
  color:#fff8ef;
  box-shadow:0 0 0 5px #16222d,0 0 18px #ff9d3e33
}
.auth-wizard-step.is-complete .auth-wizard-dot{
  border-color:#70e5b488;
  background:linear-gradient(145deg,#3d9d8266,#1b5d5666);
  color:#a9f4d9;
  box-shadow:0 0 0 5px #16222d
}
.auth-wizard-step b{color:#c1d0d8}
.auth-wizard-step small{color:#78909d}
.auth-wizard-step.is-active b{color:#fff}
.auth-wizard-step.is-complete b{color:#9de9d0}

.auth-stage{
  margin-top:16px;
  padding:22px;
  border:1px solid #9bb6c75c;
  border-radius:17px;
  background:var(--panel);
  box-shadow:0 14px 32px #050b1266,inset 0 1px #ffffff1c
}
.auth-stage::before{
  background:linear-gradient(90deg,transparent,#ffb85b88,transparent)
}
.auth-stage-badge{
  padding:4px 8px;
  border:1px solid #90acbb4d;
  background:#ffffff0b;
  color:#9cb2bd
}
.auth-stage-icon{
  width:62px;height:62px;
  margin:18px 0 13px;
  border-radius:14px
}
.auth-icon-discord{
  border:1px solid #78cfff66;
  background:linear-gradient(145deg,#3d9d8270,#1b5d5666);
  color:#f5fffb;
  box-shadow:inset 0 1px #ffffff33
}
.auth-icon-steam{
  border:1px solid #78cfff66;
  background:linear-gradient(145deg,#263d50,#182a39);
  color:#e9f6ff
}
.auth-icon-verify{
  border:1px solid #ffca6c77;
  background:linear-gradient(145deg,#a9673566,#70422455);
  color:#ffdca7
}
.auth-stage h3{
  color:#f4fbff;
  font-size:24px;
  font-weight:850
}
.auth-stage>p{
  color:#afc0cc;
  font-size:12px;
  line-height:1.65
}
.auth-stage-cta{
  min-height:58px;
  border-radius:12px;
  box-shadow:inset 0 1px #ffffff2e,0 7px 16px #07101866
}
.auth-stage-cta:hover{transform:translateY(-1px);filter:brightness(1.08)}
.discord-provider{
  border-color:#78cfff88;
  background:linear-gradient(145deg,#3d9d82cc,#1b5d56cc);
  color:#f5fffb
}
.steam-provider{
  border-color:#7fb5d177;
  background:linear-gradient(145deg,#2b4c63cc,#172b3acc);
  color:#edf8ff
}
.auth-role-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px
}
.auth-role-actions .auth-stage-cta{margin-top:0}
.auth-role-cta{
  border-color:#ffd48b;
  background:linear-gradient(#ffb33b,#ee661d);
  color:#fff;
  box-shadow:0 0 18px #ff8d2c33,inset 0 1px #fff4
}
.auth-verify-cta{
  border-color:#d9e2ec55;
  background:#18232fb8;
  color:#fff
}
.auth-done-cta{
  border-color:#7de5c0;
  background:linear-gradient(135deg,#3d9d82cc,#1b5d56cc);
  color:#effff9
}
.auth-stage-foot{
  margin-top:12px;
  color:#8297a2;
  font-size:12px
}
.auth-linked-chip{
  padding:10px 12px;
  border:1px solid #65717e70;
  border-radius:11px;
  background:#19222a99
}
.auth-chip-icon{border-radius:9px}
.auth-linked-chip small{color:#9ab0bc}
.auth-linked-chip b{color:#eef6fa}
.auth-linked-chip em{color:var(--green)}
.auth-account-pair{gap:8px}
.auth-success-ring{
  border-color:#70e5b477;
  background:radial-gradient(circle,#3d9d8233,#1b5d5614);
  box-shadow:0 0 0 8px #70e5b40a,0 0 24px #70e5b421
}
.auth-success-ring span{
  background:#3d9d8233;
  color:#a7f1d7
}
.player-auth-logout{
  color:#8290a0;
  font-size:12px
}
@media(max-width:560px){
  .player-auth-dialog{padding:22px 15px;border-radius:18px}
  .auth-wizard-head h2{font-size:25px}
  .auth-role-actions{grid-template-columns:1fr}
}

/* [16A] PLAYER AUTH — modal finish, aligned with the home page glass system */
.player-auth-dialog{
  position:relative;
  isolation:isolate;
  overflow:auto;
  max-height:min(820px,calc(100svh - 28px));
  border-color:#a8bdca66;
}
.player-auth-dialog::before{
  content:'';
  position:absolute;
  z-index:-1;
  top:0;left:12%;right:12%;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,transparent,var(--orange),#70e5b4,transparent);
  box-shadow:0 0 18px #ffb85b66;
}
.auth-brand{
  display:flex;
  align-items:center;
  gap:10px;
  width:max-content;
  margin:0 0 20px;
  padding:7px 11px 7px 7px;
  border:1px solid #ffffff1f;
  border-radius:12px;
  background:#0b1721a8;
  box-shadow:inset 0 1px #ffffff18;
}
.auth-brand img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 3px 5px #0008)}
.auth-brand span{display:flex;flex-direction:column;gap:1px}
.auth-brand b{color:#f4fbff;font-size:12px;line-height:1}
.auth-brand b::first-letter{color:var(--orange)}
.auth-brand small{color:#8fa8b5;font-size:12px;font-weight:900;letter-spacing:.16em}
.auth-wizard-head h2{letter-spacing:-.025em;text-shadow:0 3px 12px #0008}
.auth-stage{background:linear-gradient(145deg,#273544cc,#111b26e8)}
.auth-stage-cta{transition:transform .18s,filter .18s,box-shadow .18s}
.auth-stage-cta:focus-visible,.player-auth-close:focus-visible,.player-auth-logout:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:3px;
}
.auth-stage-cta:hover{box-shadow:inset 0 1px #ffffff44,0 9px 22px #050b1299}
.auth-linked-chip{box-shadow:inset 0 1px #ffffff12}

@media(max-width:560px){
  .player-auth-modal{padding:8px}
  .player-auth-dialog{max-height:calc(100svh - 16px);padding:20px 14px 16px;border-radius:18px}
  .auth-brand{margin-bottom:16px}
  .auth-wizard-progress{margin-top:19px}
  .auth-stage{padding:18px 15px}
}

/* [17] PLAYER PROFILE — KanomJeen account dashboard */
.profile-page{padding-top:18px}
.profile-page-head{margin-bottom:18px}
.profile-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.profile-title-row h1{margin:8px 0 4px}
.profile-eyebrow{display:inline-block;color:var(--orange);font-size:12px;font-weight:950;letter-spacing:.16em}
.profile-live-chip{flex:0 0 auto;padding:7px 10px;border:1px solid #70e5b455;border-radius:999px;background:#3d9d8217;color:#91efcf;font-size:12px;font-weight:900;letter-spacing:.08em}
.profile-loading,.profile-guest{display:flex;align-items:center;gap:16px;min-height:150px;padding:24px;border-radius:18px}
.profile-loader{width:30px;height:30px;border:3px solid #ffffff1a;border-top-color:var(--orange);border-radius:50%;animation:profileSpin .8s linear infinite}
.profile-loading b,.profile-loading small{display:block}
.profile-loading small{margin-top:4px;color:var(--muted);font-size:12px}
@keyframes profileSpin{to{transform:rotate(360deg)}}
.profile-guest{min-height:430px;flex-direction:column;justify-content:center;text-align:center}
.profile-guest-mark{display:grid;place-items:center;width:94px;height:94px;border:1px solid #ffb85b55;border-radius:24px;background:#ffffff0c;box-shadow:0 16px 30px #0005,inset 0 1px #ffffff1c}
.profile-guest-mark img{width:72px;height:72px;object-fit:contain}
.profile-guest h2{margin:8px 0 0;font-size:30px}
.profile-guest p{max-width:560px;margin:4px auto 12px;color:var(--muted);font-size:12px;line-height:1.7}

.profile-identity{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;min-height:210px;padding:28px;border-radius:22px}
.profile-cover-grid{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(6,14,22,.82),rgba(18,29,40,.45)),
radial-gradient(circle at 82% 20%,rgba(255,184,91,.19),transparent 32%),
url('assets/background-clean.webp') center 47%/cover;opacity:.42}
.profile-identity>*:not(.profile-cover-grid){position:relative;z-index:1}
.profile-avatar{position:relative;display:grid;place-items:center;width:104px;height:104px;border:2px solid #ffca6c99;border-radius:26px;background:linear-gradient(145deg,#a96735,#54351f);box-shadow:0 16px 30px #0007,inset 0 1px #ffe0af66}
.profile-avatar span{display:grid;place-items:center;width:100%;height:100%;overflow:hidden;border-radius:24px;font-size:34px;font-weight:950;color:#fff8eb;text-shadow:0 3px 8px #0008}
.profile-avatar span img{width:100%;height:100%;object-fit:cover}
.profile-avatar i{position:absolute;right:-4px;bottom:-4px;width:26px;height:26px;border:5px solid #18232f;border-radius:50%;background:#70838e}
.profile-avatar i.is-online{background:var(--green);box-shadow:0 0 16px #70e5b466}
.profile-name-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.profile-name-line h2{margin:0;font-size:34px;line-height:1}
.profile-verify-badge{display:inline-flex;padding:6px 8px;border:1px solid #ffb85b55;border-radius:999px;background:#ffb85b12;color:#ffd28c;font-size:12px;font-weight:950;letter-spacing:.08em}
.profile-verify-badge.is-verified{border-color:#70e5b466;background:#70e5b414;color:#9af2d4}
.profile-identity-copy>p{margin:8px 0;color:#c0ced6;font-size:12px}
.profile-id-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.profile-id-row span{padding:7px 9px;border:1px solid #ffffff1f;border-radius:9px;background:#08131d80;color:#9eb3be;font-size:12px}
.profile-id-row b{color:#dceaf0;margin-right:4px}
.profile-identity-actions{display:flex;flex-direction:column;gap:8px;min-width:160px}
.profile-identity-actions>*{width:100%}

.profile-alert{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;margin-top:12px;padding:14px 16px;border-radius:14px;border-color:#ffb85b77;background:#5b351f99}
.profile-alert-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ffb85b1f;color:#ffd293;font-size:18px;font-weight:950}
.profile-alert b{font-size:12px}.profile-alert p{margin:2px 0 0;color:#d5c3b1;font-size:12px}
.profile-verification-cta{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) minmax(255px,300px);gap:16px;align-items:center;overflow:hidden;margin-top:14px;padding:17px 18px;border-color:rgba(255,184,91,.72);background:linear-gradient(115deg,rgba(78,47,24,.96),rgba(33,31,31,.94) 55%,rgba(21,27,34,.96));box-shadow:0 16px 34px rgba(0,0,0,.38),0 0 28px rgba(255,158,56,.10),inset 0 1px rgba(255,255,255,.12)}
.profile-verification-cta:before{position:absolute;inset:0;content:'';pointer-events:none;background:radial-gradient(circle at 7% 50%,rgba(255,183,83,.19),transparent 28%),linear-gradient(90deg,transparent 62%,rgba(88,101,242,.08))}
.profile-verification-mark{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,208,137,.46);border-radius:15px;background:linear-gradient(145deg,rgba(255,185,80,.20),rgba(255,140,44,.08));color:#ffd08b;box-shadow:0 0 22px rgba(255,161,60,.14)}
.profile-verification-mark .ico{width:27px;height:27px}
.profile-verification-copy{position:relative;z-index:1;min-width:0}
.profile-verification-kicker{display:block;margin-bottom:2px;color:#ffbf68;font-size:10px;font-weight:950;letter-spacing:.13em}
.profile-verification-copy h3{margin:0;color:#fff8ee;font-size:20px;line-height:1.12}
.profile-verification-copy p{max-width:650px;margin:5px 0 0;color:#d8c9b9;font-size:12px;line-height:1.5}
.profile-verification-benefits{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.profile-verification-benefits>span{display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:4px 7px;border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.045);color:#d9e5ea;font-size:10px;font-weight:850;white-space:nowrap}
.profile-verification-benefits .ico{width:12px;height:12px;color:#87e8c4}
.profile-verification-benefits>span:last-child{border-color:rgba(255,184,91,.20);color:#ffd2a0}.profile-verification-benefits>span:last-child .ico{color:#ffbd69}
.profile-verification-button{position:relative;z-index:1;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:9px 12px;border:1px solid rgba(155,166,255,.66);border-radius:13px;background:linear-gradient(135deg,#6573ff,#5865f2 58%,#4653da);box-shadow:0 10px 24px rgba(48,58,177,.30),inset 0 1px rgba(255,255,255,.20);color:#fff;text-decoration:none;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}
.profile-verification-button:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 14px 30px rgba(48,58,177,.38),0 0 20px rgba(88,101,242,.18),inset 0 1px rgba(255,255,255,.24)}
.profile-verification-button-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:rgba(10,17,45,.22);box-shadow:inset 0 1px rgba(255,255,255,.14)}
.profile-verification-button-icon .ico{width:21px;height:21px}
.profile-verification-button>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.profile-verification-button b{font-size:13px;line-height:1.2}.profile-verification-button small{margin-top:2px;color:#dfe2ff;font-size:10px;font-weight:700}.profile-verification-button strong{font-size:22px;font-weight:400}
.profile-verification-actions{position:relative;z-index:1;display:grid;gap:7px}
.profile-verification-recheck{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid rgba(148,201,222,.26);border-radius:9px;background:rgba(13,30,42,.58);color:#cce7f2;font-size:11px;font-weight:900;text-decoration:none}
.profile-verification-recheck:hover{border-color:rgba(142,234,255,.48);background:rgba(22,48,62,.72);color:#effcff}
.profile-verification-recheck .ico{width:14px;height:14px}
.profile-verification-recheck-main{background:linear-gradient(135deg,#2f9f89,#217f74 58%,#185e59);border-color:rgba(115,235,199,.66);box-shadow:0 10px 24px rgba(20,111,96,.28),inset 0 1px rgba(255,255,255,.20)}
.profile-verification-recheck-main:hover{box-shadow:0 14px 30px rgba(20,111,96,.36),0 0 20px rgba(75,210,175,.16),inset 0 1px rgba(255,255,255,.24)}

.profile-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.profile-stat-card{display:flex;align-items:center;gap:11px;min-height:112px;padding:14px;border-radius:15px}
.profile-stat-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #8fb5c755;border-radius:12px;background:#13202b;color:#a9ecff;font-size:20px}
.profile-stat-card small{display:block;color:#8298a4;font-size:12px;font-weight:900;letter-spacing:.1em}
.profile-stat-card strong{display:block;margin-top:2px;font-size:23px;line-height:1.05}.profile-stat-card p{margin:4px 0 0;color:#8fa4af;font-size:12px}
.profile-game-xp{border-color:rgba(92,217,255,.42)!important;background:linear-gradient(145deg,rgba(39,76,94,.72),rgba(17,31,43,.9))}.profile-game-xp .profile-stat-icon{border-color:rgba(108,220,255,.5);color:#8eeaff}.profile-game-xp p{color:#8eeaff}.profile-game-point{border-color:rgba(255,190,93,.38)!important;background:linear-gradient(145deg,rgba(83,61,35,.58),rgba(28,31,36,.9))}.profile-game-point .profile-stat-icon{border-color:rgba(255,196,105,.5);color:#ffd15f}.profile-game-point strong{color:#ffe1a2}
.profile-date-stat{font-size:14px!important;line-height:1.2!important}

.profile-content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:12px;margin-top:12px}
.profile-content-main,.profile-content-side{display:grid;gap:12px;align-content:start}
.profile-section-card{padding:18px;border-radius:17px}
.profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.profile-section-head h3{margin:4px 0 0;font-size:18px}
.profile-section-count{padding:5px 7px;border:1px solid #8daaba44;border-radius:999px;background:#ffffff0a;color:#91a7b3;font-size:12px;font-weight:900;letter-spacing:.07em}

.profile-account-list{display:grid;gap:8px}
.profile-account-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid #65717e70;border-radius:12px;background:#19222a99}
.profile-account-card.is-connected{border-color:#70e5b43b}
.profile-service-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;font-size:14px;font-weight:950;color:#fff}
.discord-mark{background:linear-gradient(145deg,#3d9d82,#1b5d56)}.steam-mark{background:linear-gradient(145deg,#2b4c63,#172b3a)}
.profile-account-copy{min-width:0}.profile-account-copy small{display:block;color:#8096a2;font-size:12px;font-weight:950;letter-spacing:.1em}
.profile-account-copy b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.profile-account-copy p{margin:3px 0 0;color:#8297a2;font-size:12px}
.profile-account-state{padding:5px 7px;border-radius:999px;background:#ffffff0b;color:#8297a2;font-size:12px;font-weight:900;white-space:nowrap}
.profile-account-state.is-ok{background:#70e5b412;color:#8fedce;border:1px solid #70e5b433}

.profile-progress-list{display:grid;gap:8px}
.profile-progress-list>div{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid #65717e70;border-radius:11px;background:#19222a80}
.profile-progress-list>div>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #839aa655;border-radius:50%;background:#101b25;color:#7d919c;font-size:12px;font-weight:950}
.profile-progress-list>div.is-done>span{border-color:#70e5b466;background:#3d9d8228;color:#9af1d4}
.profile-progress-list b,.profile-progress-list small{display:block}.profile-progress-list b{font-size:12px}.profile-progress-list small{margin-top:2px;color:#7f949f;font-size:12px}

.profile-quick-links{display:grid;gap:7px}
.profile-quick-links a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #65717e70;border-radius:11px;background:#19222a99;color:#eef6fa;text-decoration:none;transition:.18s}
.profile-quick-links a:hover{transform:translateX(2px);border-color:#ffb85b66;background:#202b34}
.profile-quick-links>a>.ico{font-size:18px;color:#9fe9ff}.profile-quick-links b,.profile-quick-links small{display:block}.profile-quick-links b{font-size:12px}.profile-quick-links small{margin-top:2px;color:#7f949f;font-size:12px}.profile-quick-links strong{color:var(--orange);font-size:18px}
.profile-security-card .good{font-size:12px;font-weight:900}
.profile-security-row{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #ffffff12}.profile-security-row:last-of-type{border-bottom:0}
.profile-security-row>.ico{margin-top:2px;color:#8ff0d0;font-size:18px}.profile-security-row b,.profile-security-row small{display:block}.profile-security-row b{font-size:12px}.profile-security-row small{margin-top:2px;color:#8398a3;font-size:12px;line-height:1.5}
.profile-manage-button{width:100%;margin-top:12px;padding:9px 12px;border:1px solid #d9e2ec44;border-radius:10px;background:#18232fb8;color:#dce8ee;font-size:12px;font-weight:800}

@media(max-width:980px){
  .profile-stat-row{grid-template-columns:repeat(2,1fr)}
  .profile-content-grid{grid-template-columns:1fr}
  .profile-content-side{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .profile-page{padding:12px 9px 0}
  .profile-title-row{align-items:flex-start;flex-direction:column}
  .profile-live-chip{display:none}
  .profile-identity{grid-template-columns:auto 1fr;padding:20px}
  .profile-avatar{width:82px;height:82px;border-radius:22px}
  .profile-avatar span{font-size:27px}
  .profile-identity-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}
  .profile-name-line h2{font-size:28px}
  .profile-stat-row{grid-template-columns:1fr 1fr}
  .profile-content-side{grid-template-columns:1fr}
  .profile-alert{grid-template-columns:auto 1fr}.profile-alert .btn{grid-column:1/-1;width:100%}
  .profile-verification-cta{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:14px}
  .profile-verification-mark{width:44px;height:44px;border-radius:12px}.profile-verification-mark .ico{width:22px;height:22px}
  .profile-verification-button{grid-column:1/-1;width:100%;min-height:58px}
}

/* ── BETA REGISTRATION — real registration / guaranteed reward presentation ── */
.beta-section{overflow:hidden;background:linear-gradient(145deg,#273544e6,#111b26f2)}
.beta-heading p{max-width:720px;margin-left:auto;margin-right:auto;line-height:1.65}
.beta-guarantee{display:flex;align-items:center;gap:12px;width:min(860px,100%);margin:22px auto 0;padding:13px 15px;text-align:left;border:1px solid #70e5b466;border-radius:14px;background:linear-gradient(90deg,#3d9d8224,#70e5b40d);box-shadow:inset 0 1px #ffffff1c}
.beta-guarantee>.ico{flex:0 0 auto;width:25px;height:25px;color:#9af1d4;font-size:22px}
.beta-guarantee div{min-width:0;flex:1}.beta-guarantee b,.beta-guarantee small{display:block}.beta-guarantee b{color:#eafff7;font-size:12px}.beta-guarantee small{margin-top:3px;color:#9ab9b6;font-size:12px}.beta-guarantee>strong{color:#8ff0d0;font-size:12px;letter-spacing:.08em;white-space:nowrap}
.beta-milestones{grid-template-columns:repeat(5,minmax(0,1fr))}
.milestone{position:relative;min-height:128px;gap:2px;padding:13px 7px}.milestone strong{font-size:35px}.milestone span{font-size:12px}.milestone em{display:block;max-width:100%;overflow:hidden;color:#9eb7c4;font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.milestone.is-done{border-color:#70e5b477;background:#3d9d8225}.milestone.is-done strong{color:#9af1d4}.milestone.is-done em{color:#8fe9c9}.milestone.is-current{border-color:#ffca6caa;background:#ffb3472c}.milestone.is-current:after{content:'NEXT';position:absolute;top:8px;right:8px;color:#ffd28c;font-size:12px;font-weight:950;letter-spacing:.1em}
.beta-rewards{align-items:stretch}.beta-reward{position:relative;display:flex;flex-direction:column;min-height:190px;padding:14px 10px 12px}.beta-reward .reward-art{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;font-size:25px}.beta-reward .reward-art .ico{width:30px;height:30px;color:#aeeeff}.beta-reward .reward-art img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.beta-reward strong{min-height:29px}.beta-reward p{min-height:32px}.beta-reward p b{display:inline;margin-left:3px}.beta-reward small{display:block;margin-top:auto;color:#758d99;font-size:12px;line-height:1.4}.beta-reward.is-unlocked{border-color:#70e5b477;background:linear-gradient(145deg,#3d9d8228,#ffffff0d);box-shadow:inset 0 1px #ffffff1c,0 0 18px #70e5b41c}.beta-reward.is-unlocked .reward-art{border-color:#70e5b488;background:#3d9d8230}.beta-reward.is-unlocked small{color:#8fe9c9}
.beta-receipt{display:flex;align-items:center;gap:10px;width:min(560px,100%);margin:18px auto 0;padding:11px 13px;text-align:left;border:1px solid #70e5b466;border-radius:12px;background:#3d9d821c}
/* กล่อง receipt มี hidden ใน HTML แต่ rule ด้านบนตั้ง display:flex ซึ่งชนะ display:none ของ
   attribute [hidden] ใน UA stylesheet ⇒ ผู้ที่ยังไม่ได้ลงทะเบียนเห็นกล่องเปล่ามีขอบลอยอยู่บนหน้า
   (เข้าตาเป็น "บัค" บนหน้า events) — ไฟล์นี้แก้เรื่องเดียวกันไว้แล้วกับ .entry-promo/.beta-modal/
   .player-auth-modal/.shop-product จึงเติมตัวที่ตกหล่น */
.beta-receipt[hidden]{display:none}.beta-receipt-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#3d9d8255;color:#a8f5d9;font-weight:950}.beta-receipt div{min-width:0;flex:1}.beta-receipt b,.beta-receipt small{display:block}.beta-receipt b{color:#e9fff7;font-size:12px}.beta-receipt small{margin-top:2px;overflow:hidden;color:#8fb5b1;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.beta-receipt>strong{color:#9af1d4;font-size:12px;white-space:nowrap}
.beta-register-button{transition:transform .18s,filter .18s,box-shadow .18s}.beta-register-button:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 0 20px #70e5b455,inset 0 1px #ffffff44}.beta-register-button.is-registered{border-color:#70e5b4;background:linear-gradient(135deg,#3d9d82,#1b5d56)}
.beta-form-card{border-color:#ffb85b77;background:linear-gradient(145deg,#273544f2,#111b26f5);box-shadow:0 18px 36px #050b1277,inset 0 1px #ffffff1c}.beta-form-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}.beta-form-step{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffb85b88;border-radius:11px;background:#ffb85b1c;color:#ffd18e;font-size:12px;font-weight:950}.beta-form-head h3{margin:0}.beta-form-head p{margin:3px 0 0;color:#91a8b4;font-size:12px}.beta-form-card label{margin-top:13px}.beta-form-card input:not([type=checkbox]){border-color:#8ea8b766;background:#0d1721;color:#f4fbff;outline:none}.beta-form-card input:not([type=checkbox]):focus{border-color:#ffb85b;box-shadow:0 0 0 3px #ffb85b1c}.beta-form-card .primary{width:100%;margin-top:13px}.beta-check{font-weight:500!important;line-height:1.5}.beta-check input{margin-top:2px;accent-color:#70e5b4}.beta-error{min-height:16px;margin:9px 0 0;color:#ff9b9b;font-size:12px}.beta-form-note{display:block;margin-top:10px;text-align:center;color:#718894;font-size:12px}
.beta-success{padding:20px;text-align:center}.beta-success .i-check-wrap{display:grid;width:42px;height:42px;margin:0 auto 10px;padding:10px;border:1px solid #70e5b466;border-radius:50%;background:#3d9d8233;color:#9af1d4}.beta-success h3{margin:0}.beta-success p{color:#a8c6c0;font-size:12px}.beta-success .muted{color:#7e979f;font-size:12px}
@media(max-width:900px){.beta-guarantee{align-items:flex-start}.beta-guarantee>strong{font-size:12px}.milestone{min-height:120px}}
@media(max-width:560px){.beta-section{padding:24px 14px}.beta-guarantee{flex-wrap:wrap}.beta-guarantee>strong{margin-left:37px}.beta-milestones{grid-template-columns:repeat(5,minmax(105px,1fr));overflow-x:auto;padding:4px 0 9px}.beta-rewards{grid-template-columns:repeat(5,minmax(138px,1fr));overflow-x:auto;padding:4px 0 9px}.beta-receipt{align-items:flex-start}.beta-receipt>strong{display:none}}

/* ── BETA VISUAL HIERARCHY — big live count, target on cards, image-first rewards ── */
.beta-progress-wrap{width:min(980px,100%);margin-top:22px}
.beta-progress-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px;text-align:left}
.beta-live-count{display:flex;align-items:baseline;gap:8px}.beta-live-count small{color:#b7cbd4;font-size:12px;font-weight:800}.beta-live-count strong{color:#fff;font-size:clamp(42px,6vw,68px);font-weight:950;line-height:.86;letter-spacing:-.06em;text-shadow:0 0 24px #70e5b455}.beta-live-count em{color:var(--orange);font-size:20px;font-style:normal;font-weight:900}.beta-next-target{padding:8px 12px;border:1px solid #ffb85b66;border-radius:999px;background:#ffb85b12;color:#ffd28c;font-size:12px;font-weight:850;white-space:nowrap}
.beta-progress{height:14px}.beta-progress-labels{display:none}
.milestone{min-height:142px;padding:14px 8px}.milestone small{color:#d7e7ed;font-size:12px;font-weight:900}.milestone strong{font-size:43px}.milestone span{margin-top:2px}.milestone em{margin-top:6px;padding:4px 6px;border-radius:6px;background:#ffffff0a}.milestone.is-done em{background:#70e5b414}.milestone.is-current{transform:translateY(-6px)}
.beta-rewards{width:min(980px,100%);gap:10px}.beta-reward{min-height:245px;padding:12px 10px}.beta-reward .reward-art{width:100%;height:126px;flex-basis:126px;max-width:none;margin:0;border-radius:11px;background:linear-gradient(145deg,#172a38,#0c1721);box-shadow:inset 0 1px #ffffff18}.beta-reward .reward-art .ico{width:48px;height:48px}.beta-reward .reward-art img{padding:8px}.beta-reward strong{margin-top:10px;min-height:31px;font-size:12px}.beta-reward p{min-height:32px;font-size:12px}.beta-reward small{font-size:12px}
@media(max-width:760px){.beta-progress-head{align-items:flex-start;flex-direction:column;gap:10px}.beta-live-count strong{font-size:54px}.beta-next-target{align-self:flex-start}.beta-rewards{grid-template-columns:repeat(5,minmax(158px,1fr));overflow-x:auto;padding-bottom:8px}}
@media(max-width:480px){
  .profile-identity{grid-template-columns:1fr;text-align:center}
  .profile-avatar{margin:auto}.profile-name-line,.profile-id-row{justify-content:center}
  .profile-identity-actions{grid-template-columns:1fr}
  .profile-stat-row{grid-template-columns:1fr}
  .profile-account-card{grid-template-columns:auto 1fr}.profile-account-state{grid-column:2}
}

/* ── BETA MODAL — account-bound pre-registration ──────────────────────── */
body.beta-modal-open{overflow:hidden}
.beta-modal[hidden]{display:none}.beta-modal{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:24px;overflow-y:auto}.beta-modal-backdrop{position:fixed;inset:0;background:#050b12c9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.beta-modal-card{position:relative;width:min(1080px,100%);margin:auto;padding:24px 30px 20px;overflow:hidden;border:1px solid #e8a65f99;border-radius:26px;background:linear-gradient(145deg,#243643f7,#101b25fa 58%,#20170fe8);box-shadow:0 30px 90px #000c,inset 0 1px #fff3;isolation:isolate}.beta-modal-card:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 20% 5%,#ff9b4420,transparent 30%),url('assets/background-clean.webp') center/cover;opacity:.2}.beta-modal-card:after{content:'';position:absolute;z-index:-1;right:-90px;bottom:-120px;width:360px;height:360px;border:1px solid #ffb85b33;border-radius:50%;box-shadow:0 0 0 32px #ffb85b08,0 0 0 64px #ffb85b05}
.beta-modal-close{position:absolute;z-index:2;top:16px;right:18px;width:38px;height:38px;padding:0;border:1px solid #ffd28caa;border-radius:50%;background:#151d24d9;color:#ffdca2;font-size:28px;line-height:1;transition:.18s}.beta-modal-close:hover{transform:rotate(90deg);background:#f3822c;color:#fff}
.beta-modal-heading{display:flex;align-items:center;justify-content:center;gap:12px;padding-right:42px;text-align:center}.beta-modal-heading img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 4px 8px #0008)}.beta-modal-heading span,.beta-modal-heading small{display:block;color:#ffd28c;font-size:12px;font-weight:900;letter-spacing:.13em}.beta-modal-heading h2{margin:1px 0;color:#fff0ce;font-size:clamp(28px,4vw,42px);line-height:1.08;text-shadow:0 2px 12px #ff9d3c55}.beta-modal-heading small{color:#b8d0dc;font-size:12px;letter-spacing:.2em}
.beta-modal-progress{display:grid;grid-template-columns:1fr 290px;gap:24px;align-items:center;width:min(830px,100%);margin:19px auto 12px}.beta-counter{display:flex;align-items:baseline;justify-content:center;gap:9px;padding:13px 18px;border:1px solid #ffc66d88;border-radius:16px;background:#0a131bb8;box-shadow:inset 0 1px #ffffff22,0 10px 18px #0005}.beta-counter small{align-self:flex-start;margin-top:4px;color:#bfd1dc;font-size:12px;font-weight:850}.beta-counter strong{color:#ffd58e;font-size:clamp(44px,6.1vw,70px);font-weight:950;line-height:.86;letter-spacing:.04em;text-shadow:0 0 18px #ff9e3f66}.beta-counter em{color:#7ce9d0;font-size:18px;font-style:normal;font-weight:900}.beta-modal-progress aside{padding:12px 14px;border:1px solid #80cce377;border-radius:14px;background:#0a1721bd;box-shadow:inset 0 1px #ffffff1a}.beta-modal-progress aside small{display:block;color:#b8cbd6;font-size:12px;font-weight:800}.beta-modal-progress aside b{display:block;margin:2px 0 7px;color:#ffd07e;font-size:25px;line-height:1}.beta-modal-progress aside em{display:block;margin-top:6px;color:#8ee9d5;font-size:12px;font-style:normal;font-weight:800}.beta-modal-progress .beta-progress{height:11px;margin:0}.beta-modal-progress .beta-progress span{background:linear-gradient(90deg,#ff853b,#ffd16c 64%,#70e5b4);box-shadow:0 0 12px #ff9d3c88}
.beta-modal .beta-guarantee{position:relative;width:min(830px,100%);min-height:92px;margin:14px auto 0;padding:10px 17px 10px 106px;border-color:#ffbd5c99;background:linear-gradient(90deg,#4d2e1599,#1d2732cc 72%,#193b35aa);box-shadow:inset 0 1px #fff3,0 8px 20px #0005}.beta-modal .beta-guarantee img{position:absolute;left:9px;bottom:-7px;width:102px;height:102px;object-fit:contain;filter:drop-shadow(0 8px 7px #0009)}.beta-modal .beta-guarantee b{color:#ffe2a5;font-size:15px}.beta-modal .beta-guarantee small{font-size:12px}.beta-modal .beta-guarantee>strong{color:#a2f2d8}
.beta-modal .beta-reward-heading{margin-top:17px}.beta-modal .beta-reward-heading h3{font-size:19px}.beta-modal .beta-rewards{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;margin-top:12px;gap:9px}.beta-modal .beta-reward{min-height:210px;padding:9px 8px;border-color:#92b5c866;background:#0e1a25cb}.beta-modal .beta-reward .reward-art{height:108px;flex-basis:108px;padding:3px;background:radial-gradient(circle at 50% 15%,#ffb75a2e,#111d28)}.beta-modal .beta-reward .reward-art img{padding:0;filter:drop-shadow(0 8px 8px #0008)}.beta-modal .beta-reward strong{min-height:27px;margin-top:7px;font-size:12px}.beta-modal .beta-reward p{min-height:25px;font-size:12px}.beta-modal .beta-reward small{font-size:12px}.beta-modal .beta-reward.is-unlocked{border-color:#76e2b499;background:linear-gradient(165deg,#356b5b66,#18282ecc);box-shadow:inset 0 1px #ffffff24,0 0 17px #70e5b41f}
.beta-modal .beta-receipt{margin-top:12px}.beta-modal .beta-register-button{display:flex;align-items:center;justify-content:center;min-width:300px;margin:17px auto 0;padding:13px 28px;border-color:#ffd08a;background:linear-gradient(#ffb43d,#e96520);box-shadow:0 0 23px #ff8d2c66,inset 0 1px #fff7;font-size:15px}.beta-modal .beta-register-button:disabled{filter:grayscale(.65);cursor:not-allowed}.beta-modal-note{margin:8px 0 0;color:#a9c1cb;text-align:center;font-size:12px}
@media(max-width:760px){.beta-modal{align-items:start;padding:12px}.beta-modal-card{padding:22px 14px 16px;border-radius:20px}.beta-modal-progress{grid-template-columns:1fr;gap:10px}.beta-counter{justify-content:flex-start}.beta-modal .beta-guarantee{padding-left:92px}.beta-modal .beta-guarantee img{width:88px;height:88px}.beta-modal .beta-rewards{grid-template-columns:repeat(5,minmax(145px,1fr));overflow-x:auto;padding:5px 2px 10px}.beta-modal .beta-reward{min-height:205px}.beta-modal .beta-register-button{width:100%;min-width:0}.beta-modal-heading h2{font-size:29px}}
@media(max-width:420px){.beta-counter strong{font-size:48px}.beta-counter em{font-size:14px}.beta-modal .beta-guarantee>strong{display:none}.beta-modal .beta-guarantee b{font-size:13px}}

/* ── BETA EVENT PAGE ──────────────────────────────────────────────────── */
.beta-event-page{position:relative;z-index:3;overflow:hidden;margin:26px 0 24px;padding:29px 44px 24px;border-color:#a9c7d788;border-radius:26px;text-align:center;background:linear-gradient(145deg,#142534ec,#0b151fec 60%,#17232de8)}.beta-event-page:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 14% 94%,#f18b2f19,transparent 28%),radial-gradient(circle at 85% 0,#61d9ff13,transparent 25%),url('assets/background-clean.webp') center/cover;opacity:.2}.beta-event-heading>span{color:#ffd171;font-size:12px;font-weight:950;letter-spacing:.22em}.beta-event-heading h1{margin:8px 0 4px;color:#f4f8fb;font-size:clamp(40px,6vw,72px);line-height:.94;letter-spacing:-.055em;text-shadow:0 4px 0 #1d2c38}.beta-event-heading h1 span{color:#ffae3f}.beta-event-heading p{margin:0;color:#f4f8fb;font-size:18px;font-weight:850}.beta-event-heading>small{display:block;max-width:800px;margin:8px auto 0;color:#b3cbd7;font-size:12px;line-height:1.6}.beta-event-page .beta-guarantee{position:relative;width:min(760px,100%);min-height:67px;margin:14px auto 0;padding:10px 14px 10px 93px;border-color:#7dd7d477;background:#0d2333b8;text-align:left}.beta-event-page .beta-guarantee img{position:absolute;left:6px;bottom:-7px;width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 7px 7px #0009)}.beta-event-page .beta-guarantee b{color:#ffd791}.beta-event-page .beta-guarantee>strong{color:#87efd1}.beta-event-page .beta-milestones{width:min(880px,100%);margin-top:15px}.beta-event-page .milestone{min-height:125px;border-color:#98c2d188;background:#0d1b25c9}.beta-event-page .milestone strong{font-size:39px}.beta-event-page .milestone.is-current{border-color:#ffc55c;background:linear-gradient(145deg,#64401dbe,#282117d4);box-shadow:inset 0 1px #ffe6ad66,0 0 20px #f7c9674d}.beta-event-progress{display:grid;grid-template-columns:auto auto minmax(150px,1fr) auto;gap:12px;align-items:center;width:min(720px,100%);margin:18px auto 0;padding:9px 12px;border-radius:14px;background:#07121ab8}.beta-event-progress .beta-live-count{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.beta-event-progress .beta-live-count small{color:#e9f3f8;font-size:14px;font-weight:900}.beta-event-progress .beta-live-count strong{color:#5ee7dc;font-size:38px;line-height:.8;text-shadow:0 0 18px #55e8de77}.beta-event-progress .beta-live-count em{color:#dceaf0;font-size:17px;font-style:normal;font-weight:800}.beta-event-progress>div:nth-child(2){display:grid;text-align:left}.beta-event-progress>div:nth-child(2) b{color:#ffca70;font-size:15px}.beta-event-progress>div:nth-child(2) small{color:#a8c3cf;font-size:12px}.beta-event-progress .beta-progress{height:12px;margin:0}.beta-event-progress .beta-progress span{background:linear-gradient(90deg,#39d5f1,#62e7b8);box-shadow:0 0 11px #4fe6db}.beta-event-progress>em{color:#d6e6ec;font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}.beta-event-page .beta-reward-heading{margin-top:19px}.beta-event-page .beta-reward-heading h2{margin:0;color:#fff2d2;font-size:24px}.beta-event-page .beta-reward-heading small{color:#76e5cf;font-weight:900;letter-spacing:.13em}.beta-event-page .beta-rewards{width:min(900px,100%);gap:10px}.beta-event-page .beta-reward{min-height:212px;padding:10px 8px;background:#101e29c9}.beta-event-page .beta-reward .reward-art{width:100%;height:112px;max-width:none;margin:0;background:radial-gradient(circle at 50% 10%,#ffb14b2b,#0e1923);box-shadow:inset 0 1px #ffffff1a}.beta-event-page .beta-reward .reward-art img{padding:0;filter:drop-shadow(0 8px 7px #0009)}.beta-event-page .beta-reward strong{font-size:12px}.beta-event-page .beta-reward p{font-size:12px}.beta-event-page .beta-register-button{min-width:320px;margin-top:20px;border-color:#7de5c0;background:linear-gradient(#42ad8a,#1c6e62);font-size:15px}.beta-page-note{margin:8px 0 0;color:#a7bec9;font-size:12px}
@media(max-width:800px){.beta-event-page{margin:12px 9px 20px;padding:23px 14px 18px}.beta-event-progress{grid-template-columns:1fr 1fr}.beta-event-progress .beta-progress{grid-column:1/-1}.beta-event-progress>em{grid-column:1/-1}.beta-event-page .beta-rewards{grid-template-columns:repeat(5,minmax(145px,1fr));overflow-x:auto;padding-bottom:9px}.beta-event-page .beta-register-button{width:100%;min-width:0}}
@media(max-width:500px){.beta-event-heading h1{font-size:42px}.beta-event-heading p{font-size:14px}.beta-event-page .beta-guarantee>strong{display:none}.beta-event-progress{grid-template-columns:1fr}.beta-event-progress .beta-progress{grid-column:auto}.beta-event-progress>em{grid-column:auto}.beta-event-progress .beta-live-count{justify-content:center}}
.beta-event-page .beta-reward .reward-art img{width:76%;height:76%;padding:0}

/* Keep the navigation frame identical whether a page places it inside or outside .portal-page. */
body>.topbar{width:min(1320px,calc(100% - 40px));margin:10px auto 0}
.portal-page>.topbar{width:100%;margin:10px 0 0}
@media(max-width:900px){body>.topbar,.portal-page>.topbar{width:100%;margin:0}}

/* Point page — reference layout */
/* ขนาด .topbar ของทุกหน้าถูกกำหนดที่ [33] TOPBAR SIZE LOCK เท่านั้น */
.points-page-body .points-page{width:min(var(--kj-content),calc(100% - 40px));padding-top:22px}
.points-page-body .skyline:after{background:linear-gradient(90deg,#09111b80,#09111b18 48%,#09111b55),linear-gradient(0deg,#081018c8,transparent 55%)}
.points-hero{min-height:146px;margin-bottom:0;padding:16px 190px 16px 198px;border-color:#9bb6c766;border-radius:17px;background:linear-gradient(105deg,#1c2939e8,#20303bdc 62%,#342d2bd7)}
.points-hero:before{position:absolute;right:165px;top:6px;width:145px;height:135px;background:url('assets/item/icon_point_generated_v1.webp') center/contain no-repeat;content:'';filter:drop-shadow(0 0 10px #ffad3280);pointer-events:none}
.points-hero:after{background:radial-gradient(circle at 11% 50%,#ffa51f35,transparent 22%),radial-gradient(circle at 86% 50%,#ffa51f12,transparent 20%)}
.points-hero-art{left:8px;bottom:-39px;width:188px;filter:drop-shadow(0 0 16px #f2a51d7d)}
.points-hero-copy{max-width:740px}
.points-hero h1{margin:0 0 2px;font-size:clamp(30px,3.6vw,45px);line-height:1.12;color:#f8fbff}
.points-hero h1 em{color:#ffdc8f}
.points-hero p{max-width:760px;color:#f1f7fa;font-size:14px;font-weight:800;line-height:1.4}
.points-hero-copy>small{display:block;max-width:680px;margin-top:3px;color:#bed1dc;font-size:12px;line-height:1.35}
.points-hero-quote{right:26px!important;bottom:auto;top:29px;width:160px;color:#ffd6a0!important;font-size:16px!important}
.points-hero-quote small{display:block;margin-top:14px;color:#9bb9c9;font-size:12px;font-style:normal;font-weight:800;letter-spacing:.25em;line-height:1.7}
.points-main-grid,.points-lower-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:12px;margin-top:15px}
.points-panel{padding:14px 15px 11px;border-color:#9bb6c766;border-radius:16px;background:linear-gradient(145deg,#1e3140eb,#0e202de9)}
.points-panel>header{align-items:center;min-height:47px;margin-bottom:10px;gap:8px}
.points-panel h2{font-size:22px;line-height:1.2}
.points-panel h2 .ico{margin-right:4px;font-size:23px;vertical-align:middle}
.points-payment h2 .ico{display:inline-block;width:25px;height:22px;border:2px solid #7ce8ff;border-radius:4px;background:transparent;color:transparent;vertical-align:middle}
.points-payment h2 .ico:after{display:block;width:100%;height:3px;margin-top:4px;background:#7ce8ff;content:''}
.points-panel p{font-size:12px}
.points-pack-grid{gap:11px}
.points-pack{min-height:238px;padding:8px 8px 10px;border-color:#8eaabb66;border-radius:12px;background:linear-gradient(145deg,#1f3949e0,#112531ed)}
.points-pack img{width:100%;height:100px;object-fit:contain;filter:drop-shadow(0 0 12px #ff9e2280)}
.points-pack b{font-size:19px;line-height:1.2}
.points-pack small{margin-top:5px;color:#d5e3ea;font-size:12px}
.points-pack strong{font-size:18px;line-height:1.2}
.points-pack button,.points-exchange-rates button,.points-reward-grid button{min-height:36px;margin-top:auto;padding:7px 6px;border:1px solid #77e6cd;border-radius:8px;background:linear-gradient(145deg,#216b65,#0d4c51);color:#f6fffd;font-size:12px;font-weight:900;box-shadow:inset 0 1px #ffffff30}
.points-pack button:hover,.points-exchange-rates button:hover,.points-reward-grid button:hover{filter:brightness(1.15)}
.points-pack.is-featured{border-width:2px;box-shadow:0 0 17px #ffb62f6e,inset 0 1px #ffffff25}
.points-pack.is-featured>span{top:-1px;right:-1px;border-radius:0 9px 0 8px;padding:5px 8px;font-size:12px}
.points-payment{background:linear-gradient(145deg,#1b3444ed,#0c2230eb)}
.points-payment-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;height:238px}
.points-qr-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #7eabb766;border-radius:10px;background:#0e2230a8}
.points-qr-placeholder{position:relative;display:flex;width:min(145px,80%);aspect-ratio:1;flex-direction:column;align-items:center;justify-content:center;border:9px solid #fff;border-radius:8px;background:#f6fafb;color:#182a36;box-shadow:0 5px 12px #0007;text-align:center}
.points-qr-placeholder:before,.points-qr-placeholder:after{position:absolute;top:7px;width:22px;height:22px;border:5px solid #20323b;content:''}
.points-qr-placeholder:before{left:7px}.points-qr-placeholder:after{right:7px}
.points-qr-placeholder span{font-size:23px;font-weight:950;letter-spacing:.05em}.points-qr-placeholder b{font-size:12px}
.points-qr-card>strong{font-size:12px}
.points-payment-list{grid-template-rows:repeat(4,1fr);gap:5px}
.points-payment-list>div{min-height:0;padding:6px;border-color:#7995a655}
.points-payment-list span{flex:0 0 28px}
.points-payment-list b{font-size:12px}.points-payment-list small{font-size:12px}
.points-guide{padding:7px 9px;border:1px solid #91abbb77;border-radius:9px;color:#e9f5f9;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.points-guide:hover{border-color:#ffd15f;color:#ffd15f}
.points-exchange-symbol{display:inline-block;margin-right:5px;color:#ffd15f;font-size:27px;line-height:.7;vertical-align:middle}
.points-exchange-rates{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.points-exchange-rates article{display:flex;min-height:216px;flex-direction:column;align-items:center;padding:7px;border:1px solid #80a7b775;border-radius:11px;background:linear-gradient(145deg,#203e4ceb,#102a38ed);text-align:center}
.points-exchange-rates img{width:100%;height:104px;object-fit:contain;filter:drop-shadow(0 0 9px #25d4ff66)}
.points-exchange-rates b{color:#f3faff;font-size:18px;line-height:1.1}
.points-exchange-rates small{margin:3px 0 8px;color:#eaf7fc;font-size:12px;font-weight:800}.points-exchange-rates em{color:#ffd15f;font-size:15px;font-style:normal}
.points-exchange-rates button{width:100%}
.points-reward-grid{gap:9px}
.points-reward-grid article{min-height:216px;border-color:#7f9bab66;background:linear-gradient(145deg,#1d3949cf,#102937dd)}
.points-reward-grid img{width:100%;height:125px;object-fit:contain;filter:drop-shadow(0 0 9px #ffad2880)}
.points-reward-grid b{font-size:14px}.points-reward-grid small{margin:3px 0 7px;font-size:12px}
.points-reward-grid button{width:100%}
.points-page>footer{margin:11px 0 0;text-align:center;font-size:12px}.points-page>footer small{font-size:12px}
.points-page>.page-links{justify-content:center;margin-top:7px}.points-page>.page-links a{font-size:12px}
@media(max-width:900px){
  .points-page-body .points-page{width:calc(100% - 20px);padding-top:12px}
  .points-hero{padding:18px 18px 18px 152px}.points-hero-art{left:-22px;bottom:-15px;width:170px}
  .points-hero:before{display:none}
  .points-main-grid,.points-lower-grid{grid-template-columns:1fr}
  .points-exchange-rates{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:600px){
  .points-hero{min-height:190px;padding:17px 13px 15px 110px}.points-hero-art{left:-34px;bottom:-3px;width:145px}
  .points-hero h1{font-size:26px}.points-hero p{font-size:12px}.points-hero-copy>small{font-size:12px}.points-hero-quote{display:none}
  .points-panel{padding:12px}.points-panel h2{font-size:18px}
  .points-pack-grid,.points-exchange-rates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .points-pack{min-height:214px}.points-pack img{height:82px}.points-pack b{font-size:16px}
  .points-payment-body{height:auto;min-height:225px}.points-qr-placeholder{width:110px}
  .points-exchange-rates article{min-height:195px}.points-exchange-rates img{height:90px}
  .points-guide{max-width:115px;white-space:normal;text-align:center;font-size:12px}
  .points-reward-grid img{height:108px}
}

/* Shop page — sunset storefront reference */
.shop-page-body .skyline:after{background:linear-gradient(90deg,#08121b91,#08121b28 48%,#08121b55),linear-gradient(0deg,#07111ad4,transparent 53%)}
.shop-page-body .shop-page{position:relative;z-index:3;width:min(var(--kj-content),calc(100% - 40px));padding-bottom:30px}
.shop-edge-character{position:fixed;z-index:2;right:-55px;bottom:-47px;width:290px;max-height:410px;object-fit:contain;object-position:center bottom;pointer-events:none;filter:drop-shadow(0 18px 18px #000b)}
.shop-hero{position:relative;display:flex;align-items:flex-start;justify-content:space-between;min-height:238px;padding:31px 33px 15px}
.shop-hero-copy{position:relative;z-index:1}
.shop-kicker{margin:0 0 4px;color:#e6eff4;font-size:12px;font-weight:850;letter-spacing:.32em}
.shop-hero h1{display:flex;align-items:center;gap:12px;margin:0;color:#f9fbff;font-size:clamp(48px,5vw,71px);font-weight:950;line-height:1;text-shadow:0 4px 0 #1c2935,0 7px 12px #0008}
.shop-hero h1 .ico{font-size:55px;filter:drop-shadow(0 0 8px #ff8d2f);--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff982e' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5h2.2l2.5 10.2a2 2 0 0 0 1.95 1.55h7.6a2 2 0 0 0 1.95-1.55L21 8.5H6.2M10 19.5h.01M17 19.5h.01'/%3E%3C/svg%3E")}
.shop-hero-copy>strong{display:block;margin-top:-1px;font-size:34px;font-weight:950;line-height:1.05;letter-spacing:-.035em;text-shadow:0 3px 9px #0008}
.shop-hero-copy>strong em{color:#ff8d23;font-style:normal}
.shop-hero h2{margin:8px 0 0;font-size:17px;line-height:1.25}
.shop-hero-copy>p:last-child{margin:3px 0 0;color:#dae6ec;font-size:13px}
.shop-hero-copy>p:last-child span{color:#ff694b;font-size:19px}
.shop-hero-quote{margin:66px 231px 0 0;color:#fff;font-size:19px;font-style:italic;font-weight:800;line-height:1.2;text-align:center;text-shadow:0 3px 6px #000b;transform:rotate(-9deg)}
.shop-hero-quote span{display:block;margin-top:10px;color:#d7e7ef;font-size:12px;font-style:normal;font-weight:700;letter-spacing:.26em;line-height:1.6;transform:rotate(9deg)}
.shop-content{display:grid;grid-template-columns:minmax(0,800px) minmax(0,367px);align-items:start;gap:16px}
.shop-primary-column{min-width:0}
.shop-featured{position:relative;min-height:241px;overflow:hidden;border-color:#f8be688a;border-radius:15px;background:linear-gradient(90deg,#14212ce9 0%,#17232ddc 44%,#473021ac 100%);box-shadow:0 15px 31px #0009,inset 0 1px #fff3}
.shop-featured:before{position:absolute;inset:0;background:radial-gradient(circle at 75% 57%,#ff9c2a44,transparent 36%),linear-gradient(90deg,#0e1825b0,transparent 70%);content:''}
.shop-featured-copy{position:relative;z-index:2;padding:12px 24px;max-width:70%}
.shop-hot-tag{display:inline-block;padding:5px 13px;border:1px solid #ffce6c;border-radius:9px;background:linear-gradient(#ffb336,#ed5d14);box-shadow:0 0 16px #ff8c229c;color:#fff;font-size:13px;font-weight:900}
.shop-featured h2{margin:9px 0 0;color:#fff;font-size:clamp(30px,3vw,42px);font-weight:950;line-height:1.05;white-space:nowrap;text-shadow:0 3px 10px #000d}
.shop-featured h2 em{color:#ffae32;font-style:normal}
.shop-featured-copy>strong{display:block;margin:4px 0;color:#f5faff;font-size:15px;line-height:1.3}
.shop-featured-copy>p{margin:2px 0 9px;color:#d6e2ea;font-size:12px;white-space:nowrap}
.shop-featured-action{display:flex;align-items:center;gap:20px}
.shop-featured-action button{display:flex;align-items:center;justify-content:center;gap:9px;min-width:213px;height:49px;border:1px solid #ffdf86;border-radius:10px;background:linear-gradient(#ffb42b,#f26315);box-shadow:0 0 14px #ff911d9c,inset 0 1px #fff6;color:#fff;font-size:17px;font-weight:950;text-shadow:0 1px #9f4f14}
.shop-featured-action button .ico{font-size:27px}
.shop-featured-action b{display:block;color:#ffd064;font-size:28px;line-height:1}.shop-featured-action small{color:#ddc398;font-size:12px}
.shop-featured-art{position:absolute;z-index:1;right:-21px;bottom:-19px;width:57%;height:115%;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 0 12px #fa971989)}
/* Founder Bundle — ใช้ภาพไอเทมจริงของเซิร์ฟเวอร์ (ชุดเดียวกับการ์ดสินค้า) แทนภาพประกอบ
   ภาพเดิม assets/shop/founder-bundle-v2.png ไม่ใช้แล้ว */
.shop-featured .shop-featured-bundle{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));place-items:center;gap:6px 12px;
  top:16px;right:20px;bottom:auto;width:152px;height:auto;filter:none
}
.shop-featured .shop-featured-bundle img{width:100%;max-width:68px;height:auto;object-fit:contain;filter:drop-shadow(0 5px 7px #0009)}
.shop-featured-bundle-item{display:grid;justify-items:center;gap:2px}
.shop-featured-bundle-item small{color:#ffd58a;font-size:12px;font-weight:900;line-height:1;text-shadow:0 2px 6px #000c}
@media(max-width:1100px){.shop-featured .shop-featured-bundle{top:14px;right:14px;width:140px}}
@media(max-width:600px){
  /* จอเล็ก: เรียงเป็นแถวเดียวใต้ปุ่ม เพื่อไม่ทับราคา */
  .shop-featured .shop-featured-bundle{display:flex;align-items:flex-end;top:auto;right:6px;bottom:4px;width:auto;height:44px;gap:6px;opacity:.9}
  .shop-featured .shop-featured-bundle img{width:44px;max-width:44px}
  /* ป้าย “7 วัน” ถูกซ่อนบนจอเล็กเพื่อไม่ให้ทับแถวราคา (ยังอ่านได้จาก aria-label) */
  .shop-featured-bundle-item small{display:none}
}
.shop-catalog{margin-top:15px}
.shop-catalog-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:0 0 11px;padding:0 5px}
.shop-catalog-head h2{margin:0;color:#fff;font-size:25px;line-height:1.1}.shop-catalog-head h2 .ico{margin-right:5px;color:#ffae41;font-size:26px;vertical-align:middle}
.shop-catalog-head p{margin:3px 0 0;color:#d8e4eb;font-size:12px}
.shop-filters{display:flex;gap:2px;padding:4px;border:1px solid #87afbf77;border-radius:13px;background:#152431df;white-space:nowrap}
.shop-filters button{padding:8px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:#eaf3f7;font-size:12px;font-weight:800}
.shop-filters button[aria-pressed=true]{border-color:#ffbd62;background:linear-gradient(#a46a33,#6b3c25);box-shadow:0 0 12px #ffae4280;color:#fff}
.shop-product-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.shop-product{display:flex;min-width:0;min-height:254px;flex-direction:column;align-items:center;padding:9px 7px 10px;border:1px solid #6dbbd1a0;border-radius:11px;background:linear-gradient(150deg,#1e3847e8,#0b1e2ce8);box-shadow:inset 0 1px #ffffff22,0 10px 20px #0008;text-align:center}
.shop-product[hidden]{display:none}
.shop-product-art{display:flex;align-items:center;justify-content:center;width:100%;height:92px;margin-bottom:1px}
.shop-product-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 7px #000a) drop-shadow(0 0 8px #ff9a3170)}
.shop-name-color-art{flex-direction:column;gap:8px}.shop-name-color-art span{width:91%;height:15px;border:2px solid #f3b04d;border-radius:3px;background:linear-gradient(90deg,#ff3a3a,#ffdf1c,#3eed6a,#34b7ff,#a449ff,#ff39a0);box-shadow:0 0 10px #d26ad988}.shop-name-color-art b{color:#ffab43;font-size:13px;text-shadow:0 0 5px #ff8f30}
.shop-product h3{margin:1px 0 0;color:#fff;font-size:12px;line-height:1.2;white-space:nowrap}
.shop-product p{min-height:39px;margin:5px 0 0;color:#d4e1e9;font-size:12px;line-height:1.3}
.shop-product>strong{display:block;margin:auto 0 6px;color:#ffd16c;font-size:18px;line-height:1.1}
.shop-product>button{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;height:37px;padding:0 3px;border:1px solid #5cf1d1;border-radius:8px;background:linear-gradient(#148376,#075b61);box-shadow:0 0 9px #21c8b488,inset 0 1px #fff4;color:#fff;font-size:12px;font-weight:900}
.shop-product>button .ico{font-size:18px}
.shop-stripe-sandbox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:14px;padding:16px;border:1px solid rgba(99,91,255,.42);border-radius:15px;background:linear-gradient(135deg,rgba(36,31,79,.72),rgba(17,24,34,.88));box-shadow:0 12px 30px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.08)}
.shop-stripe-sandbox[hidden]{display:none!important}.shop-stripe-sandbox-copy{min-width:0}.shop-stripe-sandbox-badge{display:inline-flex;align-items:center;min-height:23px;padding:4px 8px;border:1px solid rgba(145,137,255,.34);border-radius:999px;background:rgba(99,91,255,.12);color:#c9c5ff;font-size:10px;font-weight:950;letter-spacing:.12em}.shop-stripe-sandbox h3{margin:7px 0 0;color:#f7f5ff;font-size:17px}.shop-stripe-sandbox p{margin:4px 0 0;color:#b7b5ca;font-size:12px;line-height:1.5}.shop-stripe-sandbox small{display:block;margin-top:6px;color:#89d9bf;font-size:11px;font-weight:850}.shop-stripe-sandbox>button{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;align-items:center;gap:9px;min-width:260px;min-height:58px;padding:9px 11px;border:1px solid rgba(155,148,255,.64);border-radius:12px;background:linear-gradient(135deg,#635bff,#4f46e5);box-shadow:0 10px 22px rgba(79,70,229,.25);color:#fff;font:inherit;text-align:left;cursor:pointer}.shop-stripe-sandbox>button:hover{filter:brightness(1.08);transform:translateY(-1px)}.shop-stripe-sandbox>button:disabled{filter:grayscale(.4);cursor:progress;transform:none}.shop-stripe-sandbox>button>.ico{width:19px;height:19px}.shop-stripe-sandbox>button>span:nth-child(2){display:flex;flex-direction:column;font-size:12px;font-weight:950}.shop-stripe-sandbox>button>span:nth-child(2) small{margin:2px 0 0;color:#dedcff;font-size:10px;font-weight:750}.shop-stripe-sandbox>button>b{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(0,0,0,.16);font-size:16px}
.shop-preview-note{margin:7px 0 0;color:#e7bf8b;font-size:12px;text-align:center}
.shop-side{display:grid;gap:12px;padding-top:7px}
.shop-stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.shop-stat{display:grid;grid-template-columns:63px 1fr;align-items:center;min-height:146px;padding:9px 11px;border-color:#58d1dc99;border-radius:12px;background:linear-gradient(150deg,#163644e7,#0c1d2ae9)}
.shop-stat>img{width:62px;height:65px;object-fit:contain;filter:drop-shadow(0 0 7px #ff9e25a0)}
.shop-stat>div b{display:block;font-size:25px;line-height:1.1}.shop-stat>div span{display:block;margin-top:3px;font-size:12px;font-weight:800}
.shop-stat>a{grid-column:1/-1;display:grid;place-items:center;height:37px;border:1px solid #ffb84e;border-radius:9px;background:#7950265e;color:#fff;text-decoration:none;font-size:12px;font-weight:800}
.shop-stat:nth-child(2)>a{border-color:#19d4c2;background:#07585670}
.shop-xp-mark{display:grid;place-items:center;width:54px;height:54px;border:3px solid #ffb82e;clip-path:polygon(50% 0,94% 24%,94% 75%,50% 100%,6% 75%,6% 24%);background:#523419;color:#ffd35f;font-size:19px;font-weight:950;filter:drop-shadow(0 0 8px #ff972b)}
.shop-profile{padding:12px 13px;border-color:#27d9c69a;border-radius:13px;background:linear-gradient(145deg,#143440ea,#0c202be9)}
.shop-profile-summary{display:grid;grid-template-columns:93px 1fr 15px;align-items:center;gap:9px;min-height:96px;color:#fff;text-decoration:none}
.shop-profile-avatar{display:block;width:90px;height:90px;overflow:hidden;border:2px solid #39b6d5;border-radius:50%;background:#0e2637;box-shadow:0 0 10px #22c5d055}
.shop-profile-avatar img{width:132px;height:110px;max-width:none;margin-left:-20px;margin-top:-4px;object-fit:contain}
.shop-profile-identity b{display:block;font-size:19px;line-height:1.2}.shop-profile-identity strong{display:block;margin:4px 0;color:#71eac5;font-size:12px}.shop-profile-identity small{color:#bfcfd8;font-size:12px;line-height:1.5}.shop-profile-summary>span:last-child{color:#d0e6ef;font-size:30px}
.shop-profile-identity strong:not(.is-online){color:#bed2db}
.shop-profile-links{display:grid;gap:2px;margin-top:11px}
.shop-profile-links>a,.shop-profile-links>button{display:flex;align-items:center;gap:15px;min-height:55px;padding:0 16px;border:1px solid #7999aa80;border-radius:11px;background:#162b39bd;color:#f3f9fb;text-align:left;text-decoration:none;font-size:13px;font-weight:800}
.shop-profile-links .ico{font-size:25px}.shop-profile-links>a>span:last-child,.shop-profile-links>button>span:last-child{margin-left:auto;color:#cfdfeb;font-size:29px;font-weight:400}
.shop-featured button:hover,.shop-product button:hover,.shop-profile-links a:hover,.shop-profile-links button:hover,.shop-stat a:hover{filter:brightness(1.14)}
.shop-page>footer{margin:13px 0 0;text-align:center;font-size:12px}.shop-page>footer small{font-size:12px}.shop-page>.page-links{justify-content:center;margin-top:7px}.shop-page>.page-links a{font-size:12px}
@media(max-width:1100px){.shop-page-body .shop-page{width:calc(100% - 28px)}.shop-content{grid-template-columns:minmax(0,1fr) 310px}.shop-hero-quote{margin-right:100px}.shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-product{min-height:235px}.shop-featured-copy{max-width:75%}.shop-featured-art{width:54%}.shop-filters{flex-wrap:wrap;justify-content:center}}
@media(max-width:800px){.shop-content{grid-template-columns:1fr}.shop-side{grid-row:1;padding-top:0}.shop-stat-row{gap:9px}.shop-stat{min-height:115px}.shop-profile-summary{min-height:78px}.shop-profile-links{grid-template-columns:repeat(2,1fr)}.shop-hero{min-height:210px}.shop-hero-quote{margin-right:10px}.shop-edge-character{display:none}}
@media(max-width:600px){.shop-stripe-sandbox{grid-template-columns:1fr;gap:12px}.shop-stripe-sandbox>button{width:100%;min-width:0}.shop-page-body .shop-page{width:calc(100% - 20px)}.shop-hero{min-height:190px;padding:18px 7px 12px}.shop-hero h1{font-size:47px}.shop-hero h1 .ico{font-size:38px}.shop-hero-copy>strong{font-size:26px}.shop-kicker{font-size:12px}.shop-hero h2{font-size:13px}.shop-hero-copy>p:last-child{font-size:12px}.shop-hero-quote{display:none}.shop-featured{min-height:268px}.shop-featured-copy{max-width:100%;padding:13px}.shop-featured h2{font-size:28px}.shop-featured-copy>strong{max-width:230px;font-size:12px}.shop-featured-copy>p{max-width:190px;white-space:normal;font-size:12px}.shop-featured-art{right:-30px;bottom:-15px;width:78%;height:84%;opacity:.75}.shop-featured-action{position:absolute;top:176px;left:13px;gap:10px}.shop-featured-action button{min-width:160px;height:43px;font-size:12px}.shop-featured-action b{font-size:22px}.shop-catalog-head{align-items:start;flex-direction:column}.shop-catalog-head h2{font-size:21px}.shop-filters{width:100%;justify-content:space-between}.shop-filters button{padding:7px;font-size:12px}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop-product{min-height:235px}.shop-profile-links>a,.shop-profile-links>button{min-height:47px;padding:0 8px;gap:5px;font-size:12px}.shop-profile-links .ico{font-size:19px}.shop-profile-links>a>span:last-child,.shop-profile-links>button>span:last-child{font-size:19px}}

/* Commands page — reference layout */
.commands-page-body .skyline:after{background:linear-gradient(90deg,#08121ba8,#08121b4d 54%,#08121b78),linear-gradient(0deg,#07111ae5,transparent 65%)}

.commands-page-body .commands-page{width:min(1164px,calc(100% - 40px));padding-bottom:24px}
.commands-hero{position:relative;display:flex;justify-content:space-between;min-height:162px;margin-top:17px;overflow:hidden;border-radius:16px;background:linear-gradient(90deg,#11212edb 0%,#142432a8 50%,#10212baf),url('assets/background-clean.webp') center 28%/cover}
.commands-hero:after{position:absolute;inset:0;background:linear-gradient(90deg,#111f2a88,transparent 68%);content:'';pointer-events:none}
.commands-hero-copy{position:relative;z-index:1;padding:23px 35px}.commands-hero h1{display:flex;align-items:center;gap:24px;margin:0 0 4px;color:#fff;font-size:43px;font-weight:950;line-height:1.2;text-shadow:0 3px 7px #000a}.commands-hero-icon{display:grid;place-items:center;width:50px;height:42px;border:3px solid #ffbd62;border-radius:4px;color:#ffbb5c;font:900 29px/1 Consolas,monospace;box-shadow:0 0 11px #ff9c3455}.commands-hero-copy>strong{display:block;color:#f2f5f8;font-size:15px}.commands-hero-copy>p{margin:6px 0 0;color:#dce6ec;font-size:12px}.commands-hero-quote{position:relative;z-index:1;flex:0 0 195px;align-self:center;margin:0 30px 0 0;color:#fff;font-size:16px;font-style:italic;font-weight:800;text-align:center;transform:rotate(-8deg);text-shadow:0 2px 7px #000c}.commands-hero-quote em{color:#ffbb58;font-style:normal}.commands-hero-quote span{display:block;margin-top:14px;color:#b9c9d1;font-size:12px;font-style:normal;line-height:1.4;letter-spacing:.08em;transform:rotate(8deg)}
.commands-toolbar{display:flex;align-items:center;gap:20px;min-height:68px;margin-top:14px;padding:11px 14px;border-radius:15px;background:#172a38e7}
.commands-search{display:flex;align-items:center;gap:9px;flex:0 1 463px;height:43px;padding:0 13px;border:1px solid #7193a67d;border-radius:10px;background:#0c1c28bb}.commands-search .ico{flex:none;color:#b7d8e9;font-size:19px}.commands-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:14px}.commands-search input::placeholder{color:#8097a5}
.commands-filters{display:flex;gap:6px}.commands-filters button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 12px;border:1px solid #829db077;border-radius:13px;background:#253b4ab3;color:#f3f8fc;font-size:12px;font-weight:800;white-space:nowrap}.commands-filters button span{color:#a4e3fb;font-size:18px}.commands-filters button[aria-pressed=true]{border-color:#e8aa59;background:linear-gradient(#a46a37,#6e4328);box-shadow:0 0 12px #d37d3070}.commands-filters button[aria-pressed=true] span{color:#fff}
.commands-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,290px);gap:14px;margin-top:11px}.commands-main-column{min-width:0}.commands-sidebar{display:grid;align-content:start;gap:10px;min-width:0}
.commands-guide{min-height:147px;padding:10px 14px 12px;border-radius:15px;background:linear-gradient(155deg,#1b3444e9,#102332e9)}.commands-guide h2{margin:0;color:#ffc05d;font-size:18px}.commands-guide h2 span{margin-right:10px;color:#ffb224;font-size:30px;vertical-align:-3px}.commands-guide>p{margin:0 0 10px 52px;color:#c9dde8;font-size:12px}.commands-guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.commands-guide-steps>div{display:flex;align-items:center;gap:8px;min-height:62px;padding:8px 11px;border:1px solid #6d97ab72;border-radius:10px;background:#152d3dbb}.commands-guide-steps p{margin:0 0 0 5px;color:#d5e4ed;font-size:12px;line-height:1.4}.commands-guide-steps p b{color:#fff}.commands-keycap{display:grid;place-items:center;min-width:28px;height:28px;border:1px solid #68a1ba;border-radius:6px;background:#263f4f;color:#acdbf2;font-size:12px;font-weight:800}.commands-guide-steps .commands-keycap:nth-child(2){min-width:49px}.commands-step-icon{flex:none;font-size:27px;color:#7ee0ff}
.commands-catalog{margin-top:13px}.commands-catalog-head{display:flex;align-items:center;justify-content:space-between;min-height:47px;margin-bottom:6px}.commands-catalog-head h2{margin:0;color:#f7fbff;font-size:20px;line-height:1.2}.commands-catalog-head h2 span{margin-right:11px;color:#ffba4e;font-size:27px;vertical-align:-3px}.commands-catalog-head p{margin:0 0 0 44px;color:#99cfe4;font-size:12px}.commands-catalog-head>span{color:#d4e7f1;font-size:12px;font-weight:800}
.commands-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.commands-item{display:flex;align-items:center;gap:10px;min-width:0;min-height:59px;padding:7px 12px;border:1px solid #7d9bad88;border-radius:12px;background:linear-gradient(130deg,#1d3545e9,#172b39e8);box-shadow:inset 0 1px #ffffff15,0 4px 11px #0005}.commands-item-icon{display:grid;place-items:center;flex:none;width:41px;height:42px;border-radius:9px;background:#214b68;color:#67d2fd;font-size:27px;font-weight:950}.commands-item-home .commands-item-icon,.commands-item-tpaccept .commands-item-icon{background:#174b49;color:#70ead0}.commands-item-sethome .commands-item-icon,.commands-item-report .commands-item-icon{background:#45314b;color:#d89bff}.commands-item-points .commands-item-icon,.commands-item-shop .commands-item-icon,.commands-item-exchange .commands-item-icon{background:#4d3928;color:#ffbc54}.commands-item-admin .commands-item-icon{background:#4c2930;color:#ff818b}.commands-item-copy{display:block;flex:1;min-width:0}.commands-item-copy b{display:block;overflow:hidden;color:#82e7ff;font-size:15px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.commands-item-copy code{font-family:inherit}.commands-item-copy small{display:block;overflow:hidden;color:#d6e5ed;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.commands-item-group{flex:none;padding:4px 8px;border-radius:99px;background:#385c6b80;color:#b7e7fa;font-size:12px;font-weight:900}.commands-group-economy{background:#5b502e80;color:#ffdc78}.commands-group-social{background:#49416a80;color:#d0b6ff}.commands-group-admin{background:#61393e80;color:#ffadb1}.commands-item>button,.commands-popular-item>button{display:flex;align-items:center;justify-content:center;gap:3px;flex:none;min-width:74px;min-height:31px;padding:0 7px;border:1px solid #91b3c383;border-radius:10px;background:#29415286;color:#f5faff;font-size:12px;font-weight:850}.commands-item>button .ico,.commands-popular-item>button .ico{font-size:14px;color:#b6ebfa}.commands-no-results{grid-column:1/-1;padding:25px;border:1px dashed #8aabba;border-radius:12px;color:#d4e4ec;text-align:center}
.commands-popular,.commands-tips,.commands-quote{padding:13px 15px;border-radius:14px;background:linear-gradient(145deg,#1d3545e9,#112331e9)}.commands-popular h2,.commands-tips h2{margin:0;color:#f7fbff;font-size:17px}.commands-popular h2 span{margin-right:10px;color:#ffad42;font-size:26px;vertical-align:-3px}.commands-tips h2 span{margin-right:10px;color:#3ebfe5;font-size:23px;vertical-align:-2px}.commands-popular>p,.commands-tips>p{margin:0 0 8px 35px;color:#c4d7e1;font-size:12px}.commands-popular-list{display:grid}.commands-popular-item{display:flex;align-items:center;gap:9px;min-height:45px;border-top:1px solid #7290a452}.commands-popular-item>span{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#456378;color:#fff;font-size:14px;font-weight:950}.commands-popular-item:nth-child(1)>span{background:#c47e32}.commands-popular-item:nth-child(3)>span{background:#3681a3}.commands-popular-item>div{flex:1;min-width:0}.commands-popular-item b{display:block;color:#f6fcff;font-size:12px}.commands-popular-item small{display:block;overflow:hidden;color:#b5cbd7;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.commands-popular-item>button{min-width:70px;min-height:27px;font-size:12px}
.commands-tips ul{display:grid;gap:8px;margin:13px 0 0;padding:0;list-style:none}.commands-tips li{position:relative;padding-left:23px;color:#d3e1e8;font-size:12px;line-height:1.35}.commands-tips li:before{position:absolute;left:0;top:0;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#377e59;color:#fff;content:'✓';font-size:12px;font-weight:900}.commands-quote{min-height:82px;text-align:right}.commands-quote>span{float:left;color:#ffc261;font:900 43px/1 Georgia,serif}.commands-quote p{margin:11px 0 4px;color:#fff;font-size:12px;font-weight:800}.commands-quote small{color:#ffb64b;font-size:12px;font-style:italic}
.commands-page>footer{margin:11px 0 0;text-align:center;font-size:12px}.commands-page>footer small{font-size:12px}.commands-page>.page-links{justify-content:center;margin-top:6px}.commands-page>.page-links a{font-size:12px}
@media(max-width:1100px){.commands-page-body .commands-page{width:calc(100% - 24px)}.commands-columns{grid-template-columns:minmax(0,1fr) 270px}.commands-toolbar{flex-wrap:wrap}.commands-search{flex:1 1 320px}.commands-filters{flex-wrap:wrap}.commands-item-group{display:none}}
@media(max-width:800px){.commands-columns{grid-template-columns:1fr}.commands-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.commands-quote{grid-column:1/-1}.commands-hero-quote{display:none}.commands-hero-copy{padding:22px}.commands-toolbar{align-items:stretch;flex-direction:column;gap:10px}.commands-search{flex-basis:auto;width:100%}.commands-filters{justify-content:center}}
@media(max-width:600px){.commands-page-body .commands-page{width:calc(100% - 20px)}.commands-page-body .zombie-left-edge{display:none}.commands-hero{min-height:160px;margin-top:10px}.commands-hero-copy{padding:17px}.commands-hero h1{gap:10px;font-size:30px}.commands-hero-icon{width:39px;height:35px;font-size:23px}.commands-hero-copy>strong{font-size:12px}.commands-hero-copy>p{font-size:12px}.commands-toolbar{padding:9px}.commands-filters{gap:5px}.commands-filters button{min-height:34px;padding:0 7px;font-size:12px}.commands-filters button span{font-size:14px}.commands-guide{padding:12px}.commands-guide>p{margin-left:0}.commands-guide-steps{grid-template-columns:1fr}.commands-guide-steps>div{min-height:49px}.commands-list{grid-template-columns:1fr}.commands-sidebar{grid-template-columns:1fr}.commands-quote{grid-column:auto}.commands-catalog-head h2{font-size:18px}}

/* Daily rewards page — reference layout */
.daily-page-body .skyline:after{background:linear-gradient(90deg,#09111b9c,#09111b34 50%,#09111b67),linear-gradient(0deg,#07111ae3,transparent 65%)}

.daily-page-body .daily-page{position:relative;z-index:3;width:min(1300px,calc(100% - 32px));padding-bottom:20px}
.daily-hero{width:calc(100% - 68px);min-height:149px;margin:17px 0 0 68px;padding:19px 27px;border-radius:17px;background:linear-gradient(90deg,#10212de8,#142432a9 53%,#14243137),url('assets/background-clean.webp') center 24%/cover}.daily-hero h1{display:flex;align-items:center;gap:14px;margin:0;color:#fff;font-size:45px;line-height:1.2;text-shadow:0 3px 8px #0009}.daily-hero h1 .ico{color:#ffbe55;font-size:51px;filter:drop-shadow(0 0 9px #ff9a3870)}.daily-hero strong{display:block;margin-top:2px;color:#f1f8fc;font-size:15px}.daily-hero p{margin:2px 0 0;color:#d9e8ef;font-size:12px}.daily-hero p small{margin-left:9px;color:#ffd494;font-size:12px}
.daily-status-grid{display:grid;grid-template-columns:minmax(0,574px) minmax(0,1fr);gap:15px;width:calc(100% - 68px);margin:13px 0 0 68px}.daily-status,.daily-reset{min-height:239px;padding:14px 21px;border-radius:16px;background:linear-gradient(145deg,#1b3443df,#102331dc)}.daily-status h2,.daily-reset h2{margin:0;color:#f5fbff;font-size:20px}.daily-status h2 .ico,.daily-reset h2 .ico{margin-right:10px;color:#8fe7ff;font-size:26px;vertical-align:-4px}.daily-status>p,.daily-reset>p:first-of-type{margin:0 0 9px 38px;color:#bdd5e2;font-size:12px}.daily-stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.daily-stat-row>div{display:flex;align-items:center;gap:11px;min-height:89px;padding:10px 14px;border:1px solid #7a9aad83;border-radius:11px;background:#142636b8}.daily-stat-row>div>span{font-size:32px}.daily-stat-row>div>img{width:53px;height:58px;object-fit:contain;filter:drop-shadow(0 0 8px #f8a52c88)}.daily-stat-row p{margin:0;color:#e3edf2;font-size:12px;font-weight:800}.daily-stat-row strong{display:block;color:#82ebc6;font-size:22px;line-height:1.2}.daily-stat-row>div:nth-child(2) strong{color:#fff}.daily-stat-row small{display:block;color:#acc4d0;font-size:12px;font-weight:400}.daily-stat-row small a{color:#9ee6ed}.daily-claim-row{display:flex;align-items:center;gap:17px;margin-top:12px}.daily-claim-row button{display:flex;align-items:center;justify-content:center;gap:10px;min-width:270px;min-height:48px;border:1px solid #a3ffdf;border-radius:11px;background:linear-gradient(#1e9e80,#0a685e);box-shadow:0 0 18px #34e5af91,inset 0 1px #fff7;color:#fff;font-size:19px;font-weight:900}.daily-claim-row button .ico{font-size:26px}.daily-claim-row button span:last-child{margin-left:auto;margin-right:12px;font-size:27px;font-weight:400}.daily-claim-row>span{color:#fff;font-size:12px;font-style:italic;font-weight:800;line-height:1.3;transform:rotate(-7deg)}
.daily-reset{background:linear-gradient(145deg,#1b3443de,#102332df)}.daily-timer{display:flex;justify-content:center;gap:15px;margin:16px 0 15px}.daily-timer .timer-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;width:93px;height:84px;border:1px solid #8eabba9c;border-radius:12px;background:#284155a8}.daily-timer .timer-cell b{color:#ffdb8e;font-size:30px;line-height:1.15}.daily-timer .timer-cell small{margin-top:4px;color:#e5f2f7;font-size:12px}.daily-reset .daily-reset-note{display:flex;align-items:center;gap:11px;min-height:41px;margin:0;padding:5px 13px;border:1px solid #91abba98;border-left:3px solid #ffc56d;border-radius:10px;background:#ffffff0b;color:#e3edf4;font-size:12px}.daily-reset-note span{color:#ffd176;font-size:22px;font-weight:900}
.daily-rewards{min-height:235px;margin-top:14px;padding:10px 20px 12px;border-radius:17px;background:linear-gradient(145deg,#1a3041e9,#102332e9)}.daily-rewards-head{position:relative;margin-bottom:8px;padding-left:68px}.daily-rewards-head h2{margin:0;color:#fff;font-size:22px}.daily-rewards-head h2 .ico{position:absolute;left:2px;top:1px;color:#ffbb53;font-size:48px;filter:drop-shadow(0 0 10px #f6a52787)}.daily-rewards-head h2 em{color:#ffd074;font-style:normal}.daily-rewards-head p{margin:0;color:#d0e0e9;font-size:12px}.daily-rewards-head>span{position:absolute;right:11px;top:0;color:#c5d1d5;font-size:12px;font-style:italic;line-height:1.15;text-align:center;transform:rotate(-11deg)}.daily-reward-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.daily-reward-card{display:flex;align-items:center;flex-direction:column;min-width:0;min-height:156px;padding:7px;border:1px solid #7795a691;border-radius:11px;background:linear-gradient(#1c3343c9,#102839d6);box-shadow:inset 0 1px #ffffff1b}.daily-reward-card.is-featured{border-color:#ffd069;box-shadow:0 0 16px #ffa72e8f,inset 0 1px #ffffff35;background:linear-gradient(#463e2fda,#2c2d26dc)}.daily-reward-card h3{margin:0;color:#f1f6fb;font-size:12px}.daily-reward-art{display:grid;place-items:center;width:100%;height:72px}.daily-reward-art img{width:100%;height:69px;object-fit:contain;filter:drop-shadow(0 6px 6px #0009) drop-shadow(0 0 7px #f7ab386e)}.daily-reward-card:nth-child(6) .daily-reward-art img{filter:hue-rotate(190deg) drop-shadow(0 6px 6px #0009)}.daily-bolt-art{color:#ffc649;font-size:66px;font-weight:950;line-height:1;text-shadow:0 0 13px #ff9d31}.daily-trophy-art{font-size:55px;line-height:1;filter:drop-shadow(0 0 9px #ffad35)}.daily-reward-card>strong{display:block;overflow:hidden;width:100%;color:#f0f7fa;font-size:12px;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.daily-reward-card.is-featured>strong,.daily-reward-card:nth-child(3)>strong,.daily-reward-card:nth-child(5)>strong,.daily-reward-card:nth-child(7)>strong{color:#ffe092}.daily-reward-card button{width:100%;min-height:25px;margin-top:auto;padding:2px 4px;border:1px solid #687e8d;border-radius:7px;background:#253b4a;color:#c1d1da;font-size:12px;font-weight:800}.daily-reward-card.is-featured button{border-color:#ffd078;background:linear-gradient(#ffcc59,#e79b23);box-shadow:0 0 9px #ffb83988;color:#513211}
.daily-info-grid{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;gap:12px;margin-top:14px}.daily-info-card,.daily-play-card{min-height:163px;padding:13px 20px;border-radius:14px;background:linear-gradient(145deg,#1a3343e8,#102230e8)}.daily-info-card h2,.daily-play-card h2{margin:0;color:#f8fbfd;font-size:18px}.daily-info-card h2 .ico,.daily-play-card h2 .ico{margin-right:9px;color:#89e3f7;font-size:24px;vertical-align:-3px}.daily-info-card>p,.daily-play-card>p{margin:0 0 9px 33px;color:#cbdce5;font-size:12px}.daily-info-row{display:flex;justify-content:space-between;gap:5px;min-height:29px;margin-top:2px;padding:5px 10px;border:1px solid #678fa280;border-radius:8px;background:#102534a9;font-size:12px}.daily-info-row b{color:#ffcf65;white-space:nowrap}.daily-info-card>small{display:block;margin-top:10px;color:#c5d7e0;font-size:12px}.daily-info-card a{color:#8eeaf8;font-weight:900;text-decoration:none}.daily-info-card ul{display:grid;gap:5px;margin:11px 0 0;padding:0;list-style:none}.daily-info-card li{position:relative;padding-left:25px;color:#dae8ef;font-size:12px}.daily-info-card li:before{position:absolute;left:0;top:0;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#1f7768;color:#fff;content:'✓';font-weight:900}.daily-play-card{position:relative;overflow:hidden;background:linear-gradient(90deg,#17303ecd,#1726357a),url('assets/background-clean.webp') center 34%/cover}.daily-play-card:after{position:absolute;right:16px;top:21px;color:#d2deeb80;content:'GOOD PLAYERS  •  BETTER STORIES';font-size:12px;letter-spacing:.08em}.daily-play-card a{position:absolute;right:18px;bottom:13px;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 15px;border:1px solid #80f9d6;border-radius:11px;background:linear-gradient(#168f80,#095e61);box-shadow:0 0 15px #42e3b983;color:#fff;font-size:12px;font-weight:900;text-decoration:none}.daily-play-card a span:last-child{font-size:25px;font-weight:400}
.daily-page>footer{margin:11px 0 0;text-align:center;font-size:12px}.daily-page>footer small{font-size:12px}.daily-page>.page-links{justify-content:center;margin-top:6px}.daily-page>.page-links a{font-size:12px}
@media(max-width:1100px){.daily-page-body .daily-page{width:calc(100% - 24px)}.daily-hero,.daily-status-grid{width:100%;margin-left:0}.daily-reward-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-play-card{min-height:160px}.daily-status-grid{grid-template-columns:1fr 1fr}.daily-stat-row{grid-template-columns:1fr}.daily-status,.daily-reset{min-height:310px}}
@media(max-width:800px){.daily-status-grid{grid-template-columns:1fr}.daily-status,.daily-reset{min-height:0}.daily-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-info-grid{grid-template-columns:1fr 1fr}.daily-reward-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.daily-page-body>.topbar nav{width:100%;gap:0;justify-content:space-between}.daily-page-body>.topbar nav a{flex:1;min-width:0;padding-left:2px;padding-right:2px;font-size:14.5px}.daily-page-body .daily-page{width:calc(100% - 20px)}.daily-page-body .zombie-left-edge{display:none}.daily-hero{min-height:165px;margin-top:10px;padding:16px}.daily-hero h1{font-size:31px}.daily-hero h1 .ico{font-size:34px}.daily-hero strong{font-size:12px}.daily-hero p{font-size:12px}.daily-hero p small{display:block;margin-left:0}.daily-status,.daily-reset{padding:12px}.daily-stat-row{grid-template-columns:1fr 1fr;gap:6px}.daily-stat-row>div{min-height:76px;padding:7px;gap:6px}.daily-stat-row>div>span{font-size:23px}.daily-stat-row>div>img{width:37px;height:42px}.daily-stat-row p{font-size:12px}.daily-stat-row strong{font-size:16px}.daily-stat-row small{font-size:12px}.daily-claim-row button{min-width:0;flex:1;font-size:14px}.daily-claim-row>span{display:none}.daily-rewards{padding:11px}.daily-rewards-head{padding-left:45px}.daily-rewards-head h2{font-size:19px}.daily-rewards-head h2 .ico{font-size:37px}.daily-rewards-head>span{display:none}.daily-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.daily-info-grid{grid-template-columns:1fr}.daily-info-card,.daily-play-card{min-height:155px}}
/* [21] HOME SERVER IP + BETA STATUS */
.hero-kicker-row{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.hero-kicker-row .eyebrow{margin:0}
.hero-beta-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #ffbd62a6;border-radius:999px;background:linear-gradient(135deg,#a967355e,#70422473);color:#ffd18a;font-size:12px;font-weight:950;letter-spacing:.13em}
.hero-beta-badge i{width:7px;height:7px;border-radius:50%;background:#ffb85b;box-shadow:0 0 10px #ffb85b}
.hero-server-connect{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin-top:13px;padding:7px 8px 7px 11px;border-radius:13px;background:linear-gradient(145deg,rgba(19,33,45,.87),rgba(10,20,30,.9))}
.hero-server-address{display:flex;align-items:center;gap:9px;min-width:205px}.hero-server-address>div{display:flex;flex-direction:column;line-height:1.1}
.hero-server-address small{color:#8fa6b3;font-size:12px;font-weight:950;letter-spacing:.14em}.hero-server-address b{margin-top:3px;color:#f7fbff;font-size:13px}
.hero-server-dot{width:9px;height:9px;border-radius:50%;background:#70e5b4;box-shadow:0 0 11px #70e5b499}
.hero-server-mode{padding:5px 8px;border:1px solid #70e5b438;border-radius:8px;background:#70e5b40d;color:#8fe7c9;font-size:12px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.hero-copy-ip,.hero-connect-now{min-height:33px;padding:7px 10px;border-radius:9px;font:inherit;font-size:12px;font-weight:900;white-space:nowrap;text-decoration:none}
.hero-copy-ip{border:1px solid #9bb6c75c;background:#ffffff0b;color:#dceaf1}.hero-connect-now{display:inline-flex;align-items:center;border:1px solid #ffd48b;background:linear-gradient(#ffb33b,#ee661d);color:#fff}
@media(max-width:900px){.hero-server-connect{width:100%;flex-wrap:wrap}.hero-server-address{flex:1 1 190px}}
@media(max-width:560px){.hero-kicker-row{align-items:flex-start;flex-direction:column;gap:7px}.hero-server-mode{order:4}.hero-copy-ip,.hero-connect-now{flex:1 1 auto;text-align:center;justify-content:center}}

/* Production readability floor: player-facing helper text must never render below 12px. */
body small{font-size:max(12px,.75em)}
.commands-sidebar>*{min-width:0}
.commands-popular-list{grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%}
.commands-popular-item{min-width:0;max-width:100%}

/* Shared Unturned-style item art: matte props, restrained shadows, one visual language. */
.points-hero:before{background-image:url('assets/item/icon_point_generated_v1.webp');filter:drop-shadow(0 5px 8px #0008)}
.points-hero-art,.points-pack img,.points-exchange-rates img,.points-reward-grid img,.shop-product-art img,.shop-featured-art,.shop-stat>img,.daily-stat-row>div>img,.daily-reward-art img{filter:drop-shadow(0 5px 7px #0009)}
.daily-reward-card:nth-child(6) .daily-reward-art img{filter:drop-shadow(0 5px 7px #0009)}
.daily-bolt-art{color:#d9ad54;text-shadow:2px 3px 0 #684a20,0 5px 7px #000a}
/* [22] PROFILE V2 — match home / beta visual language */

.profile-page{padding-top:18px}
.profile-hero-v2{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:255px;margin-bottom:14px;padding:30px 34px;border-radius:22px;border-color:#a9c7d76e;background:
linear-gradient(90deg,rgba(11,22,33,.97),rgba(19,33,45,.86) 58%,rgba(43,32,24,.72)),
url('assets/background-clean.webp') center 45%/cover;isolation:isolate}
.profile-hero-v2:after{position:absolute;z-index:-1;inset:0;content:'';background:radial-gradient(circle at 82% 35%,rgba(255,176,70,.22),transparent 28%),linear-gradient(0deg,#07111ad1,transparent 60%)}
.profile-hero-copy{position:relative;z-index:2;align-self:center;max-width:760px}
.profile-hero-kickers{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.profile-hero-kickers>span{color:#d6e5ed;font-size:12px;font-weight:950;letter-spacing:.18em}
.profile-hero-kickers>b{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #ffbd62a0;border-radius:999px;background:#ffb85b14;color:#ffd18b;font-size:12px;letter-spacing:.12em}
.profile-hero-kickers b i{width:7px;height:7px;border-radius:50%;background:#ffb85b;box-shadow:0 0 9px #ffb85b}
.profile-hero-v2 h1{margin:0;color:#f9fbff;font-size:clamp(44px,5vw,68px);font-weight:950;line-height:.96;letter-spacing:-.05em;text-shadow:0 4px 0 #243341,0 9px 18px #0008}
.profile-hero-v2 h1 em{color:#ff8b24;font-style:normal}
.profile-hero-v2 h2{margin:10px 0 4px;font-size:17px}
.profile-hero-v2 p{max-width:670px;margin:0;color:#c5d3da;font-size:12px;line-height:1.55}
.profile-hero-server{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin-top:16px;padding:7px 8px 7px 10px;border:1px solid #91afbe5c;border-radius:12px;background:#0b1721b8;box-shadow:inset 0 1px #fff1}
.profile-hero-server>div{min-width:185px}.profile-hero-server small,.profile-hero-server strong{display:block}.profile-hero-server small{color:#8097a3;font-size:12px;font-weight:950;letter-spacing:.14em}.profile-hero-server strong{margin-top:2px;font-size:12px}
.profile-server-online{display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid #70e5b43a;border-radius:8px;background:#70e5b40d;color:#91edcf;font-size:12px;font-weight:900;white-space:nowrap}.profile-server-online i{width:7px;height:7px;border-radius:50%;background:#70e5b4;box-shadow:0 0 8px #70e5b4}
.profile-hero-server button,.profile-hero-server a{min-height:31px;padding:7px 9px;border-radius:8px;font:inherit;font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}.profile-hero-server button{border:1px solid #9bb6c75c;background:#ffffff0b;color:#dceaf1}.profile-hero-server a{display:inline-flex;align-items:center;border:1px solid #ffd48b;background:linear-gradient(#ffb33b,#ee661d);color:#fff}
.profile-hero-side{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:195px}.profile-hero-side img{position:absolute;right:0;bottom:-56px;width:265px;height:290px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 15px 15px #0008)}.profile-hero-ring{position:absolute;right:28px;bottom:4px;width:210px;height:90px;border:1px solid #ffb85b42;border-radius:50%;box-shadow:0 0 0 18px #ffb85b0a,0 0 0 36px #ffb85b06}
.profile-beta-chip{display:inline-flex;padding:6px 8px;border:1px solid #ffb85b66;border-radius:999px;background:#ffb85b12;color:#ffd08a;font-size:12px;font-weight:950;letter-spacing:.08em}
.profile-identity{border-color:#8fb0c15e;background:linear-gradient(145deg,#203241e8,#0e1d28ed)}
.profile-identity .profile-cover-grid{background:linear-gradient(90deg,rgba(6,14,22,.91),rgba(15,29,40,.66)),radial-gradient(circle at 80% 15%,rgba(255,184,91,.22),transparent 32%),url('assets/background-clean.webp') center 55%/cover}
.profile-stat-card{border-color:#7794a55f;background:linear-gradient(145deg,#1d3241e3,#0e1e2aeb)}
.profile-game-xp .profile-stat-icon{color:#8eeaff}.profile-game-point .profile-stat-icon{color:#ffd15f}
.profile-server-card-v2{border-color:#ffb85b4f;background:linear-gradient(145deg,#263240dc,#111e29ef 68%,#2a2119db)}
.profile-server-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}.profile-server-card-head h3{margin:4px 0 0;font-size:18px}.profile-server-beta{padding:5px 7px;border:1px solid #ffb85b66;border-radius:999px;background:#ffb85b12;color:#ffd18b;font-size:12px;font-weight:950;letter-spacing:.08em}
.profile-server-card-body{display:grid;grid-template-columns:1fr 1fr;gap:7px}.profile-server-card-body>div{padding:9px;border:1px solid #7895a54c;border-radius:9px;background:#0b172197}.profile-server-card-body small,.profile-server-card-body b{display:block}.profile-server-card-body small{color:#7f96a2;font-size:12px;font-weight:900;letter-spacing:.08em}.profile-server-card-body b{margin-top:3px;overflow:hidden;color:#eaf4f8;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.profile-server-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.profile-server-card-actions>*{display:flex;align-items:center;justify-content:center;min-height:34px;border-radius:9px;font:inherit;font-size:12px;font-weight:900;text-decoration:none}.profile-server-card-actions button{border:1px solid #91aebe66;background:#ffffff0a;color:#dceaf1}.profile-server-card-actions a{border:1px solid #ffd48b;background:linear-gradient(#ffb33b,#ee661d);color:#fff}
@media(max-width:900px){.profile-hero-v2{grid-template-columns:1fr;padding:24px 22px}.profile-hero-side{display:none}.profile-hero-server{flex-wrap:wrap;width:100%}.profile-hero-server>div{flex:1 1 170px}}
@media(max-width:560px){.profile-page{padding:10px 9px 0}.profile-hero-v2{padding:21px 15px;min-height:0}.profile-hero-v2 h1{font-size:40px}.profile-hero-v2 h2{font-size:14px}.profile-hero-kickers{align-items:flex-start;flex-direction:column}.profile-hero-server>*{flex:1 1 45%}.profile-hero-server>div{flex-basis:100%}.profile-server-online{justify-content:center}.profile-server-card-body{grid-template-columns:1fr 1fr}}
/* [23] TOPBAR PLAYER RESOURCES — XP / POINT split from profile */
.top-player-resources{display:grid;grid-template-columns:repeat(2,82px);gap:7px;flex:0 0 auto}
.top-resource-card{position:relative;display:grid;grid-template-columns:29px 1fr;align-items:center;gap:7px;height:58px;padding:6px 8px;border:1px solid rgba(155,182,199,.42);border-radius:13px;background:linear-gradient(145deg,rgba(33,48,62,.78),rgba(11,22,33,.82));box-shadow:inset 0 1px rgba(255,255,255,.11),0 8px 20px rgba(3,9,15,.34);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#f4f8fb;text-decoration:none;overflow:hidden;transition:.18s ease}
.top-resource-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 12% 50%,rgba(142,234,255,.13),transparent 50%);pointer-events:none}
.top-resource-card:hover{transform:translateY(-1px);border-color:rgba(142,234,255,.66);background:linear-gradient(145deg,rgba(43,62,78,.88),rgba(13,27,39,.9))}
.top-resource-point:before{background:radial-gradient(circle at 12% 50%,rgba(255,209,95,.14),transparent 50%)}
.top-resource-point:hover{border-color:rgba(255,209,95,.66)}
.top-resource-art{position:relative;z-index:1;display:grid;place-items:center;width:29px;height:29px}
.top-resource-art img{display:block;width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45))}
.top-resource-copy{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;gap:1px}
.top-resource-copy small{color:rgba(211,228,237,.62);font-size:12px;font-weight:950;letter-spacing:.1em;line-height:1}
.top-resource-copy b{overflow:hidden;color:#8eeaff;font-size:13px;font-weight:950;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.top-resource-point .top-resource-copy b{color:#ffd15f}
.topbar .login-trigger.is-verified{display:flex;align-items:center;gap:9px;min-width:155px;max-width:190px;height:58px;padding:6px 10px;border-color:rgba(155,182,199,.5)!important;background:linear-gradient(145deg,rgba(39,53,68,.78),rgba(17,27,38,.84));box-shadow:inset 0 1px rgba(255,255,255,.12),0 8px 20px rgba(3,9,15,.32);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);text-align:left}
.topbar .login-trigger.is-verified:hover{border-color:rgba(112,229,180,.68)!important;background:linear-gradient(145deg,rgba(44,65,75,.88),rgba(17,35,41,.9))}
.top-profile-identity{flex:1;min-width:0}
.top-profile-identity small{font-size:12px}
.top-profile-identity b{font-size:12px}
.top-profile-arrow{flex:0 0 auto;color:#a9c6d4;font-size:22px;font-weight:300;line-height:1}
.top-profile-stat{display:none!important}
@media(max-width:1180px){
  .top-player-resources{grid-template-columns:repeat(2,69px);gap:5px}
  .top-resource-card{grid-template-columns:24px 1fr;gap:5px;padding:5px 6px}
  .top-resource-art{width:24px;height:24px}.top-resource-art img{width:27px;height:27px}
  .topbar .login-trigger.is-verified{min-width:138px;max-width:158px}
}
@media(max-width:900px){
  .top-player-resources{display:none}
  .topbar .login-trigger.is-verified{display:none}
}
/* [24] PRE-PROD TOPBAR SAFETY */
@media(max-width:1100px){
  .top-player-resources{display:none}
}

/* [27] DESKTOP FRAME EXPANSION — use the wide canvas instead of leaving the portal compressed */
@media(min-width:901px){
  .portal-page{width:min(1500px,calc(100% - 40px))}
  .hero-copy{max-width:1080px;padding-left:42px}
  .hero h1{font-size:clamp(52px,6.2vw,86px)}
  .hero h2{font-size:28px}
  .hero .intro{font-size:16px}
  .hero-actions{gap:16px;margin-top:20px}
  .hero-server-connect{padding:9px 10px 9px 13px}
  .hero-lower{max-width:1080px;gap:22px;padding-left:42px}
  .hero-lower .ad-card{height:270px;min-height:220px}
}

/* [28] MOBILE BOTTOM NAV — keep navigation reachable without the desktop header */
@media(max-width:700px){
  body{padding-bottom:88px}
  .topbar{
    z-index:80;
    height:0;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important
  }
  .topbar nav{
    position:fixed;
    z-index:90;
    left:10px;
    right:10px;
    bottom:10px;
    width:auto!important;
    height:68px;
    padding:5px;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:3px;
    border:1px solid #a9c8d766;
    border-radius:19px;
    background:linear-gradient(145deg,#1b2a38f2,#0d1722f5);
    box-shadow:0 12px 30px #02070dcc,inset 0 1px #ffffff24;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px)
  }
  .topbar nav a,
  .shop-page-body>.topbar nav a,
  .commands-page-body>.topbar nav a,
  .daily-page-body>.topbar nav a{
    min-width:0!important;
    width:auto;
    height:56px!important;
    padding:4px 0!important;
    border-radius:12px;
    gap:3px!important;
    font-size:14.5px!important;
    line-height:1.05;
    white-space:nowrap
  }
  .topbar nav .nav-icon{display:block!important;font-size:20px;line-height:1}
  .topbar nav a:after{left:10px;right:10px;bottom:3px}
  .zombie-left-edge,
  .character,
  .hero-note,
  .shop-edge-character{display:none!important}
}

/* [29] POINTS DESIGN PASS — accepted Points & Rewards concept */
.points-page-body .points-page{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr);
  grid-template-areas:
    "hero hero"
    "balance balance"
    "packs rewards"
    "exchange history"
    "footer footer"
    "links links";
  gap:14px;
  width:min(1280px,calc(100% - 40px));
  padding-top:20px
}
.points-page>.points-hero{grid-area:hero;min-height:170px;margin:0;padding:28px 42px;border-color:#9bb6c766;border-radius:20px;background:linear-gradient(90deg,#0b1b29e8,#102632cf 58%,#10202db3),url('assets/background-clean.webp') center 38%/cover;box-shadow:0 18px 35px #050b1299,inset 0 1px #ffffff1c}
.points-page>.points-hero:before,.points-page>.points-hero:after,.points-page>.points-hero .points-hero-art,.points-page>.points-hero .points-hero-quote{display:none}
.points-page .points-hero-copy{max-width:760px;padding:0}
.points-page .points-hero h1{margin:0 0 7px;color:#f8fbff;font-size:clamp(36px,4vw,56px);line-height:1.02}
.points-page .points-hero h1 em{color:#ffd15f}
.points-page .points-hero p{max-width:760px;color:#dcebf1;font-size:15px;font-weight:700}
.points-page .points-hero-copy>small{display:block;max-width:660px;margin-top:6px;color:#a8c3ce;font-size:12px}
.points-page>.points-balance-strip{grid-area:balance;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:126px;padding:18px 24px;border-color:#a9c7d766;border-radius:17px;background:linear-gradient(100deg,#0c202de8,#102c38e8 60%,#112632e8);box-shadow:0 15px 28px #050b1299,inset 0 1px #ffffff1c}
.points-balance-main{display:flex;align-items:center;min-width:280px;gap:15px}
.points-balance-main>img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 7px 8px #0009)}
.points-balance-main small,.points-balance-main strong,.points-balance-main span{display:block}
.points-balance-main small{color:#9fc0cc;font-size:12px;font-weight:900;letter-spacing:.12em}
.points-balance-main strong{margin-top:2px;color:#ffd15f;font-size:48px;line-height:1}
.points-balance-main span{display:inline;color:#bfd5dc;font-size:16px}
.points-balance-xp{display:flex;align-items:center;gap:10px;min-width:190px;padding:8px 14px;border-left:1px solid rgba(142,234,255,.2)}
.points-balance-xp>img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 5px 7px #0009)}
.points-balance-xp small,.points-balance-xp strong,.points-balance-xp span{display:block}
.points-balance-xp small{color:#9fc0cc;font-size:12px;font-weight:900;letter-spacing:.1em}
.points-balance-xp strong{margin-top:3px;color:#8eeaff;font-size:28px;line-height:1}
.points-balance-xp span{margin-top:3px;color:#bfd5dc;font-size:12px}
.points-balance-rate{display:flex;align-items:center;gap:12px;min-width:300px;padding:13px 16px;border:1px solid #47c7dc38;border-radius:10px;background:#0b2938b8}
.points-balance-rate-icon{color:#65e9ff;font-size:33px;line-height:1}
.points-balance-rate b,.points-balance-rate small{display:block}
.points-balance-rate b{color:#effcff;font-size:16px}
.points-balance-rate small{margin-top:3px;color:#9dbac5;font-size:12px}
.points-balance-action{min-height:48px;padding:0 22px;border:1px solid #ffd56f;border-radius:9px;background:linear-gradient(#ffd15f,#e99c27);box-shadow:0 0 16px #ffb62f3b;color:#392408;font-size:14px;font-weight:950;white-space:nowrap}
.points-page>.points-main-grid,.points-page>.points-lower-grid{display:contents}
.points-page>.points-main-grid>.points-panel:nth-child(1){grid-area:packs}
.points-page>.points-main-grid>.points-payment{display:none}
.points-page>.points-lower-grid>.points-panel:nth-child(1){grid-area:exchange}
.points-page>.points-lower-grid>.points-rewards{grid-area:rewards}
.points-page>.points-lower-grid>.points-history{grid-area:history}
.points-page>.points-panel{min-width:0;margin:0;padding:18px;border-color:#9bb6c766;border-radius:16px;background:linear-gradient(145deg,#152f3deb,#0c202ce9);box-shadow:0 14px 28px #050b1299,inset 0 1px #ffffff1c}
.points-page>.points-panel>header{min-height:42px;margin-bottom:12px}
.points-page>.points-panel h2{font-size:22px}
.points-page>.points-panel p{font-size:12px}
.points-page .points-pack-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.points-page .points-pack{min-height:224px;background:linear-gradient(145deg,#173645e8,#0d2533ef)}
.points-page .points-pack img{width:90px;height:90px}
.points-page .points-pack b{font-size:16px}
.points-page .points-pack strong{font-size:16px}
.points-page .points-rewards{align-self:stretch}
.points-page .points-rewards .points-reward-grid{grid-template-columns:1fr;gap:8px}
.points-page .points-rewards .points-reward-grid article{display:grid;grid-template-columns:66px minmax(0,1fr) 98px;grid-template-rows:auto auto;grid-template-areas:"art name action" "art detail action";align-items:center;min-height:74px;padding:7px 9px;border-color:#7f9bab66;background:#102a38d9;text-align:left}
.points-page .points-rewards .points-reward-grid img{grid-area:art;width:58px;height:58px}
.points-page .points-rewards .points-reward-grid b{grid-area:name;display:block;margin:0}
.points-page .points-rewards .points-reward-grid small{grid-area:detail;display:block;margin:3px 0 0}
.points-page .points-rewards .points-reward-grid button{grid-area:action;width:98px;margin:0}
.points-page .points-exchange-rates{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.points-page .points-exchange-rates article{min-height:190px;padding:7px;background:linear-gradient(145deg,#173c4be8,#0c2836ee)}
.points-page .points-exchange-rates img{height:88px}
.points-page .points-exchange-rates button{width:100%;margin-top:auto}
.points-page .points-history{align-self:stretch}
.points-history-icon{display:inline-block;margin-right:5px;color:#6beaff;font-size:27px;vertical-align:-2px}
.points-history-list{display:grid;gap:0;margin:8px 0 0;padding:0;list-style:none}
.points-history-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:5px 8px;border-bottom:1px solid #678fa233;color:#b7ccd5;font-size:12px}
.points-history-list li:last-child{border-bottom:0}
.points-history-list b{color:#5ce9f4;font-size:15px}
.points-history-list b.is-negative{color:#ffd15f}
.points-history-empty{display:grid;place-items:center;min-height:155px;padding:18px;border:1px dashed #6b9caf66;border-radius:10px;background:#0b1f2b88;text-align:center}
.points-history-empty-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #6beaff66;border-radius:50%;color:#6beaff;font-size:24px;line-height:1}
.points-history-empty b{margin-top:8px;color:#e6f5fa;font-size:14px}
.points-history-empty small{max-width:230px;margin-top:4px;color:#9db9c4;font-size:12px;line-height:1.4}
.points-history-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border-bottom:1px solid rgba(255,255,255,.08)}.points-history-row:last-child{border-bottom:0}.points-history-row-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(99,231,192,.4);border-radius:9px;background:rgba(47,159,137,.12);color:#63e7c0}.points-history-row span:nth-child(2){min-width:0}.points-history-row b,.points-history-row small{display:block}.points-history-row b{color:#edfaff;font-size:13px}.points-history-row small{margin-top:3px;overflow:hidden;color:#91a9b4;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.points-history-row strong{color:#ffd15f;font-size:13px;white-space:nowrap}.points-pack button:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.25)}
.points-page>footer,.points-page>.page-links{grid-column:1/-1}
.points-page>footer{margin:0;text-align:center}
.points-page>.page-links{margin-top:-5px;justify-content:center}
@media(max-width:900px){
  .points-page-body .points-page{display:block;width:calc(100% - 20px);padding-top:12px}
  .points-page>.points-balance-strip{flex-wrap:wrap;align-items:stretch}
  .points-balance-main{flex:1 1 260px}
  .points-balance-xp{flex:1 1 220px;min-width:0}
  .points-balance-rate{flex:1 1 260px;min-width:0}
  .points-balance-action{flex:1 1 100%;width:100%}
  .points-page>.points-main-grid,.points-page>.points-lower-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
  .points-page>.points-main-grid>.points-payment{display:none}
  .points-page>.points-panel{padding:14px}
  .points-page .points-rewards .points-reward-grid{grid-template-columns:1fr 1fr}
  .points-page .points-rewards .points-reward-grid article{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;grid-template-areas:"art" "name" "detail" "action";justify-items:center;text-align:center}
  .points-page .points-rewards .points-reward-grid img{width:82px;height:82px}
  .points-page .points-rewards .points-reward-grid button{width:100%;margin-top:8px}
}
@media(max-width:600px){
  .points-page>.points-hero{min-height:170px;padding:22px 18px}
  .points-page .points-hero h1{font-size:36px}
  .points-page .points-hero p{font-size:13px}
  .points-balance-main{gap:10px}
  .points-balance-main>img{width:70px;height:70px}
  .points-balance-main strong{font-size:38px}
  .points-balance-xp{padding:8px 0;border-left:0}
  .points-balance-xp>img{width:52px;height:52px}
  .points-balance-xp strong{font-size:24px}
  .points-balance-rate{padding:10px}
  .points-page .points-pack-grid,.points-page .points-exchange-rates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .points-page .points-pack{min-height:205px}
  .points-page .points-pack img{width:74px;height:74px}
  .points-page .points-rewards .points-reward-grid{grid-template-columns:1fr}
  .points-page .points-rewards .points-reward-grid article{grid-template-columns:60px minmax(0,1fr) 88px;grid-template-rows:auto auto;grid-template-areas:"art name action" "art detail action";justify-items:initial;text-align:left}
  .points-page .points-rewards .points-reward-grid img{width:52px;height:52px}
  .points-page .points-rewards .points-reward-grid button{width:88px;margin:0}
}

/* [25] EVENTS PAGE — homepage design language
   Keep the event content and data hooks, but present it as one clear portal journey:
   page identity -> featured registration event -> live schedule -> supporting info. */
.events-page{display:flex;flex-direction:column;gap:0}
.events-page>.topbar{order:1}
/* หัวกิจกรรม: ไม่มีพื้นหลัง/ขอบ/เงา/glass — ยกเลิก override แล้วใช้ค่าจาก shared block (.page-header)
   หมายเหตุ: ก่อนหน้านี้ rule นี้ specificity สูงกว่า จึงทับ .page-header{background:transparent!important} */
.events-page>.page-head{order:2;margin-top:18px;padding:22px 28px;border-radius:20px}
.events-page>.page-head .breadcrumb{margin-bottom:10px}
.events-page>.page-head h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.045em}
.events-page>.page-head h1 .ico{color:var(--orange);filter:drop-shadow(0 0 7px #ff9e3a66)}
.events-page>.page-head p{max-width:78ch;color:#d6e2e9;font-size:12px;line-height:1.55}
.events-page>#beta-page{order:3;margin-top:16px;margin-bottom:0;padding:25px 30px 22px;border-color:#ffb85b88;border-radius:22px;text-align:left;background:linear-gradient(110deg,rgba(14,32,45,.96),rgba(12,24,35,.9)),url('assets/point-exp-bg.webp') center/cover;box-shadow:0 18px 38px #050b1299,inset 0 1px #ffffff1c}
.events-page>#beta-page:before{background:linear-gradient(90deg,rgba(8,18,28,.92),rgba(8,18,28,.45) 58%,rgba(8,18,28,.2)),url('assets/background-clean.webp') center/cover;opacity:.28}
.events-page .beta-event-heading{max-width:820px}
.events-page .beta-event-heading>span{color:var(--gold);font-size:12px;letter-spacing:.2em}
.events-page .beta-event-heading h1{margin:6px 0 4px;font-size:clamp(34px,5vw,58px);letter-spacing:-.05em;text-shadow:0 4px 0 #263342}
.events-page .beta-event-heading p{font-size:15px;line-height:1.35}
.events-page .beta-event-heading>small{max-width:720px;margin:7px 0 0;font-size:12px;line-height:1.5}
.events-page .beta-guarantee{width:min(760px,100%);margin:14px 0 0;border-color:#70e5b477;border-radius:13px;background:rgba(9,30,43,.74);box-shadow:inset 0 1px #ffffff16}
.events-page .beta-milestones{margin:14px 0 0;width:100%}
.events-page .beta-event-progress{width:100%;margin:13px 0 0;border:1px solid #8cb6c966;background:rgba(4,16,25,.65)}
.events-page .beta-reward-heading{justify-content:flex-start;gap:14px;margin-top:18px}
.events-page .beta-reward-heading>span{width:52px}
.events-page .beta-reward-heading h2{font-size:20px}
.events-page .beta-rewards{width:100%;margin-top:10px}
.events-page .beta-reward{background:rgba(255,255,255,.06)}
.events-page .beta-register-button{margin:18px 0 0;min-width:270px;background:linear-gradient(#ffb43d,#e96520);box-shadow:0 0 18px #ff8d2c55,inset 0 1px #fff7}
.events-page .beta-page-note{text-align:left}
.events-page>.section{order:4;margin-top:18px}
.events-page>.section .section-head h2{font-size:clamp(20px,2.5vw,28px);letter-spacing:-.025em}
.events-page>.section .card,.events-page>.section .rows{border-radius:15px}
.events-page>footer,.events-page>.page-links{order:5}
@media(max-width:800px){
  .events-page>.page-head{margin:12px 9px 0;padding:18px 16px}
  .events-page>#beta-page{margin:12px 9px 0;padding:22px 16px 18px}
  .events-page .beta-event-heading p{font-size:13px}
  .events-page .beta-event-progress{grid-template-columns:1fr 1fr}
  .events-page .beta-event-progress .beta-progress{grid-column:1/-1}
  .events-page .beta-event-progress>em{grid-column:1/-1}
}
@media(max-width:500px){
  .events-page .beta-event-heading h1{font-size:40px}
  .events-page .beta-guarantee{padding-left:92px}
  .events-page .beta-register-button{width:100%;min-width:0}
  .events-page .beta-page-note{text-align:center}
}

/* [30] PLAYER PORTAL PRODUCTION SYSTEM — approved UX/UI redesign */
:root{
  --kj-bg:#08121b;
  --kj-bg-soft:#0d1b27;
  --kj-panel:rgba(15,31,43,.9);
  --kj-panel-strong:rgba(19,40,53,.96);
  --kj-line:rgba(139,178,198,.32);
  --kj-line-strong:rgba(148,195,216,.52);
  --kj-text:#f4f8fb;
  --kj-muted:#9fb5c0;
  --kj-orange:#f29a38;
  --kj-orange-strong:#ffb348;
  --kj-mint:#70e5b4;
  --kj-cyan:#74dff3;
  --kj-gold:#ffd15f;
  --kj-danger:#ff7d73;
  --kj-shadow:0 18px 44px rgba(0,6,12,.38);
  --kj-radius-sm:10px;
  --kj-radius-md:14px;
  --kj-radius-lg:18px;
  --kj-content:1280px;
}

html{scroll-padding-top:92px}
body{
  min-width:320px;
  color:var(--kj-text);
  font-size:14px;
  line-height:1.55;
  background:var(--kj-bg);
}
button,input,textarea,select{font-family:inherit}
button,a,input,textarea,select{outline-offset:3px}
:focus-visible{outline:2px solid var(--kj-cyan);outline-offset:3px}
.skyline{background-position:center top}
.skyline:after{
  background:
    linear-gradient(180deg,rgba(6,15,24,.35),rgba(5,13,21,.82) 72%,#07111a 100%),
    linear-gradient(90deg,rgba(5,14,23,.78),rgba(8,19,29,.42) 50%,rgba(5,14,23,.7));
}
@media(min-width:901px){
  .zombie-left-edge,.character,.hero-note,.shop-edge-character{display:block!important}
}
.glass{
  border-color:var(--kj-line);
  background:var(--kj-panel);
  box-shadow:var(--kj-shadow),inset 0 1px rgba(255,255,255,.06);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.portal-page{width:min(var(--kj-content),calc(100% - 40px));padding-bottom:32px}
.topbar,
.portal-page>.topbar{
  width:min(var(--kj-content),calc(100% - 40px));
  min-height:72px;
  margin:10px auto 0;
  padding:7px 12px 7px 16px;
  gap:18px;
  border-radius:16px;
}
.portal-page>.topbar{width:100%}
.brand{flex-basis:190px;height:54px}
.topbar nav{gap:3px}
.topbar nav a{
  min-width:68px;
  height:56px;
  padding:7px 10px;
  border-radius:10px;
  font-size:15.5px;
  white-space:nowrap;
}
.nav-icon{font-size:19px}
.topbar nav a:hover,
.topbar nav a.nav-active,
.topbar nav a[aria-current="page"]{
  border-color:rgba(255,184,91,.62);
  background:linear-gradient(145deg,rgba(170,98,43,.82),rgba(105,58,28,.9));
  box-shadow:inset 0 1px rgba(255,228,191,.24),0 8px 20px rgba(2,7,12,.35);
}
.steam{min-height:44px;border-radius:10px}
.page-header,
.commands-page-body .commands-hero,
.daily-page-body .daily-hero,
.profile-page-body .profile-hero-v2{
  min-height:148px;
  margin-top:18px;
  padding:28px 34px;
  border-radius:var(--kj-radius-lg);
  overflow:hidden;
  background:
    linear-gradient(100deg,rgba(10,26,38,.96),rgba(15,35,47,.84) 64%,rgba(18,38,48,.72)),
    url('assets/background-clean.webp') center 42%/cover;
}
.page-header h1,
.commands-page-body .commands-hero h1,
.daily-page-body .daily-hero h1,
.profile-page-body .profile-hero-v2 h1{
  margin:0;
  color:#fff;
  font-size:clamp(32px,4vw,46px);
  line-height:1.08;
  letter-spacing:-.035em;
  text-shadow:0 3px 0 rgba(19,43,58,.75);
}
.page-header p,
.commands-page-body .commands-hero p,
.daily-page-body .daily-hero p,
.profile-page-body .profile-hero-v2 p{
  max-width:760px;
  margin:10px 0 0;
  color:#c9d9e0;
  font-size:14px;
  line-height:1.55;
}
.page-header .ico{color:var(--kj-orange-strong)}
.breadcrumb,.page-links{display:none!important}
.section{margin-top:26px}
.section-head{margin-bottom:13px}
.section-head h2{font-size:22px;letter-spacing:-.02em}
.section-head p{font-size:12px;color:var(--kj-muted)}
.card,.rows,.table-wrap{border-color:var(--kj-line)}
footer{
  margin-top:34px;
  padding:20px 0 6px;
  border-top:1px solid rgba(139,178,198,.2);
  color:#9fb3bd;
  font-size:12px;
  text-align:center;
}
footer b{color:#dceaf0}

/* Commands: compact utility surface */
.commands-page-body .commands-page{width:min(var(--kj-content),calc(100% - 40px));padding-top:0}
.commands-page-body .commands-hero{display:flex;align-items:center;justify-content:space-between}
.commands-page-body .commands-hero:before,.commands-page-body .commands-hero:after{display:none}
.commands-page-body .commands-hero-copy{max-width:760px}
.commands-page-body .commands-hero strong{display:block;margin-top:9px;color:#eaf4f7;font-size:16px}
.commands-hero-icon{display:inline-grid;place-items:center;width:48px;height:48px;margin-right:10px;border:1px solid rgba(242,154,56,.56);border-radius:12px;background:rgba(242,154,56,.13);color:var(--kj-orange-strong);font-size:24px;vertical-align:5px}
.commands-page-body .commands-toolbar{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  align-items:center;
  gap:14px;
  margin-top:14px;
  padding:12px;
  border-radius:var(--kj-radius-md);
  background:rgba(12,27,39,.94);
}
.commands-search{min-height:46px;border-radius:10px;background:rgba(5,16,25,.68)}
.commands-search input{font-size:14px}
.commands-filters{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none}
.commands-filters::-webkit-scrollbar{display:none}
.commands-filters button{min-height:40px;padding:8px 13px;border-radius:9px;font-size:12px;white-space:nowrap}
.commands-columns{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:18px;margin-top:20px}
.commands-main-column{min-width:0}
.commands-catalog-head{align-items:end;margin-bottom:10px;padding:0 2px}
.commands-catalog-head h2{margin:0;font-size:22px}
.commands-catalog-head p{margin:3px 0 0;color:var(--kj-muted);font-size:12px}
.commands-catalog-head>span{padding:5px 9px;border:1px solid var(--kj-line);border-radius:8px;background:rgba(10,25,35,.72);color:#bad0d8;font-size:12px}
.commands-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.commands-item{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  grid-template-areas:"icon copy action" "icon group action";
  align-items:center;
  min-height:82px;
  padding:11px 11px 11px 12px;
  border:1px solid rgba(130,168,188,.28);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(20,40,53,.84),rgba(9,24,35,.88));
  box-shadow:inset 0 1px rgba(255,255,255,.045);
}
.commands-item:hover{border-color:rgba(116,223,243,.48);background:linear-gradient(145deg,rgba(24,48,61,.92),rgba(10,28,40,.94))}
.commands-item-icon{grid-area:icon;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(116,223,243,.35);border-radius:9px;background:rgba(116,223,243,.08);color:var(--kj-cyan);font-size:17px}
.commands-item-copy{grid-area:copy;min-width:0;padding-right:8px}
.commands-item-copy b,.commands-item-copy small{display:block}
.commands-item-copy code{color:#f7fbfd;font-size:14px}
.commands-item-copy small{margin-top:2px;color:#9eb5c0;font-size:12px;line-height:1.35}
.commands-item-group{grid-area:group;width:max-content;margin-top:5px;padding:2px 7px;border:0;border-radius:6px;background:rgba(255,255,255,.055);color:#94adb8;font-size:12px}
.commands-item>button{grid-area:action;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:72px;min-height:38px;border:1px solid rgba(242,154,56,.48);border-radius:9px;background:rgba(242,154,56,.1);color:#ffd09a;font-size:12px;font-weight:850}
.commands-item>button:hover{background:var(--kj-orange);color:#1c1208}
.commands-sidebar{display:flex;flex-direction:column;gap:12px}
.commands-sidebar>section{margin:0;padding:16px;border-radius:var(--kj-radius-md)}
.commands-sidebar h2{margin:0;font-size:17px}
.commands-sidebar>section>p{margin:5px 0 12px;color:var(--kj-muted);font-size:12px}
.commands-popular-list{display:grid;gap:0}
.commands-popular-item{min-width:0;padding:10px 0;border:0;border-bottom:1px solid rgba(139,178,198,.17);background:transparent}
.commands-popular-item:last-child{border-bottom:0}
.commands-popular-item>span{display:none}
.commands-popular-item button{min-height:34px;padding:6px 8px;font-size:12px}
.commands-tips ul{margin:0;padding-left:18px;color:#bbccd4;font-size:12px;line-height:1.65}
.commands-no-results{grid-column:1/-1;min-height:180px;margin:0;padding:48px 20px;border:1px dashed var(--kj-line);border-radius:12px;color:var(--kj-muted);text-align:center}

/* Daily: one summary, connected reward rail, two open panels */
.daily-page-body .daily-page{width:min(var(--kj-content),calc(100% - 40px));padding-top:0}
.daily-page-body .daily-hero:before,.daily-page-body .daily-hero:after{display:none}
.daily-page-body .daily-hero strong{display:block;margin-top:8px;color:#ecf6f9;font-size:16px}
.daily-status-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:12px;margin-top:14px}
.daily-status,.daily-reset{min-width:0;margin:0;padding:18px 20px;border-radius:var(--kj-radius-md)}
.daily-status>h2,.daily-reset>h2{margin:0;font-size:18px}
.daily-status>p,.daily-reset>p{margin:3px 0 12px;color:var(--kj-muted);font-size:12px}
.daily-stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.daily-stat-row>div{min-height:86px;padding:12px;border:1px solid rgba(139,178,198,.22);border-radius:10px;background:rgba(6,20,30,.45)}
.daily-stat-row strong{font-size:22px}
.daily-claim-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.daily-claim-row button{min-height:44px;border-radius:9px}
.daily-claim-row>span{color:#8fa8b4;font-size:12px;text-align:right}
.daily-timer{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.daily-timer .timer-cell{min-height:70px;padding:9px 6px;border-radius:9px;background:rgba(6,20,30,.55)}
.daily-timer .timer-cell b{font-size:24px}
.daily-reset-note{margin:10px 0 0!important;padding:8px 10px;border:0!important;border-radius:8px;background:rgba(116,223,243,.07);font-size:12px!important}
.daily-rewards{position:relative;margin-top:14px;padding:20px;border-radius:var(--kj-radius-lg);overflow:hidden}
.daily-rewards-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.daily-rewards-head h2{margin:0;font-size:22px}
.daily-rewards-head p{margin:3px 0 0;color:var(--kj-muted);font-size:12px}
.daily-rewards-head>span{color:#78919d;font-size:12px;letter-spacing:.12em;text-align:right}
.daily-reward-grid{position:relative;display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px}
.daily-reward-grid:before{content:"";position:absolute;z-index:0;left:7%;right:7%;top:33px;height:2px;background:linear-gradient(90deg,var(--kj-orange),rgba(139,178,198,.25))}
.daily-reward-card{position:relative;z-index:1;display:flex;min-width:0;min-height:190px;padding:10px;flex-direction:column;align-items:center;border:1px solid rgba(139,178,198,.25);border-radius:11px;background:linear-gradient(160deg,rgba(19,42,55,.96),rgba(8,23,33,.96));text-align:center}
.daily-reward-card.is-featured{border-color:rgba(242,154,56,.72);box-shadow:0 0 0 1px rgba(242,154,56,.16),0 12px 26px rgba(0,0,0,.24)}
.daily-reward-card.is-locked{opacity:.72}
.daily-reward-card.is-locked .daily-reward-art img,.daily-reward-card.is-locked .daily-reward-art .ico{filter:grayscale(1) saturate(0) brightness(.62) drop-shadow(0 7px 8px rgba(0,0,0,.42))}
.daily-reward-card.is-locked strong,.daily-reward-card.is-locked small,.daily-reward-card.is-locked h3{color:#9fb0bb}
.daily-reward-card.is-locked button{filter:grayscale(.6) brightness(.85)}
.daily-reward-card h3{align-self:stretch;margin:0;padding-bottom:7px;border-bottom:1px solid rgba(139,178,198,.16);font-size:12px}
.daily-reward-art{display:grid;place-items:center;width:76px;height:76px;margin:8px auto 4px}
.daily-reward-art img{max-width:72px;max-height:72px;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(0,0,0,.42))}
.daily-reward-card strong{min-height:36px;color:#e8f1f4;font-size:12px}
.daily-reward-card>small{min-height:30px;margin:-2px 0 6px;color:var(--kj-muted);font-size:12px;line-height:1.25}
.daily-reward-card button{width:100%;min-height:36px;margin-top:auto;border-radius:8px;font-size:12px}
.daily-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.daily-info-card{min-height:230px;margin:0;padding:20px;border-radius:var(--kj-radius-md)}
.daily-info-card h2{margin:0;font-size:19px}
.daily-info-card>p{margin:4px 0 12px;color:var(--kj-muted);font-size:12px}
.daily-info-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.daily-info-card li{padding:9px 11px;border-bottom:1px solid rgba(139,178,198,.17);color:#c8d7dd;font-size:13px}
.daily-inline-action{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:14px;padding:8px 14px;border:1px solid rgba(112,229,180,.5);border-radius:9px;background:rgba(112,229,180,.1);color:#a3f0d6;font-weight:800;text-decoration:none}
.daily-empty-state{display:grid;place-items:center;min-height:150px;padding:18px;border:1px dashed rgba(139,178,198,.32);border-radius:11px;background:rgba(5,18,27,.36);text-align:center}
.daily-empty-state>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--kj-line);border-radius:50%;color:var(--kj-cyan)}
.daily-empty-state b{margin-top:8px}
.daily-empty-state p{max-width:330px;margin:4px 0 0;color:var(--kj-muted);font-size:12px}

/* Events: one page identity, registration feature, live rows, compact help */
.events-page>.page-head{order:2;margin-top:18px;padding:28px 34px}
.events-page>#beta-page{order:5;margin-top:20px;padding:24px 26px;border-radius:var(--kj-radius-lg)}
.events-page .beta-event-heading h2{margin:5px 0 4px;font-size:clamp(32px,4.6vw,52px);line-height:1}
.events-page .beta-event-heading h2 span{color:var(--kj-orange-strong)}
.events-page .beta-event-heading>span{font-size:12px}
.events-page .beta-guarantee{margin-top:12px}
.events-page .beta-reward-heading{margin-top:14px}
.events-page .beta-rewards{margin-top:8px}
.events-page>.section{order:4;margin-top:20px}
.events-page>footer{order:6}
.events-page [data-event-list]{overflow:hidden;border:1px solid var(--kj-line);border-radius:var(--kj-radius-md);background:rgba(11,27,38,.84)}
.events-page [data-event-list] .row{min-height:72px;border:0;border-bottom:1px solid rgba(139,178,198,.16);border-radius:0;background:transparent}
.events-page [data-event-list] .row:last-child{border-bottom:0}
.events-page .timer.is-unscheduled{display:block}
.event-unscheduled{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:12px 14px}
.event-unscheduled>.ico{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(242,154,56,.45);border-radius:10px;background:rgba(242,154,56,.09);color:var(--kj-orange-strong)}
.event-unscheduled b,.event-unscheduled small{display:block}.event-unscheduled small{margin-top:2px;color:var(--kj-muted);font-size:12px}.event-unscheduled a{color:#ffd09a;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.events-page .timer.is-unscheduled+.note-box{display:none}
.event-help-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:0!important;border:1px solid var(--kj-line);border-radius:var(--kj-radius-md);background:rgba(11,27,38,.88);overflow:hidden}
.event-help-strip>div{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:92px;padding:15px 16px;border-right:1px solid rgba(139,178,198,.17)}
.event-help-strip>div:last-child{border-right:0}
.event-help-strip .ico{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(116,223,243,.08);color:var(--kj-cyan)}
.event-help-strip p{margin:0}.event-help-strip b,.event-help-strip small{display:block}.event-help-strip small{margin-top:2px;color:var(--kj-muted);font-size:12px}.event-help-strip a{color:#ffd09a;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}

/* Rules: document rhythm instead of a card wall */
.utility-page{padding-top:0}
.rules-jump-nav{position:sticky;z-index:5;top:8px;display:flex;justify-content:flex-start;gap:4px;margin-top:12px;padding:7px;border-radius:12px;overflow-x:auto;scrollbar-width:none}
.rules-jump-nav::-webkit-scrollbar{display:none}
.rules-jump-nav a{display:inline-flex;align-items:center;min-height:38px;padding:7px 12px;border-radius:8px;color:#c5d6dd;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.rules-jump-nav a:hover{background:rgba(116,223,243,.09);color:#fff}
.rules-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:0;border-radius:0;background:transparent;overflow:visible}
.rules-sections>.card{margin:0;padding:18px;border:1px solid rgba(139,178,198,.17);border-radius:var(--kj-radius-md);background:rgba(11,27,38,.72);box-shadow:none}
.rules-sections>.card:last-child{grid-column:1/-1}
.rules-sections .card-head{margin-bottom:8px}
.rules-sections h3{font-size:17px}
.rules-sections .rows{border:0;background:transparent}
.rules-sections .row{min-height:54px;padding:9px 0;border:0;border-bottom:1px solid rgba(139,178,198,.13);border-radius:0;background:transparent;font-size:13px}
.rules-sections .row:last-child{border-bottom:0}
.rules-page .table-wrap{border-radius:var(--kj-radius-md);background:rgba(11,27,38,.86)}
.rules-page th,.rules-page td{padding:13px 15px;font-size:13px}
.appeal-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px;border-radius:var(--kj-radius-md)}
.appeal-panel>div{display:flex;align-items:center;gap:14px}.appeal-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border:1px solid rgba(116,223,243,.35);border-radius:12px;background:rgba(116,223,243,.08);color:var(--kj-cyan);font-size:22px}.appeal-panel h3{margin:0;font-size:18px}.appeal-panel p{max-width:720px;margin:4px 0 0;color:var(--kj-muted);font-size:12px}.appeal-panel>a{flex:0 0 auto;min-height:44px;text-decoration:none}

/* Mods: direct install path and a useful empty state */
.mods-onboarding>.grid-2{grid-template-columns:1.1fr .9fr;gap:12px}
.mods-onboarding .card{padding:19px;border-radius:var(--kj-radius-md);background:rgba(12,29,40,.9)}
.mods-onboarding .rows{border:0;background:transparent}
.mods-onboarding ol.rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;counter-reset:modstep}
.mods-onboarding ol.rows li{position:relative;min-height:82px;padding:13px 12px 12px 48px;border:1px solid rgba(139,178,198,.2);border-radius:10px;background:rgba(5,18,27,.35);font-size:13px;list-style:none;counter-increment:modstep}
.mods-onboarding ol.rows li:before{content:counter(modstep);position:absolute;left:12px;top:12px;display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(242,154,56,.5);border-radius:8px;background:rgba(242,154,56,.1);color:#ffc47f;font-weight:900}
.mods-page .table-wrap{border-radius:var(--kj-radius-md);background:rgba(11,27,38,.86)}
.mods-page .search[hidden]{display:none!important}
.mods-page .table-wrap.is-empty thead,.mods-page .table-wrap.is-empty caption{display:none}
.mods-page .table-wrap.is-empty td{height:170px;text-align:center}
.mods-safety-strip{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:18px;padding:18px 20px;border-radius:var(--kj-radius-md)}
.mods-safety-strip>div{display:flex;align-items:center;gap:11px}.mods-safety-strip .ico{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:rgba(116,223,243,.08);color:var(--kj-cyan)}.mods-safety-strip p{margin:0}.mods-safety-strip b,.mods-safety-strip small{display:block}.mods-safety-strip small{color:var(--kj-muted);font-size:12px}.mods-safety-strip>a{min-height:44px;text-decoration:none}

/* Profile: account hub, no duplicate server marketing */
.profile-page-body .profile-page{width:min(var(--kj-content),calc(100% - 40px));padding-top:0}
.profile-page-body .profile-hero-v2{display:block}
.profile-page-body .profile-hero-v2:before,.profile-page-body .profile-hero-v2:after{display:none}
.profile-page-body .profile-hero-copy{max-width:760px}
.profile-page-body .profile-hero-v2 h1{font-style:normal}
.profile-page-body .profile-hero-v2 h1 em{color:inherit;font-style:normal}
.profile-hero-kickers,.profile-hero-side,.profile-hero-server,.profile-beta-chip,.profile-server-card-v2{display:none!important}
.profile-loading{margin-top:14px;border-radius:var(--kj-radius-md)}
.profile-guest{min-height:300px;margin-top:14px;padding:28px;border-radius:var(--kj-radius-lg)}
.profile-identity{margin-top:14px;border-radius:var(--kj-radius-lg)}
.profile-stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.profile-stat-card{min-height:112px;padding:14px;border-radius:12px}
.profile-content-grid{gap:12px;margin-top:12px}
.profile-section-card{border-radius:var(--kj-radius-md)}
.profile-eyebrow{display:none}
.profile-section-head h3{margin-top:0}

/* Preserve the accepted Points / Shop layouts, remove repetition */
.points-page>.points-hero,.shop-page>.shop-hero{margin-top:18px}
.points-page>.points-hero{min-height:148px;padding:26px 34px}
.points-page .points-hero h1{font-size:clamp(34px,4vw,48px)}
.shop-hero-quote,.points-hero-quote{display:none!important}
.shop-profile-summary small{display:none}
.shop-profile-links{gap:5px}
.shop-profile-links>*{min-height:42px}

/* Home remains the cinematic brand exception, with less chrome */
body:not([class]) .hero{margin-top:10px}
body:not([class]) .hero-copy{padding-left:30px}
body:not([class]) .hero-lower{padding-left:30px}

@media(max-width:1180px){
  .portal-page,.points-page-body .points-page,.commands-page-body .commands-page,.daily-page-body .daily-page,.profile-page-body .profile-page{width:calc(100% - 28px)}
  .topbar,.portal-page>.topbar{width:calc(100% - 28px)}
  .portal-page>.topbar{width:100%}
  .brand{flex-basis:170px}
  .topbar nav a{min-width:60px;padding-inline:7px}
  .commands-columns{grid-template-columns:minmax(0,1fr) 260px}
  .commands-list{grid-template-columns:1fr}
  .event-help-strip>div{grid-template-columns:34px minmax(0,1fr)}
  .event-help-strip a{grid-column:2}
  .daily-reward-grid{overflow-x:auto;grid-template-columns:repeat(7,130px);padding-bottom:6px;scroll-snap-type:x proximity}
  .daily-reward-card{scroll-snap-align:start}
}

@media(max-width:900px){
  html{scroll-padding-top:12px}
  .portal-page,.points-page-body .points-page,.shop-page-body .shop-page,.commands-page-body .commands-page,.daily-page-body .daily-page,.profile-page-body .profile-page{width:calc(100% - 20px)}
  .page-header,.commands-page-body .commands-hero,.daily-page-body .daily-hero,.profile-page-body .profile-hero-v2{min-height:132px;margin-top:12px;padding:22px 20px}
  .commands-page-body .commands-toolbar{grid-template-columns:1fr}
  .commands-columns{grid-template-columns:1fr}
  .commands-sidebar{display:grid;grid-template-columns:1fr 1fr}
  .daily-status-grid{grid-template-columns:1fr}
  .daily-info-grid{grid-template-columns:1fr 1fr}
  .event-help-strip{grid-template-columns:1fr}
  .event-help-strip>div{border-right:0;border-bottom:1px solid rgba(139,178,198,.17)}
  .event-help-strip>div:last-child{border-bottom:0}
  .rules-sections{grid-template-columns:1fr}
  .rules-sections>.card{border:1px solid rgba(139,178,198,.17)}
  .rules-sections>.card:last-child{grid-column:auto}
  .mods-onboarding>.grid-2{grid-template-columns:1fr}
  .mods-safety-strip{grid-template-columns:1fr 1fr}
  .mods-safety-strip>a{grid-column:1/-1}
  .profile-stat-row{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  body{padding-bottom:92px}
  .portal-page,.commands-page-body .commands-page,.daily-page-body .daily-page,.profile-page-body .profile-page{width:calc(100% - 20px)}
  .topbar,.portal-page>.topbar{width:100%}
  .page-header,.commands-page-body .commands-hero,.daily-page-body .daily-hero,.profile-page-body .profile-hero-v2{padding:20px 16px;border-radius:14px}
  .page-header h1,.commands-page-body .commands-hero h1,.daily-page-body .daily-hero h1,.profile-page-body .profile-hero-v2 h1{font-size:30px}
  .commands-hero-icon{width:40px;height:40px;font-size:20px;vertical-align:3px}
  .commands-page-body .commands-toolbar{position:sticky;z-index:6;top:6px;margin-top:10px;padding:9px}
  .commands-search{min-height:44px}
  .commands-filters{margin:0 -2px;padding-bottom:1px}
  .commands-columns{margin-top:14px}
  .commands-list{grid-template-columns:1fr}
  .commands-item{grid-template-columns:36px minmax(0,1fr) 42px;min-height:78px;padding:9px}
  .commands-item>button{position:relative;min-width:40px;width:40px;padding:0;font-size:12px}
  .commands-item>button .ico{font-size:16px}
  .commands-item>button .copy-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .commands-sidebar{grid-template-columns:1fr}
  .commands-popular{display:none}
  .daily-status,.daily-reset{padding:16px}
  .daily-stat-row{grid-template-columns:1fr 1fr}
  .daily-claim-row{align-items:stretch;flex-direction:column}
  .daily-claim-row>span{text-align:left}
  .daily-rewards{padding:16px 12px}
  .daily-rewards-head{align-items:flex-start;flex-direction:column}
  .daily-rewards-head>span{display:none}
  .daily-reward-grid{margin-right:-12px}
  .daily-info-grid{grid-template-columns:1fr}
  .daily-info-card{min-height:0;padding:16px}
  .events-page>.page-head{margin:12px 0 0;padding:20px 16px}
  .events-page>#beta-page{margin:10px 0 0;padding:20px 15px}
  .events-page .beta-event-heading h2{font-size:36px}
  .event-unscheduled{grid-template-columns:38px minmax(0,1fr)}
  .event-unscheduled a{grid-column:2}
  .event-help-strip>div{grid-template-columns:34px minmax(0,1fr)}
  .rules-jump-nav{top:6px;margin-top:8px}
  .rules-page .table-wrap{overflow-x:auto}
  .appeal-panel{align-items:stretch;flex-direction:column}
  .appeal-panel>a{width:100%}
  .mods-onboarding ol.rows{grid-template-columns:1fr}
  .mods-safety-strip{grid-template-columns:1fr}
  .mods-safety-strip>a{grid-column:auto;width:100%}
  .profile-stat-row{grid-template-columns:1fr 1fr}
  .profile-identity{padding:18px 14px}
  .profile-name-line{align-items:flex-start;flex-direction:column}
  .shop-profile{display:none}
}

@media(max-width:460px){
  .page-header h1,.commands-page-body .commands-hero h1,.daily-page-body .daily-hero h1,.profile-page-body .profile-hero-v2 h1{font-size:27px}
  .commands-item-copy small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .daily-stat-row,.profile-stat-row{grid-template-columns:1fr}
  .daily-timer .timer-cell b{font-size:21px}
  .events-page .beta-event-heading h2{font-size:32px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Shared Shop-style page titles — one clear title system across the portal */
.shop-style-header{padding-top:24px;padding-bottom:21px;border:0!important;border-radius:0!important;background:linear-gradient(100deg,rgba(10,26,38,.58),rgba(15,35,47,.24) 64%,transparent),url('assets/background-clean.webp') center 42%/cover;box-shadow:none!important}
.shop-style-header .shop-style-copy,.shop-style-header>div{position:relative;z-index:1}
.shop-style-header .shop-kicker,.points-hero .shop-kicker{margin:0 0 4px;color:#e6eff4;font-size:12px;font-weight:850;letter-spacing:.32em}
.shop-style-title{display:flex;align-items:center;gap:12px;margin:0;color:#f9fbff;font-size:clamp(42px,4.4vw,58px);font-weight:950;line-height:1;text-shadow:0 4px 0 #1c2935,0 7px 12px #0008}
.shop-style-title .ico{order:2;color:var(--kj-orange-strong);font-size:.72em;filter:drop-shadow(0 0 8px #ff8d2f)}
.shop-style-english{display:block;margin-top:3px;color:#fff;font-size:clamp(25px,2.7vw,36px);font-weight:950;line-height:1.04;letter-spacing:-.03em;text-shadow:0 3px 9px #0008}
.shop-style-english em{color:#ff8d23;font-style:normal}
.shop-style-lead{display:block!important;max-width:760px!important;margin:8px 0 0!important;color:#f4f8fa!important;font-size:16px!important;font-weight:850;line-height:1.35!important}
.shop-style-description{display:block;max-width:760px;margin:4px 0 0!important;color:#c9d9e0!important;font-size:12px!important;line-height:1.45!important}
.commands-page-body .shop-style-header .shop-style-title{font-size:clamp(38px,4.2vw,52px)}
.commands-page-body .shop-style-header .commands-hero-icon{order:2;margin:0;width:47px;height:43px}
.commands-page-body .shop-style-header .shop-style-lead{margin-top:8px!important}
.profile-page-body .shop-style-header .shop-style-title{font-size:clamp(42px,4.4vw,58px)}
.points-page .points-hero{padding-top:22px;padding-bottom:20px}
.points-page .points-hero .shop-style-title{font-size:clamp(36px,4vw,50px)}
.points-page .points-hero .shop-style-lead{margin-top:8px!important}
.points-page .points-hero .shop-style-description{display:block;margin-top:4px;color:#bed1dc!important}
.daily-page-body .daily-hero .shop-style-english{margin-top:3px}
.daily-page-body .daily-hero .shop-style-lead{margin-top:8px!important}

@media(max-width:600px){
  .shop-style-header{padding:18px 16px 17px}
  .shop-style-header .shop-kicker,.points-hero .shop-kicker{font-size:12px;letter-spacing:.2em}
  .shop-style-title{gap:8px;font-size:clamp(32px,9vw,43px)}
  .shop-style-title .ico{font-size:.64em}
  .shop-style-english{font-size:25px}
  .shop-style-lead{font-size:13px!important}
  .shop-style-description{font-size:12px!important}
  .commands-page-body .shop-style-header .shop-style-title{font-size:32px}
  .commands-page-body .shop-style-header .commands-hero-icon{width:39px;height:35px;font-size:21px}
  .points-page .points-hero{padding-top:18px;padding-bottom:18px}
  .points-page .points-hero .shop-style-title{font-size:35px}
}

/* Beta rewards: keep artwork inside its label and mute locked rewards */
.events-page>#beta-page .beta-guarantee{overflow:hidden}
.events-page>#beta-page .beta-reward .reward-art{overflow:hidden}
.events-page>#beta-page .beta-reward .reward-art img{display:block;width:auto;max-width:88%;height:auto;max-height:88%;object-fit:contain}
.events-page>#beta-page .beta-reward:not(.is-unlocked) .reward-art img,
.events-page>#beta-page .beta-reward:not(.is-unlocked) .reward-art .ico{filter:grayscale(1) saturate(0) brightness(.62);opacity:.76}
.events-page>#beta-page .beta-reward:not(.is-unlocked) strong{color:#c0cdd3}
.events-page>#beta-page .beta-reward:not(.is-unlocked) p,
.events-page>#beta-page .beta-reward:not(.is-unlocked) small{color:#8da1aa}

/* Daily rewards: keep the section heading in the same clean rhythm as the other pages */
.daily-page .daily-rewards-head{display:block;position:relative;min-height:47px;margin-bottom:12px;padding-left:68px}
.daily-page .daily-rewards-head p{margin:3px 0 0}
.daily-page .daily-rewards-head>span{display:none}
@media(max-width:600px){
  .daily-page .daily-rewards-head{min-height:39px;padding-left:45px}
}

/* Daily reward rail uses the same open module treatment as the other portal pages. */
.daily-page .daily-rewards{
  background:transparent!important;
  border:0!important;
  border-radius:0;
  box-shadow:none!important;
  overflow:visible;
  padding:0;
}

/* Keep the Daily hero, status row, and reward rail on one centered content axis. */
.daily-page-body .daily-hero,
.daily-page-body .daily-status-grid{
  width:100%;
  margin-left:0;
}

/* Page titles stay open like Shop: keep typography and spacing, remove the nested card chrome. */
.page-header,
.commands-page-body .commands-hero,
.daily-page-body .daily-hero,
.profile-page-body .profile-hero-v2,
.points-page>.points-hero{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Discord-first account entry: Steam remains an optional follow-up connection. */
.auth-stage-account-ready{text-align:center}
.auth-stage-account-ready>p{margin-left:auto;margin-right:auto}
.auth-stage-account-ready .auth-success-ring{margin-top:18px}
.auth-account-ready-chip{max-width:430px;margin:18px auto 0;text-align:left}
.auth-steam-later-link{color:#b8c5ff}
.auth-stage-account-ready .auth-stage-foot{justify-content:center}

/* Entry promotion: a focused, dismissible registration banner for the home page. */
body.entry-promo-open{overflow:hidden}
.entry-promo[hidden]{display:none}
.entry-promo{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:22px;overflow:auto}
.entry-promo-backdrop{position:fixed;inset:0;background:rgba(3,9,15,.78)}
.entry-promo-card{position:relative;z-index:1;display:grid;grid-template-columns:minmax(240px,.86fr) minmax(360px,1.14fr);width:min(820px,100%);min-height:390px;overflow:hidden;border:1px solid rgba(255,184,91,.62);border-radius:22px;background:linear-gradient(145deg,#213646f7,#0d1a26fb 62%,#251b12f5);box-shadow:0 30px 90px rgba(0,0,0,.72),inset 0 1px rgba(255,255,255,.18);animation:entry-promo-in .28s ease both}
.entry-promo-card:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 48%,rgba(255,184,91,.08),transparent 78%)}
/* รุ่นภาพเดียว — ใช้แบนเนอร์สำเร็จรูปทั้งใบเป็นลิงก์ */
/* ไม่มีพื้นหลัง/ขอบ/เงาของการ์ด — ให้เห็นเฉพาะภาพแบนเนอร์บนฉากหลังมืด (คงมุมโค้ง 22px จาก .entry-promo-card) */
.entry-promo-card.entry-promo-banner-card{display:block;width:min(880px,100%);min-height:0;padding:0;background:transparent!important;border:0;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.entry-promo-card.entry-promo-banner-card:after{display:none}
.entry-promo-banner-link{display:block;line-height:0}
.entry-promo-banner-link img{display:block;width:100%;height:auto;border-radius:inherit}
.entry-promo-banner-link:hover img{filter:brightness(1.06)}
.entry-promo-close{position:absolute;z-index:2;top:12px;right:14px;width:36px;height:36px;border:1px solid rgba(255,224,171,.6);border-radius:50%;background:rgba(9,18,27,.7);color:#ffe3ae;font-size:26px;line-height:1;cursor:pointer}
.entry-promo-close:hover{background:#e96520;color:#fff}
.entry-promo-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:390px;padding:32px 24px;background:linear-gradient(145deg,rgba(8,19,29,.2),rgba(7,14,22,.76)),url('assets/point-exp-bg.webp') center/cover}
.entry-promo-art:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(255,183,72,.38),transparent 48%)}
.entry-promo-art-label,.entry-promo-art img,.entry-promo-art strong,.entry-promo-art small{position:relative;z-index:1}
.entry-promo-art-label{color:#ffe09b;font-size:12px;font-weight:950;letter-spacing:.2em}
.entry-promo-art img{width:142px;height:142px;margin:22px 0 8px;object-fit:contain;filter:drop-shadow(0 12px 11px rgba(0,0,0,.65))}
.entry-promo-art strong{color:#fff2c9;font-size:28px;line-height:1;text-shadow:0 2px 12px rgba(255,157,60,.48)}
.entry-promo-art small{margin-top:8px;color:#d0e0e7;font-size:12px;text-align:center}
.entry-promo-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:44px 52px 38px 38px}
.entry-promo-kicker{color:#ffd070;font-size:12px;font-weight:950;letter-spacing:.18em}
.entry-promo-copy h2{margin:9px 0 0;color:#f6fbff;font-size:clamp(34px,5vw,56px);line-height:1;letter-spacing:-.04em;text-shadow:0 3px 0 #263342}
.entry-promo-copy h2 span{color:#ffad3e}
.entry-promo-copy p{max-width:38ch;margin:13px 0 0;color:#d4e0e7;font-size:14px;line-height:1.6}
.entry-promo-proof{display:flex;flex-direction:column;gap:4px;margin-top:18px;padding:12px 14px;border-left:3px solid #70e5b4;border-radius:0 10px 10px 0;background:rgba(112,229,180,.1)}
.entry-promo-proof b{color:#eafff7;font-size:13px}.entry-promo-proof small{color:#a8c6c0;font-size:12px;line-height:1.45}
.entry-promo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.entry-promo-actions a,.entry-promo-actions button{min-height:44px}.entry-promo-actions a{text-decoration:none}.entry-promo-note{margin-top:13px;color:#78919d;font-size:12px}
@keyframes entry-promo-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .entry-promo{padding:12px}
  .entry-promo-card{grid-template-columns:1fr;max-width:480px;min-height:0}
  .entry-promo-art{min-height:190px;padding:22px 18px 16px}
  .entry-promo-art img{width:82px;height:82px;margin:10px 0 5px}
  .entry-promo-art strong{font-size:22px}.entry-promo-art small{margin-top:5px}
  .entry-promo-copy{padding:27px 22px 24px}.entry-promo-copy h2{font-size:38px}.entry-promo-copy p{font-size:13px}
  .entry-promo-actions{display:grid;grid-template-columns:1fr 1fr}.entry-promo-actions a,.entry-promo-actions button{width:100%}
}

/* Event reward artwork: leave breathing room inside every card. */
.events-page>#beta-page .beta-reward .reward-art{
  display:grid;
  place-items:center;
  overflow:hidden;
}
.events-page>#beta-page .beta-reward .reward-art img,
.events-page>#beta-page .beta-reward .reward-art .ico{
  width:auto;
  max-width:74%;
  height:auto;
  max-height:74%;
  padding:0;
  object-fit:contain;
}

/* Events reward rail: reuse the Daily reward-card geometry and density. */
.events-page>#beta-page{
  background:transparent!important;
  border:0!important;
  border-radius:0;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0;
  overflow:visible;
}
.events-page>#beta-page .beta-rewards{
  grid-template-columns:repeat(5,minmax(110px,1fr));
  gap:8px;
  width:100%;
}
.events-page>#beta-page .beta-reward{
  display:flex;
  min-height:190px;
  padding:10px;
  flex-direction:column;
  align-items:center;
  border:1px solid rgba(139,178,198,.25);
  border-radius:11px;
  background:linear-gradient(160deg,rgba(19,42,55,.96),rgba(8,23,33,.96));
  text-align:center;
}
.events-page>#beta-page .beta-reward.is-unlocked{
  border-color:rgba(242,154,56,.72);
  background:linear-gradient(160deg,rgba(77,63,39,.9),rgba(26,34,34,.96));
  box-shadow:0 0 0 1px rgba(242,154,56,.16),0 12px 26px rgba(0,0,0,.24);
}
.events-page>#beta-page .beta-reward .reward-art{
  width:76px;
  height:76px;
  flex:0 0 76px;
  margin:8px auto 4px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.events-page>#beta-page .beta-reward .reward-art img,
.events-page>#beta-page .beta-reward .reward-art .ico{
  width:auto;
  max-width:72px;
  height:auto;
  max-height:72px;
  padding:0;
  object-fit:contain;
}
.events-page>#beta-page .beta-reward strong{
  min-height:36px;
  margin-top:7px;
  color:#e8f1f4;
  font-size:12px;
}
.events-page>#beta-page .beta-reward p{
  min-height:30px;
  margin:0 0 6px;
  color:var(--kj-muted);
  font-size:12px;
  line-height:1.25;
}
.events-page>#beta-page .beta-reward small{
  margin-top:auto;
  color:#758d99;
  font-size:12px;
  line-height:1.4;
}
.events-page>#beta-page .beta-reward.is-unlocked small{color:#8fe9c9}
@media(max-width:760px){
  .events-page>#beta-page .beta-rewards{
    grid-template-columns:repeat(5,minmax(130px,1fr));
    overflow-x:auto;
    padding-bottom:8px;
  }
}

/* ── LOCAL ACCOUNT AUTH + WHITE GLASS POINTS SURFACE ─────────────────── */
.auth-local-lead{margin:7px 0 0;color:#9eb4be;font-size:12px}
.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:22px 0 14px;padding:4px;border:1px solid #ffffff18;border-radius:12px;background:#07121dcc}
.auth-mode-tabs button{min-height:38px;border:0;border-radius:9px;background:transparent;color:#91a6b1;font-size:12px;font-weight:900;cursor:pointer}
.auth-mode-tabs button.is-active{background:linear-gradient(135deg,#ffbd50,#e98824);box-shadow:0 5px 15px #050b1255;color:#2f1e08}
.auth-local-form{display:grid;gap:11px}
.auth-local-form label{display:grid;gap:5px;color:#dcecf2;font-size:12px;font-weight:800}
.auth-local-form input{width:100%;min-height:44px;padding:0 12px;border:1px solid #9bb5c866;border-radius:10px;background:#0c1823cc;color:#f5fbff;font:inherit;outline:none}
.auth-local-form input:focus{border-color:#ffbd50;box-shadow:0 0 0 3px #ffbd5024}
.auth-local-submit{width:100%;margin-top:3px}
.auth-form-error{min-height:16px;margin:0;color:#ff9b9b;font-size:12px}
.auth-provider-note{margin:15px 0 0;text-align:center;color:#8ca4ae;font-size:12px}.auth-provider-note span{color:#ffd06d;font-size:18px;vertical-align:-2px}
.auth-local-account{display:flex;align-items:center;gap:12px;margin:22px 0 12px;padding:14px;border:1px solid #70e5b444;border-radius:14px;background:#3d9d821b}
.auth-local-account-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#ffbe59,#e57f22);color:#2c1b08;font-size:22px;font-weight:950}
.auth-local-account b,.auth-local-account small,.auth-local-account span{display:block}.auth-local-account b{font-size:15px}.auth-local-account small{margin-top:2px;color:#a7bec7;font-size:12px}.auth-local-account span{margin-top:5px;color:#8fe9c9;font-size:12px;font-weight:800}
.auth-account-hint{margin:0 0 14px;color:#9db2bc;font-size:12px;line-height:1.6}
.profile-connect-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #80dff066!important;text-decoration:none;transition:.18s}.profile-connect-button:hover{transform:translateY(-1px);filter:brightness(1.08)}.discord-connect{background:#5865f226!important;color:#d9ddff!important}.steam-connect{background:#66a6d326!important;color:#cce8ff!important}

.points-page>.points-balance-strip,
.points-page .points-panel{
  border-color:rgba(255,255,255,.14)!important;
  background:linear-gradient(135deg,rgba(0,0,0,.68),rgba(0,0,0,.48) 58%,rgba(0,0,0,.60))!important;
  box-shadow:0 18px 38px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.07)!important;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}

/* Keep the image readable without a separate dark gradient at the bottom. */
.skyline:after{background:rgba(7,16,26,.48)!important}

/* Legacy surfaces that predate the shared .glass class use the same surface token. */
.panel,
.card,
.daily-status,
.daily-reset,
.daily-rewards,
.daily-info-card,
.beta-section,
.beta-reward,
.milestone,
.event-help-strip,
.rules-sections,
.appeal-panel,
.mods-onboarding .card,
.table-wrap{
  border-color:rgba(255,255,255,.14)!important;
  background:linear-gradient(135deg,rgba(0,0,0,.68),rgba(0,0,0,.48) 58%,rgba(0,0,0,.60))!important;
  box-shadow:0 18px 38px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.07)!important;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
.ad-card{background-color:rgba(0,0,0,.46)!important}
.ad-card:after{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.42) 55%,rgba(0,0,0,.12))!important}
.points-page .points-panel .points-pack,
.points-page .points-panel .points-exchange-rates article,
.points-page .points-panel .points-reward-grid article,
.points-page .points-panel .points-history-empty{background:rgba(0,0,0,.34)!important;border-color:rgba(255,255,255,.14)!important}
.points-page .points-panel h2,.points-page>.points-balance-strip strong{color:#fff;text-shadow:0 2px 9px rgba(0,0,0,.35)}
.points-page .points-panel p,.points-page .points-panel small,.points-page .points-balance-rate small{color:#d8e7ec}

/* ── SHARED GLASS SYSTEM — every Player Portal glass surface uses one look ── */
/* ยกเว้น: หัวข้อหน้าเพจ (page head) ห้ามใช้พื้น glass — ให้ข้อความลอยบนภาพพื้นหลัง
   ต้องเป็น selector แบบ compound (.x.glass) เพราะ .glass ประกาศ !important ไว้
   เดิมหัวข้อของ events/mods/rules/daily โดน .glass ทับ จึงได้พื้นดำทั้งที่ .page-header สั่ง transparent */
.page-header.glass,
.page-head.glass,
.shop-style-header.glass,
.commands-hero.glass,
.daily-hero.glass,
.profile-hero-v2.glass,
.points-hero.glass{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.glass{
  border-color:rgba(255,255,255,.14)!important;
  background:linear-gradient(135deg,rgba(0,0,0,.68),rgba(0,0,0,.48) 58%,rgba(0,0,0,.60))!important;
  box-shadow:0 18px 38px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.07)!important;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}

/* ── TEXT OUTLINE — ข้อความที่ลอยบนภาพโดยไม่มีพื้นหลัง ใช้เส้นขอบสไตล์โลโก้ ──
   ชั้น 1 หัวข้อ/ชื่อเรื่อง = 3px · ชั้น 2 คำอธิบาย/ย่อหน้า = 1.5px · ชั้น 3 ตัวเลขเด่น = 2px
   ใช้ text-shadow 8 ทิศ (ไม่กินตัวอักษรเหมือน -webkit-text-stroke) */
:root{--kj-outline:#0e1620}

/* ชั้น 1 — หัวข้อ/ชื่อเรื่อง/หัวการ์ด : เส้นขอบ 3px */
.hero .eyebrow,
.hero h2,
.shop-kicker,
.shop-style-title,
.shop-style-english,
.page-head h1,
.page-head strong,
.section-head h2,
.section-head h3,
.shop-hero-copy h2,
.shop-hero-quote,
.profile-eyebrow,
.breadcrumb,
.panel header h3,
.panel h3,
.card h3,
.card-head h3,
.commands-sidebar h2,
.commands-catalog-head h2,
.daily-status>h2,
.daily-reset>h2,
.daily-rewards-head h2,
.daily-info-card h2,
.shop-product h3,
.points-panel h2,
.profile-identity h2,
.profile-section-head h3,
.beta-event-heading h2,
.beta-reward-heading h3,
.events-page .section-head h2,
.entry-promo-copy h2{
  text-shadow:
    -3px -3px 0 var(--kj-outline),0 -3px 0 var(--kj-outline),3px -3px 0 var(--kj-outline),
    -3px 0 0 var(--kj-outline),3px 0 0 var(--kj-outline),
    -3px 3px 0 var(--kj-outline),0 3px 0 var(--kj-outline),3px 3px 0 var(--kj-outline),
    0 7px 16px rgba(0,0,0,.64)!important;
}

/* ชั้น 2 — คำอธิบาย/ย่อหน้านำ : เส้นขอบ 1.5px */
.intro,
.shop-style-lead,
.shop-style-description,
.page-head p,
.section-head p,
.shop-hero-copy p,
.profile-hero-v2 p,
.entry-promo-copy p{
  text-shadow:
    -1.5px -1.5px 0 var(--kj-outline),0 -1.5px 0 var(--kj-outline),1.5px -1.5px 0 var(--kj-outline),
    -1.5px 0 0 var(--kj-outline),1.5px 0 0 var(--kj-outline),
    -1.5px 1.5px 0 var(--kj-outline),0 1.5px 0 var(--kj-outline),1.5px 1.5px 0 var(--kj-outline),
    0 4px 10px rgba(0,0,0,.55)!important;
}

/* ชั้น 3 — ตัวเลข/ราคา/ค่าสถานะที่เด่นในการ์ด : เส้นขอบ 2px */
.stat-grid b,
.timer-cell b,
.daily-timer .timer-cell b,
.daily-stat-row strong,
.profile-stat-card strong,
.profile-identity h2,
.milestone strong,
.points-balance-strip strong,
.points-pack b,
.points-exchange-rates b,
.points-reward-grid b,
.shop-product strong,
.shop-stat b,
.daily-reward-card strong,
.beta-reward strong,
.top-resource-copy b,
.point-total>b,
.point-total strong,
.products strong{
  text-shadow:
    -2px -2px 0 var(--kj-outline),0 -2px 0 var(--kj-outline),2px -2px 0 var(--kj-outline),
    -2px 0 0 var(--kj-outline),2px 0 0 var(--kj-outline),
    -2px 2px 0 var(--kj-outline),0 2px 0 var(--kj-outline),2px 2px 0 var(--kj-outline),
    0 5px 12px rgba(0,0,0,.58)!important;
}

/* ── BLACK GLASS PASS — การ์ด/แผงที่ยังหลงเหลือโทน navy เดิม ────────────────
   ระดับ 1 การ์ดหลักบนหน้า = พื้น glass ดำเต็ม (ค่าเดียวกับ .glass)
   ระดับ 2 การ์ดซ้อนในแผง = ดำจางกว่า เพื่อไม่ให้กลืนกับพื้นข้างหลัง
   สี accent ของสถานะ featured / unlocked / hover / CTA ยังคงไว้ตามเดิม */

/* ระดับ 1 — การ์ดหลัก */
.commands-item,
.commands-toolbar,
.shop-product,
.shop-stat,
.shop-profile,
.shop-filters,
.daily-reward-card,
.entry-promo-card,
.events-page [data-event-list],
.profile-identity,
.profile-stat-card,
.profile-server-card-v2,
.profile-account-card,
.profile-quick-links a,
.top-resource-card,
.player-auth-dialog,
.auth-stage{
  border-color:rgba(255,255,255,.14)!important;
  background:linear-gradient(135deg,rgba(10,18,26,.62),rgba(0,0,0,.42) 58%,rgba(8,14,20,.55))!important;
  box-shadow:0 18px 38px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.07)!important;
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}

/* สถานะ hover — สว่างขึ้นเล็กน้อย ไม่เปลี่ยนโทนกลับเป็น navy */
.commands-item:hover,
.profile-quick-links a:hover,
.top-resource-card:hover{
  border-color:rgba(255,255,255,.24)!important;
  background:linear-gradient(135deg,rgba(0,0,0,.56),rgba(0,0,0,.38) 58%,rgba(0,0,0,.48))!important;
}

/* ระดับ 2 — การ์ดย่อยที่ซ้อนอยู่ในการ์ด/แผงหลัก */
.stat-grid>div,
.stat-grid .stat,
.point-total,
.timer-cell,
.daily-timer .timer-cell,
.profile-progress-list>div,
.profile-server-card-body>div,
.shop-profile-links>a,
.shop-profile-links>button,
.commands-search,
.commands-catalog-head>span,
.mods-onboarding ol.rows li{
  border-color:rgba(255,255,255,.10)!important;
  background:rgba(0,0,0,.34)!important;
}

/* สถานะพิเศษ — ยังใช้ accent เดิม แต่พื้นหลังเป็นดำเพื่อให้เข้าชุด glass */
.daily-reward-card.is-featured{
  border-color:rgba(242,154,56,.72)!important;
  background:linear-gradient(160deg,rgba(58,44,24,.72),rgba(0,0,0,.62))!important;
}
.shop-product:hover,
.shop-stat:hover{
  border-color:rgba(255,255,255,.24)!important;
  background:linear-gradient(150deg,rgba(0,0,0,.56),rgba(0,0,0,.4))!important;
}

/* ── LOGIN V2 — หน้าเข้าสู่ระบบ/สมัครสมาชิก ──────────────────────────────
   โครง 2 คอลัมน์: ด้านซ้ายเป็นแบรนด์และสิทธิ์ที่ได้ ด้านขวาเป็นฟอร์ม
   จอแคบกว่า 860px ซ่อนด้านแบรนด์ เหลือฟอร์มคอลัมน์เดียว */
.player-auth-dialog{
  width:min(920px,100%)!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:24px!important;
  max-height:min(760px,calc(100svh - 28px))!important;
}
.auth-shell{display:grid;grid-template-columns:minmax(0,318px) minmax(0,1fr);min-height:540px}

/* ด้านซ้าย — แบรนด์ */
.auth-side{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:30px 26px;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.10);
  background:linear-gradient(165deg,rgba(0,0,0,.66),rgba(0,0,0,.4) 62%,rgba(40,26,12,.52));
}
.auth-side-glow{
  position:absolute;
  inset:-40% -30% auto auto;
  width:340px;height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,157,44,.20),transparent 62%);
  pointer-events:none;
}
.auth-side>*:not(.auth-side-glow){position:relative;z-index:1}
.auth-side-brand{display:flex;align-items:center;gap:10px}
.auth-side-brand img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.55))}
.auth-side-brand span{display:flex;flex-direction:column;gap:2px}
.auth-side-brand b{color:#f6fbff;font-size:15px;font-weight:950;line-height:1}
.auth-side-brand b::first-letter{color:var(--orange)}
.auth-side-brand small{color:#93a9b6;font-size:12px;font-weight:900;letter-spacing:.16em}
.auth-side-title{margin:6px 0 0;color:#f7fbff;font-size:27px;font-weight:950;line-height:1.12;letter-spacing:-.02em}
.auth-side-title em{color:var(--orange);font-style:normal}
.auth-side-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.auth-side-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start}
.auth-side-list i{display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(112,229,180,.42);border-radius:50%;background:rgba(112,229,180,.10);color:#8ff0cd;font-size:12px;font-style:normal;font-weight:900}
.auth-side-list span{color:#ccdae1;font-size:13px;line-height:1.5}
.auth-side-foot{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.auth-side-foot img{display:block;width:min(210px,100%);height:auto;opacity:.92}

/* ด้านขวา — ฟอร์ม (โปร่งให้เห็น glass ของ dialog) */
.auth-main{display:flex;flex-direction:column;justify-content:center;padding:34px 34px 30px;overflow:auto;background:transparent}
.auth-head{padding-right:38px}
.auth-kicker{display:block;color:var(--orange);font-size:12px;font-weight:950;letter-spacing:.18em}
.auth-head h2{margin:8px 0 0;color:#f7fbff;font-size:32px;font-weight:950;line-height:1.05;letter-spacing:-.03em}
.auth-lead{margin:8px 0 0;max-width:46ch;color:#a7bcc6;font-size:13px;line-height:1.6}

/* แท็บโหมด */
.auth-mode-tabs{
  display:grid;grid-template-columns:1fr 1fr;gap:4px;
  margin:22px 0 18px;padding:4px;
  border:1px solid rgba(255,255,255,.10);border-radius:12px;
  background:rgba(0,0,0,.42);
}
.auth-mode-tabs button{min-height:40px;border:0;border-radius:9px;background:transparent;color:#95aab5;font:inherit;font-size:13px;font-weight:900;cursor:pointer;transition:.18s}
.auth-mode-tabs button:hover{color:#dcebf1}
.auth-mode-tabs button.is-active{background:linear-gradient(135deg,#ffbd50,#e98824);color:#2f1e08;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.auth-mode-tabs button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* ฟิลด์ */
.auth-local-form{display:grid;gap:13px}
.auth-field{display:grid;gap:6px}
.auth-field-label{color:#cbdce3;font-size:12px;font-weight:900;letter-spacing:.02em}
.auth-input-wrap{position:relative;display:block}
.auth-input-icon{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  width:16px;height:16px;color:#7f96a2;pointer-events:none;transition:.18s
}
.auth-input-wrap input{
  width:100%;min-height:48px;
  padding:0 14px 0 40px;
  border:1px solid rgba(255,255,255,.14);border-radius:12px;
  background:rgba(0,0,0,.42);color:#f6fbff;font:inherit;font-size:14px;
  outline:none;transition:.18s;
}
.auth-input-wrap input::placeholder{color:#6f8794}
.auth-input-wrap input:hover{border-color:rgba(255,255,255,.24)}
.auth-input-wrap input:focus{border-color:var(--orange);background:rgba(0,0,0,.55);box-shadow:0 0 0 3px rgba(255,184,91,.18)}
.auth-input-wrap:focus-within .auth-input-icon{color:var(--orange)}
.auth-input-wrap input[type=password]{padding-right:48px}
.auth-eye{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  display:grid;place-items:center;width:32px;height:32px;
  border:1px solid transparent;border-radius:9px;background:transparent;
  color:#8ea5b1;font-size:13px;cursor:pointer;transition:.18s
}
.auth-eye:hover{background:rgba(255,255,255,.07);color:#dcebf1}
.auth-eye.is-on{border-color:rgba(255,184,91,.45);background:rgba(255,184,91,.12);color:#ffce7d}
.auth-eye:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* ข้อความผิดพลาด — แสดงเฉพาะเมื่อมีข้อความ */
.auth-form-error{margin:0;padding:0;border:0;color:#ffb4b4;font-size:12px;line-height:1.5}
.auth-form-error:empty{display:none}
.auth-form-error:not(:empty){padding:10px 12px;border:1px solid rgba(255,120,120,.35);border-radius:10px;background:rgba(120,20,25,.28)}

/* ไอคอนอีเมลสำหรับช่องกรอก (ใช้ .ico ที่มีอยู่ + เพิ่มตัวนี้) */
.i-mail{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v13h-17zM3.5 6.5 12 13l8.5-6.5'/%3E%3C/svg%3E")}

/* ปุ่มหลัก */
.auth-submit{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  width:100%;min-height:52px;margin-top:2px;padding:8px 10px 8px 20px;
  border:1px solid #ffd48b;border-radius:13px;
  background:linear-gradient(#ffb33b,#ee661d);color:#fff;
  font:inherit;font-weight:950;text-align:left;text-decoration:none;cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,.4);transition:.18s
}
.auth-submit span{display:flex;flex-direction:column;gap:1px;font-size:15px;line-height:1.2}
.auth-submit span small{color:rgba(255,255,255,.85);font-size:12px;font-weight:800}
.auth-submit b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(0,0,0,.22);font-size:16px}
.auth-submit:hover{filter:brightness(1.07);transform:translateY(-1px)}
.auth-submit:disabled{filter:grayscale(.35) brightness(.85);cursor:progress;transform:none}
.auth-submit:focus-visible{outline:2px solid #fff;outline-offset:3px}
.auth-submit-link{background:linear-gradient(135deg,#3aa184,#155e56);border-color:rgba(112,229,180,.5)}

/* บัญชีที่ล็อกอินอยู่ */
.auth-account-card{
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;
  margin:20px 0 14px;padding:16px;
  border:1px solid rgba(112,229,180,.28);border-radius:16px;
  background:rgba(0,0,0,.42)
}
.auth-account-avatar{
  display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:16px;
  background:linear-gradient(145deg,#ffbe59,#e57f22);color:#2c1b08;font-size:22px;font-weight:950
}
.auth-account-avatar img{width:100%;height:100%;object-fit:cover}
.auth-account-copy b{display:block;font-size:16px}
.auth-account-copy small{display:block;margin-top:3px;color:#a7bec7;font-size:12px}
.auth-account-status{grid-column:1/-1;padding-top:11px;border-top:1px solid rgba(255,255,255,.09);color:#8fe9c9;font-size:12px;font-weight:900}
.auth-account-hint{margin:0 0 14px;color:#9db2bc;font-size:12px;line-height:1.6}
.player-auth-logout{display:block;margin:16px auto 0;border:0;background:transparent;color:#8296a1;font-size:12px;text-decoration:underline;cursor:pointer}
.player-auth-logout:hover{color:#dbe8ee}

/* Verification success state */
.auth-success{text-align:center}
.auth-success-burst{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 14px;border:1px solid rgba(112,229,180,.55);border-radius:24px;background:radial-gradient(circle,rgba(112,229,180,.28),rgba(40,109,91,.14));box-shadow:0 0 34px rgba(112,229,180,.16),inset 0 1px rgba(255,255,255,.18);color:#9af1d4}
.auth-success-burst .ico{width:36px;height:36px}
.auth-success-kicker{display:block;color:#8fe9c9;font-size:11px;font-weight:950;letter-spacing:.18em}
.auth-success h2{margin:8px 0 0;color:#f6fffb;font-size:33px;line-height:1.05;letter-spacing:-.03em}
.auth-success-lead{max-width:52ch;margin:10px auto 0;color:#aec4c0;font-size:13px;line-height:1.65}
.auth-success-account{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;margin:20px 0 12px;padding:14px;border:1px solid rgba(112,229,180,.28);border-radius:15px;background:rgba(7,27,23,.55);text-align:left}
.auth-success-account>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.auth-success-account b{overflow:hidden;color:#f3fff9;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.auth-success-account small{margin-top:2px;color:#8fb6aa;font-size:11px}.auth-success-account>strong{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(112,229,180,.34);border-radius:999px;background:rgba(112,229,180,.10);color:#9af1d4;font-size:10px;letter-spacing:.08em}.auth-success-account>strong .ico{width:13px;height:13px}
.auth-success-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0 16px}.auth-success-benefits>span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px;border:1px solid rgba(112,229,180,.16);border-radius:10px;background:rgba(112,229,180,.05);color:#c8e8df;font-size:11px;font-weight:850}.auth-success-benefits .ico{width:14px;height:14px;color:#8fe9c9}
.auth-success-primary{background:linear-gradient(135deg,#3aa184,#187367);border-color:rgba(112,229,180,.55)}
.auth-success-close{display:block;margin:14px auto 0;border:0;background:transparent;color:#839ba3;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.auth-success-close:hover{color:#dcebee}
@media(max-width:620px){.auth-success h2{font-size:27px}.auth-success-account{grid-template-columns:46px minmax(0,1fr)}.auth-success-account>strong{grid-column:1/-1;justify-self:start}.auth-success-benefits{grid-template-columns:1fr}}

/* โน้ตท้ายฟอร์ม */
.auth-provider-note{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin:18px 0 0;padding-top:15px;border-top:1px solid rgba(255,255,255,.09);
  text-align:center;color:#8ca4ae;font-size:12px
}
.auth-provider-note span{color:#ffd06d;font-size:15px;line-height:1}

/* จอแคบ — ตัดด้านแบรนด์ออก ให้ฟอร์มเต็มความกว้าง */
@media(max-width:860px){
  .auth-shell{grid-template-columns:1fr;min-height:0}
  .auth-side{display:none}
  .auth-main{padding:30px 22px 24px}
  .auth-head{padding-right:34px}
  .auth-head h2{font-size:26px}
}
@media(max-width:560px){
  .player-auth-modal{padding:10px}
  .auth-main{padding:26px 16px 20px}
  .auth-mode-tabs button{font-size:12px}
  .auth-submit{min-height:48px;padding-left:16px}
  .auth-submit span{font-size:14px}
}

/* utility เล็ก ๆ: ข้อความรองที่ต้องขึ้นบรรทัดใหม่ (ใช้แทน style="display:block" ในเทมเพลต JS
   เพื่อไม่พึ่ง inline style ซึ่งจะพังทันทีถ้ามีการ tighten CSP style-src) */
.muted-block{display:block}

/* ==========================================================================
   [31] EVENTS PAGE V2 — การ์ดกิจกรรม + การ์ดรอบถัดไป + chips ใต้หัวเพจ
   ต่อจาก [25]: เปลี่ยนรายการ .row เป็นการ์ดที่ใช้ภาพไอเทมจริง และจัดลำดับเพจใหม่
   ========================================================================== */

/* chips ใต้หัวเพจ (เดิมหัวเพจมีพื้นที่ว่างทางขวา) */
.event-hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.event-hero-chips li{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 12px;border:1px solid rgba(155,182,199,.4);border-radius:999px;background:rgba(8,18,27,.55);color:#dcebf2;font-size:12px;font-weight:800}
.event-hero-chips .ico{color:var(--kj-cyan);font-size:15px}

/* การ์ด "กิจกรรมถัดไป": ซ้ายข้อความ • ขวาเวลานับถอยหลัง */
.event-next-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px;padding:22px 26px;border-radius:18px;border-color:#ffb85b4d;background:linear-gradient(120deg,rgba(8,20,30,.92),rgba(14,28,40,.72) 58%,rgba(60,38,16,.5))}
.event-next-copy{min-width:0}
.event-next-tag{display:inline-flex;align-items:center;gap:7px;color:#ffd07a;font-size:12px;font-weight:900;letter-spacing:.16em}
.event-next-tag i{width:7px;height:7px;border-radius:50%;background:#ffb85b;box-shadow:0 0 10px #ffb85b}
.event-next-card h3{margin:9px 0 0;font-size:clamp(20px,2.3vw,28px);line-height:1.15}
.event-next-note{max-width:52ch;margin:9px 0 0;color:#c9d8e2;font-size:12px;line-height:1.6}
.event-next-copy .btn{margin-top:16px}
.event-next-timer-wrap{display:flex;align-items:center;justify-content:flex-end}
.events-page .timer{display:flex;gap:10px}
.events-page .timer.is-unscheduled{display:block;width:min(420px,100%)}

/* การ์ดกิจกรรม — แทน .row เดิม (ยังใช้ hook [data-event-list] เดิม) */
.events-page .event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:visible;border:0;border-radius:0;background:none}
.event-card{position:relative;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border:1px solid rgba(155,182,199,.28);border-radius:18px;background:linear-gradient(165deg,rgba(14,29,42,.92),rgba(8,18,27,.88));box-shadow:0 16px 34px rgba(0,0,0,.42)}
.event-card.is-today{border-color:#ffb85b99;box-shadow:0 16px 34px rgba(0,0,0,.42),0 0 22px rgba(255,150,50,.22)}
.event-card-art{position:relative;display:grid;place-items:center;height:132px;background:radial-gradient(circle at 70% 30%,rgba(255,167,58,.2),transparent 62%),rgba(6,15,23,.7)}
.event-card-art img{width:auto;max-width:152px;max-height:112px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.55))}
.event-card-art .ico{font-size:52px;color:var(--kj-cyan)}
.event-card-body{padding:14px 16px 0}
.event-card-head{display:flex;align-items:center;gap:8px}
.event-card-head b{font-size:17px}
.event-card-body small{display:block;margin-top:4px;color:#a9c2d1;font-size:12px}
.event-card-body p{margin:8px 0 0;color:#cfdde6;font-size:12px;line-height:1.55}
.event-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding:11px 16px;border-top:1px solid rgba(155,182,199,.16);background:rgba(4,12,19,.5)}
.event-card-mode{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid rgba(112,229,180,.34);border-radius:999px;background:rgba(112,229,180,.08);color:#9ff0d1;font-size:12px;font-weight:900}
.event-card-foot time{color:#ffd6a1;font-size:13px;font-weight:900}

/* ลำดับเพจ: identity → ตารางกิจกรรม → ลงทะเบียน (CTA หลัก) → ข้อมูลช่วยเหลือ */
.events-page>.section{order:4}
.events-page>#beta-page{order:5}
.events-page>.event-help-strip{order:6}
.events-page>footer{order:7}

@media(max-width:1100px){
  .events-page .event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-next-card{gap:18px;padding:20px}
}
@media(max-width:900px){
  .event-next-card{grid-template-columns:minmax(0,1fr)}
  .event-next-timer-wrap{justify-content:flex-start}
}
@media(max-width:600px){
  .events-page .event-grid{grid-template-columns:minmax(0,1fr)}
  .event-card-art{height:118px}
}

/* [30] HOME SERVER CONNECT — ย้ายมาจาก <style id="home-server-connect-fix"> ใน index.html
   เดิมบล็อกนี้อยู่ท้าย <head> ของหน้าแรก จึงทับ [21] ด้วย !important แบบมองไม่เห็นจากไฟล์นี้
   ตอนนี้เป็น rule ปกติที่ท้ายไฟล์ (order ชนะเทียบเท่าของเดิม) → index.html ไม่มี CSS เฉพาะหน้าแล้ว */
.hero-server-connect{
  display:flex;align-items:center;gap:10px;
  width:max-content;max-width:100%;margin-top:13px;
  padding:8px 9px 8px 12px;border:1px solid rgba(255,255,255,.14);
  border-radius:13px;background:linear-gradient(135deg,rgba(0,0,0,.68),rgba(0,0,0,.48) 58%,rgba(0,0,0,.60));
  box-shadow:0 18px 38px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.07);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.hero-server-address{display:flex;align-items:center;gap:9px;min-width:205px}
.hero-server-address>div{display:flex;flex-direction:column;line-height:1.05}
.hero-server-address small{display:block;color:#8fa6b3;font-size:12px;font-weight:900;letter-spacing:.14em}
.hero-server-address b{display:block;margin-top:3px;color:#f7fbff;font-size:13px;font-weight:900}
.hero-server-dot{display:block;flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:#70e5b4;box-shadow:0 0 11px rgba(112,229,180,.7)}
.hero-server-mode{
  display:inline-flex;align-items:center;min-height:30px;padding:6px 9px;
  border:1px solid rgba(112,229,180,.28);border-radius:8px;background:rgba(112,229,180,.07);
  color:#91edcf;font-size:12px;font-weight:900;letter-spacing:.08em;white-space:nowrap
}
.hero-copy-ip,.hero-connect-now{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:7px 11px;border-radius:9px;
  font-family:inherit;font-size:12px;font-weight:900;line-height:1;white-space:nowrap;text-decoration:none
}
.hero-copy-ip{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#dceaf1}
.hero-connect-now{border:1px solid #ffd48b;background:linear-gradient(#ffb33b,#ee661d);color:#fff;box-shadow:0 0 14px rgba(255,141,44,.28)}
@media(max-width:900px){.hero-server-connect{width:100%;flex-wrap:wrap}.hero-server-address{flex:1 1 190px}}
@media(max-width:560px){.hero-copy-ip,.hero-connect-now{flex:1 1 auto}}

/* [31] TOPBAR LOGIN BUTTON — ปุ่มเข้าสู่ระบบ/บัญชีผู้ใช้ในท็อปบาร์
   เดิม: <button class="steam login-trigger">◉ <span>เข้าสู่ระบบ</span></button>
   ปัญหาของเดิม: หยิบอักขระ ◉ (U+25C9) มาวางลอยติดข้อความโดยไม่มี aria-hidden
   ⇒ screen reader อ่านชื่ออักขระ · รูปทรงขึ้นกับฟอนต์ของแต่ละเครื่อง
   · หน้าตาเป็นปุ่ม provider สีเขียวเหมือนปุ่มอื่น จนดูไม่ออกว่าเป็น "ปุ่มเข้าสู่ระบบ"
   ตอนนี้ใช้ระบบไอคอน .ico/.i-* ที่มีอยู่แล้ว + ป้ายข้อความ และมี badge ให้เห็นว่าเป็นปุ่ม auth
   หมายเหตุ: คงพฤติกรรมซ่อนปุ่มบนจอ ≤900px ตามเดิม (เดิมซ่อนผ่าน .steam ใน media query ต้นไฟล์)
   — งานนี้ไม่เปลี่ยน layout มือถือ */
.login-trigger{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:44px;padding:0 15px 0 8px;border:1px solid rgba(142,234,255,.34);border-radius:12px;
  background:linear-gradient(145deg,rgba(25,46,61,.92),rgba(12,23,33,.95));
  color:#f2fbff;font-size:13px;font-weight:800;line-height:1;white-space:nowrap;
  box-shadow:inset 0 1px rgba(255,255,255,.14),0 7px 16px rgba(7,16,24,.55);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease
}
.login-trigger:hover{
  transform:translateY(-1px);border-color:rgba(142,234,255,.62);
  box-shadow:inset 0 1px rgba(255,255,255,.2),0 10px 22px rgba(5,12,18,.6),0 0 18px rgba(99,216,255,.18)
}
.login-trigger:active{
  transform:none;box-shadow:inset 0 1px rgba(255,255,255,.12),0 4px 10px rgba(5,12,18,.55)
}
.login-trigger-badge{
  display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;
  border:1px solid rgba(142,234,255,.42);color:#d9f5ff;font-size:17px;
  background:radial-gradient(circle at 50% 18%,rgba(99,216,255,.3),rgba(43,157,140,.2) 68%,rgba(12,23,33,.35));
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 0 12px rgba(99,216,255,.12)
}
.login-trigger-badge .ico{width:17px;height:17px}
.login-trigger:hover .login-trigger-badge{border-color:rgba(142,234,255,.72);color:#fff}
.login-trigger-label{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.login-trigger{display:none}}

/* [33] NAV ICONS — เปลี่ยนอักขระ ⌂ ◫ ★ ▰ ›_ ✚ เป็นไอคอนสไปรต์โดยคงขนาดเดิมทุก breakpoint
   ปัญหาของเดิม: อักขระเหล่านี้มาจากฟอนต์ของเครื่อง ⇒ ความกว้างไม่เท่ากัน (◫ กว้าง 12px,
   ›_ เป็น 2 ตัวอักษร) ทำให้แถบเมนูล่างมือถือดูไม่เป็นระเบียบและต่างกันในแต่ละเครื่อง
   และ ‹ ›_ ✚ ไม่มีความหมายที่คนอ่านออก
   ตั้ง .ico ให้เป็น 1em + display:block ⇒ กล่องสูงเท่า line-height เดิมเสมอ
   จึงไม่ขยับ layout ของ .topbar nav a (19px ≥901 · 23px 561–900 · 20px ≤700) */
.nav-icon .ico{display:block;width:1em;height:1em}

/* [34] ICON SIZE PARITY — ไอคอนที่มาแทนอักขระเดิม (⌂ ◫ ★ ▰ ›_ ✚ ▦ ▤ ♟ ♨ ▣ ⇄ ↻ ◉ ◌)
   ตั้ง 1em = font-size ของบริบทเดิม ⇒ ขนาดเท่าเดิม ไม่ดัน layout
   (ค่าเริ่มต้นของ .ico คือ 1.1em ซึ่งใหญ่กว่าเดิมประมาณ 10%) */
.commands-hero-icon .ico,.commands-filters button .ico,.commands-popular h2 .ico,
.commands-tips h2 .ico,.commands-item-icon .ico,.points-balance-rate-icon.ico,
.points-exchange-symbol.ico,.points-history-icon.ico,.shop-hot-tag .ico,
.panel header h3 .ico{
  width:1em;height:1em;vertical-align:-.08em
}
/* ปุ่มบนหน้า Points/ Daily เป็น flex/grid ⇒ ไอคอนอาจถูกยืดตามแนวตั้ง (align-items:stretch)
   ต้องกันด้วย align-self + min-height ไม่งั้นกล่องไอคอนจะไม่เป็นสี่เหลี่ยม */
[data-points-soon] .ico,[data-daily-preview] .ico{flex:0 0 auto;align-self:center;min-height:0}
.points-history-empty-icon .ico{width:20px;height:20px}
/* กล่องตกแต่ง + ไอคอนสไปรต์: wrapper มี background/ขนาดของมันอยู่แล้ว
   ⇒ ตัว .ico ต้องกวาด background:currentColor ของตัวเองกลับมา ไม่งั้นมาสก์จะทึบสีกล่อง */
.points-payment-list span.ico{display:inline-block;width:16px;height:16px;background:currentColor}
.daily-stat-row>div>span.ico{width:1em;height:1em}
.daily-claim-row .ico,.points-pack button .ico,.points-reward-grid button .ico{width:1em;height:1em;vertical-align:-.08em}

/* [32] BRAND MARKS — Steam / Discord (ใช้กับปุ่มและ卡片 "บัญชีที่เชื่อมต่อ" ในหน้าโปรไฟล์)
   ไฟล์ต้นฉบับอยู่ที่ assets/brand/*.svg (Simple Icons · CC0) — ใช้เป็น mask สีขาวบนพื้นสีแบรนด์
   ของเดิมใช้ตัวอักษร "D" / "S" ในกล่อง gradient เฉย ๆ ซึ่งอ่านไม่ออกว่าเป็นแบรนด์อะไร */
.i-steam{--i:url('assets/brand/steam.svg')}
.i-discord{--i:url('assets/brand/discord.svg')}
.discord-mark{background:linear-gradient(145deg,#5865f2,#4752c4)}
.steam-mark{background:linear-gradient(145deg,#2a475e,#171a21)}
.profile-service-mark .ico{width:24px;height:24px;color:#fff}
/* โลโก้เล็กบนปุ่ม "เชื่อม Discord / Steam" ให้กวาดตาแล้วรู้ว่าเชื่อมอะไร */
.profile-connect-button{gap:6px}
.profile-connect-button .ico{width:15px;height:15px}
.discord-connect .ico{color:#8f98ff}
.steam-connect .ico{color:#9fd0f5}

/* [33] TOPBAR SIZE LOCK / ขนาดแถบเมนูเท่ากันทุกหน้า (ต้นแบบ = หน้าแรก)
   ก่อนหน้านี้แต่ละหน้าประกาศ width/height/padding ของ .topbar เอง ⇒ เปิดมาแล้วคนละขนาด
   (index 1280x72 · points 1200x84 · shop 1164x77 · commands 1164x82 · daily 1164x79 · mods 1320x72)
   ห้ามใส่ขนาด .topbar ในหน้าใดหน้าหนึ่งอีก — แก้ที่บล็อกนี้ที่เดียว                              */
body>.topbar,
.portal-page>.topbar,
.points-page-body>.topbar,
.shop-page-body>.topbar,
.commands-page-body>.topbar,
.daily-page-body>.topbar,
.profile-page-body>.topbar{
  width:min(var(--kj-content),calc(100% - 40px));
  min-height:72px;
  height:auto;
  margin:10px auto 0;
  padding:7px 12px 7px 16px;
  border-radius:16px;
}
.portal-page>.topbar{width:100%}
@media(max-width:1180px){
  body>.topbar,
  .points-page-body>.topbar,
  .shop-page-body>.topbar,
  .commands-page-body>.topbar,
  .daily-page-body>.topbar,
  .profile-page-body>.topbar{width:calc(100% - 28px)}
}
@media(max-width:900px){
  body>.topbar,
  .points-page-body>.topbar,
  .shop-page-body>.topbar,
  .commands-page-body>.topbar,
  .daily-page-body>.topbar,
  .profile-page-body>.topbar{width:calc(100% - 20px)}
}
@media(max-width:700px){
  body>.topbar,
  .points-page-body>.topbar,
  .shop-page-body>.topbar,
  .commands-page-body>.topbar,
  .daily-page-body>.topbar,
  .profile-page-body>.topbar{width:100%;margin:0}
}

/* [34] FAQ / AEO — คำถามที่พบบ่อยประจำหน้า (เนื้อหาต้องตรงกับ JSON-LD FAQPage ใน<head> ของหน้านั้น)
   ทำไมต้องมี: AI answer engine (และ featured snippet) อ่านคำถาม–คำตอบที่อยู่ใน DOM จริง
   แก้คำถาม/คำตอบ → ต้องแก้ทั้งใน <section class="faq"> และ structured data ใน <head>                              */
.faq{margin:20px 0 6px;padding:20px 22px}
.faq h2{display:flex;align-items:center;gap:9px;margin:0 0 4px;font-size:22px}
.faq h2 .ico{color:#8eeaff}
.faq>p{margin:0 0 13px;color:#a2b5c0;font-size:12px}
.faq-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.faq-list article{padding:13px 15px;border:1px solid rgba(139,178,198,.3);border-radius:14px;background:rgba(11,26,37,.55)}
.faq-list h3{margin:0 0 6px;color:#ffd9a3;font-size:15px;line-height:1.4}
.faq-list p{margin:0;color:#c5d5de;font-size:13px;line-height:1.65}
@media(max-width:900px){.faq{padding:15px 14px}.faq-list{grid-template-columns:1fr}.faq h2{font-size:19px}}

/* [35] POINT PURCHASE SUCCESS — square glass modal after Stripe fulfillment */
.point-success-modal-open{overflow:hidden}
.point-success-backdrop{
  position:fixed;
  inset:0;
  z-index:12000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(3,8,13,.66);
  -webkit-backdrop-filter:blur(12px) saturate(118%);
  backdrop-filter:blur(12px) saturate(118%);
  opacity:0;
  transition:opacity .24s ease;
}
.point-success-backdrop[hidden]{display:none!important}
.point-success-backdrop.is-visible{opacity:1}
.point-success-modal{
  --success-size:min(520px,calc(100vw - 36px),calc(100vh - 36px));
  position:relative;
  isolation:isolate;
  width:var(--success-size);
  aspect-ratio:1/1;
  display:grid;
  grid-template-rows:auto auto auto auto;
  align-content:space-between;
  gap:14px;
  overflow:auto;
  padding:28px;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 0%,rgba(75,236,186,.13),transparent 35%),
    linear-gradient(145deg,rgba(19,31,40,.89),rgba(7,14,22,.92))!important;
  box-shadow:0 28px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.15),0 0 0 1px rgba(82,223,181,.07);
  color:#f6fbff;
  opacity:0;
  transform:translateY(48px) scale(.96);
  transition:transform .34s cubic-bezier(.2,.85,.2,1),opacity .26s ease;
}
.point-success-backdrop.is-visible .point-success-modal{opacity:1;transform:translateY(0) scale(1)}
.point-success-glow{
  position:absolute;
  z-index:-1;
  top:-105px;
  left:50%;
  width:310px;
  height:310px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(63,229,177,.22),rgba(67,187,246,.06) 48%,transparent 70%);
  transform:translateX(-50%);
  pointer-events:none;
  animation:point-success-glow 2.2s ease-in-out infinite alternate;
}
.point-success-close{
  position:absolute;
  z-index:3;
  top:15px;
  right:15px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
  background:rgba(255,255,255,.055);
  color:#dce8ed;
  font:700 24px/1 system-ui,sans-serif;
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}
.point-success-close:hover{background:rgba(255,255,255,.11);transform:scale(1.04)}
.point-success-pack{
  position:relative;
  display:grid;
  place-items:center;
  width:136px;
  height:112px;
  margin:0 auto;
  animation:point-success-pack .5s cubic-bezier(.2,.9,.22,1.18) both;
}
.point-success-pack>img{
  width:128px;
  height:104px;
  object-fit:contain;
  filter:drop-shadow(0 14px 16px rgba(0,0,0,.5)) drop-shadow(0 0 12px rgba(255,180,58,.18));
}
.point-success-check{
  position:absolute;
  right:-1px;
  bottom:3px;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid rgba(119,255,207,.64);
  border-radius:12px;
  background:linear-gradient(145deg,#2bb68f,#176e62);
  box-shadow:0 8px 20px rgba(30,190,145,.3),inset 0 1px rgba(255,255,255,.18);
  animation:point-success-check .52s .12s cubic-bezier(.2,.9,.22,1.35) both;
}
.point-success-check .ico{width:18px;height:18px;color:#edfff8}
.point-success-copy{text-align:center}
.point-success-kicker{display:block;margin-bottom:6px;color:#82e9c7;font-size:11px;font-weight:950;letter-spacing:.2em}
.point-success-copy h2{margin:0;color:#fff;font-size:32px;line-height:1.12;letter-spacing:-.025em}
.point-success-copy p{max-width:405px;margin:9px auto 0;color:#aebfc9;font-size:13px;line-height:1.55}
.point-success-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.point-success-summary article{
  padding:13px 14px;
  border:1px solid rgba(142,207,213,.18);
  border-radius:15px;
  background:rgba(255,255,255,.045);
  text-align:left;
}
.point-success-summary small{display:block;color:#849da8;font-size:10px;font-weight:900;letter-spacing:.09em}
.point-success-summary strong{display:block;margin-top:5px;color:#fff;font-size:18px;line-height:1.2}
.point-success-summary article:first-child strong{color:#7ef0c8}
.point-success-order{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(3,10,16,.35)}
.point-success-order span{color:#708b98;font-size:10px;font-weight:950;letter-spacing:.13em}
.point-success-order b{overflow:hidden;color:#c8d8df;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.point-success-actions{display:grid;grid-template-columns:1fr 1.15fr;gap:9px}
.point-success-actions button,.point-success-actions a{
  display:flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0 13px;
  border-radius:13px;
  font:inherit;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
}
.point-success-actions button{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:#d6e4e9}
.point-success-actions a{border:1px solid rgba(104,239,194,.55);background:linear-gradient(135deg,#238f79,#176960);box-shadow:0 8px 20px rgba(33,170,139,.19);color:#fff}
.point-success-actions button:hover,.point-success-actions a:hover{filter:brightness(1.08)}
@keyframes point-success-pack{0%{opacity:0;transform:translateY(16px) scale(.82)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes point-success-check{0%{opacity:0;transform:scale(.45) rotate(-12deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes point-success-glow{from{opacity:.65;transform:translateX(-50%) scale(.94)}to{opacity:1;transform:translateX(-50%) scale(1.07)}}
@media(max-width:560px){
  .point-success-modal{padding:20px;gap:9px;border-radius:22px}
  .point-success-close{top:11px;right:11px;width:35px;height:35px}
  .point-success-pack{width:108px;height:88px}.point-success-pack>img{width:102px;height:84px}.point-success-check{right:-1px;bottom:1px;width:30px;height:30px;border-radius:10px}.point-success-check .ico{width:15px;height:15px}
  .point-success-copy h2{font-size:25px}.point-success-copy p{margin-top:6px;font-size:12px;line-height:1.4}
  .point-success-summary article{padding:10px}.point-success-summary strong{font-size:15px}
  .point-success-order{padding:8px 10px}.point-success-actions button,.point-success-actions a{min-height:42px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .point-success-backdrop,.point-success-modal{transition:none}
  .point-success-glow,.point-success-pack,.point-success-check{animation:none}
}

/* Commerce glass flow — payment choice, confirmations and owned-item panels */
.commerce-choice-modal,.commerce-confirm-modal,.commerce-info-modal{aspect-ratio:auto;min-height:0;grid-template-rows:auto;align-content:start;gap:16px}
.commerce-choice-modal{width:min(470px,calc(100vw - 32px));padding:30px 28px 22px;background:radial-gradient(circle at 15% 0%,rgba(111,224,255,.16),transparent 38%),radial-gradient(circle at 100% 100%,rgba(112,229,180,.1),transparent 38%),linear-gradient(145deg,rgba(25,43,57,.93),rgba(7,16,26,.96))!important}
.commerce-choice-modal .point-success-copy{padding:0 18px}
.commerce-price-chip{display:inline-flex;align-items:center;margin-left:5px;padding:4px 9px;border:1px solid rgba(255,209,95,.35);border-radius:999px;background:rgba(255,183,77,.12);color:#ffd15f;font-size:12px;font-weight:900;white-space:nowrap}
.payment-option-grid{display:grid;gap:10px;margin:2px 0}
.payment-option-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:12px;width:100%;min-height:86px;padding:12px 13px;border:1px solid rgba(142,234,255,.34);border-radius:18px;background:linear-gradient(135deg,rgba(41,91,111,.58),rgba(12,30,43,.72));box-shadow:inset 0 1px rgba(255,255,255,.12),0 10px 24px rgba(2,11,18,.22);color:#f5fbff;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.payment-option-card:hover,.payment-option-card:focus-visible{transform:translateY(-2px);border-color:rgba(142,234,255,.8);background:linear-gradient(135deg,rgba(48,114,133,.72),rgba(13,37,51,.8));box-shadow:inset 0 1px rgba(255,255,255,.16),0 14px 30px rgba(2,11,18,.36),0 0 0 3px rgba(116,223,243,.08);outline:none}
.payment-option-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(142,234,255,.35);border-radius:14px;background:rgba(116,223,243,.12);color:#8eeaff;font-size:21px;box-shadow:inset 0 1px rgba(255,255,255,.12)}
.payment-option-copy{display:grid;gap:3px;min-width:0}.payment-option-copy b{font-size:14px}.payment-option-copy small{color:#d3eaf1;font-size:12px}.payment-option-copy em{color:#8faeb9;font-size:11px;font-style:normal}.payment-option-arrow{color:#8eeaff;font-size:24px;transition:transform .18s ease}.payment-option-card:hover .payment-option-arrow{transform:translateX(3px)}
.commerce-trust-row{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;color:#8ba6b2;font-size:10px;letter-spacing:.02em}.commerce-trust-row span{display:inline-flex;align-items:center;gap:4px}.commerce-trust-row .ico{color:#70e5b4;font-size:13px}
.commerce-confirm-modal{width:min(450px,calc(100vw - 32px));padding:30px 28px 22px;background:radial-gradient(circle at 50% 0%,rgba(255,209,95,.1),transparent 40%),linear-gradient(145deg,rgba(27,42,52,.94),rgba(7,15,23,.97))!important}
.commerce-confirm-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto -3px;border:1px solid rgba(255,209,95,.4);border-radius:17px;background:rgba(255,183,77,.12);color:#ffd15f;font-size:24px;box-shadow:0 10px 24px rgba(255,166,55,.12),inset 0 1px rgba(255,255,255,.15)}
.commerce-confirm-primary{border-color:rgba(112,229,180,.7)!important;background:linear-gradient(135deg,#2b9c82,#17665e)!important;box-shadow:0 8px 20px rgba(33,170,139,.2),inset 0 1px rgba(255,255,255,.2)!important;color:#fff!important}
.commerce-info-modal{width:min(520px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 32px));padding:30px 26px 22px}
.commerce-info-modal .point-success-copy h2{padding-right:26px}.commerce-panel-list{display:grid;gap:8px;margin-top:14px;max-height:390px;overflow:auto;padding-right:2px;text-align:left}.commerce-panel-list p{margin:0;padding:11px 12px;border:1px solid rgba(142,207,213,.16);border-radius:13px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02));color:#cfe0e6;font-size:12px;line-height:1.45}.commerce-panel-list p b{color:#f5fbff}.commerce-panel-list p small{display:block;margin-top:3px;color:#8fa7b2;font-size:11px}.commerce-panel-list hr{width:100%;border:0;border-top:1px solid rgba(255,255,255,.1)}
@media(max-width:560px){.commerce-choice-modal,.commerce-confirm-modal,.commerce-info-modal{padding:24px 17px 18px}.commerce-choice-modal .point-success-copy{padding:0 8px}.payment-option-card{grid-template-columns:40px minmax(0,1fr) 18px;gap:9px;min-height:79px;padding:10px}.payment-option-icon{width:40px;height:40px;border-radius:12px}.payment-option-copy em{font-size:10px}.commerce-trust-row{gap:8px;font-size:9px}.commerce-info-modal{max-height:calc(100vh - 20px)}}

/* [36] LEGAL / POLICY PAGES */
.legal-page{width:min(var(--kj-content),calc(100% - 40px));margin:0 auto;padding-top:22px}
.legal-hero{padding:22px 24px;border-radius:18px}
.legal-hero h1{display:flex;align-items:center;gap:10px;margin:0;color:#fff;font-size:30px}
.legal-hero h1 .ico{color:#8eeaff}
.legal-hero p{max-width:760px;margin:8px 0 0;color:#b9c9d2;font-size:13px;line-height:1.7}
.legal-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.legal-meta span{padding:6px 9px;border:1px solid rgba(139,178,198,.28);border-radius:999px;background:rgba(8,21,31,.48);color:#92aab5;font-size:11px;font-weight:850}
.legal-grid{display:grid;gap:12px;margin-top:14px}
.legal-card{padding:18px 20px;border-radius:16px}
.legal-card h2{margin:0 0 8px;color:#f5f9fb;font-size:19px}
.legal-card h3{margin:14px 0 5px;color:#dff5fb;font-size:15px}
.legal-card p,.legal-card li{color:#bfced6;font-size:13px;line-height:1.75}
.legal-card p{margin:7px 0}
.legal-card ul{margin:8px 0 0;padding-left:20px}
.legal-card a{color:#8eeaff;font-weight:800}
.legal-callout{border-color:rgba(104,239,194,.3)!important;background:linear-gradient(135deg,rgba(22,67,61,.42),rgba(9,24,32,.74))!important}
.legal-warning{border-color:rgba(255,196,101,.3)!important;background:linear-gradient(135deg,rgba(83,61,35,.36),rgba(15,25,32,.76))!important}
footer .legal-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}
footer .legal-footer-links a{color:#8da7b3;font-size:11px;font-weight:800;text-decoration:none}
footer .legal-footer-links a:hover{color:#dff8ff}
@media(max-width:900px){.legal-page{width:calc(100% - 20px);padding-top:12px}.legal-hero{padding:18px 16px}.legal-card{padding:15px}.legal-hero h1{font-size:24px}}

/* [37] EVENTS + DAILY REF PAGES — rebuilt from the passed portal surfaces
   These two pages intentionally use their own layout namespace so old page
   experiments cannot leak back into the new visual system. */
.events-ref-page,.daily-ref-page{padding-bottom:24px}
.events-ref-hero,.daily-ref-hero{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;
  min-height:196px;margin-top:14px;padding:25px 28px 23px;overflow:hidden;
  border:1px solid rgba(139,178,198,.25)!important;border-radius:19px!important;
  background:linear-gradient(100deg,rgba(9,24,35,.96),rgba(12,29,40,.84) 60%,rgba(25,42,46,.62)),url('assets/background-clean.webp') center 42%/cover!important;
  box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.08)!important
}
.events-ref-hero:after,.daily-ref-hero:after{content:'';position:absolute;inset:auto -8% -74%;height:180px;background:radial-gradient(ellipse,rgba(255,157,56,.22),transparent 68%);pointer-events:none}
.events-ref-hero-copy,.daily-ref-hero-copy{position:relative;z-index:1;min-width:0}
.events-ref-kicker,.daily-ref-kicker{display:block;color:#8fe9d0;font-size:12px;font-weight:950;letter-spacing:.18em;line-height:1.2}
.events-ref-hero .shop-style-title,.daily-ref-hero .shop-style-title{margin-top:8px}
.events-ref-hero .shop-style-title .ico,.daily-ref-hero .shop-style-title .ico{color:#ffad3d}
.events-ref-actions,.daily-ref-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.events-ref-actions a,.daily-ref-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 13px;border-radius:9px;font-size:12px;font-weight:900;text-decoration:none}
.events-ref-actions .primary,.daily-ref-actions .primary{border:1px solid rgba(255,208,127,.78);background:linear-gradient(135deg,#e68b2d,#a9541e);box-shadow:0 8px 17px rgba(0,0,0,.28);color:#fff}
.events-ref-actions .secondary,.daily-ref-actions .secondary{border:1px solid rgba(139,178,198,.34);background:rgba(9,25,36,.56);color:#cfe5ed}
.events-ref-actions a:hover,.daily-ref-actions a:hover{filter:brightness(1.1);transform:translateY(-1px)}
.events-ref-hero-mark,.daily-ref-hero-mark{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex:0 0 180px;width:180px;height:138px;border:1px solid rgba(255,188,91,.3);border-radius:17px;background:linear-gradient(145deg,rgba(255,174,58,.17),rgba(7,20,29,.48));box-shadow:inset 0 1px rgba(255,255,255,.1),0 15px 30px rgba(0,0,0,.23);transform:rotate(3deg)}
.events-ref-hero-mark .ico{margin-right:9px;color:#ffb34d;font-size:48px;filter:drop-shadow(0 0 11px rgba(255,164,49,.55))}
.events-ref-hero-mark b{color:#f4f9fa;font-size:17px;line-height:1.1;letter-spacing:.08em;text-shadow:0 3px 8px #0009}.events-ref-hero-mark em,.daily-ref-hero-mark em{color:#ffb34d;font-style:normal}
.events-ref-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.events-ref-overview-card{display:flex;align-items:center;gap:10px;min-height:70px;padding:12px 14px;border-radius:13px}
.events-ref-icon,.daily-ref-panel-icon,.daily-ref-stat-icon{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border:1px solid rgba(116,223,243,.24);border-radius:11px;background:rgba(116,223,243,.08);color:#8eeaff}
.events-ref-overview-card b,.events-ref-overview-card small{display:block}.events-ref-overview-card b{color:#edf8fb;font-size:13px}.events-ref-overview-card small{margin-top:3px;color:#8da7b2;font-size:12px;line-height:1.25}
.events-ref-beta{position:relative;margin-top:14px;padding:22px 24px 20px;overflow:hidden;border:1px solid rgba(255,184,91,.36);border-radius:18px;background:linear-gradient(115deg,rgba(12,30,43,.97),rgba(13,27,37,.92) 60%,rgba(54,37,21,.84)),url('assets/point-exp-bg.webp') center/cover;box-shadow:0 16px 34px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.08)}
.events-ref-beta:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 90% 4%,rgba(255,186,81,.15),transparent 28%),linear-gradient(90deg,rgba(4,14,22,.24),transparent 65%);pointer-events:none}
.events-ref-beta>*{position:relative;z-index:1}.events-ref-beta-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}.events-ref-beta-heading h2{margin:6px 0 4px;color:#fff;font-size:clamp(28px,3.2vw,43px);line-height:1;letter-spacing:-.045em}.events-ref-beta-heading h2 span{color:#ffae3f}.events-ref-beta-heading p{max-width:650px;margin:0;color:#c4d6de;font-size:13px;line-height:1.5}.events-ref-guarantee{display:grid;grid-template-columns:54px auto;grid-template-rows:auto auto;align-items:center;column-gap:9px;min-width:190px;padding:9px 12px;border:1px solid rgba(112,229,180,.3);border-radius:13px;background:rgba(5,22,27,.56)}.events-ref-guarantee img{grid-row:1/3;width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 5px 6px #0009)}.events-ref-guarantee b{color:#ffd98e;font-size:16px}.events-ref-guarantee small{color:#8fe9d0;font-size:12px;line-height:1.2}
.events-ref-progress{margin-top:16px;padding:13px 15px;border:1px solid rgba(139,178,198,.22);border-radius:13px;background:rgba(3,14,23,.58)}.events-ref-progress-top,.events-ref-progress-foot{display:flex;align-items:end;justify-content:space-between;gap:12px}.events-ref-progress-top>div:first-child{display:flex;align-items:baseline;gap:5px}.events-ref-progress small{display:block;color:#8fa8b3;font-size:12px}.events-ref-progress strong{color:#68ead3;font-size:35px;line-height:.9}.events-ref-progress em{color:#cfe0e6;font-size:14px;font-style:normal;font-weight:800}.events-ref-progress-top>div:last-child{text-align:right}.events-ref-progress-top b{display:block;color:#ffcb76;font-size:15px}.events-ref-progress-line{height:10px;margin-top:12px;padding:2px;border:1px solid rgba(112,229,180,.3);border-radius:99px;background:#07141e;box-shadow:inset 0 2px 4px #0009}.events-ref-progress-line span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#51d8ef,#70e5b4);box-shadow:0 0 10px rgba(80,226,216,.66);transition:width .3s}.events-ref-progress-foot{align-items:center;margin-top:6px}.events-ref-progress-foot span{color:#a9ecda;font-size:12px;font-weight:900}.events-ref-progress-foot small{color:#708d99}
.events-ref-subhead{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:18px}.events-ref-subhead span{color:#77e4cb;font-size:12px;font-weight:950;letter-spacing:.16em}.events-ref-subhead h3{margin:3px 0 0;color:#f1f8fb;font-size:19px}.events-ref-subhead>small{color:#839aa5;font-size:12px}.events-ref-milestones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:9px}.events-ref-milestones .milestone{min-height:94px;padding:9px 5px;border:1px solid rgba(139,178,198,.25);border-radius:11px;background:rgba(255,255,255,.045);box-shadow:none;text-align:center}.events-ref-milestones .milestone small{color:#9eb5bf;font-size:12px}.events-ref-milestones .milestone strong{margin-top:3px;color:#ffca72;font-size:29px;text-shadow:0 0 11px rgba(255,197,106,.25)}.events-ref-milestones .milestone span{color:#a4b7bf;font-size:12px}.events-ref-milestones .milestone em{display:block;overflow:hidden;margin-top:4px;color:#c9d9df;font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.events-ref-milestones .milestone.is-current{border-color:rgba(255,193,91,.82);background:rgba(255,172,59,.14);box-shadow:0 0 14px rgba(255,166,51,.13);transform:none}.events-ref-milestones .milestone.is-done{border-color:rgba(112,229,180,.43);background:rgba(112,229,180,.08)}.events-ref-milestones .milestone.is-done strong{color:#8fe9d0}
.events-ref-rewards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:9px}.events-ref-rewards .beta-reward{display:flex;min-width:0;min-height:194px;padding:9px;flex-direction:column;border:1px solid rgba(139,178,198,.24);border-radius:12px;background:rgba(6,20,30,.58);box-shadow:none}.events-ref-rewards .beta-reward .reward-art{display:grid;place-items:center;width:100%;height:86px;flex:0 0 86px;border:1px solid rgba(139,178,198,.22);border-radius:10px;background:radial-gradient(circle at 50% 10%,rgba(255,177,72,.16),rgba(6,17,26,.6));font-size:28px}.events-ref-rewards .beta-reward .reward-art img{width:76%;height:76%;object-fit:contain;filter:drop-shadow(0 6px 7px #0009)}.events-ref-rewards .beta-reward strong{display:block;min-height:29px;margin-top:8px;color:#e7f3f6;font-size:12px}.events-ref-rewards .beta-reward p{min-height:30px;margin:2px 0;color:#a9c1ca;font-size:12px;line-height:1.3}.events-ref-rewards .beta-reward p b{display:block;color:#ffd07a}.events-ref-rewards .beta-reward small{margin-top:auto;color:#839aa5;font-size:12px;line-height:1.3}.events-ref-rewards .beta-reward.is-unlocked{border-color:rgba(112,229,180,.48);background:linear-gradient(145deg,rgba(44,112,91,.22),rgba(6,20,30,.65))}.events-ref-rewards .beta-reward.is-unlocked small{color:#8fe9d0}.events-ref-beta-cta{display:flex;align-items:center;gap:13px;margin-top:16px}.events-ref-beta-cta .beta-register-button{min-width:245px;margin:0;border-color:#ffd18b;background:linear-gradient(135deg,#e88c2d,#a8511c);box-shadow:0 8px 20px rgba(0,0,0,.28);font-size:13px}.events-ref-beta-cta p{margin:0;color:#91aab4;font-size:12px}.events-ref-beta .beta-receipt{margin-top:12px}
.events-ref-next,.events-ref-active{margin-top:20px}.events-ref-section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:11px}.events-ref-section-head h2{margin:4px 0 0;color:#eff8fa;font-size:24px;letter-spacing:-.025em}.events-ref-section-head p{margin:4px 0 0;color:#8fa8b3;font-size:12px}.events-ref-section-head>a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid rgba(139,178,198,.28);border-radius:9px;background:rgba(9,25,36,.56);color:#cfe5ed;font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}.events-ref-next-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:18px 20px;border:1px solid rgba(255,184,91,.28);border-radius:15px;background:linear-gradient(120deg,rgba(9,24,35,.94),rgba(35,31,25,.76));box-shadow:inset 0 1px rgba(255,255,255,.06)}.events-ref-next-label{display:inline-flex;align-items:center;gap:7px;color:#ffcf79;font-size:12px;font-weight:950;letter-spacing:.15em}.events-ref-next-label i{width:7px;height:7px;border-radius:50%;background:#ffb85b;box-shadow:0 0 10px #ffb85b}.events-ref-next-card h3{margin:8px 0 0;color:#f5fbfd;font-size:21px;line-height:1.2}.events-ref-next-card p{max-width:650px;margin:6px 0 0;color:#a9c0c9;font-size:12px;line-height:1.5}.events-ref-timer{display:flex;gap:7px}.events-ref-timer .timer-cell{display:grid;place-items:center;min-width:70px;min-height:68px;padding:7px;border:1px solid rgba(139,178,198,.22);border-radius:10px;background:rgba(3,15,24,.63)}.events-ref-timer .timer-cell b{color:#f4c56f;font-size:25px}.events-ref-timer .timer-cell small{color:#8da8b3;font-size:12px}.events-ref-timer.is-unscheduled{display:block;width:min(410px,100%)}.events-ref-timer .event-unscheduled{display:grid;grid-template-columns:37px minmax(0,1fr);align-items:center;gap:9px;min-height:62px;padding:10px 12px;border:1px solid rgba(139,178,198,.22);border-radius:10px;background:rgba(3,15,24,.6)}.events-ref-timer .event-unscheduled>.ico{grid-row:1/3;color:#ffbf69;font-size:25px}.events-ref-timer .event-unscheduled b,.events-ref-timer .event-unscheduled small{display:block}.events-ref-timer .event-unscheduled b{color:#e6f2f5;font-size:12px}.events-ref-timer .event-unscheduled small{margin-top:3px;color:#8da8b3;font-size:12px}.events-ref-timer .event-unscheduled a{grid-column:2;color:#ffd09a;font-size:12px;font-weight:900;text-decoration:none}
.events-ref-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.events-ref-list .event-card{min-width:0;border-color:rgba(139,178,198,.24);border-radius:14px;background:linear-gradient(165deg,rgba(14,31,43,.92),rgba(7,19,28,.92));box-shadow:0 14px 25px rgba(0,0,0,.26)}.events-ref-list .event-card-art{height:112px;background:radial-gradient(circle at 70% 30%,rgba(255,167,58,.19),transparent 62%),rgba(6,15,23,.7)}.events-ref-list .event-card-art img{max-width:138px;max-height:95px}.events-ref-list .event-card-body{padding:12px 14px 0}.events-ref-list .event-card-head b{font-size:16px}.events-ref-list .event-card-body small{font-size:12px}.events-ref-list .event-card-body p{margin:7px 0 0;color:#bcd0d9;font-size:12px;line-height:1.5}.events-ref-list .event-card-foot{margin-top:12px;padding:9px 14px;background:rgba(4,12,19,.5)}.events-ref-list .event-card-mode{min-height:23px}.events-ref-list .event-card-foot time{font-size:12px}
.events-ref-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;overflow:hidden;border:1px solid rgba(139,178,198,.22);border-radius:14px;background:rgba(9,24,35,.75)}.events-ref-help article{display:grid;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:13px 14px;border-right:1px solid rgba(139,178,198,.16)}.events-ref-help article:last-child{border-right:0}.events-ref-help b,.events-ref-help small{display:block}.events-ref-help b{color:#eaf6f8;font-size:12px}.events-ref-help small{margin-top:3px;color:#8ea7b1;font-size:12px;line-height:1.25}.events-ref-help a{color:#ffd19a;font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}

.daily-ref-hero-mark{flex-basis:170px;width:170px;height:138px;gap:8px;transform:rotate(-3deg)}.daily-ref-hero-mark>b{color:#ffb34d;font-size:74px;line-height:.75;text-shadow:0 0 18px rgba(255,166,49,.35)}.daily-ref-hero-mark>span{color:#eaf4f6;font-size:12px;font-weight:950;line-height:1.15;letter-spacing:.15em}.daily-ref-hero-mark em{font-style:normal}
.daily-ref-status-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);gap:12px;margin-top:14px}.daily-ref-status,.daily-ref-reset{min-width:0;padding:18px 20px;border-radius:15px}.daily-ref-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.daily-ref-panel-head h2{margin:4px 0 0;color:#edf7f9;font-size:20px}.daily-ref-panel-icon{flex-basis:37px}.daily-ref-status>p,.daily-ref-reset>p{margin:4px 0 13px;color:#8fa8b3;font-size:12px}.daily-ref-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.daily-ref-stats>div{display:flex;align-items:center;gap:9px;min-width:0;padding:11px;border:1px solid rgba(139,178,198,.2);border-radius:11px;background:rgba(4,16,26,.5)}.daily-ref-stat-icon{flex-basis:42px;width:42px;height:42px;border-color:rgba(255,184,91,.27);background:rgba(255,184,91,.08);color:#ffca72}.daily-ref-stat-icon .ico{font-size:21px}.daily-ref-stat-icon img{width:35px;height:35px;object-fit:contain;filter:drop-shadow(0 4px 4px #0009)}.daily-ref-stats small,.daily-ref-stats strong,.daily-ref-stats>div>div>span{display:block}.daily-ref-stats small{color:#8fa8b3;font-size:12px}.daily-ref-stats strong{margin-top:2px;color:#f4fbfc;font-size:22px;line-height:1.1}.daily-ref-stats>div>div>span{margin-top:4px;overflow:hidden;color:#77d7c1;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.daily-ref-claim{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.daily-ref-claim .primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid rgba(112,229,180,.52);border-radius:9px;background:linear-gradient(135deg,#2e9b80,#17665b);box-shadow:0 7px 14px rgba(0,0,0,.23);color:#f2fffb;font-size:12px;font-weight:900}.daily-ref-claim .primary b{font-size:16px}.daily-ref-claim .primary:disabled{filter:grayscale(.55);cursor:not-allowed}.daily-ref-claim>span{color:#8fa8b3;font-size:12px;text-align:right}.daily-ref-timer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.daily-ref-timer .timer-cell{display:grid;place-items:center;min-height:74px;border:1px solid rgba(139,178,198,.2);border-radius:10px;background:rgba(4,16,26,.52)}.daily-ref-timer .timer-cell b{color:#ffcb75;font-size:26px}.daily-ref-timer .timer-cell small{color:#8fa8b3;font-size:12px}.daily-ref-reset-note{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding:9px 10px;border-radius:9px;background:rgba(116,223,243,.07);color:#a5bbc4;font-size:12px;line-height:1.4}.daily-ref-reset-note .ico{flex:0 0 auto;color:#8eeaff;font-size:14px}
.daily-ref-rewards,.daily-ref-how{margin-top:14px;padding:19px 20px;border-radius:16px}.daily-ref-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:13px}.daily-ref-section-head h2{margin:4px 0 0;color:#eef8fa;font-size:23px}.daily-ref-section-head h2 em{color:#ffb34c;font-style:normal}.daily-ref-section-head p{margin:4px 0 0;color:#8fa8b3;font-size:12px}.daily-ref-track-label{color:#78929e;font-size:12px;font-weight:900;letter-spacing:.12em}.daily-ref-reward-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.daily-ref-reward-grid .daily-reward-card{min-width:0;min-height:190px;padding:10px 8px;border-color:rgba(139,178,198,.23);border-radius:11px;background:linear-gradient(160deg,rgba(19,42,55,.96),rgba(8,23,33,.96));box-shadow:none}.daily-ref-reward-grid .daily-reward-card.is-featured{border-color:rgba(255,184,91,.72);background:linear-gradient(160deg,rgba(80,54,27,.66),rgba(18,30,35,.96));box-shadow:0 0 0 1px rgba(242,154,56,.12),0 10px 20px rgba(0,0,0,.2)}.daily-ref-reward-grid .daily-reward-card.is-locked{opacity:.75}.daily-ref-reward-grid .daily-reward-card h3{padding-bottom:7px;border-bottom-color:rgba(139,178,198,.16);color:#d5e5ea;font-size:12px}.daily-ref-reward-grid .daily-reward-art{width:76px;height:76px;margin:8px auto 4px}.daily-ref-reward-grid .daily-reward-art img{max-width:72px;max-height:72px;filter:drop-shadow(0 7px 8px #0009)}.daily-ref-reward-grid .daily-reward-card strong{min-height:36px;color:#e8f1f4;font-size:12px;line-height:1.3}.daily-ref-reward-grid .daily-reward-card>small{min-height:30px;color:#8fa8b3;font-size:12px;line-height:1.25}.daily-ref-reward-grid .daily-reward-card button{width:100%;min-height:34px;margin-top:auto;padding:6px 4px;border:1px solid rgba(139,178,198,.3);border-radius:8px;background:rgba(33,58,72,.75);color:#c9dce3;font-size:12px;font-weight:900}.daily-ref-reward-grid .daily-reward-card.is-featured button{border-color:rgba(255,208,120,.75);background:linear-gradient(#e9a536,#ad5e20);color:#fff}.daily-ref-how{padding-bottom:18px}.daily-ref-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.daily-ref-how-grid article{display:flex;align-items:center;gap:10px;min-height:68px;padding:10px 12px;border:1px solid rgba(139,178,198,.2);border-radius:11px;background:rgba(4,16,26,.45)}.daily-ref-how-grid article>span{color:#ffbd62;font-size:22px;font-weight:950}.daily-ref-how-grid b,.daily-ref-how-grid small{display:block}.daily-ref-how-grid b{color:#eaf6f8;font-size:13px}.daily-ref-how-grid small{margin-top:3px;color:#8fa8b3;font-size:12px;line-height:1.25}

/* Reward artwork stays square in both ref pages; contain prevents source art from stretching. */
.events-ref-rewards .beta-reward .reward-art{aspect-ratio:1/1;height:auto;min-height:0;flex-basis:auto}
.events-ref-rewards .beta-reward .reward-art img,.daily-ref-reward-grid .daily-reward-art img{aspect-ratio:1/1;object-fit:contain}
.daily-ref-reward-grid .daily-reward-art img{width:72px;height:72px;max-width:72px;max-height:72px}
.daily-ref-reward-grid .daily-reward-art{aspect-ratio:1/1}

@media(max-width:1100px){.events-ref-list{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-ref-reward-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.events-ref-rewards{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.events-ref-hero,.daily-ref-hero{margin-top:10px;padding:21px 18px}.events-ref-hero-mark,.daily-ref-hero-mark{display:none}.events-ref-beta{padding:20px 17px}.events-ref-beta-heading{grid-template-columns:minmax(0,1fr) 185px}.events-ref-progress-top{align-items:start}.daily-ref-status-grid{grid-template-columns:1fr}.daily-ref-status,.daily-ref-reset{padding:16px}.daily-ref-rewards,.daily-ref-how{padding:16px}.daily-ref-how-grid{grid-template-columns:1fr}.events-ref-help{grid-template-columns:1fr}.events-ref-help article{border-right:0;border-bottom:1px solid rgba(139,178,198,.16)}.events-ref-help article:last-child{border-bottom:0}}
@media(max-width:650px){.events-ref-hero .shop-style-title,.daily-ref-hero .shop-style-title{font-size:clamp(34px,10vw,43px)}.events-ref-actions,.daily-ref-actions{flex-direction:column;align-items:stretch}.events-ref-actions a,.daily-ref-actions a{width:100%}.events-ref-overview{grid-template-columns:1fr}.events-ref-beta-heading{grid-template-columns:1fr}.events-ref-guarantee{justify-self:start}.events-ref-subhead{align-items:start;flex-direction:column;gap:3px}.events-ref-milestones{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.events-ref-milestones .milestone{min-height:88px;padding:7px 2px}.events-ref-milestones .milestone strong{font-size:22px}.events-ref-milestones .milestone small,.events-ref-milestones .milestone span,.events-ref-milestones .milestone em{font-size:12px}.events-ref-rewards{grid-template-columns:repeat(2,minmax(0,1fr))}.events-ref-rewards .beta-reward{min-height:184px}.events-ref-beta-cta{align-items:stretch;flex-direction:column;gap:8px}.events-ref-beta-cta .beta-register-button{width:100%;min-width:0}.events-ref-beta-cta p{text-align:center}.events-ref-section-head{align-items:start;flex-direction:column;gap:9px}.events-ref-section-head>a{width:100%}.events-ref-next-card{grid-template-columns:1fr;padding:15px}.events-ref-timer{width:100%}.events-ref-timer .timer-cell{flex:1;min-width:0}.events-ref-list{grid-template-columns:1fr}.daily-ref-stats{grid-template-columns:1fr}.daily-ref-claim{align-items:stretch;flex-direction:column}.daily-ref-claim .primary{width:100%}.daily-ref-claim>span{text-align:left}.daily-ref-section-head{align-items:start;flex-direction:column;gap:7px}.daily-ref-track-label{display:none}.daily-ref-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.daily-ref-reward-grid .daily-reward-card{min-height:184px;padding:9px 7px}.daily-ref-timer .timer-cell{min-height:68px}.daily-ref-rewards,.daily-ref-how{padding:14px 11px}.events-ref-progress-top{flex-direction:column;gap:9px}.events-ref-progress-top>div:last-child{text-align:left}.events-ref-progress-foot{align-items:start;flex-direction:column;gap:3px}}

/* [38] VEHICLE SHOP — dedicated catalog that keeps the main Shop uncluttered. */
.vehicle-shop-page{padding-bottom:28px}
.vehicle-shop-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:28px;min-height:220px;margin-top:14px;padding:28px 30px;overflow:hidden;border:1px solid rgba(139,178,198,.28);border-radius:20px;background:linear-gradient(100deg,rgba(8,23,34,.97),rgba(14,33,44,.86) 61%,rgba(56,41,24,.72)),url('assets/background-clean.webp') center 44%/cover;box-shadow:0 17px 36px rgba(0,0,0,.31),inset 0 1px rgba(255,255,255,.08)}
.vehicle-shop-hero:after{content:'';position:absolute;right:-80px;bottom:-120px;width:440px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,166,55,.24),transparent 67%);pointer-events:none}
.vehicle-shop-hero-copy{position:relative;z-index:1}.vehicle-shop-kicker{display:block;margin-bottom:7px;color:#8fe9d0;font-size:12px;font-weight:950;letter-spacing:.18em}.vehicle-shop-hero .shop-style-title{font-size:clamp(40px,4.5vw,58px)}.vehicle-shop-hero .shop-style-title .ico{color:#ffb34d}.vehicle-shop-hero .shop-style-lead{max-width:720px!important}.vehicle-shop-hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.vehicle-shop-hero-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border:1px solid rgba(139,178,198,.34);border-radius:10px;background:rgba(9,25,36,.62);color:#d8eaf0;font-size:12px;font-weight:900;text-decoration:none}.vehicle-shop-hero-actions a:first-child{border-color:rgba(255,194,104,.64);background:linear-gradient(135deg,#d7802a,#93491c);color:#fff}.vehicle-shop-hero-actions a:hover{filter:brightness(1.08);transform:translateY(-1px)}
.vehicle-shop-mark{position:relative;z-index:1;display:grid;place-items:center;justify-self:end;width:245px;height:156px;border:1px solid rgba(255,190,93,.34);border-radius:20px;background:linear-gradient(145deg,rgba(255,172,55,.16),rgba(6,18,27,.57));box-shadow:inset 0 1px rgba(255,255,255,.1),0 16px 30px rgba(0,0,0,.26);transform:rotate(2deg)}.vehicle-shop-mark .ico{width:90px;height:90px;color:#ffb34d;filter:drop-shadow(0 0 18px rgba(255,170,54,.4))}.vehicle-shop-mark span{margin-top:-15px;color:#dce9ed;font-size:11px;font-weight:950;letter-spacing:.19em}
.vehicle-shop-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.vehicle-shop-benefits article{display:flex;align-items:center;gap:11px;min-height:74px;padding:12px 14px;border-radius:13px}.vehicle-shop-benefits .ico{width:27px;height:27px;color:#8eeaff}.vehicle-shop-benefits b,.vehicle-shop-benefits small{display:block}.vehicle-shop-benefits b{color:#eef8fa;font-size:13px}.vehicle-shop-benefits small{margin-top:3px;color:#8fa8b3;font-size:11px;line-height:1.35}
.vehicle-shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;margin-top:14px}.vehicle-shop-main{min-width:0}.vehicle-shop-toolbar{padding:14px;border-radius:15px}.vehicle-shop-toolbar-top{display:grid;grid-template-columns:minmax(240px,1fr) 185px 190px;gap:9px}.vehicle-search,.vehicle-sort-wrap{display:flex;align-items:center;gap:8px;min-height:43px;padding:0 12px;border:1px solid rgba(139,178,198,.28);border-radius:10px;background:rgba(4,16,25,.58);color:#9ab2bd}.vehicle-search input,.vehicle-sort-wrap select{width:100%;border:0;outline:0;background:transparent;color:#eef8fb;font-size:12px}.vehicle-sort-wrap select{appearance:auto}.vehicle-sort-wrap option{background:#12202b;color:#eef8fb}.vehicle-shop-filters{display:flex;gap:6px;margin-top:9px;overflow-x:auto;scrollbar-width:none}.vehicle-shop-filters::-webkit-scrollbar{display:none}.vehicle-shop-filters button{flex:0 0 auto;min-height:35px;padding:6px 11px;border:1px solid rgba(139,178,198,.25);border-radius:9px;background:rgba(15,35,47,.66);color:#b8cdd5;font-size:11px;font-weight:900}.vehicle-shop-filters button[aria-pressed="true"]{border-color:rgba(255,190,93,.72);background:linear-gradient(135deg,rgba(213,125,39,.76),rgba(119,58,22,.8));color:#fff}
.vehicle-shop-catalog{margin-top:12px}.vehicle-shop-catalog-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:9px;padding:0 2px}.vehicle-shop-catalog-head h2{margin:0;color:#eff8fa;font-size:22px}.vehicle-shop-catalog-head p{margin:3px 0 0;color:#8fa8b3;font-size:11px}.vehicle-restock-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.vehicle-restock-timer{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(255,190,93,.36);border-radius:8px;background:rgba(110,66,20,.24);color:#ffd58d;font-size:11px;font-weight:900}.vehicle-restock-timer[data-vehicle-restock="map"]{border-color:rgba(94,213,255,.34);background:rgba(24,74,94,.25);color:#a9e9ff}.vehicle-restock-timer[data-vehicle-restock="map"] .ico{color:#7edcff}.vehicle-restock-timer[hidden]{display:none}.vehicle-restock-timer .ico{width:14px;height:14px;color:#ffbd62}.vehicle-shop-count{padding:5px 9px;border:1px solid rgba(139,178,198,.22);border-radius:8px;background:rgba(6,19,29,.58);color:#a8bdc6;font-size:11px;white-space:nowrap}
.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vehicle-card{position:relative;display:flex;min-width:0;min-height:342px;padding:10px;flex-direction:column;border:1px solid rgba(139,178,198,.24);border-radius:15px;background:linear-gradient(160deg,rgba(22,45,58,.94),rgba(7,20,30,.96));box-shadow:0 13px 25px rgba(0,0,0,.25);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.vehicle-card:hover{transform:translateY(-3px);border-color:rgba(255,190,93,.5);box-shadow:0 17px 30px rgba(0,0,0,.31)}.vehicle-card-art{position:relative;display:grid;place-items:center;height:145px;overflow:hidden;border:1px solid rgba(139,178,198,.2);border-radius:11px;background:radial-gradient(circle at 50% 25%,rgba(255,177,72,.18),transparent 58%),linear-gradient(145deg,rgba(12,31,42,.8),rgba(4,14,22,.88))}.vehicle-card-art img{display:block;width:100%;height:145px;max-height:100%;object-fit:contain;padding:8px}.vehicle-card-art>.ico{width:76px;height:76px;color:#ffb34d;filter:drop-shadow(0 0 14px rgba(255,172,61,.28))}.vehicle-card-stock{position:absolute;top:8px;right:8px;padding:4px 7px;border:1px solid rgba(112,229,180,.34);border-radius:999px;background:rgba(5,34,30,.82);color:#8fe9d0;font-size:10px;font-weight:950}.vehicle-card-stock.is-out{border-color:rgba(255,115,115,.42);background:rgba(59,18,23,.86);color:#ffb2b2}.vehicle-card-type{display:inline-flex;width:max-content;margin-top:10px;padding:3px 7px;border-radius:999px;background:rgba(116,223,243,.08);color:#8eeaff;font-size:10px;font-weight:900;text-transform:uppercase}.vehicle-card h3{margin:7px 0 0;color:#f2f9fb;font-size:16px}.vehicle-card-meta{margin:3px 0 0;color:#7f99a4;font-size:10px}.vehicle-card-ammo{display:block;margin-top:6px;padding:6px 8px;border:1px solid rgba(255,190,93,.22);border-radius:8px;background:rgba(118,70,22,.17);color:#d9c59b;font-size:12px;line-height:1.4}.vehicle-card-ammo b{color:#ffd074}.vehicle-card p{display:-webkit-box;overflow:hidden;margin:7px 0 8px;color:#afc3cb;font-size:11px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.vehicle-card-price{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:9px;border-top:1px solid rgba(139,178,198,.15)}.vehicle-card-price strong{color:#ffd074;font-size:17px}.vehicle-card-price small{color:#708b97;font-size:10px}.vehicle-card-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:6px;margin-top:8px}.vehicle-card-actions button{min-height:37px;padding:6px 7px;border:1px solid rgba(139,178,198,.28);border-radius:9px;background:rgba(20,44,57,.75);color:#cce0e7;font-size:11px;font-weight:900}.vehicle-card-actions [data-shop-buy]{border-color:rgba(255,194,104,.64);background:linear-gradient(135deg,#d9852d,#984b1d);color:#fff}.vehicle-card-actions button:disabled{filter:grayscale(.65);opacity:.62;cursor:not-allowed}.vehicle-empty{grid-column:1/-1;display:grid;place-items:center;min-height:280px;padding:34px 20px;border:1px dashed rgba(139,178,198,.3);border-radius:15px;background:rgba(5,17,26,.43);text-align:center}.vehicle-empty .ico{width:58px;height:58px;color:#ffb34d;opacity:.78}.vehicle-empty h3{margin:14px 0 4px;color:#eef8fa;font-size:18px}.vehicle-empty p{max-width:480px;margin:0;color:#8fa8b3;font-size:12px;line-height:1.55}.vehicle-load-more{display:block;min-width:220px;min-height:40px;margin:14px auto 0;padding:8px 18px;border:1px solid rgba(255,194,104,.55);border-radius:10px;background:linear-gradient(135deg,rgba(196,111,35,.78),rgba(111,55,24,.82));color:#fff;font-size:12px;font-weight:950;box-shadow:0 8px 18px rgba(0,0,0,.2)}.vehicle-load-more:hover{filter:brightness(1.08);transform:translateY(-1px)}.vehicle-load-more[hidden]{display:none}
.vehicle-ammo-catalog{margin-top:18px}.vehicle-ammo-grid .vehicle-card{min-height:330px}.vehicle-ammo-card .vehicle-card-actions{grid-template-columns:1fr}.vehicle-ammo-art>.ico{width:68px;height:68px;color:#ffcb58}.vehicle-wallet-xp{margin-top:12px;padding-top:12px;border-top:1px solid rgba(139,178,198,.16)}.vehicle-wallet-xp>span{grid-column:1/-1;color:#7895a1;font-size:10px;text-align:center}.vehicle-shop-side{display:flex;flex-direction:column;gap:10px}.vehicle-side-card{padding:15px;border-radius:14px}.vehicle-side-card h3{display:flex;align-items:center;gap:7px;margin:0;color:#eef8fa;font-size:15px}.vehicle-side-card h3 .ico{color:#ffbd62}.vehicle-side-card p{margin:7px 0 0;color:#9bb1bb;font-size:11px;line-height:1.55}.vehicle-side-card ul{margin:9px 0 0;padding-left:18px;color:#a9bec7;font-size:11px;line-height:1.7}.vehicle-wallet{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px}.vehicle-wallet img{width:42px;height:42px;object-fit:contain}.vehicle-wallet small,.vehicle-wallet strong{display:block}.vehicle-wallet small{color:#849faa;font-size:10px}.vehicle-wallet strong{color:#ffd074;font-size:24px}.vehicle-wallet a{grid-column:1/-1;display:flex;justify-content:center;margin-top:2px;padding:8px;border:1px solid rgba(139,178,198,.26);border-radius:9px;background:rgba(16,37,49,.72);color:#d2e4e9;font-size:11px;font-weight:900;text-decoration:none}.vehicle-garage-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.vehicle-garage-head strong{padding:4px 8px;border:1px solid rgba(85,199,255,.3);border-radius:999px;background:rgba(85,199,255,.08);color:#8edcff;font-size:11px}.vehicle-garage-list{display:flex;flex-direction:column;gap:7px;margin-top:10px;max-height:330px;overflow:auto}.vehicle-garage-item{display:grid;grid-template-columns:50px minmax(0,1fr);gap:8px;padding:8px;border:1px solid rgba(139,178,198,.18);border-radius:10px;background:rgba(7,18,25,.52)}.vehicle-garage-item-art{display:flex;align-items:center;justify-content:center;width:50px;height:46px;border-radius:8px;background:rgba(255,255,255,.05);overflow:hidden}.vehicle-garage-item-art img{width:100%;height:100%;object-fit:contain}.vehicle-garage-item-copy small,.vehicle-garage-item-copy b,.vehicle-garage-item-copy span{display:block}.vehicle-garage-item-copy small{color:#7694a0;font-size:9px}.vehicle-garage-item-copy b{margin-top:1px;color:#f1f7f9;font-size:11px}.vehicle-garage-item-copy span{margin-top:2px;color:#9cb0b8;font-size:9px}.vehicle-garage-item code{grid-column:1/-1;padding:5px 7px;border-radius:6px;background:rgba(85,199,255,.08);color:#8edcff;font-size:10px}.vehicle-garage-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border:1px dashed rgba(139,178,198,.2);border-radius:10px;color:#8fa6b0;text-align:center;font-size:10px}.vehicle-garage-empty .ico{font-size:24px;color:#5f8799}.vehicle-garage-empty b{color:#d5e4e9}.vehicle-garage-empty small{font-size:9px}.vehicle-garage-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.vehicle-garage-actions button,.vehicle-garage-actions a{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px;border:1px solid rgba(139,178,198,.22);border-radius:8px;background:rgba(16,37,49,.65);color:#c9dce2;font-size:10px;font-weight:800;font-family:inherit;text-decoration:none;cursor:pointer}.vehicle-garage-card>small{display:block;margin-top:8px;color:#708d98;font-size:9px;line-height:1.5}.vehicle-garage-card>small b{color:#a7d9e8}.vehicle-detail-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.vehicle-detail-specs span{padding:8px;border:1px solid rgba(139,178,198,.18);border-radius:9px;background:rgba(255,255,255,.04);color:#9eb3bd;font-size:11px}.vehicle-detail-specs b{display:block;margin-top:2px;color:#eef8fb;font-size:12px}.vehicle-detail-specs .vehicle-detail-ammo{grid-column:1/-1;font-size:12px}.vehicle-detail-specs .vehicle-detail-ammo b{line-height:1.5;color:#ffd074}
.shop-vehicle-entry{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;border-color:rgba(255,184,91,.35)!important;border-radius:15px;background:linear-gradient(115deg,rgba(30,55,65,.88),rgba(17,31,39,.88) 62%,rgba(74,48,24,.62))!important}.shop-vehicle-entry-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,190,93,.35);border-radius:14px;background:rgba(255,171,54,.11);color:#ffb34d}.shop-vehicle-entry-icon .ico{width:31px;height:31px}.shop-vehicle-entry b,.shop-vehicle-entry small{display:block}.shop-vehicle-entry b{color:#f3fafb;font-size:16px}.shop-vehicle-entry small{margin-top:4px;color:#9fb4bd;font-size:11px;line-height:1.4}.shop-vehicle-entry a{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:8px 12px;border:1px solid rgba(255,194,104,.65);border-radius:9px;background:linear-gradient(135deg,#d9862c,#97491d);color:#fff;font-size:11px;font-weight:950;text-decoration:none;white-space:nowrap}
@media(max-width:1100px){.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-shop-layout{grid-template-columns:minmax(0,1fr) 235px}.vehicle-shop-mark{width:210px}}
@media(max-width:900px){.vehicle-shop-hero{grid-template-columns:1fr;margin-top:10px;padding:22px 18px}.vehicle-shop-mark{display:none}.vehicle-shop-benefits{grid-template-columns:1fr}.vehicle-shop-layout{grid-template-columns:1fr}.vehicle-shop-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.topbar nav{grid-template-columns:repeat(7,1fr)}}
@media(max-width:650px){.vehicle-shop-hero{padding:19px 15px}.vehicle-shop-hero .shop-style-title{font-size:37px}.vehicle-shop-toolbar-top{grid-template-columns:1fr}.vehicle-grid{grid-template-columns:1fr}.vehicle-shop-catalog-head{align-items:start;flex-direction:column}.vehicle-card{min-height:320px}.vehicle-shop-side{grid-template-columns:1fr}.shop-vehicle-entry{grid-template-columns:48px 1fr}.shop-vehicle-entry-icon{width:48px;height:48px}.shop-vehicle-entry a{grid-column:1/-1;justify-content:center}}

/* Rules V2 — cards own the glass surface; wrapper stays open for 7 categories. */
.rules-page .rules-sections{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* [31] FLAT WEB ITEM ART — keep the locked PNG/WebP artwork, remove presentation shadows. */
img[src*="assets/item/"]{filter:none!important}
.points-page>.points-hero:before{filter:none!important}
.daily-reward-card.is-locked img[src*="assets/item/"]{filter:grayscale(1) saturate(0) brightness(.62)!important}

/* Daily Rewards: visually distinguish an already claimed reward. */
.daily-ref-reward-grid .daily-reward-card.is-claimed{border-color:rgba(112,229,180,.65);background:linear-gradient(160deg,rgba(25,62,50,.68),rgba(10,28,27,.96));box-shadow:inset 0 0 0 1px rgba(112,229,180,.14)}
.daily-ref-reward-grid .daily-reward-card.is-claimed button:disabled{opacity:1;filter:none;cursor:default;border-color:rgba(112,229,180,.54);background:linear-gradient(135deg,#215c4a,#164333);color:#d6ffeb;box-shadow:none}
/* UX upgrades: search, touch targets and first-time player guidance */
.kj-shop-search{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 16px}
.kj-shop-search label{font-size:13px;font-weight:800;color:#def4f5}
.kj-shop-search input{flex:1 1 260px;min-width:0;min-height:44px;padding:10px 14px;border:1px solid #57727d;border-radius:10px;background:#0b1b25;color:#fff;font-size:15px}
.kj-shop-search input:focus-visible{outline:2px solid #60d9e5;outline-offset:2px}
.kj-shop-search small{font-size:12px;color:#abc7d0}
.kj-quick-start{margin:12px 0;line-height:1.65;color:#d5ebee;font-size:13px}.kj-quick-start b{color:#ffcb70}
.shop-product[hidden]{display:none!important}.commerce-confirm-modal .commerce-panel-list{max-height:42vh;overflow:auto}
@media(max-width:700px){.kj-shop-search{flex-direction:column;align-items:stretch}.kj-shop-search input{flex:auto;width:100%}.shop-filters{flex-wrap:wrap}.shop-filters button,.shop-product button,.daily-reward-card button{min-height:44px}.commerce-confirm-modal,.commerce-info-modal{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px);overflow:auto}.hero-server-address b{overflow-wrap:anywhere}}
@media(max-width:420px){.kj-quick-start{font-size:12px}}
/* Founder Crate reveal and transparent odds */
.kj-crate-modal{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
.kj-crate-modal .commerce-panel-list p b{color:#f5d08e}
.kj-crate-strip{display:flex;gap:7px;overflow:auto;padding:10px 0}
.kj-crate-strip span,.kj-crate-reel-track span{flex:none;display:grid;place-items:center;width:120px;min-height:74px;padding:8px;border:2px solid;border-radius:10px;background:#14202e;color:white;text-align:center;font-weight:800;font-size:12px}
.kj-crate-reel{position:relative;overflow:hidden;border:1px solid #6ea5b4;border-radius:12px;padding:9px 0;background:#06141d}
.kj-crate-reel:after{content:'';position:absolute;left:50%;top:0;bottom:0;width:3px;background:#ffcd64;box-shadow:0 0 12px #ffb44a}
.kj-crate-reel-track{display:flex;gap:12px;width:max-content;transform:translateX(0);transition:transform 6.2s cubic-bezier(.08,.68,.12,1);will-change:transform}
.kj-crate-modal [data-crate-result][hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.kj-crate-reel-track{transition:none}}
.commerce-confirm-modal.kj-confirm-with-art{width:min(710px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px}
.kj-confirm-product{display:grid;grid-template-columns:42% 1fr;gap:16px;align-items:center;margin:12px 0}
.kj-confirm-art{display:grid;place-items:center;min-height:190px;border:1px solid #355e77;border-radius:14px;background:radial-gradient(#164155,#091621)}
.kj-confirm-art img{width:100%;height:190px;object-fit:contain;padding:10px}
.kj-confirm-description{text-align:left}.kj-confirm-description h3{color:white;font-size:21px}.kj-confirm-description p{font-size:13px;color:#c5dbe2}.kj-confirm-description strong{color:#ffce70;font-size:22px}
.kj-confirm-with-art .commerce-panel-list{max-height:32vh;overflow:auto}.kj-confirm-color-preview{font-size:24px;font-weight:900}
@media(max-width:580px){.kj-confirm-product{grid-template-columns:105px minmax(0,1fr);gap:10px}.kj-confirm-art{min-height:115px}.kj-confirm-art img{height:115px}.kj-confirm-description h3{font-size:16px}.kj-confirm-description strong{font-size:18px}.commerce-confirm-modal.kj-confirm-with-art{padding:18px 14px}}

.kj-name-color-modal{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px}
.kj-name-color-modal .point-success-copy{text-align:left}
.kj-name-color-modal .point-success-kicker{font-size:12px}
.kj-name-color-product-name{display:block;margin-top:2px;color:#ffcf7a;font-size:12px;letter-spacing:.08em}
.kj-name-color-modal .point-success-copy h2{margin:3px 0 8px;text-align:left}
.kj-name-color-intro,.kj-name-color-note{color:#adc4ce;font-size:12px;line-height:1.45}
.kj-name-color-preview{display:grid;gap:5px;margin:14px 0;padding:14px;border:1px solid rgba(142,207,213,.24);border-radius:13px;background:linear-gradient(135deg,rgba(41,91,111,.3),rgba(6,18,27,.7))}
.kj-name-color-preview>span{color:#9db8c5;font-size:12px}
.kj-name-color-preview>strong{color:#e7f3f8;font-size:25px;line-height:1.2;letter-spacing:.015em;white-space:nowrap}.kj-name-color-preview>strong span{display:inline;text-shadow:0 0 10px currentColor}
.kj-name-color-preview>small{color:#bacbd4;font-size:12px}
.kj-name-color-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0 10px}.kj-name-color-modes button{min-height:38px;padding:6px 5px;border:1px solid #426477;border-radius:9px;background:#132d3c;color:#d3e5eb;font-size:12px;font-weight:850;cursor:pointer}.kj-name-color-modes button.is-selected{border-color:#ffca74;background:#5d4128;color:#fff4d8}.kj-name-color-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.kj-name-color-options[hidden],.kj-name-color-manual[hidden],.kj-name-color-error[hidden]{display:none}.kj-name-color-manual{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:9px;align-items:center;min-height:70px;padding:11px;border:1px solid #486e80;border-radius:10px;background:#0b1b29}.kj-name-color-manual>label{color:#d7e6f0;font-size:12px;font-weight:850}.kj-name-color-manual input[type=color]{width:56px;height:39px;border:1px solid #638da0;border-radius:8px;background:transparent;cursor:pointer}.kj-name-color-manual input[type=text]{width:100%;min-width:0;height:39px;padding:6px;border:1px solid #638da0;border-radius:8px;background:#071722;color:#f0f8fa;font-size:13px;text-align:center}.kj-name-color-gradient{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.kj-name-color-gradient label{display:flex;justify-content:space-between;align-items:center;gap:8px}.kj-name-color-gradient input[type=color]{flex:0 0 46px;width:46px}.kj-name-color-error{margin:8px 0;color:#ff9c91;font-size:12px}.kj-name-color-modal [data-confirm]:disabled{opacity:.5;cursor:not-allowed}
.kj-name-color-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:3px 8px;min-height:52px;padding:8px;border:1px solid #49687b;border-radius:10px;background:#112431;color:#eaf5fa;text-align:left;cursor:pointer}
.kj-name-color-option:hover,.kj-name-color-option.is-selected{border-color:#ffc767;box-shadow:0 0 0 2px #ffc7672b,inset 0 1px #ffffff18}
.kj-name-color-option .kj-name-color-swatch{grid-row:1/span 2;width:16px;height:16px;border:1px solid #ffffff75;border-radius:50%;background:var(--name-color);box-shadow:0 0 8px color-mix(in srgb,var(--name-color),transparent 45%)}
.kj-name-color-option>span:nth-of-type(2){font-size:12px;font-weight:850}
.kj-name-color-option small{color:#91abb8;font-size:12px}
.kj-name-color-price{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 12px;border:1px solid rgba(255,206,112,.25);border-radius:10px;background:#261f16;color:#d9e3e8;font-size:12px}
.kj-name-color-price strong{color:#ffce70;font-size:19px}
.kj-name-color-note{margin:10px 0 0}
@media(max-width:560px){.kj-name-color-modal{padding:17px 14px 14px}.kj-name-color-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.kj-name-color-option{padding:6px;min-height:44px;grid-template-columns:13px minmax(0,1fr);gap:2px 5px}.kj-name-color-option .kj-name-color-swatch{width:13px;height:13px}.kj-name-color-option small{font-size:12px}.kj-name-color-modes{gap:4px}.kj-name-color-modes button{padding:5px 2px;font-size:12px}.kj-name-color-preview{margin:10px 0;padding:10px}.kj-name-color-preview>strong{font-size:23px}.kj-name-color-gradient{gap:6px;padding:8px}}


/* [36] HOME LANDING REDESIGN — scoped to the portal homepage. */
.portal-home{--home-surface:rgba(9,16,23,.88);width:min(var(--kj-content,1320px),calc(100% - 40px));margin-inline:auto}
.portal-home>.hero{display:flex;flex-direction:column;justify-content:flex-start;gap:20px;min-height:0;padding:clamp(30px,4vw,54px) 0 0;border-radius:24px;background:linear-gradient(90deg,rgba(7,12,17,.54),rgba(7,12,17,.2) 66%,rgba(7,12,17,.04)),linear-gradient(0deg,rgba(7,12,17,.46),transparent 45%)}
.portal-home .hero-copy{position:relative;z-index:3;width:min(100%,790px);margin:0}
.portal-home .hero-kicker-row{align-items:center;gap:12px;margin-bottom:10px}
.portal-home .hero .eyebrow{font-size:12px;letter-spacing:.12em}
.portal-home .hero-beta-badge{border-color:rgba(255,190,92,.78);background:rgba(76,46,20,.66);color:#ffe1a6}
.portal-home .hero .portal-logo-heading{margin:0 0 12px}
.portal-home .portal-logo-heading img{width:min(620px,100%)}
.portal-home .hero h2{max-width:24ch;margin:0;color:#fff;font-size:clamp(26px,3vw,36px);line-height:1.2;text-wrap:balance;text-shadow:0 3px 16px rgba(0,0,0,.72)}
.portal-home .hero .intro{max-width:62ch;margin:12px 0 0;color:#f1f5f5;font-size:15px;line-height:1.7;text-shadow:0 2px 12px rgba(0,0,0,.9)}
.portal-home .kj-quick-start{max-width:76ch;margin:10px 0 0;color:#e9eeea;font-size:13px;line-height:1.6;text-shadow:0 2px 10px rgba(0,0,0,.9)}
.portal-home .hero-actions{gap:10px;margin-top:16px}
.portal-home .hero-actions a{min-height:46px;padding:11px 20px;border-radius:13px;font-size:14px}
.portal-home .hero-server-connect{display:grid;grid-template-columns:minmax(120px,1fr) auto auto auto;align-items:center;gap:7px;width:fit-content;max-width:100%;margin-top:14px;padding:10px;border-color:rgba(180,205,214,.34);border-radius:15px;background:rgba(8,14,20,.84);box-shadow:0 14px 32px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.12)}
.portal-home .hero-server-address{flex:1 1 210px;min-width:0}
.portal-home .hero-server-mode{margin-inline:2px;padding:8px 11px;border-radius:9px;color:#a9f0d6;background:rgba(44,121,98,.25)}
.portal-home .hero-copy-ip,.portal-home .hero-connect-now{min-height:40px;padding:8px 13px;border-radius:10px;font-size:13px}
.portal-home .hero-lower{position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.95fr);align-items:stretch;gap:16px;width:min(1120px,100%);margin:10px 0 0}
.portal-home .ad-card{min-width:0;min-height:250px;margin:0;overflow:hidden;border-color:rgba(224,163,91,.52);border-radius:19px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.portal-home .ad-copy{max-width:64%;padding:22px 24px}
.portal-home .ad-copy h3{font-size:clamp(22px,2.3vw,30px);line-height:1.2}
.portal-home .ad-copy p{max-width:44ch;font-size:14px;line-height:1.6}
.portal-home .ad-copy small{font-size:12px;line-height:1.5}
.portal-home .ad-action{min-height:42px;margin-top:14px;padding:9px 15px;border-radius:11px}
.portal-home .ad-controls{left:16px;bottom:14px}
.portal-home #server{min-width:0;margin:0;padding:22px;border-color:rgba(180,205,214,.34);border-radius:19px;background:var(--home-surface);box-shadow:0 18px 40px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.08)}
.portal-home #server>header{align-items:flex-start;margin-bottom:14px}
.portal-home #server>header h3{font-size:20px}
.portal-home #server [data-status-source]{font-size:12px}
.portal-home #server .stat-grid{gap:9px}
.portal-home #server .stat-grid>div{min-width:0;padding:11px 12px;border-color:rgba(174,193,202,.22);border-radius:12px;background:rgba(7,13,19,.48)}
.portal-home #server .stat-grid small{font-size:12px}
.portal-home #server .stat-grid b{font-size:15px;overflow-wrap:anywhere}
.portal-home .faq{margin:40px 0 0;padding:26px clamp(20px,3vw,40px);border-color:rgba(186,203,210,.25);border-radius:20px;background:rgba(7,14,20,.78);box-shadow:0 18px 44px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.07)}
.portal-home .faq h2{margin-bottom:7px;font-size:clamp(22px,2.4vw,28px)}
.portal-home .faq>p{margin-bottom:14px;font-size:13px;line-height:1.6}
.portal-home .faq-list{grid-template-columns:1fr;gap:0}
.portal-home .faq-list article{display:grid;grid-template-columns:minmax(240px,.82fr) minmax(0,1.18fr);align-items:start;gap:24px;padding:15px 2px;border:0;border-top:1px solid rgba(201,158,103,.3);border-radius:0;background:transparent}
.portal-home .faq-list h3{margin:0;color:#ffdda7;font-size:15px;line-height:1.55}
.portal-home .faq-list p{font-size:14px;line-height:1.65}
.portal-home>footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin:18px 0 10px;padding:18px 22px;border:1px solid rgba(180,205,214,.2);border-radius:16px;background:rgba(7,14,20,.86);color:#e6edf0;line-height:1.7}
.portal-home .footer-branding{font-size:14px}
.portal-home .footer-branding small{color:#b7c7ce;font-size:13px}
.portal-home .legal-footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-left:auto}
.portal-home .legal-footer-links a{color:#dce7e9;font-size:13px;text-decoration:none}
.portal-home .legal-footer-links a:hover,.portal-home .legal-footer-links a:focus-visible{color:#ffd083;text-decoration:underline}
.portal-home .home-menu-toggle{display:none}
.portal-home :is(a,button):focus-visible{outline:2px solid #82e7cb;outline-offset:3px}
@media(max-width:1000px){.portal-home .hero-copy{width:min(100%,720px)}.portal-home .hero-lower{grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr)}.portal-home .ad-copy{max-width:72%}}
@media(max-width:840px){
 .portal-home>.topbar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}
 .portal-home>.topbar>.brand{display:flex;grid-column:1;grid-row:1;align-items:center;width:100%;min-width:0}
 .portal-home .brand-logo{width:min(170px,100%);height:auto}
 .portal-home .home-menu-toggle{display:inline-flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:7px 10px;border:1px solid rgba(202,218,226,.4);border-radius:11px;background:rgba(255,255,255,.07);color:#f1f5f6;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
 .portal-home .home-menu-icon{display:grid;gap:4px;width:17px}
 .portal-home .home-menu-icon i{display:block;width:17px;height:2px;border-radius:2px;background:currentColor;transition:transform .16s ease,opacity .16s ease}
 .portal-home .home-menu-toggle[aria-expanded=true] .home-menu-icon i:first-child{transform:translateY(6px) rotate(45deg)}
 .portal-home .home-menu-toggle[aria-expanded=true] .home-menu-icon i:nth-child(2){opacity:0}
 .portal-home .home-menu-toggle[aria-expanded=true] .home-menu-icon i:last-child{transform:translateY(-6px) rotate(-45deg)}
 .portal-home>.topbar>.steam{grid-column:3;grid-row:1;min-height:44px;padding:6px 9px}
 .portal-home>.topbar>nav#home-primary-nav{position:absolute;z-index:30;top:calc(100% + 9px);right:0;left:0;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:10px;border:1px solid rgba(195,213,220,.38);border-radius:15px;background:rgba(8,14,20,.97);box-shadow:0 18px 40px rgba(0,0,0,.42);backdrop-filter:blur(14px)}
 .portal-home>.topbar>nav#home-primary-nav.is-open{display:grid}
 .portal-home>.topbar>.home-menu-toggle[aria-expanded=false]+#home-primary-nav{display:none!important}
 .portal-home>.topbar>nav#home-primary-nav a{justify-content:flex-start;min-height:44px;padding:8px 10px;border-radius:9px}
 .portal-home>.hero{padding-top:32px}
 .portal-home .hero-lower{grid-template-columns:minmax(0,1fr)}
 .portal-home .ad-card{min-height:220px}
 .portal-home #server .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-home .faq{margin-top:28px}
}
@media(max-width:560px){
 .portal-home{width:calc(100% - 28px)}
 .portal-home>.hero{gap:16px;padding-top:26px;background:linear-gradient(180deg,rgba(7,12,17,.56),rgba(7,12,17,.7) 70%,rgba(7,12,17,.9))}
 .portal-home>.hero>.hero-copy,.portal-home>.hero>.hero-lower{padding-right:0!important;padding-left:0!important}
 .portal-home .hero-kicker-row{margin-bottom:6px}
 .portal-home .hero .portal-logo-heading{margin:0 0 10px}
 .portal-home .portal-logo-heading img{width:min(310px,88vw)}
 .portal-home .hero h2{max-width:22ch;font-size:clamp(24px,7vw,30px);line-height:1.24}
 .portal-home .hero .intro{margin-top:9px;font-size:14px;line-height:1.65}
 .portal-home .kj-quick-start{margin-top:9px;font-size:12px;line-height:1.55}
 .portal-home .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:13px}
 .portal-home .hero-actions a{min-height:46px}
 .portal-home .hero-server-connect{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:8px;margin-top:10px;padding:12px}
 .portal-home .hero-server-address{grid-column:1/-1;flex-basis:auto}
 .portal-home .hero-server-address b{font-size:14px;overflow-wrap:anywhere}
 .portal-home .hero-server-mode{display:none}
 .portal-home .hero-copy-ip,.portal-home .hero-connect-now{width:100%;min-height:44px;padding:8px 7px;font-size:12px}
 .portal-home .hero-lower{gap:12px;margin-top:0}
 .portal-home .ad-card{min-height:220px;border-radius:16px}
 .portal-home .ad-copy{max-width:82%;padding:18px 16px 44px}
 .portal-home .ad-copy h3{font-size:22px}
 .portal-home .ad-copy p{font-size:13px}
 .portal-home .ad-controls{left:12px;bottom:10px}
 .portal-home #server{padding:17px 15px;border-radius:16px}
 .portal-home #server>header{flex-direction:column;gap:5px}
 .portal-home #server>header h3{font-size:19px}
 .portal-home #server .stat-grid>div{padding:10px}
 .portal-home #server .stat-grid b{font-size:14px}
 .portal-home .faq{margin-top:22px;padding:19px 16px;border-radius:16px}
 .portal-home .faq-list article{grid-template-columns:minmax(0,1fr);gap:5px;padding:13px 0}
 .portal-home .faq-list h3{font-size:14px}
 .portal-home .faq-list p{font-size:13px}
 .portal-home>footer{display:block;margin-top:14px;padding:15px 16px}
 .portal-home .legal-footer-links{gap:8px 14px;margin:12px 0 0}
 .portal-home .home-menu-toggle{min-width:44px;padding-inline:8px}
 .portal-home>.topbar>.steam .login-trigger-label{display:none}
 body:has(.portal-home)>.zombie-left-edge{display:none}
 .portal-home .character,.portal-home .hero-note{display:none}
}
@media(prefers-reduced-motion:reduce){.portal-home .home-menu-icon i{transition:none}}

/* [37] HOME MOCKUP REFINEMENT — brighter mobile hero and scenic FAQ */
.portal-home>.hero{position:relative}
.portal-home .hero-actions .ico{width:1.15em;height:1.15em;flex:0 0 1.15em}
.portal-home .faq.glass{background-color:rgba(7,14,20,.68)!important;background-image:linear-gradient(115deg,rgba(7,14,20,.68),rgba(7,14,20,.52)),url("assets/background-clean.webp")!important;background-position:center 56%!important;background-size:cover!important}
.portal-home #faq-title .faq-title-accent{background:linear-gradient(100deg,#ffd269,#ff9b22);background-clip:text;-webkit-background-clip:text;color:transparent}
.portal-home .faq-list article{grid-template-columns:24px minmax(240px,.82fr) minmax(0,1.18fr);gap:12px}
.portal-home .faq-row-icon{grid-column:1;width:22px;height:22px;margin-top:2px;color:#ffb62e}
.portal-home .faq-list article:nth-child(even) .faq-row-icon{color:#54dfd1}
@media(max-width:560px){
 .portal-home>.hero{background:linear-gradient(180deg,rgba(7,12,17,.18),rgba(7,12,17,.4) 52%,rgba(7,12,17,.8))}
 .portal-home .character{display:block!important;position:absolute;z-index:2;top:228px;right:-8px;bottom:auto;width:clamp(138px,42vw,164px);height:auto;opacity:.9;transform:none;pointer-events:none}
 .portal-home .character img{display:block;width:100%;height:auto}
 .portal-home .hero h2,.portal-home .hero .intro,.portal-home .kj-quick-start{position:relative;z-index:3;max-width:calc(100% - clamp(148px,43vw,172px))}
 .portal-home .hero-actions,.portal-home .hero-server-connect{position:relative;z-index:3}
 .portal-home .hero-server-connect{border-color:rgba(66,206,219,.52);background:rgba(5,12,18,.9);box-shadow:0 16px 38px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.12)}
 .portal-home .hero-server-address b{font-size:17px;letter-spacing:.01em}
 .portal-home .hero-connect-now{border-color:rgba(108,255,238,.72);background:linear-gradient(120deg,#42ead4,#25cbd0);color:#06191c;box-shadow:0 0 22px rgba(55,222,208,.18)}
 .portal-home .faq.glass{background-image:linear-gradient(110deg,rgba(7,14,20,.7),rgba(7,14,20,.54)),url("assets/background-clean.webp")!important;background-position:center!important;background-size:cover!important}
 .portal-home .faq-list article{grid-template-columns:24px minmax(0,1fr);gap:5px 10px}
 .portal-home .faq-list article>h3{grid-column:2;margin:0}
 .portal-home .faq-list article>p{grid-column:2}
 .portal-home .faq-row-icon{grid-column:1;grid-row:1;width:21px;height:21px}
}

/* [36] PORTAL MODALS — lock page scroll and keep every overlay inside the viewport */
html.portal-modal-open,
body.portal-modal-open{overflow:hidden!important;overscroll-behavior:none}
html.portal-modal-open{scrollbar-gutter:stable}
.point-success-backdrop{box-sizing:border-box;overflow:hidden!important;padding:12px}
.point-success-backdrop .point-success-modal{box-sizing:border-box;width:min(700px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px);height:auto!important;max-height:calc(100dvh - 24px)!important;min-height:0!important;aspect-ratio:auto!important;display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;overflow:hidden!important;padding:clamp(14px,3vw,24px)!important}
.point-success-backdrop .point-success-modal>*{min-width:0}
.point-success-backdrop .point-success-copy{min-width:0}
.point-success-backdrop .point-success-modal .point-success-kicker,.point-success-backdrop .point-success-modal small,.point-success-backdrop .point-success-modal .point-success-order span{font-size:12px!important}
.point-success-backdrop .point-success-modal .point-success-actions button,.point-success-backdrop .point-success-modal .point-success-actions a{font-size:12px!important}
.point-success-backdrop .commerce-panel-list p small{font-size:12px!important}
.point-success-backdrop .vehicle-detail-specs span{font-size:12px!important}
.player-auth-dialog small{font-size:12px!important}
.point-success-backdrop .commerce-panel-list{max-height:none!important;overflow:visible!important;padding-right:0}
.kj-modal-pagination{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:8px}
.kj-modal-pagination[hidden]{display:none!important}
.kj-modal-pagination button{min-height:40px;padding:7px 10px;border:1px solid rgba(139,178,198,.3);border-radius:9px;background:rgba(255,255,255,.06);color:#eaf5fa;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.kj-modal-pagination button:disabled{opacity:.45;cursor:default}
.kj-modal-pagination span{color:#9cb5c0;font-size:12px;text-align:center}
.kj-crate-modal .point-success-copy{display:grid;gap:9px}
.kj-crate-modal .point-success-copy h2,.kj-crate-modal .point-success-copy>p{margin:0}
.kj-crate-modal .point-success-copy>p{color:#a9c0ca;font-size:12px;line-height:1.4}
.kj-crate-odds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kj-crate-reward-card{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:8px;border:1px solid color-mix(in srgb,var(--crate-color),transparent 42%);border-radius:12px;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(5,15,22,.55))}
.kj-crate-reward-card>.kj-crate-item-art--odds{width:56px;height:56px}.kj-crate-item-art{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:4px;flex:none}.kj-crate-item-art--reel{width:auto;height:40px;gap:3px}.kj-crate-item-art--result{width:84px;height:84px;gap:5px}.kj-crate-item-art.is-single>img{display:block;width:100%;height:100%;object-fit:contain}.kj-crate-item-icon{position:relative;display:grid;place-items:center;flex:0 1 26px;width:26px;height:44px;min-width:0;border:1px solid rgba(38,54,48,.28);border-radius:7px;background:linear-gradient(145deg,rgba(210,220,207,.95),rgba(155,171,158,.92))}.kj-crate-item-icon>img{display:block;width:22px;height:40px;object-fit:contain}.kj-crate-item-icon>small{position:absolute;right:-3px;bottom:-3px;padding:1px 3px;border-radius:999px;background:#13212a;color:#fff;font-size:10px;font-weight:900;line-height:1.15;box-shadow:0 1px 3px #0008}.kj-crate-item-art--reel .kj-crate-item-icon{flex-basis:34px;width:34px;height:38px}.kj-crate-item-art--reel .kj-crate-item-icon>img{width:29px;height:33px}.kj-crate-item-art--result .kj-crate-item-icon{flex-basis:35px;width:35px;height:64px}.kj-crate-item-art--result .kj-crate-item-icon>img{width:30px;height:58px}
.kj-crate-reward-card>div{min-width:0}
.kj-crate-reward-heading{display:flex;align-items:center;justify-content:space-between;gap:5px}
.kj-crate-reward-heading b{color:#f4f9fc;font-size:12px;line-height:1.2}
.kj-crate-reward-heading strong{flex:none;color:#ffcf7a;font-size:13px}
.kj-crate-reward-card small{display:block;margin-top:5px;color:#a9bec8;font-size:12px;line-height:1.3}.kj-crate-reward-card .kj-crate-item-icon>small{display:block;margin:0;padding:1px 3px;color:#fff;font-size:10px;line-height:1.15}
.kj-crate-reel{padding:12px 0;min-height:116px;background:linear-gradient(180deg,#182936,#07131c 65%,#15232e);border-color:#c29b5b;box-shadow:inset 0 0 20px #0009}
.kj-crate-reel:after{z-index:3;box-shadow:0 0 16px #ffd16d,0 0 4px #000}
.kj-crate-result[hidden]{display:none!important}
.kj-crate-reel-track{gap:12px}
.kj-crate-reel-track span{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:120px;height:94px;min-height:94px;padding:6px;border:1px solid var(--crate-color);border-bottom:4px solid var(--crate-color);background:linear-gradient(160deg,#233747,#0f1a25);font-size:12px}
.kj-crate-reel-track img{display:block;width:29px;height:33px;object-fit:contain}
.kj-crate-reel-track b{font-size:12px;line-height:1.15}
.kj-crate-result{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid rgba(255,207,122,.42);border-radius:14px;background:linear-gradient(135deg,rgba(255,201,102,.12),rgba(7,17,25,.62))}
.kj-crate-result>.kj-crate-item-art--result.is-single>img{display:block;width:84px;height:84px;object-fit:contain}
.kj-crate-result>div{display:grid;gap:4px;min-width:0}.kj-crate-result>.kj-crate-item-art{display:flex;align-items:center;justify-content:center}
.kj-crate-result span{color:#ffcf7a;font-size:12px;font-weight:900;letter-spacing:.08em}
.kj-crate-result b{color:#fff;font-size:17px;line-height:1.2}
.kj-crate-result small,.kj-crate-result p{margin:0;color:#bbccd3;font-size:12px;line-height:1.4}.kj-crate-result .kj-crate-item-icon>small{padding:1px 3px;color:#fff;font-size:10px;line-height:1.15}
.kj-crate-result p{color:#7ed9b5}
.player-auth-modal{box-sizing:border-box;overflow:hidden!important;padding:8px!important}
.player-auth-modal .player-auth-dialog{box-sizing:border-box;max-height:calc(100dvh - 16px)!important;overflow:hidden!important}
.player-auth-modal .auth-shell{min-height:0}
.player-auth-modal .auth-main{min-height:0;overflow:hidden!important}
.beta-modal{box-sizing:border-box;overflow:hidden!important;padding:8px!important}
.beta-modal-card{box-sizing:border-box;max-height:calc(100dvh - 16px);overflow:hidden!important;margin:0 auto}
.entry-promo{box-sizing:border-box;overflow:hidden!important;padding:8px!important}
.entry-promo-card{box-sizing:border-box;max-height:calc(100dvh - 16px);overflow:hidden!important}
@media(max-width:580px){
  .point-success-backdrop{padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))}
  .point-success-backdrop .point-success-modal{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)!important;gap:9px;padding:13px!important}
  .point-success-close{top:8px;right:8px}
  .kj-crate-odds-grid{gap:6px}
  .kj-crate-reward-card{grid-template-columns:48px minmax(0,1fr);gap:6px;padding:6px}
  .kj-crate-reward-card>.kj-crate-item-art--odds{width:48px;height:48px;gap:2px}.kj-crate-item-art--odds .kj-crate-item-icon{flex-basis:22px;width:22px;height:42px}.kj-crate-item-art--odds .kj-crate-item-icon>img{width:20px;height:38px}.kj-crate-item-art--odds.is-single>img{width:48px;height:48px}
  .kj-crate-reward-heading{align-items:flex-start}
  .kj-crate-reward-heading b{font-size:12px}
  .kj-crate-reward-heading strong{font-size:12px}
  .kj-crate-reward-card small{margin-top:3px;font-size:12px}
  .kj-crate-result{grid-template-columns:64px minmax(0,1fr);gap:9px;padding:9px}
  .kj-crate-result>.kj-crate-item-art--result.is-single>img{width:64px;height:64px}.kj-crate-result>.kj-crate-item-art--result{width:64px;height:64px;gap:3px}.kj-crate-item-art--result .kj-crate-item-icon{flex-basis:27px;width:27px;height:50px}.kj-crate-item-art--result .kj-crate-item-icon>img{width:23px;height:44px}
  .kj-crate-result b{font-size:15px}
  .kj-crate-result small,.kj-crate-result p{font-size:12px}
  .kj-modal-pagination{gap:5px}
  .kj-modal-pagination button{padding:6px 7px;font-size:12px}
  .player-auth-modal .player-auth-dialog{max-height:calc(100dvh - 16px)!important;padding:15px 12px 12px!important}
  .player-auth-modal .auth-main{justify-content:flex-start;padding:14px 8px 10px!important}
  .beta-modal{align-items:center!important;padding:8px!important}
  .beta-modal-card{max-height:calc(100dvh - 16px);padding:12px 10px 10px!important}
  .entry-promo-card{width:min(480px,100%);max-height:calc(100dvh - 16px)}
}
@media(max-height:700px){
  .point-success-backdrop .point-success-modal{gap:8px;padding:12px!important}
  .kj-crate-reward-card{padding:6px;gap:6px}
  .kj-crate-reward-card>.kj-crate-item-art--odds{width:44px;height:44px}.kj-crate-item-art--odds .kj-crate-item-icon{flex-basis:20px;width:20px;height:35px}.kj-crate-item-art--odds .kj-crate-item-icon>img{width:17px;height:31px}
  .kj-crate-odds-grid{gap:6px}
  .player-auth-modal .auth-main{padding-top:10px!important;padding-bottom:8px!important}
}


/* Website supporter settings and opt-in Hall (game entitlements remain gated). */
.donation-web-panel,.donation-hall-panel{padding:16px;border:1px solid #8ca7ba65;border-radius:13px;background:#0d2532cb}
.donation-web-panel>header h3{margin:0 0 5px;color:#ffe0a0;font-size:18px}
.donation-web-panel>header p,.donation-web-message{margin:0;color:#b5ccd5;font-size:12px;line-height:1.55}
.donation-web-panel form{display:grid;gap:13px;margin-top:15px}
.donation-web-panel form[hidden],.donation-web-panel fieldset[hidden]{display:none}
.donation-web-input-grid[hidden]{display:none}
.donation-web-input-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.donation-web-input-grid label{display:grid;gap:6px;color:#d8e9ed;font-size:12px;font-weight:750}
.donation-web-input-grid select{width:100%;min-width:0;min-height:42px;padding:9px 10px;border:1px solid #7397a9;border-radius:8px;color:#eef8fa;background:#152d3c}
.donation-hall-consent{display:flex;gap:9px;align-items:flex-start;color:#e0eef1;font-size:13px}
.donation-hall-consent input{flex:none;width:18px;height:18px;accent-color:#eac36b}
.donation-manual-consent{margin-top:12px;padding:12px;border:1px solid #d1a85b75;border-radius:10px;background:#c1994e12}
.donation-manual-consent[hidden]{display:none}
.donation-manual-consent>p{margin:7px 0 0;color:#a7c0cb;font-size:12px}
.donation-ranking-identity .donation-private{opacity:.82}
.donation-web-panel fieldset{display:flex;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid #728d9d70;border-radius:9px}
.donation-web-panel fieldset legend{padding:0 6px;color:#eacb88;font-size:12px}
.donation-web-panel fieldset label{display:flex;align-items:center;gap:7px;color:#e0ebf1;font-size:12px}
.donation-web-panel button[type="submit"]{justify-self:start;min-height:42px;padding:9px 15px;border:1px solid #e4bd6c;border-radius:9px;color:#201911;background:#f1cc79;font-size:13px;font-weight:900;cursor:pointer}
.donation-web-panel button:disabled{opacity:.5;cursor:wait}
.donation-hall-panel>summary{min-height:24px;cursor:pointer;color:#e9d092;font-size:14px;font-weight:800}
.donation-hall-panel>div{margin-top:12px;color:#cedfe5;font-size:12px}
.donation-hall-row{display:flex;gap:12px;padding:9px 10px;border-top:1px solid #8296a544}
.donation-hall-row>span{color:#edd393}
.donation-tier-qualified{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rank) 55%,transparent)}
@media(max-width:680px){.donation-web-input-grid{grid-template-columns:minmax(0,1fr)}}

/* Donation Ranking — verified opt-in Top 10 sidebar beside tier cards. */
.donation-overview-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(286px,.43fr);gap:15px;align-items:start}
.donation-overview-main{min-width:0}
.donation-ranking-panel{position:sticky;top:20px;min-width:0;padding:17px 14px;border:1px solid #d1a85b75;border-radius:15px;background:linear-gradient(150deg,#24313c,#112631 55%,#152331);box-shadow:0 10px 28px #0003}
.donation-ranking-heading{display:flex;gap:8px;align-items:center;justify-content:space-between}
.donation-ranking-heading h3{margin:0;color:#ffe4a9;font-size:19px;line-height:1.3}
.donation-ranking-heading h3 .ico{margin-right:4px;color:#edc568}
.donation-ranking-heading .donation-kicker{font-size:12px}
.donation-ranking-top-tag{flex:none;padding:6px 8px;border:1px solid #c8a16088;border-radius:8px;color:#f6d391;background:#d5a85320;font-size:12px;font-weight:900}
.donation-ranking-description{margin:9px 0 12px;color:#c8d6da;font-size:12px;line-height:1.5}
.donation-welcome-preview{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px;border:1px solid #f0c66e88;border-radius:12px;background:linear-gradient(110deg,#362f1f9c,#102533cf);color:#f4dfaf;font-size:13px;font-weight:800}
.donation-welcome-preview[hidden]{display:none}
.donation-welcome-preview[data-effect="diamond"]{border-color:#83cfff88;color:#a8deff;background:linear-gradient(110deg,#123345a6,#102533cf)}
.donation-welcome-preview[data-effect="legend"]{border-color:#f0c66ebb;color:#f6e5b4;background:linear-gradient(110deg,#513b1aa6,#182a39dc)}
.donation-welcome-sparkle{font-size:22px;animation:donor-welcome-glow 2.2s ease-in-out infinite alternate}
.donation-welcome-preview[data-effect="diamond"] .donation-welcome-sparkle{animation:donor-diamond-shine 4s linear infinite}
.donation-welcome-preview[data-effect="legend"] .donation-welcome-sparkle{animation:donor-legend-ascend 2s ease-in-out infinite alternate}
@keyframes donor-welcome-glow{from{opacity:.65;transform:scale(.92)}to{opacity:1;transform:scale(1.13)}}
@keyframes donor-diamond-shine{from{filter:brightness(1);transform:rotate(0deg)}to{filter:brightness(1.5);transform:rotate(360deg)}}
@keyframes donor-legend-ascend{from{opacity:.75;transform:translateY(3px) scale(.9)}to{opacity:1;transform:translateY(-3px) scale(1.2)}}
@media(prefers-reduced-motion:reduce){.donation-welcome-sparkle{animation:none!important}}

.donation-ranking-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.donation-ranking-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:54px;padding:8px 9px;border:1px solid #7693a44b;border-radius:11px;background:#0b202d9c}
.donation-ranking-position{display:grid;place-items:center;width:33px;height:33px;border:1px solid #7699a575;border-radius:10px;color:#b9d1de;background:#253845;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.donation-ranking-item:nth-child(1){border-color:#e8c27291;background:linear-gradient(115deg,#75571b4d,#172b3899)}
.donation-ranking-item[data-donor-frame="supporter"]{box-shadow:inset 3px 0 #83e4bb}
.donation-ranking-item[data-donor-frame="bronze"]{box-shadow:inset 3px 0 #cf9268}
.donation-ranking-item[data-donor-frame="silver"]{box-shadow:inset 3px 0 #ced7e0}
.donation-ranking-item[data-donor-frame="gold"]{box-shadow:inset 3px 0 #f0c66e}
.donation-ranking-item[data-donor-frame="platinum"]{box-shadow:inset 3px 0 #e3eaf2}
.donation-ranking-item[data-donor-frame="diamond"]{box-shadow:inset 3px 0 #83cfff}
.donation-ranking-item[data-donor-frame="legend"]{box-shadow:inset 3px 0 #f0c66e,0 0 0 1px #f0c66e55}
.donation-ranking-item:nth-child(1) .donation-ranking-position{border-color:#f3d18a;color:#3d290a;background:#efc66f}
.donation-ranking-item:nth-child(2) .donation-ranking-position{border-color:#cad7e1;color:#243441;background:#c4d6e3}
.donation-ranking-item:nth-child(3) .donation-ranking-position{border-color:#cf9772;color:#422615;background:#cc9270}
.donation-ranking-identity{display:grid;gap:2px;min-width:0}
.donation-ranking-identity strong{overflow:hidden;color:#f2f7fa;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.donation-ranking-identity small{color:#a7c0cb;font-size:12px}
.donation-ranking-badge{color:#f2d59e;font-size:12px;font-weight:900;white-space:nowrap}
.donation-ranking-message{padding:27px 12px;border:1px dashed #7995a35c;border-radius:10px;color:#bcd0db;font-size:12px;line-height:1.55;text-align:center}
.donation-ranking-privacy{margin:14px 0 10px;padding-top:12px;border-top:1px solid #718a9860;color:#aec2cc;font-size:12px;line-height:1.6}
.donation-ranking-privacy .ico{margin-right:5px;color:#a8dfcb}
.donation-ranking-refresh{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:40px;padding:8px;border:1px solid #be9e6778;border-radius:9px;color:#ead9b4;background:#b18a4731;font-size:12px;font-weight:800;cursor:pointer}
.donation-ranking-refresh:hover{background:#b18a4750}
.donation-ranking-refresh:focus-visible{outline:2px solid #f0c66e;outline-offset:2px}
.donation-ranking-refresh:disabled{opacity:.5;cursor:progress}
@media(max-width:1050px){
  .donation-overview-layout{grid-template-columns:minmax(0,1fr)}
  .donation-ranking-panel{position:static}
}

/* Donation Rewards — approved position immediately below XP Exchange, no extra page/tab. */
.points-page>.points-lower-grid>.donation-rewards{grid-area:donation;min-width:0}
.donation-rewards{--donation-gold:#f0c66e;display:grid;gap:14px;border-color:#c29b5773!important;background:linear-gradient(145deg,#22303deb,#101f2de9)!important}
.donation-rewards .donation-rewards-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:0;margin:0}
.donation-kicker{display:block;margin-bottom:5px;color:#e4c17b;font-size:12px;font-weight:800;letter-spacing:.11em}
.donation-rewards .donation-rewards-header h2{margin:0;color:#fff1d5;font-size:clamp(19px,2.3vw,26px)}
.donation-rewards .donation-rewards-header h2 .ico{color:#e5b95d}
.donation-rewards .donation-rewards-header p{margin:7px 0 0;color:#bdd0d9;font-size:13px}
.donation-phase-label{flex:none;padding:7px 10px;border:1px solid #f1c77870;border-radius:20px;color:#f4d69c;background:#efba501c;font-size:12px;font-weight:800}
.donation-pending-notice{display:grid;gap:4px;padding:12px 15px;border:1px solid #a7b6c566;border-radius:10px;background:#1a2a38}
.donation-pending-notice b{color:#ffe4a4;font-size:14px}
.donation-pending-notice span{color:#c2d2dc;font-size:12px;line-height:1.6}
.donation-account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.donation-account-summary>div{display:grid;gap:5px;min-width:0;padding:15px;border:1px solid #8499a648;border-radius:13px;background:#0c2230c7}
.donation-account-summary small,.donation-account-summary span{color:#afc4d1;font-size:12px}
.donation-account-summary strong{color:#f7d898;font-size:clamp(17px,2.3vw,23px);font-weight:900}
.donation-tiers-title h3{margin:0 0 4px;color:#f6f7f8;font-size:18px}
.donation-tiers-title p{margin:0;color:#aec6d2;font-size:12px}
.donation-tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.donation-tier{--rank:#79d8b9;min-width:0;align-self:start;overflow:hidden;border:1px solid color-mix(in srgb,var(--rank) 52%,#324550);border-radius:12px;background:#0f2331}
.donation-tier-2{--rank:#cf956b}.donation-tier-3{--rank:#afc9db}.donation-tier-4{--rank:#e2b852}.donation-tier-5{--rank:#7ed7d7}.donation-tier-6{--rank:#91b5ff}.donation-tier-7{--rank:#dab4f5}
.donation-tier[open]{background:#142a38;border-color:var(--rank)}
.donation-tier>summary{display:flex;align-items:center;gap:10px;min-height:77px;padding:12px;cursor:pointer;list-style:none}
.donation-tier>summary::-webkit-details-marker{display:none}
.donation-tier>summary:focus-visible{outline:2px solid #f0c66e;outline-offset:-4px}
.donation-tier-emblem{display:grid;place-items:center;flex:0 0 36px;height:36px;border:1px solid var(--rank);border-radius:10px;color:var(--rank);background:color-mix(in srgb,var(--rank) 13%,transparent);font-size:13px;font-weight:900}
.donation-tier-name{display:grid;flex:1;gap:3px;min-width:0}
.donation-tier-name b{color:var(--rank);font-size:15px;white-space:nowrap}
.donation-tier-name em{color:#afc4d1;font-size:12px;font-style:normal}
.donation-tier-name small{color:#ccdce4;font-size:12px}
.donation-tier-xp{flex:none;color:#f0d291;font-size:12px;font-weight:900;white-space:nowrap}
.donation-tier-expand{color:#c6d6dd;font-size:19px}
.donation-tier[open] .donation-tier-expand{transform:rotate(45deg)}
.donation-tier-detail{padding:0 13px 14px;border-top:1px solid #6e8c9b30}
.donation-tier-detail ul{display:grid;gap:7px;margin:12px 0;padding-left:19px;color:#e2eef3;font-size:12px;line-height:1.55}
.donation-tier-detail li::marker{color:var(--rank)}
.donation-tier-detail p{margin:0;color:#afc4d1;font-size:12px;line-height:1.55}
.donation-footnote{margin:0;padding-top:10px;border-top:1px solid #5e7a893d;color:#bed0da;font-size:12px;line-height:1.6}
@media(min-width:901px){
  .points-page-body .points-page{grid-template-areas:"hero hero" "balance balance" "packs rewards" "exchange history" "donation donation" "footer footer" "links links"}
}
@media(max-width:900px){
  /* Desktop named grid areas must not generate implicit narrow columns on mobile. */
  .points-page>.points-lower-grid{grid-template-columns:minmax(0,1fr);grid-auto-flow:row}
  .points-page>.points-lower-grid>.points-panel{grid-area:auto!important;min-width:0;width:100%;box-sizing:border-box}
  .points-page>.points-main-grid>.points-panel{grid-area:auto!important;min-width:0}
}
@media(max-width:560px){
  .donation-account-summary,.donation-tier-grid{grid-template-columns:minmax(0,1fr)}
  .donation-tier>summary{gap:8px;padding:10px}
  .donation-rewards .donation-rewards-header{align-items:flex-start}
}
.kj-crate-modal .kj-crate-show-all{width:100%;min-height:38px;padding:8px 12px;border:1px solid #497c92;border-radius:10px;background:#122b39;color:#bce8ed;font-weight:800;cursor:pointer}
.kj-crate-modal .kj-crate-show-all:hover{background:#1a4050;border-color:#6dbac7}
/* Gun crate: wheel-scroll the prize list while keeping purchase actions visible. */
.point-success-backdrop .point-success-modal.kj-crate-modal{overflow:hidden!important}
.point-success-backdrop .kj-crate-modal .point-success-copy{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#547f91 #10232f;padding-right:5px}
.point-success-backdrop .kj-crate-modal .point-success-actions{flex:0 0 auto}
.point-success-backdrop .kj-crate-modal .point-success-copy::-webkit-scrollbar{width:7px}
.point-success-backdrop .kj-crate-modal .point-success-copy::-webkit-scrollbar-thumb{background:#547f91;border-radius:9px}
.kj-crate-modal .kj-crate-sound{justify-self:end;padding:5px 10px;border:1px solid #497c92;border-radius:8px;background:#122b39;color:#d1eef2;font-size:12px;font-weight:800;cursor:pointer}
/* California 2 actual item Rarity colors from Workshop .dat files. */
.kj-crate-modal .kj-crate-reward-card{background:linear-gradient(135deg,color-mix(in srgb,var(--crate-color),transparent 88%),rgba(5,15,22,.7));border-left:4px solid var(--crate-color)}
.kj-crate-modal .kj-crate-reward-heading b,.kj-crate-modal .kj-crate-reward-heading strong{color:var(--crate-color)}
.kj-crate-modal .kj-crate-reel-track>span{background:linear-gradient(160deg,color-mix(in srgb,var(--crate-color),transparent 78%),#0f1a25)}
.kj-crate-modal .kj-crate-reel-track>span>b{color:var(--crate-color)}
body.kj-daily-open{overflow:hidden}.kj-daily-overlay[hidden]{display:none!important}.kj-daily-overlay{position:fixed;inset:0;z-index:100050;display:grid;place-items:center;background:rgba(2,9,17,.85);backdrop-filter:blur(7px);padding:12px}.kj-daily-dialog{width:min(970px,100%);height:min(810px,calc(100dvh - 24px));display:flex;flex-direction:column;background:#101e2b;border:1px solid #3e8992;border-radius:19px;box-shadow:0 24px 90px #000b;overflow:hidden}.kj-daily-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:13px 19px;background:#142c38;color:#f0f9fc;border-bottom:1px solid #31505b}.kj-daily-dialog>header strong{font-size:18px}.kj-daily-dialog>header button{background:#233e4a;color:#fff;border:1px solid #547781;border-radius:9px;padding:8px 13px;cursor:pointer}.kj-daily-dialog iframe{flex:1;width:100%;min-height:0;border:0;background:#101e2b}body.kj-daily-embedded .topbar,body.kj-daily-embedded .site-footer,body.kj-daily-embedded .daily-ref-hero{display:none!important}body.kj-daily-embedded .portal-page{min-height:0!important;padding:12px!important;margin:0 auto!important;max-width:940px!important}body.kj-daily-embedded .daily-ref-status-grid{margin-top:0!important}@media(max-width:600px){.kj-daily-overlay{padding:5px}.kj-daily-dialog{height:calc(100dvh - 10px);border-radius:12px}}
/* Standalone native Daily modal — no embedded page */
.kj-daily-dialog{height:auto;max-height:calc(100dvh - 24px);width:min(920px,100%)}
.kj-daily-dialog>header{flex:none;padding:18px 22px}.kj-daily-dialog>header h2{margin:3px 0 0;font-size:24px}.kj-daily-dialog>header small{color:#70d8d1;letter-spacing:.13em;font-weight:800}
.kj-daily-content{min-height:0;overflow-y:auto;padding:20px 22px;scrollbar-width:thin}.kj-daily-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#183342;border:1px solid #356474;border-radius:14px;padding:15px 19px}.kj-daily-summary strong{font-size:26px;color:#8bf3db}.kj-daily-summary span{font-size:13px;color:#c5dbe5}.kj-daily-content>p{color:#a9c5ce;font-size:13px;margin:13px 0 17px}.kj-daily-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kj-daily-grid .daily-reward-card{min-width:0;margin:0}.kj-daily-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;background:#142c38;border-top:1px solid #31505b}.kj-daily-foot span{font-size:13px;color:#c0d3db}.kj-daily-foot button{padding:11px 22px;border-radius:10px}
@media(max-width:740px){.kj-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kj-daily-content{padding:13px}.kj-daily-dialog>header{padding:12px 14px}.kj-daily-dialog>header h2{font-size:19px}.kj-daily-foot{padding:12px;flex-wrap:wrap}.kj-daily-foot button{width:100%}}
.kj-daily-grid .daily-reward-card.is-claimed{border-color:#328c75!important;background:linear-gradient(150deg,#14382f,#11252e)!important;opacity:.75}.kj-daily-grid .daily-reward-card.is-claimed::after{content:'✓ รับแล้ว';position:absolute;top:8px;right:8px;border-radius:7px;background:#1e6b57;color:#d8ffef;padding:4px 7px;font-size:11px;font-weight:800}.kj-daily-grid .daily-reward-card.is-claimed button{cursor:default;opacity:.65}.kj-daily-grid .daily-reward-card.is-ready{border-color:#67ddbd!important;box-shadow:0 0 0 1px #67ddbd55,0 0 22px #2baf8d33}.kj-daily-grid .daily-reward-card.is-ready button{background:#1f8e73;color:#fff}.kj-daily-grid .daily-reward-card.is-locked{opacity:.6}
/* Marketplace layout extension: preserve existing KanomJeen CI and item art. */
.kj-market-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 12px;padding:9px;border-radius:14px}.kj-market-tabs button{min-height:52px;border:1px solid rgba(139,178,198,.22);border-radius:10px;background:rgba(12,31,43,.7);color:#bbd0d8;font:inherit;font-weight:800;cursor:pointer}.kj-market-tabs button[aria-selected=true]{border-color:rgba(94,213,255,.7);background:rgba(26,98,121,.38);color:#effbff;box-shadow:inset 0 -2px 0 #55c7ff}.kj-market-vehicles[hidden],.kj-market-garage-detail[hidden]{display:none!important}.kj-market-vehicles{min-width:0}.kj-market-vehicles .vehicle-shop-toolbar{margin-bottom:15px}.kj-market-garage{margin-bottom:12px}.kj-market-garage-detail{padding:24px;border-radius:13px}.kj-market-garage-detail p{color:#a9bec7;line-height:1.7}.shop-page-body[data-market-tab=vehicles] .shop-primary-column>.shop-featured,.shop-page-body[data-market-tab=vehicles] .shop-primary-column>.shop-catalog,.shop-page-body[data-market-tab=vehicles] .shop-primary-column>.shop-preview-note{display:none!important}.shop-page-body[data-market-tab=garage] .shop-primary-column>:not(.kj-market-garage-detail){display:none!important}
@media(max-width:800px){.kj-market-tabs{gap:5px;padding:6px}.kj-market-tabs button{min-height:46px;font-size:11px}.kj-market-vehicles .vehicle-shop-toolbar-top{grid-template-columns:1fr}.kj-market-vehicles .vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.kj-market-vehicles .vehicle-grid{grid-template-columns:1fr}.kj-market-tabs button{font-size:10px}}

.kj-crate-modal .point-success-actions [data-crate-skip]{border-color:#d6ad60;background:#49351b;color:#ffe1a3;font-weight:850}
.kj-crate-modal .point-success-actions [data-crate-skip][hidden]{display:none}
.kj-crate-modal .point-success-actions:has([data-crate-skip][hidden]){grid-template-columns:1fr}

.kj-crate-search-label{display:block;font-weight:800;color:#b9dedf;margin:14px 0}.kj-crate-search-label input{display:block;width:100%;margin-top:8px;padding:12px;background:#0e2431;color:#f5ffff;border:1px solid #3f7282;border-radius:9px;font-size:15px}

/* Progression preview: KanomJeen dark glass CI */
.progress-home,.progression-panel{background:linear-gradient(125deg,rgba(16,40,55,.96),rgba(11,27,39,.95));border:1px solid rgba(65,142,155,.38);border-radius:16px;color:#e9f6f7}
.progress-home{margin:25px auto;max-width:1240px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.progress-home h2{font-size:clamp(21px,3vw,30px);margin:8px 0}.progress-home p{color:#b5cbd5;max-width:700px}.progress-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;color:#75d7cd}
.progress-home-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.progress-mini{font-size:12px;color:#91bfc6}.progress-action{display:inline-block;padding:12px 19px;background:#168b84;color:white!important;border-radius:9px;font-weight:800;text-decoration:none}
.progression-page{max-width:1240px;margin:auto;padding:24px 18px 70px}.progression-page h1{font-size:clamp(27px,4vw,43px);margin:5px 0 8px;color:#fff}.progression-page h2{font-size:20px;color:#f6ffff}
.progression-page p{color:#acc8d1}.progression-panel{padding:22px;margin-top:17px}.progression-hero{padding:28px;background:radial-gradient(circle at 90% 0%,rgba(28,131,124,.28),transparent 45%),linear-gradient(110deg,#102e3c,#0a1928)}
.progression-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.progression-stat{background:#0c2230;border:1px solid #2b5360;border-radius:12px;padding:18px}.progression-stat strong{display:block;font-size:26px;color:#7bdccc;margin-top:8px}
.progression-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(245px,1fr);gap:17px}.progression-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.progression-tabs button{background:#102b3a;border:1px solid #375665;color:#d1e6eb;border-radius:8px;padding:9px 14px;cursor:pointer}.progression-tabs button[aria-pressed=true]{background:#1a605e;border-color:#67cfc1;color:#fff}
.progression-task{padding:15px;margin-top:10px;border:1px solid #315160;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:15px}.progression-task b{color:#e8f8f7}.progression-task small{color:#94b0ba;display:block;margin-top:5px}.progression-meter{height:8px;background:#28414e;border-radius:20px;overflow:hidden;margin-top:12px}.progression-meter span{display:block;height:100%;background:#35bba9;border-radius:20px}
.progression-rewards{display:flex;gap:12px;overflow-x:auto;padding:10px 0}.progression-reward{flex:1;min-width:155px;padding:18px 10px;text-align:center;background:#102936;border:1px solid #315461;border-radius:12px}.progression-reward .progression-art{display:block;font-size:27px;margin:12px}.progression-reward small{color:#9dbcc3}.progression-disclaimer{font-size:13px;color:#9ebac4}
@media(max-width:800px){.progression-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progression-layout{grid-template-columns:1fr}.progress-home{margin:18px 12px}.progression-panel{padding:16px}}

.kj-crate-search-label{display:block;font-weight:800;color:#b9dedf;margin:14px 0}.kj-crate-search-label input{display:block;width:100%;margin-top:8px;padding:12px;background:#0e2431;color:#f5ffff;border:1px solid #3f7282;border-radius:9px;font-size:15px}

/* KanomJeen Progression V2 — same visual system as Shop / Points */
.kj-progress-v2{position:relative;width:min(1240px,calc(100% - 36px));padding:17px 0 85px}
.kj-progress-v2 .progression-panel{background:linear-gradient(132deg,rgba(12,26,37,.96),rgba(13,31,43,.92));border:1px solid rgba(142,180,197,.24);box-shadow:0 12px 36px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.045);border-radius:18px}
.kj-progress-v2 .progression-hero{position:relative;min-height:238px;overflow:hidden;margin-top:8px;padding:35px 39px;background:radial-gradient(circle at 76% 40%,rgba(31,154,145,.25),transparent 42%),linear-gradient(106deg,rgba(7,19,28,.96),rgba(13,37,48,.88)),url('assets/background-clean.webp') center/cover}
.kj-progress-v2 .progression-hero:after{content:"";position:absolute;right:-140px;top:-120px;width:400px;height:400px;border:1px solid rgba(111,221,214,.13);border-radius:50%;box-shadow:0 0 0 58px rgba(111,221,214,.03),0 0 0 117px rgba(111,221,214,.03);pointer-events:none}
.kj-progress-v2 .progression-hero>*:not(.kj-progress-hero-mark){position:relative;z-index:2}
.kj-progress-v2 .progression-hero h1{font-size:clamp(32px,5vw,55px);letter-spacing:-.03em;line-height:1.15;margin:9px 0 0}
.kj-progress-v2 .progression-hero h1 .ico{color:#7cdeca;font-size:.7em}
.kj-progress-v2 .progression-hero p{max-width:680px;line-height:1.7;font-size:14px;margin:11px 0}
.kj-progress-v2 .progression-hero .progression-disclaimer{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;background:rgba(9,30,39,.82);border:1px solid rgba(102,179,178,.28);border-radius:9px;color:#d9edf0;font-size:12px}
.kj-progress-en-title{display:block;font-size:clamp(17px,2.4vw,26px);font-weight:1000;letter-spacing:.1em;color:#fff;margin:5px 0}.kj-progress-en-title em{font-style:normal;color:#73ddc4}
.kj-progress-hero-mark{position:absolute;right:58px;top:42px;display:grid;place-items:center;width:176px;height:176px;transform:rotate(-9deg);opacity:.25;border:5px solid #83ebdf;border-radius:28px;color:#b0ffec}.kj-progress-hero-mark .ico{font-size:84px}.kj-progress-hero-mark b{font-size:13px;letter-spacing:.2em}
.kj-progress-v2 .progression-grid{margin-top:16px!important;gap:14px}.kj-progress-v2 .progression-stat{position:relative;overflow:hidden;min-height:134px;padding:21px 19px;background:linear-gradient(150deg,rgba(17,39,52,.97),rgba(9,24,35,.98));border:1px solid rgba(112,162,181,.25);box-shadow:0 7px 24px rgba(0,0,0,.18)}
.kj-progress-v2 .progression-stat:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;background:#47c9b8;border-radius:0 3px 3px 0}
.kj-progress-v2 .progression-stat small{display:block;color:#acc6cf;font-size:12px;font-weight:800;margin-top:14px}
.kj-progress-v2 .progression-stat strong{font-size:clamp(23px,3vw,34px);font-weight:950;letter-spacing:-.03em;margin-top:5px;color:#f2fff9}
.kj-progress-v2 .kj-stat-icon{position:absolute;right:18px;top:16px;color:#66cfc5;opacity:.85;font-size:20px}
.kj-progress-v2 .progression-panel h2{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:950;letter-spacing:-.02em}.kj-progress-v2 .progression-panel h2 .ico{color:#67d5bf}
.kj-progress-v2 .progression-panel>p{line-height:1.75;font-size:13px}.kj-progress-v2 .progression-meter{height:10px;background:#1e3a48;border:1px solid rgba(151,204,217,.09);margin-top:15px}.kj-progress-v2 .progression-meter span{background:linear-gradient(90deg,#178f9a,#67e3ae);box-shadow:0 0 18px rgba(53,193,171,.25)}
.kj-progress-v2 .progression-layout{gap:16px;margin-top:0}.kj-progress-v2 .progression-layout>.progression-panel,.kj-progress-v2 .progression-layout>aside{margin-top:16px}
.kj-progress-v2 .progression-task{background:rgba(9,25,35,.75);border:1px solid rgba(117,164,184,.22);border-radius:12px;padding:19px 18px;transition:background .16s}.kj-progress-v2 .progression-task:hover{background:rgba(18,48,60,.85)}
.kj-progress-v2 .progression-task>div:first-child{flex:1;min-width:0}.kj-progress-v2 .progression-task b{font-size:14px}.kj-progress-v2 .progression-task small{margin-top:6px;font-size:12px}
.kj-progress-v2 .progression-rewards{gap:13px;scrollbar-color:#426c78 transparent;padding:7px 1px 12px}
.kj-progress-v2 .progression-reward{display:flex;flex-direction:column;align-items:center;min-width:175px;min-height:215px;padding:19px 14px;border:1px solid rgba(111,163,184,.29);background:linear-gradient(158deg,#193648,#0b1e2b);border-radius:14px}
.kj-progress-v2 .progression-reward.ready{border-color:#41ad98;box-shadow:inset 0 0 18px rgba(32,157,137,.12)}
.kj-progress-v2 .progression-reward>strong{color:#b1f0df;font-size:12px;letter-spacing:.09em}.kj-progress-v2 .progression-reward .progression-art{font-size:35px;display:grid;place-items:center;width:69px;height:69px;border-radius:15px;background:rgba(39,99,108,.27);border:1px solid rgba(97,180,184,.25)}
.kj-progress-v2 .progression-reward p{min-height:42px;color:#c9dee4;font-size:12px;line-height:1.45}.kj-progress-v2 .progression-reward .progress-action{margin-top:auto;min-height:37px;width:100%;font-size:12px;border:0;cursor:pointer}
.kj-progress-v2 .progression-reward .progress-action:disabled{background:#27414e;color:#a0b3bb;cursor:not-allowed;opacity:.72}
.kj-progress-v2 #progress-achievements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.kj-progress-v2 #progress-achievements .progression-task{margin:0;align-items:flex-start;flex-direction:column;min-height:114px}.kj-progress-v2 #progress-achievements .progression-task strong{font-size:12px}
.kj-progress-v2 #progress-history .progression-task{min-height:62px}.kj-progress-v2 #progress-history .progression-task strong{color:#73dfc3}
.kj-progress-v2 .progression-disclaimer{font-size:12px;color:#92b4c0}
@media(max-width:900px){.kj-progress-v2 #progress-achievements{grid-template-columns:1fr 1fr}.kj-progress-v2 .progression-hero{padding:27px 22px}.kj-progress-hero-mark{right:10px;opacity:.12}}
@media(max-width:620px){.kj-progress-v2{width:calc(100% - 22px);padding-top:9px}.kj-progress-v2 .progression-hero{padding:24px 17px;min-height:0}.kj-progress-v2 .progression-hero h1{font-size:33px}.kj-progress-v2 .progression-grid{gap:9px}.kj-progress-v2 .progression-stat{min-height:112px;padding:15px 12px}.kj-progress-v2 .progression-stat strong{font-size:25px}.kj-progress-v2 .progression-stat small{font-size:11px;margin-top:15px}.kj-progress-v2 .progression-panel{padding:17px}.kj-progress-v2 .progression-panel h2{font-size:18px}.kj-progress-v2 #progress-achievements{grid-template-columns:1fr}.kj-progress-v2 .progression-reward{min-width:155px}.kj-progress-v2 .progression-task{padding:13px}}

/* Progression V3: match the real Points page CI, not blue demo cards. */
body.progression-page-body>.skyline:after{background:rgba(7,16,26,.40)!important}
body.progression-page-body>.topbar{width:min(var(--kj-content),calc(100% - 40px));background:linear-gradient(135deg,rgba(5,10,19,.94),rgba(15,19,30,.9))!important;border:1px solid #ffffff2c!important}
body.progression-page-body .topbar nav a.nav-active{border-color:#ffbf6a99;background:linear-gradient(135deg,#885225,#623717);color:#fff}
body.progression-page-body .kj-progress-v2{width:min(1280px,calc(100% - 40px))}
body.progression-page-body .kj-progress-v2 .progression-hero{margin:0;padding:30px 27px 20px!important;min-height:190px;border:0!important;background:transparent!important;box-shadow:none!important}
body.progression-page-body .kj-progress-v2 .progression-hero:after,body.progression-page-body .kj-progress-hero-mark{display:none}
body.progression-page-body .kj-progress-v2 .progression-hero h1{font-size:clamp(36px,4vw,53px);text-shadow:0 3px 10px #0009;line-height:1.05}
body.progression-page-body .kj-progress-v2 .progression-hero h1 em{font-style:normal;color:#ffd15f}
body.progression-page-body .kj-progress-v2 .kj-progress-en-title{font-size:clamp(23px,2.7vw,30px);letter-spacing:-.025em;color:#fff}
body.progression-page-body .kj-progress-v2 .kj-progress-en-title em{color:#ff9e36}
body.progression-page-body .kj-progress-v2 .progression-hero p{color:#f2f1ed;font-weight:700}
body.progression-page-body .kj-progress-v2 .progression-hero .progress-eyebrow{color:#ffcf70}
body.progression-page-body .kj-progress-v2 .progression-hero .progression-disclaimer{background:#080e16b3;border-color:#ffffff50;color:#d5e1e6}
body.progression-page-body .kj-progress-v2 .progression-panel,body.progression-page-body .kj-progress-v2 .progression-stat{border:1px solid #ffffff30!important;background:linear-gradient(135deg,rgba(0,0,0,.76),rgba(0,0,0,.49) 58%,rgba(0,0,0,.66))!important;box-shadow:0 18px 38px #0008,inset 0 1px #ffffff13!important;backdrop-filter:blur(18px) saturate(125%)}
body.progression-page-body .kj-progress-v2 .progression-stat:before{background:#ffb342}
body.progression-page-body .kj-progress-v2 .progression-stat strong{color:#fff}
body.progression-page-body .kj-progress-v2 .progression-stat:nth-child(2) strong{color:#ffcf55}
body.progression-page-body .kj-progress-v2 .kj-stat-icon,body.progression-page-body .kj-progress-v2 h2 .ico{color:#ffbe4f}
body.progression-page-body .kj-progress-v2 .progression-meter{background:#22252b}
body.progression-page-body .kj-progress-v2 .progression-meter span{background:linear-gradient(90deg,#d97a25,#ffca55);box-shadow:0 0 16px #f0ac3c44}
body.progression-page-body .kj-progress-v2 .progression-task{background:rgba(7,10,14,.77);border-color:#ffffff28}
body.progression-page-body .kj-progress-v2 .progression-task:hover{background:rgba(35,27,21,.85)}
body.progression-page-body .kj-progress-v2 .progression-reward{background:linear-gradient(155deg,rgba(28,25,22,.95),rgba(9,12,17,.97));border-color:#ffffff2e}
body.progression-page-body .kj-progress-v2 .progression-reward.ready{border-color:#e9b958}
body.progression-page-body .kj-progress-v2 .progression-reward>strong{color:#ffd15f}
body.progression-page-body .kj-progress-v2 .progression-reward .progression-art{background:#44301955;border-color:#a5783a77}
body.progression-page-body .kj-progress-v2 .progression-reward .progress-action{background:linear-gradient(135deg,#e6ac41,#bc781b)}
body.progression-page-body .kj-progress-v2 .progression-reward .progress-action:disabled{background:#293037;color:#95a4ab!important}
body.progression-page-body .kj-progress-v2 #progress-history .progression-task strong{color:#ffd15f}
@media(max-width:620px){body.progression-page-body>.topbar{width:calc(100% - 20px)}body.progression-page-body .kj-progress-v2{width:calc(100% - 20px)}body.progression-page-body .kj-progress-v2 .progression-hero{padding:22px 12px!important}}
