.p24hub{--p24-blue:#0099FF;--p24-navy:#005BA4;--p24-orange:#F2612E;--p24-bg:#f2f8fe;--p24-surface:#fff;--p24-ink:#14233a;--p24-muted:#5a6b82;--p24-line:#d6e4f2;--p24-soft:#e3f3ff;--p24-display:"Mitr","IBM Plex Sans Thai",system-ui,sans-serif;--p24-body:"IBM Plex Sans Thai",system-ui,sans-serif;font-family:var(--p24-body);font-size:15px;line-height:1.55;color:var(--p24-ink);background:linear-gradient(180deg,var(--p24-bg),#fff 360px);padding:28px max(16px,2vw);border-radius:18px;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:22px;box-sizing:border-box}.p24hub *,.p24hub *::before,.p24hub *::after{box-sizing:border-box}.p24hub [hidden]{display:none!important}.p24hub h1,.p24hub p{margin:0;padding:0;letter-spacing:normal;text-transform:none}.p24hub a{text-decoration:none;box-shadow:none}.p24hub .hb-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}.p24hub .hb-h1{font-family:var(--p24-display);font-weight:500;font-size:clamp(24px,4vw,34px);line-height:1.25;text-wrap:balance;color:var(--p24-ink)}.p24hub .hb-h1 b{color:var(--p24-blue);font-weight:500;display:block}.p24hub .hb-sub{color:var(--p24-muted);margin-top:6px;max-width:62ch}.p24hub .hb-stats{display:flex;gap:10px}.p24hub .hb-stats div{background:#fff;border:1px solid var(--p24-line);border-radius:12px;padding:8px 16px;display:grid;justify-items:center;min-width:104px}.p24hub .hb-stats b{font-family:var(--p24-display);font-weight:500;font-size:26px;line-height:1.1;color:var(--p24-orange)}.p24hub .hb-stats div+div b{color:var(--p24-navy)}.p24hub .hb-stats span{font-size:12px;color:var(--p24-muted)}.p24hub .hb-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--p24-line);border-radius:14px;padding:12px;position:sticky;top:8px;z-index:3}.p24hub .hb-search{display:flex;align-items:center;gap:8px;flex:1 1 240px;background:var(--p24-bg);border:1px solid var(--p24-line);border-radius:10px;padding:0 12px;color:var(--p24-muted);margin:0}.p24hub .hb-search:focus-within{border-color:var(--p24-blue);outline:2px solid var(--p24-soft)}.p24hub .hb-search input{border:0;background:#fff0;font-family:var(--p24-body);font-size:15px;padding:9px 0;width:100%;color:var(--p24-ink);outline:none;box-shadow:none;margin:0;height:auto;min-height:0}.p24hub .hb-chips{display:flex;gap:6px;flex-wrap:wrap}.p24hub .hb-chips button{font-family:var(--p24-body);font-size:13px;border:1px solid var(--p24-line);background:#fff;color:var(--p24-ink);padding:6px 12px;border-radius:999px;cursor:pointer;line-height:1.35;text-transform:none;letter-spacing:normal;min-height:0;box-shadow:none;margin:0}.p24hub .hb-chips button:hover{border-color:var(--p24-blue)}.p24hub .hb-chips button[aria-pressed="true"]{background:var(--p24-blue);border-color:var(--p24-blue);color:#fff;font-weight:600}.p24hub .hb-only{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--p24-navy);cursor:pointer;margin:0;white-space:nowrap}.p24hub .hb-only input{margin:0;accent-color:var(--p24-blue)}.p24hub button:focus-visible,.p24hub a:focus-visible,.p24hub input:focus-visible{outline:2px solid var(--p24-blue);outline-offset:2px}.p24hub .hb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.p24hub .hb-card{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:2px;background:#fff;border:1px solid var(--p24-line);border-radius:14px;padding:16px;color:var(--p24-ink);transition:transform .15s,box-shadow .15s,border-color .15s}.p24hub .hb-card.is-ready{border-color:#9fd3ff;box-shadow:0 1px 0 #cfe8ff}.p24hub a.hb-card:hover{transform:translateY(-2px);border-color:var(--p24-blue);box-shadow:0 10px 24px -14px rgb(0 91 164 / .5)}.p24hub .hb-ico{--hb-card:var(--p24-soft);width:64px;height:64px;border-radius:14px;background:var(--p24-soft);color:var(--p24-navy);display:grid;place-items:center;margin-bottom:10px;overflow:hidden}.p24hub .hb-ico svg{width:40px;height:40px}.p24hub .hb-ico img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.p24hub .is-ready .hb-ico{background:var(--p24-blue);color:#fff;--hb-card:var(--p24-blue)}.p24hub .is-soon .hb-ico{background:#f1f4f8;color:#7d8da3;--hb-card:#f1f4f8}.p24hub .hb-name{font-family:var(--p24-display);font-weight:500;font-size:17px;line-height:1.3}.p24hub .hb-en{font-size:13px;color:var(--p24-muted)}.p24hub .hb-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--p24-line);flex-wrap:wrap}.p24hub .hb-st{font-size:12px;color:var(--p24-muted);background:#f1f4f8;border-radius:999px;padding:2px 10px}.p24hub .hb-st.ok{color:#0b7a3b;background:#e3f7ea}.p24hub .hb-go{font-size:14px;font-weight:600;color:var(--p24-orange)}.p24hub .hb-lnk{font-size:13px;color:var(--p24-navy);font-weight:500}.p24hub .hb-lnk:hover{text-decoration:underline}.p24hub .hb-new{position:absolute;top:12px;right:12px;font-size:11px;font-weight:700;letter-spacing:.04em;color:#fff;background:#ff6b81;border-radius:6px;padding:1px 8px}.p24hub .hb-empty{text-align:center;color:var(--p24-muted);padding:30px 10px;background:#fff;border:1px dashed var(--p24-line);border-radius:14px}.p24hub .hb-cta{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--p24-navy);color:#fff;border-radius:16px;padding:20px 22px}.p24hub .hb-cta div{display:grid;gap:2px}.p24hub .hb-cta b{font-family:var(--p24-display);font-weight:500;font-size:19px}.p24hub .hb-cta span{font-size:14px;color:#cfe6ff}.p24hub .hb-btn{font-family:var(--p24-body);font-weight:600;font-size:15px;background:#06C755;color:#fff;padding:11px 20px;border-radius:10px;white-space:nowrap}.p24hub .hb-btn:hover{filter:brightness(.95);color:#fff}@media (max-width:640px){.p24hub .hb-bar{position:static}.p24hub .hb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.p24hub .hb-card{padding:12px}.p24hub .hb-ico{width:52px;height:52px}.p24hub .hb-ico svg{width:32px;height:32px}.p24hub .hb-name{font-size:15px}.p24hub .hb-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:2px}.p24hub .hb-chips button{flex:0 0 auto}}@media (prefers-reduced-motion:reduce){.p24hub *{transition:none!important}}