/* ---- base.css ---- */
/* เลขออก - base styles shared by every public page (agent CORE).
   Tokens: --bg --card --ink --muted --line --pri --acc --ok --warn (+ --bad --pri-soft --acc-soft --shadow --r).
   Light theme default; dark follows the OS unless html[data-theme] is set by the toggle. */
:root{
  --bg:#f2f4f8;--card:#fff;--ink:#14213a;--muted:#5d6b82;--line:#e2e7ef;
  --pri:#16325c;--pri-2:#1f4a85;--pri-soft:#e8eef8;--acc:#e8a317;--acc-2:#c98a0c;--acc-soft:#fff4dc;
  --ok:#16a34a;--ok-soft:#e5f6ec;--warn:#d97706;--warn-soft:#fff1dc;--bad:#dc2626;--bad-soft:#fde8e8;
  --ball:#fff;--ball-ink:#16325c;--shadow:0 1px 2px rgba(20,33,58,.06),0 4px 14px rgba(20,33,58,.06);
  --r:14px;--r-sm:10px;--hd:62px;--bn:62px;
  --font:"IBM Plex Sans Thai",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0d1422;--card:#151f33;--ink:#e8edf6;--muted:#9aa8bf;--line:#26334b;
    --pri:#7fa7e6;--pri-2:#a5c2f0;--pri-soft:#1b2a45;--acc:#f0b43a;--acc-2:#f5c662;--acc-soft:#33280f;
    --ok:#3ccf7a;--ok-soft:#123222;--warn:#f0a43a;--warn-soft:#3a2a10;--bad:#f26b6b;--bad-soft:#3a1717;
    --ball:#0f1a2d;--ball-ink:#f5c662;--shadow:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.25);color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0d1422;--card:#151f33;--ink:#e8edf6;--muted:#9aa8bf;--line:#26334b;
  --pri:#7fa7e6;--pri-2:#a5c2f0;--pri-soft:#1b2a45;--acc:#f0b43a;--acc-2:#f5c662;--acc-soft:#33280f;
  --ok:#3ccf7a;--ok-soft:#123222;--warn:#f0a43a;--warn-soft:#3a2a10;--bad:#f26b6b;--bad-soft:#3a1717;
  --ball:#0f1a2d;--ball-ink:#f5c662;--shadow:0 1px 2px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.25);color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15.5px/1.65 var(--font);padding-bottom:calc(var(--bn) + env(safe-area-inset-bottom));min-height:100vh}
img,svg{max-width:100%;vertical-align:middle}
a{color:var(--pri);text-decoration:none}
a:hover{text-decoration:underline}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{line-height:1.3;margin:0 0 .5em;font-weight:700}
h1{font-size:1.6rem}h2{font-size:1.28rem}h3{font-size:1.08rem}
p{margin:0 0 .8em}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--card);padding:8px 12px;border-radius:8px}
.skip:focus{left:8px}
.muted{color:var(--muted)}.small{font-size:.86rem}.center{text-align:center}.mono{font-variant-numeric:tabular-nums}
.hl{color:var(--acc-2)}.ok{color:var(--ok)}.bad{color:var(--bad)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1}
.linkish{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}

/* ---------- buttons, chips ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 18px;border-radius:999px;border:1px solid transparent;background:var(--pri-soft);color:var(--pri);font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:filter .15s,transform .05s}
.btn:hover{text-decoration:none;filter:brightness(1.05)}
.btn:active{transform:translateY(1px)}
.btn .ic{width:18px;height:18px}
.btn-pri,.btn-primary{background:var(--pri);color:#fff}
:root[data-theme="dark"] .btn-pri,:root[data-theme="dark"] .btn-primary{color:#0d1422}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-pri,:root:not([data-theme="light"]) .btn-primary{color:#0d1422}}
.btn-gold,.btn-acc{background:var(--acc);color:#1d1503}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-danger{background:var(--bad);color:#fff}
.btn-sm{min-height:34px;padding:5px 12px;font-size:.88rem}
.btn-block{display:flex;width:100%}
.btn[disabled],.btn.is-busy{opacity:.55;pointer-events:none}
.btn-tg{background:#229ed9;color:#fff}.btn-line{background:#06c755;color:#fff}
.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--pri-soft);color:var(--pri);line-height:1.6}
.chip.gold{background:var(--acc-soft);color:var(--acc-2)}
.chip.ok,.st-done{background:var(--ok-soft);color:var(--ok)}
.chip.warn,.st-wait{background:var(--warn-soft);color:var(--warn)}
.chip.bad,.st-void{background:var(--bad-soft);color:var(--bad)}
.st-live{background:var(--bad);color:#fff;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.6}}
.tag{display:inline-block;padding:1px 9px;border-radius:6px;background:var(--bg);border:1px solid var(--line);font-size:.8rem;color:var(--muted)}

/* ---------- header ---------- */
.hd{position:sticky;top:0;z-index:40;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(20,33,58,.04)}
.hd-row{display:flex;align-items:center;gap:10px;height:var(--hd)}
.logo{display:flex;align-items:center;flex:none}
.logo img{height:38px;width:auto}
.logo-d{display:none}
:root[data-theme="dark"] .logo-l{display:none}:root[data-theme="dark"] .logo-d{display:inline}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-l{display:none}:root:not([data-theme="light"]) .logo-d{display:inline}}
.hd-nav{display:none}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:4px}
.hd-ic{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;border:0;background:transparent;color:var(--ink)}
.hd-ic:hover{background:var(--pri-soft);text-decoration:none}
.hd-ic .dot{position:absolute;top:8px;right:9px;width:9px;height:9px;border-radius:50%;background:var(--bad);border:2px solid var(--card)}
.i-sun{display:none}
:root[data-theme="dark"] .i-sun{display:block}:root[data-theme="dark"] .i-moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .i-sun{display:block}:root:not([data-theme="light"]) .i-moon{display:none}}
.hd-login{margin-left:4px}
.hd-user{position:relative}
.hd-avatar{border:2px solid var(--acc);border-radius:50%;padding:0;background:var(--card);width:38px;height:38px;overflow:hidden;display:grid;place-items:center}
.hd-avatar img{width:34px;height:34px;border-radius:50%}
.hd-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:6px;z-index:50}
.hd-menu-who{padding:8px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.hd-menu-who b,.hd-menu-who small{display:block}.hd-menu-who small{color:var(--muted)}
.hd-menu a,.hd-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:8px;border:0;background:none;color:var(--ink);text-align:left}
.hd-menu a:hover,.hd-menu button:hover{background:var(--pri-soft);text-decoration:none}
.hd-menu form{margin:0}
.hd-search{border-top:1px solid var(--line);padding:10px 0;background:var(--card)}
.hd-search .wrap{display:flex;gap:8px}
.hd-search input{flex:1;min-height:42px;border:1px solid var(--line);border-radius:999px;padding:0 16px;background:var(--bg)}
@media (max-width:520px){.hd-login span{display:none}.hd-login{padding:6px 10px}.logo img{height:32px}}
@media (min-width:1000px){
  .hd-burger{display:none}
  .hd-nav{display:flex;gap:2px;margin-left:12px;overflow:hidden}
  .hd-nav a{padding:8px 11px;border-radius:10px;color:var(--ink);font-weight:500;white-space:nowrap}
  .hd-nav a:hover{background:var(--pri-soft);text-decoration:none}
  .hd-nav a.on{color:var(--pri);background:var(--pri-soft);font-weight:700}
  body{padding-bottom:0}
  .bn{display:none!important}
}
@media (min-width:1000px) and (max-width:1160px){.hd-nav a{padding:8px 7px;font-size:.92rem}}

