/* ui-theme.css — สกิน UI "เวทดวงดาว" ทั้งเกม (นอกหอคอย) · ตั๊บ 2026-10-23
   พี่: "โหลด UI มาครบหมดแล้ว วิเคราะห์ แล้วทำให้ในเกมเลย · ทำ UI ให้ทั้งหมดในเกม จะไล่เช็กให้ว่าไม่ชอบตรงไหน"
   ชิ้นภาพ: assets/img/ui/star/*.webp (tools/cut-ui2.js → tools/pack-ui-star.js → tools/make-ui-frames.js)
   หน้าหอคอย (.pop-tv) ใช้ชุดหอคอยของตัวเอง ไม่แตะ · ไอคอนแทนอีโมจิทำใน assets/js/ui-star.js
   ทุกกฎขึ้นต้นด้วย body / html เพื่อชนะสไตล์ที่ไฟล์ JS อื่นฉีดทีหลัง */
:root{--s-ink:#e9eef9;--s-dim:#a9b6d3;--s-gold:#ffe39a;--s-gold2:#d9b45a;--s-silver:#c9d4e6;--s-cry:#6fd2ff;--s-navy:#0f1733;--s-navy2:#1c2a58;--s-tq:#2a9aa8}

/* ========== หน้าต่าง (rpgWindow + modal ที่แปลงแล้ว) ========== */
html body .rpg-window:not(.pop-tv){isolation:isolate;border:0;border-radius:0;background:none;box-shadow:none;color:var(--s-ink);padding:6px 4px 10px;overflow:visible}
html body .rpg-window:not(.pop-tv)::before{content:'';display:block;position:absolute;inset:10px 8px;z-index:-2;border-radius:22px;pointer-events:none;font-size:0;color:transparent;border:0;border-image:none;
  background:radial-gradient(1.2px 1.2px at 12% 18%,#fff8 50%,#0000 51%) 0 0/150px 110px,radial-gradient(1px 1px at 63% 72%,#fff6 50%,#0000 51%) 0 0/120px 90px,radial-gradient(1.4px 1.4px at 85% 30%,#bfe8ff99 50%,#0000 51%) 0 0/190px 140px,
  radial-gradient(120% 80% at 50% 0%,#2a3c78 0%,#18224a 45%,#0d1430 100%);box-shadow:0 18px 60px #000c}
html body .rpg-window:not(.pop-tv)::after{content:'';display:block!important;position:absolute;inset:0;z-index:-1;pointer-events:none;font-size:0;color:transparent;
  border:solid transparent;border-width:38px 30px;border-image:url(../img/ui/star/win_frame.webp) 75 62 75 62 / 38px 30px}
html body .rpg-window:not(.pop-tv) .rpg-window-title{position:relative;height:58px;background:none;border:0;padding:0 60px;display:flex;justify-content:center;align-items:flex-start}
html body .rpg-window:not(.pop-tv) .rpg-window-title::before{content:'';position:absolute;left:50%;top:-14px;width:150px;height:49px;transform:translateX(-50%);background:url(../img/ui/star/win_gem.webp) center top/100% auto no-repeat;pointer-events:none;z-index:2;
  -webkit-mask:linear-gradient(#000 60%,#0000);mask:linear-gradient(#000 60%,#0000)}
html body .rpg-window:not(.pop-tv) .rpg-window-title>b{display:flex;align-items:center;justify-content:center;gap:6px;min-width:260px;max-width:calc(100% - 40px);height:50px;margin-top:14px;padding:4px 66px 0;
  border:0;border-radius:0;background:url(../img/ui/star/title_plain.webp) center/100% 100% no-repeat;font:600 18px 'Prompt',sans-serif;color:var(--s-gold);text-shadow:0 2px 0 #0a0e1e,0 0 8px #0008;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .rpg-window:not(.pop-tv) .rpg-x{position:absolute;top:16px;right:18px;width:36px;height:36px;min-height:0;padding:0;border:0;border-radius:50%;background:url(../img/ui/star/close.webp) center/100% 100% no-repeat;color:transparent;font-size:0;box-shadow:none;z-index:5}
html body .rpg-window:not(.pop-tv) .rpg-x:hover{filter:brightness(1.18)}
html body .rpg-window-overlay{background:#050816b3;backdrop-filter:blur(2px)}
/* หน้าต่างตัวละครเดิมมีกรอบเฉพาะ → ใช้กรอบดวงดาวเหมือนกัน */
html body .rpg-window.pop-char2::before{border:0!important;border-image:none!important}
@media (max-width:760px),(max-height:500px){
  html body .rpg-window:not(.pop-tv)::after{border-width:28px 22px;border-image-width:28px 22px}
  html body .rpg-window:not(.pop-tv) .rpg-window-title{height:48px}
  html body .rpg-window:not(.pop-tv) .rpg-window-title>b{height:40px;min-width:190px;font-size:15px;padding:3px 48px 0;margin-top:10px}
  html body .rpg-window:not(.pop-tv) .rpg-x{top:10px;right:12px;width:30px;height:30px}
}
/* modal แบบเก่า → rpgWindow (ui-theme.js) */
.rpg-window.pop-mdl{width:min(900px,96vw)}
.pop-mdl .mdl{padding:6px 26px 24px;text-align:center}
.pop-mdl .mdl h3{color:var(--s-gold);font:600 16px 'Prompt',sans-serif;margin:12px 0 6px;text-align:left}
.pop-mdl .mdl-ft{display:flex;justify-content:center;gap:8px;margin-top:14px}

/* ========== ปุ่ม ========== */
/* ปุ่มรอง (ปุ่มทั่วไปไม่มีคลาส) = กรอบเงินพื้นน้ำเงิน · ปุ่มหลัก (.gold/.primary) = ฟ้าเทอร์ควอยซ์ · กดไม่ได้ = เทา */
html body .rpg-window:not(.pop-tv) :is(button:not([class]),button.bx-btn,button.gold,button.primary,.mdl-ft button,button.reference-confirm,button.reference-reset),
html body #overlay .modal button:not([class]){min-height:36px;padding:2px 22px;border:solid transparent;border-width:9px 27px;border-radius:0;
  border-image:url(../img/ui/star/btn2_p.webp) 30 92 fill / 9px 27px;background:none;color:var(--s-ink);font:600 13.5px 'Prompt',sans-serif;text-shadow:0 1px 2px #000;box-shadow:none;line-height:1.15;cursor:pointer;white-space:nowrap}
html body .rpg-window:not(.pop-tv) :is(button.gold,button.primary,button.reference-confirm){border-image-source:url(../img/ui/star/btn_p.webp);color:#fff}
html body .rpg-window:not(.pop-tv) :is(button:not([class]),button.bx-btn,button.gold,button.primary,.mdl-ft button):hover:not(:disabled){filter:brightness(1.15)}
html body .rpg-window:not(.pop-tv) :is(button:not([class]),button.bx-btn,button.gold,button.primary,.mdl-ft button):active:not(:disabled){transform:translateY(1px);filter:brightness(.92)}
html body .rpg-window:not(.pop-tv) :is(button:not([class]),button.bx-btn,button.gold,button.primary,.mdl-ft button):disabled{border-image-source:url(../img/ui/star/btn_off_p.webp);color:#cfd3dc;filter:none;cursor:default;opacity:.85}

/* ========== แท็บ ========== */
/* แท็บ = ปุ่มกรอบเงิน (ไม่เลือก = น้ำเงินเข้ม · เลือกอยู่ = ฟ้าเทอร์ควอยซ์) */
html body :is(.bx-tabs,.bx-pages,.cv-tabs,.rk-tabs,.tc-tabs,.st-tabs,.sk-tabs,.tab-row) button,html body .rk-tab,html body .tc-tab{min-height:32px;padding:0 14px;border:solid transparent;border-width:8px 24px;border-radius:0;
  border-image:url(../img/ui/star/btn2_p.webp) 30 92 fill / 8px 24px;background:none!important;color:var(--s-dim);font:500 13px 'Prompt',sans-serif;box-shadow:none;filter:none;white-space:nowrap}
html body :is(.bx-tabs,.bx-pages,.cv-tabs,.rk-tabs,.tc-tabs,.st-tabs,.sk-tabs,.tab-row) button.on,html body .rk-tab.on,html body .tc-tab.on{border-image-source:url(../img/ui/star/btn_p.webp)!important;color:#fff;text-shadow:0 1px 2px #003}
html body .bx-pages button{min-height:26px;font-size:11.5px;padding:0 6px;border-width:6px 18px}
html body .bx-foot.btns button,html body .bx-act button{padding:0 6px!important;border-width:8px 24px!important;white-space:nowrap;font-size:12.5px!important}
html body .bx-detail .ic{width:46px;height:46px;flex:none;display:flex;align-items:center;justify-content:center;background:url(../img/ui/star/slot.webp) center/100% 100% no-repeat}
html body .bx-detail .ic img.si{width:78%;height:78%;object-fit:contain}
/* การ์ดในหน้าต่าง (เควสต์ รางวัล รายการ) */
html body .rpg-window:not(.pop-tv) article.card{border:solid transparent!important;border-width:12px 36px!important;border-image:url(../img/ui/star/card_plain.webp) 30 90 fill / 12px 36px!important;background:none!important;border-radius:0!important;box-shadow:none!important;padding:2px 0!important}
html body .rpg-window:not(.pop-tv) article.card h3{color:var(--s-gold)!important;font:600 14px 'Prompt',sans-serif;margin:2px 0 4px}

/* ========== ช่องไอเทม (กรอบตามความหายาก) ========== */
html body :is(.bx-cell,.reference-inventory-cell,.cx-slot){position:relative;border:0!important;border-radius:4px;background:url(../img/ui/star/slot.webp) center/100% 100% no-repeat!important;box-shadow:none!important;color:#fff}
html body :is(.bx-cell,.reference-inventory-cell,.cx-slot)[style*="84bfff"]{background-image:url(../img/ui/star/slot_rare.webp)!important}
html body :is(.bx-cell,.reference-inventory-cell,.cx-slot)[style*="dbacff"]{background-image:url(../img/ui/star/slot_epic.webp)!important}
html body :is(.bx-cell,.reference-inventory-cell,.cx-slot)[style*="ffd36a"]{background-image:url(../img/ui/star/slot_legend.webp)!important}
html body :is(.bx-cell,.reference-inventory-cell).sel{filter:drop-shadow(0 0 6px #6fd2ff) brightness(1.12)}
html body .bx-cell img.si,html body .cv-eq img.si,html body .reference-inventory-cell img.si{width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 2px 2px #0008)}
html body .bx-cell>b{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
html body .bx-cell small{position:absolute;right:6px;bottom:3px;font:600 11px 'Prompt',sans-serif;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000}
html body .bx-cell em{position:absolute;left:4px;top:3px;width:18px;height:18px;font-size:0;background:url(../img/ui/star/i_buff.webp) center/contain no-repeat}
/* ช่องอุปกรณ์หน้าตัวละคร: ว่าง = เงาชนิดของ · มีของ = ภาพของ */
html body .cv-eq{border:0!important;border-radius:6px!important;background:url(../img/ui/star/slot.webp) center/100% 100% no-repeat!important;box-shadow:none!important;aspect-ratio:1}
html body .cv-eq[style*="84bfff"]{background-image:url(../img/ui/star/slot_rare.webp)!important}
html body .cv-eq[style*="dbacff"]{background-image:url(../img/ui/star/slot_epic.webp)!important}
html body .cv-eq[style*="ffd36a"]{background-image:url(../img/ui/star/slot_legend.webp)!important}
html body .cv-eq:not(.has) i{opacity:1!important;filter:none!important}
html body .cv-eq i img.si{width:86%;height:86%;opacity:.95}
html body .cv-eq small{bottom:-12px!important;font-size:9px!important;color:var(--s-dim)!important}
html body .cv-belt{display:grid!important;grid-template-columns:repeat(4,1fr);gap:14px 8px!important;padding:8px 10px 16px!important}
/* กล่องรายละเอียดไอเทม */
html body .it-ic{border:0!important;background:url(../img/ui/star/slot.webp) center/100% 100% no-repeat!important;display:flex;align-items:center;justify-content:center}
html body .it-ic img.si{width:80%;height:80%;object-fit:contain}
html body .it-all{font-size:11.5px;color:var(--s-cry);margin:2px 0 4px}

/* ========== HUD หน้าจอเมือง ========== */
html body .world-hud{border:solid transparent!important;border-width:12px 36px!important;border-image:url(../img/ui/star/card_plain.webp) 30 90 fill / 12px 36px!important;background:none!important;border-radius:0!important;box-shadow:0 6px 18px #0006;padding:2px 6px 2px 0!important;color:var(--s-ink)!important}
html body .world-hud b{color:var(--s-gold);font:600 13px 'Prompt',sans-serif;text-shadow:0 1px 2px #000}
html body .world-portrait{border:solid transparent!important;border-width:7px!important;border-image:url(../img/ui/star/ring_plain.webp) 22 / 7px!important;background-clip:padding-box!important;margin:-12px 0 -12px -14px}
html body .world-bar{border:0!important;border-radius:0!important;background:url(../img/ui/star/bar.webp) center/100% 100% no-repeat!important;padding:3px 6px;overflow:visible!important;box-sizing:border-box}
html body .world-bar i{border-radius:6px;background:url(../img/ui/star/bar_hp.webp) left center/100% 100% no-repeat!important}
html body .world-title{border:0!important;border-radius:0!important;background:url(../img/ui/star/banner.webp) center/100% 100% no-repeat!important;padding:12px 48px 14px!important;min-width:230px;color:var(--s-gold)!important;font:600 15px 'Prompt',sans-serif!important;text-shadow:0 2px 2px #000}
/* เมนูขวาบน: ตาราง 9 ช่องต่อแถว (สูงสุด 3 แถว · พี่ 2026-10-23) ไอคอนเล็กลงแบบคลาสสิก */
/* พี่: "เล็กไป ดูไม่ออก" → ใหญ่ขึ้น (ไอคอน 36px) ยังคง 9 ช่องต่อแถว */
html body .world-menu{display:grid!important;grid-template-columns:repeat(9,56px);gap:2px 3px!important}
html body .world-menu button{position:relative;width:56px!important;min-width:56px!important;height:66px!important;padding:0 0 14px!important;border:0!important;border-radius:0!important;background:url(../img/ui/star/round.webp) center 0/54px 54px no-repeat!important;box-shadow:none!important;font-size:0!important;color:var(--s-ink)}
html body .world-menu button:hover{background-image:url(../img/ui/star/round_hi.webp)!important}
html body .world-menu button img.si{width:36px;height:36px;object-fit:contain;margin-top:1px;filter:drop-shadow(0 2px 2px #0009)}
html body .world-menu button small{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font:600 11px 'Prompt',sans-serif!important;color:#fff;white-space:nowrap;text-shadow:0 0 3px #000,0 0 3px #000,0 1px 2px #000}
html body .world-hud .world-bar,html body .world-hud .world-portrait,html body .world-title{pointer-events:auto!important}
.tut-ring::after{top:27px!important;width:58px!important;height:58px!important}
@media (max-width:760px),(max-height:500px){
  html body .world-menu{grid-template-columns:repeat(9,34px)}
  html body .world-menu button{width:34px!important;min-width:34px!important;height:40px!important;background-size:32px 32px!important;padding:0 0 8px!important}
  html body .world-menu button img.si{width:20px;height:20px}
  html body .world-menu button small{font-size:7.5px!important}
}
html body :is(.acct-btns button,#sndBtn,#edBtn){border:0!important;border-radius:50%!important;background:url(../img/ui/star/round.webp) center/100% 100% no-repeat!important;box-shadow:none!important;color:#fff}
html body :is(.acct-btns button,#sndBtn,#edBtn) img.si{width:64%;height:64%;object-fit:contain}
html body .mmo-mini-panel{border:solid transparent!important;border-width:16px!important;border-image:url(../img/ui/star/minimap.webp) 40 fill / 16px!important;background:none!important;border-radius:0!important;padding:0!important}
html body .mmo-mini-panel small{color:var(--s-dim)!important}
/* แชต + แถบ EXP ล่างจอ */
html body #townChat{border:solid transparent!important;border-width:12px 26px!important;border-image:url(../img/ui/star/chat_p.webp) 45 96 fill / 12px 26px!important;background:none!important;border-radius:0!important}
html body #townChat input{border:0!important;border-radius:4px!important;background:#0a1230cc!important;color:var(--s-ink)!important;box-shadow:inset 0 0 0 1px #c9d4e655}
html body #townBar .tc-bar{border:0!important;border-radius:0!important;background:url(../img/ui/star/bar.webp) center/100% 100% no-repeat!important;padding:3px 6px;box-sizing:border-box}
html body #townBar .tc-bar i{border-radius:6px;background:url(../img/ui/star/bar_exp.webp) left center/100% 100% no-repeat!important}
html body #townBar .tc-gem{background:url(../img/ui/star/pip.webp) center/contain no-repeat!important;border:0!important;box-shadow:none!important}

/* ========== หน้าแผนที่ด่าน (stage-mode) ========== */
html body #stScreen .st-chip{border:solid transparent!important;border-width:7px 17px!important;border-image:url(../img/ui/star/pill_gem_p.webp) 25 62 fill / 7px 17px!important;background:none!important;border-radius:0!important;color:var(--s-gold)!important;font:600 13px 'Prompt',sans-serif!important;padding:2px 6px!important}
html body #stScreen .st-top button{min-height:32px!important;padding:0 6px!important;border:solid transparent!important;border-width:8px 24px!important;border-image:url(../img/ui/star/btn2_p.webp) 30 92 fill / 8px 24px!important;background:none!important;border-radius:0!important;color:#fff}
html body #stScreen .st-menu button{position:relative;border:0!important;border-radius:50%!important;background:url(../img/ui/star/round.webp) center/100% 100% no-repeat!important;box-shadow:none!important;color:#fff}
html body #stScreen .st-menu button.on{background-image:url(../img/ui/star/round_glow.webp)!important}
html body #stScreen .st-menu button:disabled{background-image:url(../img/ui/star/round_off.webp)!important;opacity:.8}
html body #stScreen .st-menu button span{display:flex;align-items:center;justify-content:center;width:64%;height:64%;margin:0 auto}
html body #stScreen .st-menu button span img.si{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px #0009)}
html body #stScreen .st-menu button small{text-shadow:0 0 3px #000,0 0 3px #000;font-family:'Prompt',sans-serif}

/* ========== เต็มจอ (พี่ 2026-10-23: "เกมไม่เต็มจอ แถมมีอะไรงอกข้างๆ") ==========
   #app เดิมกว้างสุด 1440px → จอกว้างมีขอบดำซ้ายขวา และปุ่มเสียง/ผู้พัฒนา (fixed) ไปลอยอยู่ในขอบดำ */
html body #app{max-width:none!important;width:100%!important}

/* ========== กล่องคุย NPC + เนื้อเรื่อง: เล็ก กะทัดรัด อยู่กลางล่าง (พี่: "แถบข้อความใหญ่ กว้างเกิน บังบรรยากาศ ไม่อยู่ตรงกลาง") ========== */
html body .dialogue-layer{background:linear-gradient(transparent 55%,#05081640)!important}
html body .dialogue-layer .dialogue-box,html body .dialogue-layer.npc-r .dialogue-box{left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%);width:min(680px,92vw)!important;min-height:0!important;
  padding:20px 30px 12px!important;border:solid transparent!important;border-width:12px 36px!important;border-image:url(../img/ui/star/panel_p.webp) 40 120 fill / 12px 36px!important;background:none!important;border-radius:0!important;box-shadow:0 8px 24px #0008!important;z-index:3}
html body .dialogue-layer .dialogue-box h2{position:absolute;left:12px;top:-30px;margin:0;padding:4px 30px;font:600 14px 'Prompt',sans-serif!important;color:var(--s-gold)!important;text-shadow:0 1px 2px #000;
  border:solid transparent;border-width:6px 20px;border-image:url(../img/ui/star/btn2_p.webp) 30 92 fill / 6px 20px;white-space:nowrap}
html body .dialogue-layer .dialogue-box p{font:500 15px/1.6 'Prompt',sans-serif!important;color:var(--s-ink)!important;min-height:0!important;margin:4px 0 8px!important}
html body .dialogue-layer .dialogue-box .row{justify-content:flex-end!important;gap:6px!important}
html body .dialogue-layer .dialogue-box button{min-height:30px!important;padding:0 6px!important;font:600 12.5px 'Prompt',sans-serif!important;border:solid transparent!important;border-width:7px 21px!important;
  border-image:url(../img/ui/star/btn2_p.webp) 30 92 fill / 7px 21px!important;background:none!important;border-radius:0!important;color:var(--s-ink)!important;box-shadow:none!important}
html body .dialogue-layer .dialogue-box button.gold{border-image-source:url(../img/ui/star/btn_p.webp)!important;color:#fff!important}
html body .dialogue-layer .dialogue-portrait{height:min(62vh,520px)!important;width:min(32vw,420px)!important;z-index:2!important}
/* เนื้อเรื่อง (story-stage.js #ssTalk) */
html body #ssTalk .ss-box{width:min(680px,92vw)!important;min-height:0!important;bottom:18px!important;padding:22px 30px 12px!important;border:solid transparent!important;border-width:12px 36px!important;
  border-image:url(../img/ui/star/panel_p.webp) 40 120 fill / 12px 36px!important;background:none!important;border-radius:0!important;box-shadow:0 8px 24px #0008!important;font:500 15px/1.6 'Prompt',sans-serif!important;color:var(--s-ink)!important}
html body #ssTalk .ss-name{top:-30px!important;left:12px!important;padding:3px 28px!important;border:solid transparent!important;border-width:6px 20px!important;border-image:url(../img/ui/star/btn2_p.webp) 30 92 fill / 6px 20px!important;border-radius:0!important;
  background:none!important;box-shadow:none!important;font:600 14px 'Prompt',sans-serif!important;color:var(--s-gold)!important}
html body #ssTalk .ss-box.R .ss-name{left:auto!important;right:12px!important}
html body #ssTalk .ss-por{height:min(56vh,440px)!important}

/* ========== หน้าต่างระบบใหม่ (.ou: บัญชี จดหมาย กิจกรรม ปฏิทิน ฉายา พลัง ฯลฯ) ใช้แผ่นเดียวกัน ========== */
html body .ou{font-family:'Prompt',sans-serif!important}
html body :is(.ou-card,.ou-mail,.ou-news,.ou-box,.ou-tile){background:linear-gradient(180deg,#22305e,#151e40)!important;box-shadow:inset 0 0 0 1px #c9d4e655,inset 0 0 0 3px #0a0e1e,inset 0 0 0 4px #d9b45a33!important;border-radius:8px!important}
html body .ou-tile.on{box-shadow:inset 0 0 0 2px #6fd2ff,0 0 12px #6fd2ff66!important}
html body :is(.ou-card,.ou-mail) b,html body .ou h4,html body .ou-box summary{color:var(--s-gold)!important}
html body .ou input:not([type=radio]),html body .ou textarea,html body .ou select{border:1px solid #c9d4e655!important;background:#0a1230!important;border-radius:6px!important}

/* ปฏิทินล็อกอิน 7 วัน: 7 ช่องเท่ากันแถวเดียว · วันที่ 7 ทองเรือง (พี่: "ช่องแปลก ล้นบ้าง ไม่สมส่วนบ้าง") */
html body .cal-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:6px!important}
html body .cal-day{grid-column:auto!important;aspect-ratio:3/4;justify-content:center!important;gap:4px!important;padding:6px 2px!important;border-radius:0!important;box-shadow:none!important;
  border:solid transparent;border-width:10px;border-image:url(../img/ui/star/sq.webp) 34 fill / 10px;background:none!important;font-size:11.5px!important}
html body .cal-day b{font-size:11px;color:var(--s-dim)!important;font-weight:600}
html body .cal-day span{display:flex;flex-direction:column;align-items:center;gap:1px;font-weight:600;color:#fff;line-height:1.25;word-break:keep-all}
html body .cal-day.now{border-image-source:url(../img/ui/star/sq_hi.webp)!important;animation:calPulse 1.6s ease-in-out infinite}
html body .cal-day.now b{color:#6fd2ff!important}
html body .cal-day span{font-size:13.5px}
html body .cal-day.big{filter:drop-shadow(0 0 6px #ffd36a) drop-shadow(0 0 2px #ffd36a);background:radial-gradient(circle,#ffd36a40,transparent 70%)!important}
/* พลัง ♪ ใต้โปรไฟล์ */
html body .en-pill{border:solid transparent!important;border-width:5px 14px!important;border-image:url(../img/ui/star/pill_gem_p.webp) 25 62 fill / 5px 14px!important;background:none!important;border-radius:0!important;height:26px!important;padding:0 4px!important;color:var(--s-gold)!important;font:600 12px 'Prompt',sans-serif!important;pointer-events:auto}
html body .cal-day.big b{color:var(--s-gold)!important}
html body .cal-day.got{opacity:1!important;filter:grayscale(.6) brightness(.7)}
html body .cal-day em{right:50%!important;top:auto!important;bottom:-6px;transform:translateX(50%);width:22px;height:22px;font-size:0!important;background:url(../img/ui/star/st_done.webp) center/contain no-repeat;filter:none}
@keyframes calPulse{50%{filter:brightness(1.25) drop-shadow(0 0 6px #6fd2ff)}}
@media (max-width:560px){html body .cal-grid{grid-template-columns:repeat(4,1fr)!important}}

/* ป้ายชื่อเมือง: ข้อความอยู่ใต้อัญมณีกลางป้าย */
html body .world-title{display:flex!important;align-items:center;justify-content:center;height:62px;padding:26px 60px 4px!important;line-height:1;box-sizing:border-box;font-size:14px!important}

/* ========== ไอคอนเล็กแทนอีโมจิ (เงิน เพชร ฯลฯ) ========== */
img.si{display:inline-block;vertical-align:middle;pointer-events:none;user-select:none}
img.si.s{width:1.35em;height:1.35em;margin:-.2em .08em 0;object-fit:contain}