/* ---------- menu sheet ---------- */
.sheet{position:fixed;inset:0;z-index:60}
.sheet-bg{position:absolute;inset:0;background:rgba(8,14,26,.5)}
.sheet-panel{position:absolute;left:0;top:0;bottom:0;width:min(340px,88vw);background:var(--card);overflow:auto;padding:14px 16px 30px;animation:slideIn .2s ease-out}
@keyframes slideIn{from{transform:translateX(-100%)}}
.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.sheet-head img{height:34px;width:auto}
.sheet-user{display:flex;gap:10px;align-items:center;padding:10px;border-radius:var(--r);background:var(--pri-soft);color:var(--ink)}
.sheet-user img{border-radius:50%}.sheet-user b,.sheet-user small{display:block}.sheet-user small{color:var(--muted)}
.sheet-search{display:flex;gap:6px;margin:12px 0}
.sheet-search input{flex:1;min-height:38px;border:1px solid var(--line);border-radius:999px;padding:0 14px;background:var(--bg)}
.sheet-group h3{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin:16px 0 6px}
.sheet-group ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.sheet-group a{display:block;padding:8px 10px;border-radius:10px;background:var(--bg);color:var(--ink);font-size:.92rem}
.sheet-group a:hover{background:var(--pri-soft);text-decoration:none}
.sheet-logout{margin-top:18px}

/* ---------- bottom nav (mobile) ---------- */
.bn{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--bn) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(20,33,58,.06)}
.bn-i{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:none;color:var(--muted);font-size:.74rem;font-weight:500}
.bn-i:hover{text-decoration:none}
.bn-i.on{color:var(--pri);font-weight:700}
.bn-i.on .ic{stroke-width:2.3}
.to-top{position:fixed;right:14px;bottom:calc(var(--bn) + 16px + env(safe-area-inset-bottom));z-index:44;width:44px;height:44px;border-radius:50%;border:0;background:var(--pri);color:#fff;box-shadow:var(--shadow);display:grid;place-items:center}
@media (min-width:1000px){.to-top{bottom:24px}}

/* ---------- layout blocks ---------- */
main{min-height:60vh}
.sec{margin:22px 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px}
.sec-head h2{margin:0;font-size:1.2rem}
.sec-head a{font-size:.9rem;font-weight:600}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}
.card h2:first-child,.card h3:first-child{margin-top:0}
.grid{display:grid;gap:12px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:860px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.g2.stack,.g3,.g4.stack{grid-template-columns:1fr}}
.band{background:linear-gradient(135deg,var(--pri),#0c1f3d);color:#fff;padding:26px 0 30px}
.band h1,.band h2{color:#fff}
.band p{color:rgba(255,255,255,.82)}
.page-head{padding:18px 0 4px}
.page-head h1{margin:0 0 4px}
.page-msg{max-width:640px;margin:40px auto;text-align:center}
.hscroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.hscroll::-webkit-scrollbar{display:none}
.hscroll>*{scroll-snap-align:start;flex:none}
.dots{display:flex;justify-content:center;gap:6px;margin-top:8px}
.dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.dots i.on{background:var(--pri);width:18px;border-radius:5px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:12px auto 0;padding:0;font-size:.85rem;color:var(--muted)}
.crumbs li+li:before{content:"›";margin-right:4px}
.crumbs a{color:var(--muted)}
.breadcrumb{font-size:.85rem;color:var(--muted)}

/* ---------- tabs + forms ---------- */
.tabs{display:flex;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px;overflow-x:auto;scrollbar-width:none}
.tabs a,.tabs button{flex:1;text-align:center;padding:7px 14px;border-radius:999px;border:0;background:none;color:var(--muted);font-weight:600;white-space:nowrap}
.tabs a:hover{text-decoration:none}
.tabs .on{background:var(--card);color:var(--pri);box-shadow:var(--shadow)}
.field{display:block;margin:0 0 12px}
.field>span{display:block;font-size:.88rem;font-weight:600;margin-bottom:4px}
.field small{display:block;color:var(--muted);font-size:.8rem;margin-top:3px}
.input,select.input,textarea.input{width:100%;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink)}
.input:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-soft)}
textarea.input{min-height:100px;resize:vertical}
.check{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;margin:6px 0}
.check input{margin-top:4px;accent-color:var(--pri)}
.err{color:var(--bad);font-size:.88rem;min-height:1.2em;margin:4px 0 8px}
.note{padding:10px 14px;border-radius:var(--r-sm);background:var(--pri-soft);color:var(--ink);font-size:.9rem}
.note.warn{background:var(--warn-soft)}.note.ok{background:var(--ok-soft)}

/* ---------- numbers ---------- */
.digits{display:inline-flex;gap:5px;flex-wrap:wrap}
.digits b,.ball{display:inline-grid;place-items:center;min-width:38px;height:44px;padding:0 4px;border-radius:10px;background:var(--ball);color:var(--ball-ink);border:2px solid var(--acc);font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.digits.lg b{min-width:46px;height:56px;font-size:2rem}
.digits.sm b{min-width:26px;height:32px;font-size:1.05rem;border-width:1.5px;border-radius:7px}
@media (max-width:420px){.digits{flex-wrap:nowrap;gap:4px}.digits.lg b{min-width:min(46px,calc((100vw - 110px) / 7));height:50px;font-size:1.7rem;padding:0 2px}.digits b{min-width:min(38px,calc((100vw - 110px) / 8));padding:0 2px}}
.ball{border-radius:50%;width:44px;min-width:44px}
.ball.gold{background:var(--acc);color:#1d1503;border-color:var(--acc-2)}
.num-big{font-size:2.2rem;font-weight:700;letter-spacing:.08em;color:var(--pri);font-variant-numeric:tabular-nums}
.num{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.countdown{display:inline-flex;gap:4px;font-variant-numeric:tabular-nums}
.countdown b{background:var(--pri);color:#fff;border-radius:6px;padding:0 6px}

/* ---------- tables, prose ---------- */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.tbl{width:100%;border-collapse:collapse;font-size:.93rem}
.tbl th,.tbl td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{background:var(--pri-soft);color:var(--pri);font-weight:700;white-space:nowrap}
.tbl tr:last-child td{border-bottom:0}
.prose{line-height:1.8}
.prose h2{margin-top:1.4em}.prose h3{margin-top:1.2em}
.prose ul,.prose ol{padding-left:1.4em}
.prose img{border-radius:var(--r-sm);height:auto}
.prose a{text-decoration:underline}
.prose blockquote{margin:1em 0;padding:8px 16px;border-left:4px solid var(--acc);background:var(--acc-soft);border-radius:0 8px 8px 0}
.prose table{border-collapse:collapse;width:100%}.prose td,.prose th{border:1px solid var(--line);padding:6px 10px}
.readmore{max-height:220px;overflow:hidden;position:relative}
.readmore:after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,var(--card))}
.readmore.open{max-height:none}.readmore.open:after{display:none}

/* ---------- community banner, footer ---------- */
.community{margin:28px 0 0}
.community-in{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:linear-gradient(120deg,var(--acc-soft),var(--pri-soft));border:1px solid var(--line);border-radius:var(--r);padding:14px 18px}
.community-in b{display:block;font-size:1.05rem}.community-in span{color:var(--muted);font-size:.9rem}
.community-btns{display:flex;gap:8px;flex-wrap:wrap}
.ft{background:#0f2342;color:#c9d4e6;margin-top:32px;padding:30px 0 20px;font-size:.9rem}
.ft a{color:#e3eaf5}
.ft h4{color:#fff;font-size:.95rem;margin:0 0 8px}
.ft ul{list-style:none;margin:0;padding:0}.ft li{margin:4px 0}
.ft-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:20px}
.ft-brand img{height:42px;width:auto;margin-bottom:6px}
.ft-social{display:flex;gap:8px;margin-top:8px}
.ft-social a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1)}
.ft-disclaimer{margin-top:22px;padding:14px 16px;border-radius:var(--r-sm);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.ft-disclaimer b{color:var(--acc)}
.ft-disclaimer p{margin:4px 0 0;line-height:1.75}
.ft-bottom{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;color:#94a3bd;font-size:.84rem}
@media (max-width:860px){.ft-top{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}
@media (max-width:420px){.ft-top{grid-template-columns:1fr}}

/* ---------- consent, toast, modal ---------- */
.consent{position:fixed;left:0;right:0;bottom:calc(var(--bn) + env(safe-area-inset-bottom));z-index:70;padding:10px}
@media (min-width:1000px){.consent{bottom:0}}
.consent-box{max-width:860px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 40px rgba(0,0,0,.2);padding:14px 16px;font-size:.9rem}
.consent-box p{margin:0 0 8px}
.consent-btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.consent-opts{margin:0 0 8px}
.toast{position:fixed;left:50%;bottom:calc(var(--bn) + 24px);transform:translate(-50%,20px);z-index:90;max-width:92vw;padding:10px 18px;border-radius:12px;background:#14213a;color:#fff;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast.ok{background:var(--ok)}.toast.err{background:var(--bad)}
.toast a{color:#fff;text-decoration:underline}
.modal{position:fixed;inset:0;z-index:80;background:rgba(8,14,26,.55);display:grid;place-items:center;padding:16px}
.modal-box{width:min(440px,100%);max-height:90vh;overflow:auto;background:var(--card);border-radius:18px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:pop .16s ease-out}
@keyframes pop{from{transform:scale(.95);opacity:0}}
.modal-box h3{text-align:center;margin-bottom:10px}
.empty{padding:28px 16px;text-align:center;color:var(--muted)}
.skeleton{border-radius:var(--r);background:linear-gradient(90deg,var(--line) 0%,var(--bg) 50%,var(--line) 100%);background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}
@media print{.hd,.bn,.ft,.community,.consent,.to-top,.toast,.no-print{display:none!important}body{background:#fff;padding:0}.card{box-shadow:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---- results.css ---- */
/* RESULTS pages: results lists, prize tables, checker, calendar, stats, calculator, widget. Tokens come from base.css. */
.results-page{padding-bottom:28px}
.page-head{margin:14px 0 16px}
.page-head h1{font-size:1.55rem;line-height:1.3;margin:0 0 6px;color:var(--ink)}
.page-head .intro{color:var(--muted);margin:0}
.results-page .card{margin:0 0 16px}
.results-page h2{font-size:1.15rem;margin:0 0 10px}
.results-page h3{font-size:1rem;margin:0 0 6px}
.small{font-size:.85rem}
.note{background:var(--warn-soft);color:var(--ink);border-left:4px solid var(--warn);padding:10px 14px;border-radius:var(--r-sm)}
.disclaimer{margin-top:22px;text-align:center}
.more-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
.st{white-space:nowrap}

/* digit sizes on top of base .digits */
.digits.md b{min-width:32px;height:38px;font-size:1.3rem}
.digits.xs b{min-width:21px;height:26px;font-size:.92rem;border-width:1.5px;border-radius:6px;padding:0 2px}
.digits.dwait b{border-style:dashed;color:var(--muted);border-color:var(--line)}

/* group tabs */
.gtabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}
.gtabs a{flex:0 0 auto;padding:7px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem}
.gtabs a.on{background:var(--pri);border-color:var(--pri);color:#fff}
:root[data-theme="dark"] .gtabs a.on{color:#0d1422}

/* result cards */
.rgroup{margin:6px 0 20px}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.rcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.rcard header{display:flex;align-items:center;gap:8px}
.rc-flag{font-size:1.25rem}
.rc-name{font-size:1rem;margin:0;flex:1;min-width:0}
.rc-name a{color:var(--ink);text-decoration:none}
.rc-name a:hover{color:var(--pri)}
.rc-date{margin:0;color:var(--muted);font-size:.86rem}
.rc-main small,.rc-row small{display:block;color:var(--muted);font-size:.78rem;margin-bottom:3px}
.rc-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.rc-idx span{font-weight:700;font-variant-numeric:tabular-nums}
.rc-idx em{font-style:normal;color:var(--muted);font-weight:500;font-size:.85rem}
.rc-wait{color:var(--muted);padding:10px 0;font-weight:600}
.rcard footer{margin-top:auto;font-size:.85rem;color:var(--muted)}
.rcard footer a{color:var(--pri)}

.upnext .uplist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}
.uplist a{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);text-decoration:none}
.uplist a span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uplist .countdown{font-size:.85rem}
.countdown{display:inline-flex;gap:6px;align-items:baseline}
.countdown .cd-val{font-variant-numeric:tabular-nums;color:var(--pri);font-size:1.1rem}
.nextdraw .countdown .cd-val{font-size:1.5rem}

/* lottery page */
.lot-top{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:900px){.lot-top{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}
.lot-side .card{margin-bottom:16px}

/* prize table */
.ptable{display:flex;flex-direction:column;gap:12px}
.prize-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.prize{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.prize h3{font-size:.95rem;margin:0 0 8px;color:var(--muted);font-weight:600}
.prize h3 small{font-weight:500;font-size:.78rem;margin-left:4px}
.prize-first{grid-column:1/-1;text-align:center;background:linear-gradient(180deg,var(--acc-soft),var(--card))}
.prize-first h3{color:var(--ink);font-size:1.05rem}
.prize-first .digits,.prize-first .prize-nums{justify-content:center}
.prize-b2 .digits b{border-color:var(--pri)}
.prize-nums{display:flex;flex-wrap:wrap;gap:8px 12px}
.prize-grid .prize-nums{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.prize-grid .digits{gap:2px}
.idx{font-size:1.8rem;font-weight:700;margin:0;font-variant-numeric:tabular-nums}
.idx em{font-style:normal;font-size:1rem;color:var(--muted)}
.wait-big{font-size:1.4rem;font-weight:700;text-align:center;color:var(--warn);margin:18px 0}
.ptable-wait{padding:10px;border:2px dashed var(--line);border-radius:var(--r)}
.board .tbl th{white-space:nowrap}
.bnum{display:inline-block;margin:2px 6px 2px 0;font-weight:600;font-variant-numeric:tabular-nums}
.live-note{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--bad)}
.live-note .dot{width:10px;height:10px;border-radius:50%;background:var(--bad);animation:blink 1.4s infinite}
.draw-live .countdown{margin:0 0 12px;font-size:1.05rem}
.draw-live .countdown .cd-val{font-size:1.6rem}
.flash{animation:flash 1.6s ease-out}
@keyframes flash{0%{box-shadow:0 0 0 4px var(--acc)}100%{box-shadow:0 0 0 0 transparent}}
.drawnav{display:flex;justify-content:space-between;gap:8px;margin:16px 0;font-size:.92rem}
.drawnav a{color:var(--pri)}

/* tables */
.tbl td.num,.tbl .num{font-variant-numeric:tabular-nums;letter-spacing:.03em}
.tbl .b{font-weight:700;color:var(--pri)}
.hist td{white-space:nowrap}
.hfilter,.picker{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hfilter label,.picker label{display:flex;gap:6px;align-items:center;font-weight:600}
.results-page select,.results-page input[type=text],.results-page input:not([type]),.results-page textarea{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--ink);max-width:100%}

/* checker */
.checkform .row2{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;align-items:center;margin-bottom:12px}
@media (min-width:700px){.checkform .row2{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr)}}
.checkform fieldset{border:0;padding:0;margin:0 0 12px}
.checkform legend{font-weight:600;margin-bottom:8px}
.numgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:700px){.numgrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.numgrid input{font-size:1.15rem;text-align:center;letter-spacing:.12em;font-variant-numeric:tabular-nums;width:100%}
.btn-lg{padding:12px 22px;font-size:1.05rem}
.err{color:var(--bad);font-weight:600}
.check-out .sum{font-weight:700;font-size:1.1rem}
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.check-list li{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-radius:var(--r-sm);border:1px solid var(--line)}
.check-list li.win{background:var(--ok-soft);border-color:var(--ok)}
.win-tag{display:inline-block;background:var(--ok);color:#fff;border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:600;margin:2px 0}
.quickcheck .row{display:flex;gap:8px;margin-top:6px}
.quickcheck input{flex:1;min-width:0}
textarea.code{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:.85rem}

/* calendar */
.calnav{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.calnav a{color:var(--pri)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:18px}
.cal-h{text-align:center;font-weight:700;color:var(--muted);font-size:.85rem;padding:4px 0}
.cal-cell{min-height:86px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:2px;font-size:.72rem;overflow:hidden}
.cal-cell.empty{background:transparent;border-color:transparent}
.cal-cell.today{border:2px solid var(--acc)}
.cal-d{font-weight:700;font-size:.9rem}
.cal-mark{display:block;border-radius:5px;padding:1px 4px;text-decoration:none;color:var(--ink);background:var(--pri-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-mark.g-thai{background:var(--acc-soft)}
.cal-mark.g-gsb{background:var(--ok-soft)}
.cal-more{color:var(--muted)}
.datelist{columns:2;padding-left:18px;margin:0}
@media (min-width:700px){.datelist{columns:4}}
@media (max-width:520px){.cal-mark{font-size:0;padding:0;height:6px}.cal-cell{min-height:56px}.cal-more{display:none}}

/* stats */
.cols2{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:800px){.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.heat{margin:0}
.heat figcaption{font-weight:700;margin-bottom:8px}
.heat-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}
.heat-grid>*{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;padding:4px 0;text-decoration:none;color:var(--ink);background:var(--pri-soft);font-variant-numeric:tabular-nums}
.heat-grid b{font-size:.95rem}
.heat-grid small{font-size:.7rem;color:var(--muted)}
.heat-grid .h0{background:var(--bg);opacity:.75}
.heat-grid .h3{background:color-mix(in srgb,var(--acc) 35%,var(--card))}
.heat-grid .h4{background:color-mix(in srgb,var(--acc) 60%,var(--card))}
.heat-grid .h5{background:var(--acc);color:#1d1503}
.heat-grid .h5 small{color:#1d1503}
.toplist{margin:0;padding-left:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}
.toplist li span{margin-right:8px}
.tnum{font-weight:700;font-variant-numeric:tabular-nums;color:var(--pri)}
.postbl td,.postbl th{text-align:center}
.postbl td.mx{background:var(--acc-soft);font-weight:700}
.postbl caption,.calc caption{caption-side:top;text-align:left;color:var(--muted);font-size:.85rem;padding-bottom:6px}
.ratio{display:flex;height:30px;border-radius:8px;overflow:hidden;margin:8px 0;font-size:.82rem;font-weight:600}
.ratio span{display:flex;align-items:center;justify-content:center;white-space:nowrap;min-width:60px}
.ratio span:first-child{background:var(--pri);color:#fff}
.ratio span:last-child{background:var(--acc);color:#1d1503}
.bars{display:flex;align-items:flex-end;gap:2px;height:140px}
.bars span{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.bars i{display:block;width:100%;background:var(--pri);border-radius:3px 3px 0 0;min-height:1px}
.bars small{font-size:.62rem;color:var(--muted)}
.how ul{margin:0;padding-left:20px}

/* faq */
.faq details{border-top:1px solid var(--line);padding:10px 0}
.faq details:first-of-type{border-top:0}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin:8px 0 0;color:var(--muted)}

/* live */
.live-box{text-align:center}
.live-when{font-weight:700;font-size:1.1rem}

/* print sheet */
@media print{
  .hd,.site-header,header.hd,.bnav,.crumbs,footer,.noprint,.faq,.disclaimer,.consent,#toast,.community,.page-head .intro{display:none!important}
  body{background:#fff!important;color:#000}
  .sheet .prize{border:1px solid #999;break-inside:avoid}
  .digits b{border:1px solid #000!important;background:#fff!important;color:#000!important;min-width:auto;height:auto;padding:1px 3px;font-size:1rem}
  .prize-first .digits b{font-size:1.6rem}
  .prize-grid .prize-nums{grid-template-columns:repeat(10,minmax(0,1fr))}
  .sheet .pnum{border:1px solid #999;background:#fff;font-size:.9rem;padding:2px 0}
}

/* widget frame */
.widget-body{margin:0;font-family:"IBM Plex Sans Thai",system-ui,sans-serif;background:#fff;color:#14213a}
.widget{border:1px solid #e2e7ef;border-radius:12px;overflow:hidden}
.w-head{background:#16325c;padding:10px 12px}
.w-head a{color:#fff;font-weight:700;text-decoration:none}
.w-item{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:10px 12px;border-top:1px solid #e2e7ef;color:inherit;text-decoration:none}
.w-name{font-weight:700}
.w-date{color:#5d6b82;font-size:.8rem;text-align:right}
.w-nums{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.8rem}
.widget .digits{display:inline-flex;gap:3px}
.widget .digits b{display:inline-grid;place-items:center;min-width:22px;height:28px;border:1.5px solid #e8a317;border-radius:6px;font-weight:700;color:#16325c;background:#fff}
.widget .digits.xs b{min-width:18px;height:22px;font-size:.8rem}
.w-foot{padding:8px 12px;font-size:.72rem;color:#5d6b82;background:#f2f4f8}

/* lower prizes: plain number chips (100 numbers stay compact) */
.pnum{display:block;text-align:center;padding:5px 0;border:1px solid var(--line);border-radius:8px;font-weight:700;font-size:1.02rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;background:var(--bg)}
.prize-grid .prize-nums{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
img.flag{width:22px;height:15px;object-fit:cover;border-radius:3px;vertical-align:-2px;box-shadow:0 0 0 1px var(--line)}
.gtabs img.flag{margin-right:2px}
.rc-row .digits + .digits,.prize-nums .digits + .digits{margin-left:10px}

/* ---- dwell.css ---- */
/* เลขออก - "keep reading" blocks shared by results + content pages (agent RESULTS/CONTENT, lib/results/dwell.js):
   today strip, prev/next draw cards, inline mini checker, related tools, read-more list, latest list, sticky next-draw bar.
   Also fixes widths of live countdowns so ticking digits never shift the layout. */

/* no layout shift while countdowns tick */
.countdown .cd-val,.hm-cd-t,.nb-t{display:inline-block;min-width:8.6ch;font-variant-numeric:tabular-nums;text-align:left}
.hm-cd-t{min-width:12ch}

/* หวยอื่นที่ออกวันนี้ */
.today-strip{margin:16px 0}
.ts-row{list-style:none;margin:0;padding:2px 0 6px;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.ts-row li{flex:0 0 auto;scroll-snap-align:start}
.ts-chip{display:flex;flex-direction:column;gap:1px;min-width:132px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);line-height:1.35}
.ts-chip:hover{text-decoration:none;border-color:var(--pri)}
.ts-n{font-size:.8rem;color:var(--muted);white-space:nowrap}
.ts-v{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.95rem}
.ts-done .ts-v{color:var(--pri)}
.ts-live{border-color:var(--warn);background:var(--warn-soft)}
.ts-live .ts-v{color:var(--warn)}
.ts-void .ts-v{color:var(--muted)}
.ts-chip.flash{animation:tsflash 1.2s ease}
@keyframes tsflash{0%{background:var(--acc-soft)}100%{background:var(--bg)}}

/* previous / next draw */
.drawnav2{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin:16px 0}
.dn-card{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink);box-shadow:var(--shadow);min-width:0}
.dn-card:hover{text-decoration:none;border-color:var(--pri)}
.dn-card small{color:var(--muted)}
.dn-card b{font-size:1rem}
.dn-card span{font-variant-numeric:tabular-nums;color:var(--pri);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dn-next{text-align:right}
.dn-all{align-self:center;font-weight:600;font-size:.9rem;white-space:nowrap}
@media (max-width:520px){.drawnav2{grid-template-columns:1fr 1fr}.dn-all{grid-column:1/-1;grid-row:2;text-align:center}}

/* inline checker */
.minicheck{margin:16px 0}
.minicheck h2{margin:0 0 8px;font-size:1.15rem}
.minicheck label{display:block;font-size:.88rem;color:var(--muted);margin-bottom:6px}
.minicheck .row input{flex:1;min-width:0;font:inherit;font-size:1.05rem;letter-spacing:.04em;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink)}
.mc-out:empty{display:none}
.mc-out{margin-top:10px;display:grid;gap:6px}
.mc-row{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:10px;background:var(--bg);font-variant-numeric:tabular-nums}
.mc-row b{letter-spacing:.06em}
.mc-win{background:var(--ok-soft);color:var(--ink)}
.mc-win em{color:var(--ok);font-style:normal;font-weight:700}
.mc-lose em{color:var(--muted);font-style:normal}

/* related tools + read more */
.related-tools{margin:18px 0}
.related-tools h2,.read-more h2,.latest-list h2{font-size:1.15rem;margin:0 0 10px}
.rt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
@media (max-width:520px){.rt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rt-tile{padding:10px 12px}}
.rt-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px;color:var(--ink)}
.rt-tile:hover{text-decoration:none;border-color:var(--pri)}
.rt-tile b{color:var(--pri)}
.rt-tile span{font-size:.84rem;color:var(--muted)}
.read-more{margin:16px 0}
.rm-list{margin:0;padding-left:1.1em;display:grid;gap:6px}
.latest-list ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.latest-list li a{display:flex;justify-content:space-between;gap:10px;padding:7px 4px;border-bottom:1px dashed var(--line);color:var(--ink)}
.latest-list li a:hover{text-decoration:none;color:var(--pri)}
.latest-list li b{font-variant-numeric:tabular-nums;color:var(--pri);white-space:nowrap}
.ct-related{margin:18px 0;display:grid;gap:14px}
@media (min-width:860px){.ct-related{grid-template-columns:1fr 1fr}}

/* sticky "งวดถัดไป" bar: phones only, sits on top of the bottom nav, never covers content (body gets extra padding) */
.nextbar{position:fixed;left:0;right:0;bottom:calc(var(--bn) + env(safe-area-inset-bottom));z-index:44;height:40px;display:flex;align-items:center;background:var(--pri);color:#fff;box-shadow:0 -2px 10px rgba(20,33,58,.15)}
.nextbar a{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 6px 0 14px;color:#fff;font-size:.86rem;min-width:0;height:100%}
.nextbar a:hover{text-decoration:none}
.nb-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nb-t{font-weight:700;color:var(--acc);text-align:right}
.nb-x{flex:0 0 40px;height:40px;border:0;background:none;color:#fff;font-size:1.3rem;line-height:1;opacity:.75}
:root[data-theme="dark"] .nextbar{background:#1b2a45}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nextbar{background:#1b2a45}}
body.has-nextbar{padding-bottom:calc(var(--bn) + 40px + env(safe-area-inset-bottom))}
body.has-nextbar .to-top{bottom:calc(var(--bn) + 56px + env(safe-area-inset-bottom))}
body.nb-off .nextbar{display:none}
body.has-nextbar.nb-off{padding-bottom:calc(var(--bn) + env(safe-area-inset-bottom))}
@media (min-width:1000px){.nextbar{display:none}body.has-nextbar{padding-bottom:0}body.has-nextbar .to-top{bottom:24px}}
@media print{.nextbar,.minicheck,.related-tools,.today-strip,.drawnav2{display:none!important}}

/* ---- content.css ---- */
/* เลขออก - content pages (agent CONTENT): articles, เลขเด็ด, ทำนายฝัน, static pages, search.
   Uses CORE tokens from base.css only (--bg --card --ink --muted --line --pri --acc --ok --warn + soft variants), so light + dark both work. */
.ct-page{padding-top:14px;padding-bottom:28px}
.ct-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px;padding:0;font-size:.85rem;color:var(--muted)}
.ct-crumbs li+li::before{content:"›";margin-right:4px;color:var(--muted)}
.ct-crumbs a{color:var(--muted)}
.ct-head{margin:4px 0 16px}
.ct-head h1{margin:0 0 6px}
.ct-kicker{display:inline-block;font-size:.8rem;font-weight:600;color:var(--ink);background:var(--acc-soft);border-radius:999px;padding:2px 10px;margin-bottom:6px}
.ct-intro{color:var(--muted);max-width:820px;margin:0}
.ct-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;margin-bottom:6px;scrollbar-width:thin}
.ct-tabs a{flex:none;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:.92rem}
.ct-tabs a.on{background:var(--pri);border-color:var(--pri);color:var(--card)}
.ct-tabs a:hover{text-decoration:none;border-color:var(--pri)}
.ct-sec{margin:22px 0}
.ct-sec h2 small{font-weight:400;color:var(--muted);font-size:.8rem;margin-left:6px}
.ct-note{background:var(--pri-soft);border-radius:var(--r-sm,10px);padding:10px 14px;font-size:.92rem;margin:14px 0}
.ct-empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--r);padding:22px;text-align:center;color:var(--muted)}
.ct-empty p{margin:0 0 4px}
.ct-digits{display:inline-flex;gap:3px}
.ct-digits b{display:inline-grid;place-items:center;min-width:1.6em;height:1.9em;border-radius:8px;background:var(--pri-soft);color:var(--pri);font-weight:700}
.ct-wait{color:var(--muted)}
.ct-table{width:100%;border-collapse:collapse;background:var(--card);font-size:.95rem}
.ct-table th,.ct-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ct-table thead th{font-size:.82rem;color:var(--muted);font-weight:600}
.ct-table th small{display:block;color:var(--muted);font-weight:400;font-size:.8rem}
.ct-links{padding-left:18px}.ct-links li{margin:4px 0}.ct-links small{color:var(--muted)}
.ct-pn{display:flex;justify-content:space-between;margin:14px 0}
.ct-pager{display:flex;gap:12px;align-items:center;justify-content:center;margin:18px 0}
.ct-pager a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.ct-faq{margin:26px 0}
.ct-faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm,10px);margin:8px 0;padding:0 14px}
.ct-faq summary{cursor:pointer;padding:12px 0;font-weight:600}
.ct-faq-a{padding:0 0 12px;color:var(--ink)}
.ct-preview{background:var(--warn-soft);color:var(--ink);text-align:center;padding:8px 12px;font-size:.9rem}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.chips .chip small{opacity:.7;margin-left:3px}
.sr-list{list-style:none;padding:0;margin:0}
.sr-list li{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm,10px);padding:10px 14px;margin:6px 0}
.sr-list li small{display:block;color:var(--muted);font-size:.85rem}
/* static + contact */
.ct-static .prose{padding:20px 22px;max-width:860px}
.ct-form{display:grid;gap:12px;max-width:560px;margin-top:10px}
.ct-form label{display:grid;gap:4px;font-weight:500}
.ct-form textarea{resize:vertical}
.ct-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-ok{background:var(--ok-soft);color:var(--ok);border-radius:10px;padding:10px 14px;font-weight:600}
.ct-err{background:var(--bad-soft);color:var(--bad);border-radius:10px;padding:10px 14px}
.ct-soon{background:var(--acc-soft);border-radius:10px;padding:12px 14px}
/* ทำนายฝัน */
.dr-search{padding:16px;margin:0 0 14px}
.dr-search label{display:block;font-weight:600;margin-bottom:6px}
.dr-row{display:flex;gap:8px}
.dr-row .input{flex:1;min-width:0}
.dr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.dr-card{display:flex;flex-direction:column;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm,10px);padding:12px;color:var(--ink)}
.dr-card:hover{border-color:var(--pri);text-decoration:none}
.dr-card span{display:flex;gap:4px;flex-wrap:wrap}
.dr-card i{font-style:normal;font-size:.85rem;font-weight:600;background:var(--acc-soft);color:var(--ink);border-radius:6px;padding:1px 7px}
.dr-nums{display:grid;gap:8px;margin:6px 0 14px}
.dr-nrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dr-nrow small{min-width:72px;color:var(--muted)}
.dr-nrow span{display:flex;gap:6px;flex-wrap:wrap}
.dr-num{display:inline-grid;place-items:center;min-width:2.3em;height:2.3em;padding:0 8px;border-radius:999px;font-weight:700;font-size:1.05rem;background:var(--pri-soft);color:var(--pri)}
.dr-num.n1{background:var(--acc);color:#1d1400}
.dr-num.n3{border-radius:10px}
.dr-detail{padding:18px 20px}
.dr-angle{border-left:4px solid var(--ok);padding:4px 0 4px 14px;margin:14px 0}
.dr-angle.warn{border-color:var(--warn)}
.dr-angle h2{font-size:1.05rem}
.dr-sum{padding:16px 18px;margin-bottom:12px}
.dr-big{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.dr-match{padding:14px 16px;margin:10px 0}
.dr-match h3 .chip{font-size:.75rem;vertical-align:middle}
/* เลขเด็ด */
.lk-card{padding:16px 18px;margin:0 0 16px}
.lk-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.lk-h h2{margin:0}
.lk-sample{font-size:.85rem;background:var(--warn-soft);border-radius:8px;padding:6px 10px}
.lk-chon{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px}
.lk-chon>span{font-weight:700}
.lk-n{display:inline-flex;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:3px 10px;border-radius:8px;background:var(--pri-soft);color:var(--pri);font-weight:700;font-variant-numeric:tabular-nums}
.lk-n small{font-weight:400;font-size:.72rem;opacity:.8}
.lk-n.chon{background:var(--acc-soft);color:var(--ink);box-shadow:inset 0 0 0 2px var(--acc)}
.lk-n.hit{background:var(--ok);color:#fff}
.lk-n.hit i{font-style:normal}
.lk-legend{font-size:.85rem;color:var(--muted);margin-top:10px}
.lk-more{margin:10px 0 0}
.lk-reg{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.lk-reg li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.lk-reg small{display:block;color:var(--muted)}
.lk-res{padding:16px 18px;margin-bottom:14px}
.lk-resl{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 8px}
.lk-resl div{background:var(--pri-soft);border-radius:10px;padding:8px 12px}
.lk-resl dt{font-size:.8rem;color:var(--muted)}
.lk-resl dd{margin:0;font-weight:700;font-size:1.15rem}
/* บทความ */
.ar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.ar-card a{display:flex;flex-direction:column;height:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:var(--ink)}
.ar-card a:hover{text-decoration:none;border-color:var(--pri)}
.ar-cover{display:block;aspect-ratio:40/21;background:var(--pri-soft);overflow:hidden}
.ar-cover img{width:100%;height:100%;object-fit:cover}
.ar-ph{display:grid;place-items:center;background:linear-gradient(135deg,var(--pri),var(--pri-2,var(--pri)))}
.ar-ph b{color:var(--card);font-size:1.1rem;opacity:.95}
.ar-b{padding:12px 14px}
.ar-b small{color:var(--muted)}
.ar-b h3{margin:4px 0 6px;font-size:1.02rem}
.ar-b p{color:var(--muted);font-size:.9rem;margin:0}
.ar-page{max-width:860px}
.ar-head h1{margin:8px 0}
.ar-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:.88rem}
.ar-hero{margin:12px 0}
.ar-hero img{border-radius:var(--r);width:100%;height:auto}
.ar-toc{padding:10px 16px;margin:12px 0}
.ar-toc summary{font-weight:700;cursor:pointer}
.ar-toc ol{margin:8px 0 0;padding-left:20px}
.ar-toc .toc-h3{margin-left:14px;font-size:.92rem}
.ar-body{padding:18px 22px}
.ar-body table{width:100%;border-collapse:collapse;margin:10px 0}
.ar-body th,.ar-body td{border:1px solid var(--line);padding:7px 9px;text-align:left}
.ar-body .note{font-size:.9rem;color:var(--muted)}
.ar-body .faq{border-top:1px solid var(--line);margin-top:16px;padding-top:6px}
.ar-tags{margin:14px 0;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ar-share{display:flex;align-items:center;gap:8px;padding:12px 16px;margin:12px 0;flex-wrap:wrap}
.ar-share span{flex:1}
.ar-author{padding:14px 16px;margin:12px 0}
.ar-author p{margin:4px 0 0;color:var(--muted);font-size:.92rem}
@media (max-width:640px){
  .dr-row{flex-direction:column}
  .ar-body,.ct-static .prose,.dr-detail{padding:14px}
  .ct-table{font-size:.9rem}
  .ar-body{overflow-x:auto}
}

/* ---- home.css ---- */
/* เลขออก - home page (agent CONTENT). Tokens from base.css; light + dark. */
.hm-hero{background:linear-gradient(160deg,var(--pri) 0%,var(--pri-2,var(--pri)) 100%);color:var(--card);padding:18px 0 22px;margin-bottom:16px}
.hm-hero .ct-crumbs{display:none}
.hm-head h1{color:var(--card);font-size:1.55rem}
.hm-head .ct-intro{color:var(--card);opacity:.9}
.hm-head .ct-intro b{background:rgba(255,255,255,.16);border-radius:6px;padding:0 6px;font-variant-numeric:tabular-nums}
.hm-cds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.hm-cd{display:flex;flex-direction:column;gap:2px;padding:12px 16px;color:var(--ink);border-radius:var(--r)}
.hm-cd:hover{text-decoration:none;box-shadow:0 0 0 2px var(--acc)}
.hm-cd-l{font-size:.82rem;color:var(--muted)}
.hm-cd b{font-size:1.05rem}
.hm-cd-t{font-size:1.5rem;font-weight:700;color:var(--pri);font-variant-numeric:tabular-nums;letter-spacing:.5px}
.hm-cd-t.is-live{color:var(--ok)}
.hm-cd small{color:var(--muted);font-size:.78rem}
.hm-main{padding-bottom:28px}
.hm-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
.hm-side{display:grid;gap:16px}
.hm-gov,.hm-check,.hm-dream{padding:16px 18px}
.hm-gov-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.hm-gov-h h2{margin:0;font-size:1.15rem}
.hm-first{text-align:center;margin:16px 0 10px}
.hm-first small,.hm-sub small{display:block;color:var(--muted);font-size:.85rem;margin-bottom:4px}
.hm-first .digits,.hm-first .ct-digits{font-size:2rem}
.hm-first .ct-digits b{min-width:1.5em;height:1.8em;background:var(--acc);color:#1d1400}
.hm-sub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;text-align:center}
.hm-sub>div{background:var(--pri-soft);border-radius:var(--r-sm,10px);padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:4px}
.hm-full{margin-top:14px}
.hm-full summary{cursor:pointer;font-weight:600;color:var(--pri)}
.hm-form{display:grid;gap:10px}
.hm-form label{display:grid;gap:4px;font-size:.9rem;font-weight:500}
.hm-fr{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hm-nums{font-size:1.1rem;letter-spacing:1px;font-variant-numeric:tabular-nums}
.hm-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.hm-tile{padding:14px 16px;color:var(--ink);display:flex;flex-direction:column;gap:2px;border-top:4px solid var(--acc)}
.hm-tile:hover{text-decoration:none;box-shadow:0 0 0 2px var(--pri)}
.hm-tile span{color:var(--muted);font-size:.88rem}
.hm-sec{margin:22px 0}
.hm-gh{margin:14px 0 8px;font-size:1rem;color:var(--muted)}
.hm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.hm-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hm-fallcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.hm-fallcard .rc-row{display:flex;gap:14px}
.hm-cols3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
.hm-list{padding:14px 16px}
.hm-list h2{font-size:1.08rem}
.hm-list ul{list-style:none;padding:0;margin:0}
.hm-list li{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.hm-list li:last-child{border-bottom:0}
.hm-list li span{color:var(--muted);white-space:nowrap}
.hm-list li b{color:var(--ink);font-variant-numeric:tabular-nums}
.hm-lk{padding:14px 16px;margin:16px 0}
.hm-upd{color:var(--muted);font-size:.85rem;text-align:center;margin-top:18px}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .hm-hero{background:linear-gradient(160deg,var(--pri-soft) 0%,var(--card) 100%);color:var(--ink)}
  :root:not([data-theme="light"]) .hm-head h1,:root:not([data-theme="light"]) .hm-head .ct-intro{color:var(--ink)}
}
:root[data-theme="dark"] .hm-hero{background:linear-gradient(160deg,var(--pri-soft) 0%,var(--card) 100%);color:var(--ink)}
:root[data-theme="dark"] .hm-head h1,:root[data-theme="dark"] .hm-head .ct-intro{color:var(--ink)}
@media (max-width:900px){
  .hm-cols,.hm-cols3{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hm-cds,.hm-grid2,.hm-tiles{grid-template-columns:1fr}
  .hm-sub{grid-template-columns:1fr 1fr}
  .hm-sub>div:first-child{grid-column:1/-1}
  .hm-head h1{font-size:1.3rem}
  .hm-fr{grid-template-columns:1fr}
}

/* ---- account.css ---- */
/* เลขออก - member pages (agent CORE) */
.auth-wrap{max-width:480px;padding-top:22px}
.auth-card{padding:22px}
.auth-h{text-align:center;font-size:1.4rem}
.auth-tabs{margin-bottom:16px}
.auth-perks{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
.auth-perks li{display:flex;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 14px;font-size:.92rem}
.auth-perks .ic{color:var(--acc-2)}

.acc{padding-top:16px;max-width:860px}
.acc-head{display:flex;gap:14px;align-items:center}
.acc-head img{border-radius:50%;border:3px solid var(--acc)}
.acc-head h1{font-size:1.3rem;margin:0}
.acc-head p{margin:0}
.acc-links{margin-top:12px}
.acc-links .card{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}
.acc-links .card:hover{text-decoration:none;border-color:var(--pri)}
.acc-links .ic{color:var(--pri)}
.acc-sec{margin-top:14px}
.chan{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.chan small{display:block}
.chan-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--pri-soft);color:var(--pri)}
.chan-telegram{background:#e3f3fc;color:#229ed9}.chan-line{background:#e3f8ec;color:#06a548}
.acc-prefs{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
.av-pick{display:flex;flex-wrap:wrap;gap:8px}
.av-pick input{position:absolute;opacity:0}
.av-pick img{border-radius:50%;border:3px solid transparent;cursor:pointer}
.av-pick input:checked+img{border-color:var(--acc)}
.av-pick input:focus-visible+img{outline:3px solid var(--pri)}

.saved{max-width:900px}
.saved-guest{margin-bottom:12px}
.saved-form{margin-bottom:18px}
.saved-row{display:grid;grid-template-columns:1.4fr 1fr 1.4fr auto;gap:10px;align-items:end}
.saved-row .field{margin:0}
.saved-row .btn{min-height:44px}
@media (max-width:760px){.saved-row{grid-template-columns:1fr 1fr}.saved-row .btn{grid-column:1/-1}}
.input.num{font-size:1.2rem;font-weight:700;letter-spacing:.12em}
.saved-group{margin-bottom:12px}
.saved-group h3{margin:0 0 8px}
.saved-group h3 a{color:var(--ink)}
.saved-items{list-style:none;margin:0;padding:0}
.saved-items li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.saved-items li:first-child{border-top:0}
.saved-label{min-width:120px}

.notif-list{display:grid;gap:10px;max-width:760px}
.notif{display:block;color:var(--ink)}
.notif:hover{text-decoration:none;border-color:var(--pri)}
.notif p{margin:4px 0}
.notif.hit{border-left:4px solid var(--ok)}
.contact{max-width:760px}

/* ---- fun.css ---- */
/* เลขออก FUN (ลูกเล่น): ticker, hit counter, เซียมซี, poll bars, chat guestbook, horoscope. Uses base.css tokens; light + dark. */
:root{--fx-tk:#0f2342;--fx-tk-ink:#ffe7a3;--fx-red:#c8261d;--fx-gold:#e8b33a;--fx-paper:#fffdf5;--fx-rule:#efe6c9}
:root[data-theme="dark"]{--fx-tk:#0a1628;--fx-paper:#141d2f;--fx-rule:#22304a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--fx-tk:#0a1628;--fx-paper:#141d2f;--fx-rule:#22304a}}

/* ---------- ticker ---------- */
.fx-tk{background:var(--fx-tk);color:var(--fx-tk-ink);height:38px;overflow:hidden;font-size:.9rem;border-bottom:2px solid var(--fx-gold)}
.fx-tk-in{display:flex;align-items:center;gap:10px;height:38px}
.fx-tag{flex:none;display:inline-flex;align-items:center;gap:6px;background:var(--fx-red);color:#fff;font-weight:700;font-size:.78rem;padding:2px 10px;border-radius:999px}
.fx-tag i{width:7px;height:7px;border-radius:50%;background:#fff;animation:fx-blink 1s steps(2) infinite}
.fx-tk-vp{flex:1;min-width:0;overflow:hidden;height:38px;display:flex;align-items:center;outline-offset:-3px}
.fx-tk-tr{display:flex;width:max-content;animation:fx-marq var(--fx-dur,60s) linear infinite;will-change:transform}
.fx-tk-vp:hover .fx-tk-tr,.fx-tk-vp:focus-within .fx-tk-tr,.fx-tk.is-paused .fx-tk-tr{animation-play-state:paused}
.fx-tk-set{display:flex;align-items:center;gap:14px;padding-right:14px;white-space:nowrap}
.fx-tk-set a{color:var(--fx-tk-ink);text-decoration:none}.fx-tk-set a:hover b{text-decoration:underline}
.fx-tk-set b{color:#fff;font-weight:600}.fx-tk-set small{opacity:.7}
.fx-tk-set i{color:var(--fx-gold);font-style:normal;font-size:.7rem}
.fx-n{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--fx-gold)}
.fx-next{flex:none;color:#fff;font-size:.8rem;white-space:nowrap;text-decoration:none}
.fx-next b{display:inline-block;min-width:8.2em;text-align:right;color:var(--fx-gold);font-variant-numeric:tabular-nums}
@keyframes fx-marq{to{transform:translateX(-50%)}}
@keyframes fx-blink{50%{opacity:.15}}
@media (max-width:700px){.fx-next span{display:none}.fx-next b{min-width:0}.fx-tag{padding:2px 8px}}

/* ---------- footer hit counter ---------- */
.fx-ctr{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:flex-end;margin-top:20px;padding:12px 14px;border-radius:var(--r-sm);background:rgba(0,0,0,.22);border:1px dashed rgba(255,255,255,.18)}
.fx-ctr>div{display:flex;flex-direction:column;gap:4px}
.fx-ctr small{color:#aab7cc;font-size:.76rem}
.fx-lcd{display:inline-flex;gap:2px}
.fx-lcd b{display:inline-grid;place-items:center;width:17px;height:24px;border-radius:3px;background:#050805;color:#7dff6a;font:700 15px/1 ui-monospace,Consolas,monospace;text-shadow:0 0 6px rgba(125,255,106,.7);box-shadow:inset 0 -9px 0 rgba(255,255,255,.04)}
.fx-on b{font:700 1.15rem/1 ui-monospace,Consolas,monospace;color:#ffd166}
.fx-on i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ccf7a;margin-right:5px;box-shadow:0 0 0 0 rgba(60,207,122,.6);animation:fx-pulse 2s infinite}
@keyframes fx-pulse{70%{box-shadow:0 0 0 7px rgba(60,207,122,0)}}

/* ---------- shared ---------- */
.fx-page{padding-top:6px}
.fx-head{margin:6px 0 16px}.fx-head h1{margin:2px 0 6px;font-size:clamp(1.4rem,3.4vw,2rem);line-height:1.3}.fx-head p{margin:0;color:var(--muted);max-width:760px}
.fx-kicker{display:inline-block;font-size:.78rem;font-weight:700;color:var(--acc-2);background:var(--acc-soft);padding:1px 10px;border-radius:999px}
.fx-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start;margin-bottom:16px}
.fx-cols>*{min-width:0}.fx-main{min-width:0}
.fx-page>.card,.fx-main>.card+.card,.fx-main>.card+section{margin-bottom:16px}
.fx-page .card{margin-bottom:16px}
@media (max-width:900px){.fx-cols{grid-template-columns:1fr}}
.fx-note{font-size:.84rem;color:var(--muted);border-left:3px solid var(--acc);padding:6px 12px;background:var(--acc-soft);border-radius:0 8px 8px 0}
.fx-err{color:var(--bad);font-weight:600}
.fx-ball{display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 6px;border-radius:999px;background:radial-gradient(circle at 35% 30%,#fff3c4,var(--fx-gold) 60%,#b67f12);color:#3a2503;font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums;box-shadow:0 2px 0 #8a5a12;margin:2px}
.fx-ball.sm{min-width:32px;height:32px;font-size:.95rem;box-shadow:0 1px 0 #8a5a12}
.fx-nums{display:flex;flex-wrap:wrap;gap:10px 22px}.fx-nums>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fx-nums small{color:var(--muted);margin-right:4px}
.fx-real ul{list-style:none;margin:0 0 10px;padding:0}
.fx-real li a{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line);color:var(--ink)}
.fx-real li b{color:var(--pri);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.fx-real h2{font-size:1.05rem;margin:0 0 8px}

/* ---------- home + result strip ---------- */
.fx-home{margin:22px 0}
.fx-hgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.fx-hcard h2{font-size:1.08rem}
.fx-hlinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.fx-strip{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;margin-top:18px}
.fx-more h2{font-size:1.05rem;margin:0 0 6px}.fx-more ul{margin:0;padding-left:18px}.fx-more li{margin:5px 0}
@media (max-width:800px){.fx-strip{grid-template-columns:1fr}}

/* ---------- เซียมซี ---------- */
.fx-ss{text-align:center}
.fx-ss-stage{position:relative;height:200px;display:flex;align-items:flex-end;justify-content:center}
.fx-ss[data-compact] .fx-ss-stage{height:150px}
.fx-cyl{transform-origin:50% 95%;display:inline-block}
.fx-cyl.is-shaking{animation:fx-shake .14s ease-in-out 10 alternate}
.fx-cyl.is-shaking .fx-sticks{animation:fx-rattle .07s linear 20 alternate}
@keyframes fx-shake{from{transform:rotate(-13deg) translateY(0)}to{transform:rotate(13deg) translateY(-6px)}}
@keyframes fx-rattle{to{transform:translateY(-4px)}}
.fx-stick{position:absolute;left:calc(50% + 34px);bottom:10px;width:42px;height:128px;border-radius:8px 8px 4px 4px;background:linear-gradient(90deg,#c98d2c,#f0c66a 45%,#c98d2c);border:1.5px solid #8a5a12;color:#5a1a0f;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:8px;transform:rotate(18deg);box-shadow:0 4px 10px rgba(0,0,0,.18)}
.fx-stick span{font-size:.7rem;font-weight:600}.fx-stick b{font-size:1.5rem;line-height:1.1;color:var(--fx-red)}
.fx-ss[data-compact] .fx-stick{height:104px;width:38px}
.fx-stick.is-drop{animation:fx-drop .6s cubic-bezier(.3,1.4,.6,1)}
@keyframes fx-drop{from{transform:translate(-40px,-110px) rotate(-30deg);opacity:0}to{transform:rotate(18deg);opacity:1}}
.fx-stick-big{position:static;margin:0 auto 6px;transform:rotate(0)}
.fx-ss-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.fx-ss-out{min-height:0;text-align:left}
.fx-ss-out .fx-res{margin-top:12px;padding:12px 14px;border-radius:var(--r-sm);background:var(--fx-paper);border:1px solid var(--fx-rule)}
.fx-res h3{margin:0 0 4px;font-size:1.05rem}.fx-res blockquote,.fx-verse blockquote{margin:6px 0;font-size:1.05rem;font-weight:600;color:var(--pri);line-height:1.8}
.fx-lv{display:inline-block;font-weight:700;padding:1px 12px;border-radius:999px;background:var(--pri-soft);color:var(--pri);margin:0}
.lv-a .fx-lv,.fx-lv.lv-a{background:var(--ok-soft);color:var(--ok)}.lv-d .fx-lv,.fx-lv.lv-d{background:var(--warn-soft);color:var(--warn)}
.fx-verse{text-align:center}.fx-verse .fx-nums{justify-content:center}
.fx-pn{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px}
.fx-sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.fx-sgrid-i{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:10px;border:1px solid var(--line);background:var(--fx-paper);color:var(--ink);text-decoration:none}
.fx-sgrid-i b{font-size:1.2rem;color:var(--fx-red)}.fx-sgrid-i small{font-size:.72rem;color:var(--muted)}
.fx-sgrid-i:hover{border-color:var(--acc)}
.fx-howto ol{margin:0;padding-left:20px}

/* ---------- poll ---------- */
.fx-poll-h{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}.fx-poll-h span{color:var(--muted);font-size:.88rem}
.fx-vote{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.fx-vote .input{width:84px;text-align:center;font-size:1.3rem;font-weight:700;letter-spacing:.15em;font-variant-numeric:tabular-nums}
.fx-bars{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.fx-bars li{display:grid;grid-template-columns:34px 1fr 38px;gap:8px;align-items:center;font-size:.9rem}
.fx-bars li b{font-variant-numeric:tabular-nums;text-align:center;border-radius:6px;background:var(--pri-soft);color:var(--pri)}
.fx-bars li span{height:14px;border-radius:999px;background:var(--bg);overflow:hidden}
.fx-bars li i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--acc),var(--acc-2));transition:width .4s}
.fx-bars li em{font-style:normal;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.fx-bars li.me b{background:var(--acc);color:#1d1503}
.fx-hist{padding:10px 0;border-bottom:1px dashed var(--line)}.fx-hist:last-child{border-bottom:0}

/* ---------- chat (guestbook look) ---------- */
.fx-chat-list{list-style:none;margin:0 0 10px;padding:4px 10px;height:380px;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--r-sm);border:1px solid var(--fx-rule);
  background:var(--fx-paper) repeating-linear-gradient(transparent 0 33px,var(--fx-rule) 33px 34px)}
.fx-chat.is-compact .fx-chat-list{height:220px}
@media (max-width:640px){.fx-chat:not(.is-compact) .fx-chat-list{height:300px}}
.fx-chat-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:6px 0;min-height:34px;font-size:.92rem;line-height:1.45;word-break:break-word}
.fx-chat-list li b{color:#b3261e;font-weight:700}.fx-chat-list li b.mem{color:var(--pri)}
.fx-chat-list li b::after{content:" :"}
.fx-chat-list li span{flex:1 1 60%;min-width:0;color:var(--ink)}
.fx-chat-list time{font-size:.72rem;color:var(--muted)}
.fx-rep{border:0;background:none;color:var(--muted);cursor:pointer;font-size:.8rem;padding:0 2px;opacity:.5}.fx-rep:hover,.fx-rep:focus{opacity:1;color:var(--bad)}
.fx-chat-list li.is-new{animation:fx-in .5s}
@keyframes fx-in{from{background:var(--acc-soft)}}
.fx-chat-f{display:grid;grid-template-columns:110px 1fr auto;gap:6px}
.fx-chat-f.is-member .fx-chat-name{display:none}.fx-chat-f.is-member{grid-template-columns:1fr auto}
.fx-chat.is-compact .fx-chat-f:not(.is-member){grid-template-columns:1fr auto}.fx-chat.is-compact .fx-chat-name{grid-column:1/-1}
@media (max-width:480px){.fx-chat-f{grid-template-columns:1fr auto}.fx-chat-name{grid-column:1/-1}}
.fx-rule{margin:6px 0 0}.fx-rules{margin:0;padding-left:18px}

/* ---------- lucky + horoscope ---------- */
.fx-lucky-f{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.fx-lucky-f label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}
@media (max-width:640px){.fx-lucky-f{grid-template-columns:1fr}}
.fx-lucky-out ul{padding-left:18px}
.fx-day{border-top:5px solid var(--fx-day,#e8b33a)}
.fx-swatch::before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--fx-day);margin-right:5px;vertical-align:-1px}
.fx-signnav{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:thin}
.fx-signnav a{flex:none;padding:4px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:.88rem}
.fx-horo{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-bottom:16px}
.fx-horo .card{margin:0;scroll-margin-top:calc(var(--hd) + 12px)}
.fx-sign header{display:flex;align-items:center;gap:10px}.fx-sign header>div{flex:1}
.fx-sign h2{margin:0;font-size:1.1rem}.fx-sign small{color:var(--muted)}
.fx-glyph{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--acc-soft);color:var(--acc-2);font-size:1.4rem;font-family:"Segoe UI Symbol","Noto Sans Symbols",sans-serif}
.fx-stars{color:var(--acc);letter-spacing:1px;white-space:nowrap}.fx-stars i{color:var(--line);font-style:normal}
.fx-sign dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:8px 0;font-size:.9rem}.fx-sign dt{font-weight:700;color:var(--pri)}.fx-sign dd{margin:0}
.fx-signno{margin:4px 0 0;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.88rem}

@media (prefers-reduced-motion:reduce){
  .fx-tk-tr{animation:none}.fx-tk-vp{overflow-x:auto}.fx-tk-set[aria-hidden]{display:none}
  .fx-tag i,.fx-on i,.fx-cyl.is-shaking,.fx-cyl.is-shaking .fx-sticks,.fx-stick.is-drop,.fx-chat-list li.is-new{animation:none}
  .fx-bars li i{transition:none}
}


/* ---- WordPress additions ---- */
.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.admin-bar .hd{top:32px}@media (max-width:782px){.admin-bar .hd{top:46px}}
.prose .alignleft{float:left;margin:0 16px 10px 0}.prose .alignright{float:right;margin:0 0 10px 16px}.prose .aligncenter{display:block;margin:0 auto 12px}
.prose img{height:auto;border-radius:var(--r-sm)}.prose figure{margin:0 0 1em}.prose .wp-caption-text,.prose figcaption{font-size:.85rem;color:var(--muted)}
.prose .wp-block-table table,.prose table{border-collapse:collapse;width:100%}.prose td,.prose th{border:1px solid var(--line);padding:6px 10px}
.note.ok{background:var(--ok-soft);color:var(--ok);padding:10px 14px;border-radius:var(--r-sm)}
