:root{--hkpt-bg:#070707;--hkpt-panel:#151515;--hkpt-panel-2:#222;--hkpt-text:#f7f7f7;--hkpt-muted:#b3b3b3;--hkpt-accent:#DFA12E;--hkpt-accent-hover:#E7B451;--hkpt-accent-text:#F0C76D;--hkpt-danger:#ff5a64;--hkpt-border:rgba(255,255,255,.12);--hkpt-radius:14px}.hkpt-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}.hkpt-series-card{position:relative;display:block;min-height:310px;overflow:hidden;border-radius:var(--hkpt-radius);background:var(--hkpt-panel);color:var(--hkpt-text);text-decoration:none}.hkpt-card-media,.hkpt-content-media{height:100%;min-height:260px}.hkpt-card-media img,.hkpt-content-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.hkpt-series-card:hover img,.hkpt-content-card:hover img{transform:scale(1.04)}.hkpt-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:240px;background:linear-gradient(135deg,#222222,#0c0c0c);font-size:52px;font-weight:900;letter-spacing:-4px}.hkpt-card-overlay{position:absolute;inset:auto 0 0;padding:72px 20px 20px;background:linear-gradient(transparent,rgba(0,0,0,.95));z-index:1}.hkpt-card-overlay h3{margin:0 0 6px;font-size:25px}.hkpt-card-overlay p{margin:0;color:#fff}.hkpt-card-overlay span{display:block;margin-top:6px;color:var(--hkpt-accent-text)}.hkpt-content-card{overflow:hidden;border:1px solid var(--hkpt-border);border-radius:var(--hkpt-radius);background:var(--hkpt-panel)}.hkpt-content-card a{display:block;color:inherit;text-decoration:none}.hkpt-content-media{height:210px;min-height:0}.hkpt-content-body{padding:20px}.hkpt-content-body h3{margin:6px 0 10px}.hkpt-eyebrow{color:var(--hkpt-accent-text);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.hkpt-alert-list{display:grid;gap:14px}.hkpt-alert{display:grid;grid-template-columns:minmax(160px,.35fr) 1fr;gap:24px;padding:20px;border:1px solid var(--hkpt-border);border-left:4px solid var(--hkpt-accent);border-radius:var(--hkpt-radius);background:var(--hkpt-panel)}.hkpt-alert-urgent{border-left-color:var(--hkpt-danger)}.hkpt-alert-important{border-left-color:#ff9f43}.hkpt-alert h3{margin:4px 0}.hkpt-alert p{margin:0}.hkpt-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:0;border-radius:10px;background:var(--hkpt-accent);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.hkpt-button:hover{background:var(--hkpt-accent-hover);color:#fff}.hkpt-button-muted{background:var(--hkpt-panel-2);color:var(--hkpt-text)}.hkpt-panel{padding:22px;border:1px solid var(--hkpt-border);border-radius:var(--hkpt-radius);background:var(--hkpt-panel)}.hkpt-auth-card{max-width:520px;margin:0 auto;padding:28px;border:1px solid var(--hkpt-border);border-radius:var(--hkpt-radius);background:var(--hkpt-panel)}.hkpt-auth-card label,.hkpt-scanner label{display:grid;gap:8px;margin:14px 0;color:var(--hkpt-muted)}.hkpt-auth-card input,.hkpt-scanner input,.hkpt-ranking-filters select,.hkpt-ranking-filters input{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--hkpt-border);border-radius:9px;background:#0d0d0d;color:var(--hkpt-text)}.hkpt-checkbox{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.hkpt-checkbox input{width:auto}.hkpt-notice{padding:14px 16px;margin:14px 0;border-radius:10px;background:var(--hkpt-panel-2)}.hkpt-notice-error{background:#4a1f24;color:#ffdfe2}.hkpt-notice-success{background:#16432d;color:#d8ffe9}.hkpt-ranking-filters{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;align-items:end;gap:14px;margin:0 0 22px}.hkpt-ranking-filters label{display:grid;gap:6px}.hkpt-ranking-filters button{padding:12px 18px;border:0;border-radius:9px;background:var(--hkpt-accent);color:#fff;font-weight:800}.hkpt-table-wrap{overflow-x:auto}.hkpt-table{width:100%;border-collapse:collapse;background:var(--hkpt-panel);border-radius:var(--hkpt-radius);overflow:hidden}.hkpt-table th,.hkpt-table td{padding:14px 16px;border-bottom:1px solid var(--hkpt-border);text-align:left;white-space:nowrap}.hkpt-table th{background:var(--hkpt-panel-2);color:var(--hkpt-muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.hkpt-table td small{display:block;color:var(--hkpt-muted)}.hkpt-dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.hkpt-dashboard-header h1{margin:4px 0}.hkpt-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:22px}.hkpt-stat{padding:18px;border:1px solid var(--hkpt-border);border-radius:var(--hkpt-radius);background:var(--hkpt-panel)}.hkpt-stat span{display:block;color:var(--hkpt-muted)}.hkpt-stat strong{font-size:30px}.hkpt-dashboard-grid{display:grid;grid-template-columns:minmax(260px,.35fr) 1fr;gap:20px}.hkpt-token-fallback{display:block;max-width:100%;overflow-wrap:anywhere;margin-top:12px;color:var(--hkpt-muted)}#hkpt-member-qr{display:inline-block;background:#fff;padding:12px;border-radius:10px}.hkpt-series-hero,.hkpt-event-hero{position:relative;min-height:430px;overflow:hidden;border-radius:var(--hkpt-radius);background:var(--hkpt-panel)}.hkpt-series-hero>img,.hkpt-event-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hkpt-series-hero:after,.hkpt-event-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.25))}.hkpt-series-hero-overlay,.hkpt-event-hero-content{position:relative;z-index:1;max-width:650px;padding:72px 54px;color:#fff}.hkpt-series-hero-overlay h1,.hkpt-event-hero-content h1{font-size:clamp(34px,5vw,64px);line-height:1.04;margin:10px 0}.hkpt-series-copy{max-width:850px;margin:30px 0}.hkpt-section-tabs{display:flex;gap:10px;position:sticky;top:0;z-index:5;padding:12px;background:rgba(7,7,7,.94);backdrop-filter:blur(10px)}.hkpt-section-tabs a{padding:9px 13px;border-radius:8px;background:var(--hkpt-panel);color:var(--hkpt-text);text-decoration:none}.hkpt-event-day{margin:40px 0}.hkpt-event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.hkpt-event-card{display:block;padding:20px;border:1px solid var(--hkpt-border);border-radius:var(--hkpt-radius);background:var(--hkpt-panel);color:var(--hkpt-text);text-decoration:none}.hkpt-event-card:hover{border-color:var(--hkpt-accent);transform:translateY(-2px)}.hkpt-event-card-top{display:flex;justify-content:space-between;color:var(--hkpt-accent-text);font-size:12px;text-transform:uppercase}.hkpt-event-card h3{margin:14px 0;font-size:20px}.hkpt-event-card-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:var(--hkpt-muted);font-size:14px}.hkpt-event-facts{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:16px}.hkpt-event-facts div{padding-top:12px;border-top:1px solid rgba(255,255,255,.25)}.hkpt-event-facts span{display:block;color:#c8cbd3;font-size:12px}.hkpt-event-facts strong{display:block;margin-top:4px}.hkpt-back{display:inline-block;margin-bottom:16px;color:var(--hkpt-muted)}.hkpt-event-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:28px;margin:36px 0}.hkpt-event-layout aside{display:grid;align-content:start;gap:18px}.hkpt-breakdown{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--hkpt-border)}.hkpt-results,.hkpt-gallery,.hkpt-disclaimer{margin-top:42px}.hkpt-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.hkpt-gallery-grid img{width:100%;height:240px;object-fit:cover;border-radius:12px}.hkpt-scanner{max-width:780px;margin:0 auto}.hkpt-member-summary{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:16px}.hkpt-member-summary img{width:80px;height:80px;border-radius:50%;object-fit:cover}.hkpt-member-summary h2{margin:4px 0}@media(max-width:800px){.hkpt-ranking-filters{grid-template-columns:1fr 1fr}.hkpt-dashboard-grid,.hkpt-event-layout{grid-template-columns:1fr}.hkpt-series-hero-overlay,.hkpt-event-hero-content{padding:42px 24px}.hkpt-event-facts{grid-template-columns:1fr 1fr}.hkpt-alert{grid-template-columns:1fr}.hkpt-member-summary{grid-template-columns:60px 1fr}.hkpt-member-summary>strong{grid-column:1/-1}.hkpt-dashboard-header{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.hkpt-ranking-filters{grid-template-columns:1fr}.hkpt-event-facts,.hkpt-event-card-facts{grid-template-columns:1fr}.hkpt-series-hero,.hkpt-event-hero{min-height:520px}.hkpt-card-grid{grid-template-columns:1fr}}

/* Homepage slider, event cards, and sponsor components. */
.hkpt-home-slider{position:relative;min-height:clamp(520px,66vw,760px);overflow:hidden;background:#0b0b0b;color:#fff}.hkpt-home-slider-track{position:absolute;inset:0}.hkpt-home-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s ease,visibility .6s ease}.hkpt-home-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}.hkpt-home-slide-media,.hkpt-home-slide-media img,.hkpt-home-slide-placeholder{position:absolute;inset:0;width:100%;height:100%}.hkpt-home-slide-media img{object-fit:cover}.hkpt-home-slide-placeholder{display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 75% 25%,rgba(223,161,46,.32),transparent 28%),linear-gradient(135deg,#2B2314,#070707)}.hkpt-home-slide-placeholder span{font-size:clamp(28px,5vw,68px);font-weight:900;letter-spacing:-.04em}.hkpt-home-slide-placeholder small{margin-top:10px;color:#c9ccd4}.hkpt-home-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,3,5,.92) 0%,rgba(2,3,5,.64) 48%,rgba(2,3,5,.18) 100%),linear-gradient(0deg,rgba(2,3,5,.58),transparent 55%)}.hkpt-home-slide-content{position:relative;z-index:2;display:flex;min-height:clamp(520px,66vw,760px);flex-direction:column;align-items:flex-start;justify-content:center;padding-block:76px}.hkpt-home-slide-content h1{max-width:900px;margin:10px 0 18px;font-size:clamp(46px,8vw,104px);line-height:.94;letter-spacing:-.055em}.hkpt-home-slide-content p{max-width:660px;margin:0 0 26px;color:#d2d4da;font-size:clamp(17px,2vw,22px)}.hkpt-slider-arrow{position:absolute;z-index:5;top:50%;display:grid;width:48px;height:48px;place-items:center;transform:translateY(-50%);border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(7,7,7,.62);color:#fff;font-size:32px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}.hkpt-slider-arrow:hover,.hkpt-slider-arrow:focus-visible{background:var(--hkpt-accent);color:#fff}.hkpt-slider-prev{left:24px}.hkpt-slider-next{right:24px}.hkpt-slider-dots{position:absolute;z-index:5;right:0;bottom:26px;left:0;display:flex;justify-content:center;gap:9px}.hkpt-slider-dots button{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.48);cursor:pointer;transition:width .2s ease,background .2s ease}.hkpt-slider-dots button.is-active{width:34px;background:var(--hkpt-accent)}
.hkpt-home-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hkpt-home-event-card{overflow:hidden;border:1px solid var(--hkpt-border);border-radius:var(--hkpt-radius);background:var(--hkpt-panel);color:var(--hkpt-text);text-decoration:none;transition:transform .25s ease,border-color .25s ease}.hkpt-home-event-card:hover{transform:translateY(-4px);border-color:var(--hkpt-accent);color:var(--hkpt-text)}.hkpt-home-event-media{height:220px;overflow:hidden;background:#0d0d0d}.hkpt-home-event-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.hkpt-home-event-card:hover .hkpt-home-event-media img{transform:scale(1.04)}.hkpt-event-image-placeholder{display:grid;width:100%;height:100%;place-content:center;text-align:center;background:linear-gradient(135deg,#2A2214,#090909)}.hkpt-event-image-placeholder span{font-size:30px;font-weight:900}.hkpt-event-image-placeholder small{color:var(--hkpt-muted)}.hkpt-home-event-body{padding:20px}.hkpt-home-event-body h3{margin:12px 0 6px;font-size:23px;line-height:1.15}.hkpt-home-event-series{margin:0 0 16px;color:var(--hkpt-muted)}.hkpt-home-event-meta{display:grid;grid-template-columns:1fr auto;gap:6px 14px;color:var(--hkpt-muted);font-size:14px}.hkpt-home-event-meta strong{grid-column:1/-1;margin-top:4px;color:var(--hkpt-accent-text);font-size:17px}
.hkpt-sponsor-list{width:100%}.hkpt-sponsor-feature{display:flex;justify-content:center}.hkpt-sponsor-feature .hkpt-sponsor-logo{width:min(100%,520px);min-height:190px}.hkpt-sponsor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.hkpt-sponsor-logo{display:grid;min-height:142px;place-items:center;padding:24px;border:1px solid var(--hkpt-border);border-radius:var(--hkpt-radius);background:var(--hkpt-panel);color:var(--hkpt-text);text-decoration:none;transition:border-color .2s ease,transform .2s ease}.hkpt-sponsor-logo:hover{border-color:var(--hkpt-accent);transform:translateY(-2px);color:var(--hkpt-text)}.hkpt-sponsor-logo img{display:block;width:auto;max-width:100%;height:auto;max-height:94px;object-fit:contain}.hkpt-sponsor-feature .hkpt-sponsor-logo img{max-height:132px}.hkpt-logo-placeholder{display:grid;width:100%;min-height:100px;place-content:center;text-align:center;border:1px dashed rgba(255,255,255,.25);border-radius:10px;background:linear-gradient(135deg,#2A2214,#101010)}.hkpt-logo-placeholder span{font-weight:850}.hkpt-logo-placeholder small{margin-top:5px;color:var(--hkpt-muted)}.hkpt-logo-carousel{position:relative;padding-inline:54px}.hkpt-sponsor-carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.hkpt-sponsor-carousel::-webkit-scrollbar{display:none}.hkpt-sponsor-carousel .hkpt-sponsor-logo{flex:0 0 clamp(210px,24vw,285px);scroll-snap-align:start}.hkpt-logo-carousel-arrow{position:absolute;z-index:2;top:50%;display:grid;width:42px;height:42px;place-items:center;transform:translateY(-50%);border:1px solid var(--hkpt-border);border-radius:50%;background:var(--hkpt-panel);color:#fff;font-size:27px;cursor:pointer}.hkpt-logo-carousel-arrow:hover,.hkpt-logo-carousel-arrow:focus-visible{background:var(--hkpt-accent);color:#fff}.hkpt-logo-carousel-prev{left:0}.hkpt-logo-carousel-next{right:0}
@media(max-width:980px){.hkpt-home-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hkpt-sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hkpt-slider-prev{left:14px}.hkpt-slider-next{right:14px}}
@media(max-width:680px){.hkpt-home-slider,.hkpt-home-slide-content{min-height:590px}.hkpt-home-slide-shade{background:linear-gradient(0deg,rgba(2,3,5,.95) 0%,rgba(2,3,5,.55) 65%,rgba(2,3,5,.25) 100%)}.hkpt-home-slide-content{justify-content:flex-end;padding-bottom:82px}.hkpt-home-slide-content h1{font-size:48px}.hkpt-slider-arrow{top:auto;bottom:20px;width:40px;height:40px;transform:none}.hkpt-slider-prev{left:14px}.hkpt-slider-next{right:14px}.hkpt-slider-dots{bottom:34px}.hkpt-home-event-grid{grid-template-columns:1fr}.hkpt-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hkpt-sponsor-logo{min-height:118px;padding:18px}.hkpt-logo-carousel{padding-inline:0}.hkpt-logo-carousel-arrow{display:none}.hkpt-sponsor-carousel .hkpt-sponsor-logo{flex-basis:76vw}}
@media(prefers-reduced-motion:reduce){.hkpt-home-slide,.hkpt-home-event-card,.hkpt-sponsor-logo,.hkpt-slider-dots button{transition:none}.hkpt-sponsor-carousel{scroll-behavior:auto}}

.hkpt-section-tabs a:hover,.hkpt-section-tabs a:focus-visible{background:var(--hkpt-accent);color:#fff}.hkpt-button:focus-visible,.hkpt-slider-arrow:focus-visible,.hkpt-logo-carousel-arrow:focus-visible,.hkpt-ranking-filters button:focus-visible{outline:3px solid var(--hkpt-accent-text);outline-offset:3px}

/* ========================================================================
   HKPT Core 2.0 — member, public player and live Event operations
   ======================================================================== */
.hkpt-member-registration,
.hkpt-dashboard-v2,
.hkpt-public-player,
.hkpt-live-registration,
.hkpt-scanner {
    --hkpt-gold: #DFA12E;
    --hkpt-gold-light: #F0C76D;
    --hkpt-surface: #18181b;
    --hkpt-surface-2: #222226;
    --hkpt-line: rgba(255,255,255,.11);
    --hkpt-copy: #e5e7eb;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    color: var(--hkpt-text);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.hkpt-member-registration *,
.hkpt-dashboard-v2 *,
.hkpt-public-player *,
.hkpt-live-registration *,
.hkpt-scanner * { box-sizing: border-box; }

.hkpt-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
}

.hkpt-member-registration label,
.hkpt-profile-form label,
.hkpt-live-registration label {
    display: grid;
    min-width: 0;
    gap: 7px;
    color: #d1d5db;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
}

.hkpt-member-registration input,
.hkpt-member-registration select,
.hkpt-profile-form input,
.hkpt-profile-form select,
.hkpt-live-registration input,
.hkpt-live-registration select {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid var(--hkpt-line);
    border-radius: 9px;
    outline: 0;
    background: #0d0d0f;
    color: #fff;
    font: inherit;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.hkpt-member-registration input:focus,
.hkpt-member-registration select:focus,
.hkpt-profile-form input:focus,
.hkpt-profile-form select:focus,
.hkpt-live-registration input:focus,
.hkpt-live-registration select:focus {
    border-color: var(--hkpt-gold);
    box-shadow: 0 0 0 3px rgba(206,164,91,.15);
    background: #111114;
}

.hkpt-member-registration .hkpt-checkbox {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    margin: 18px 0;
    font-weight: 400;
}

.hkpt-member-registration .hkpt-checkbox input {
    width: 18px;
    min-height: 18px;
    margin-top: 2px;
    accent-color: var(--hkpt-accent);
}

.hkpt-auth-intro,
.hkpt-help,
.hkpt-panel > p,
.hkpt-qr-panel > p {
    color: #a1a1aa;
    font-size: 14px;
    line-height: 22px;
}

.hkpt-profile-header,
.hkpt-public-player-header {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: clamp(20px,3vw,32px);
    overflow: hidden;
    border: 1px solid var(--hkpt-line);
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0, rgba(223,161,46,.15), transparent 36%),
        linear-gradient(135deg, #1d1d21, #121214);
}

.hkpt-profile-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 18px;
}

.hkpt-profile-identity img,
.hkpt-public-player-header > img {
    width: clamp(84px,10vw,128px);
    height: clamp(84px,10vw,128px);
    flex: 0 0 auto;
    object-fit: cover;
    border: 3px solid rgba(245,206,141,.65);
    border-radius: 50%;
    background: #0c0c0f;
    box-shadow: 0 12px 32px rgba(0,0,0,.35);
}

.hkpt-profile-identity > div,
.hkpt-public-player-header > div { min-width: 0; }

.hkpt-profile-header h1,
.hkpt-public-player-header h1 {
    margin: 4px 0 5px;
    overflow-wrap: anywhere;
    color: #fff;
    font-family: Oswald, ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(30px,4vw,44px);
    font-weight: 400;
    line-height: 1.08;
}

.hkpt-profile-header p,
.hkpt-public-player-header p {
    margin: 0;
    color: #a1a1aa;
}

.hkpt-profile-header a:not(.hkpt-button) {
    display: inline-block;
    margin-top: 8px;
    color: var(--hkpt-gold-light);
}

.hkpt-dashboard-v2 .hkpt-stat-grid { margin: 18px 0; }

.hkpt-dashboard-v2 .hkpt-stat {
    min-width: 0;
    border-color: var(--hkpt-line);
    border-radius: 12px;
    background: var(--hkpt-surface);
}

.hkpt-dashboard-v2 .hkpt-stat strong {
    display: block;
    margin-top: 5px;
    overflow-wrap: anywhere;
    color: #fff;
    font-family: Oswald, ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(25px,3vw,34px);
    font-weight: 400;
    line-height: 1.1;
}

.hkpt-dashboard-v2 .hkpt-panel,
.hkpt-public-player .hkpt-panel,
.hkpt-live-registration .hkpt-panel {
    min-width: 0;
    border-color: var(--hkpt-line);
    border-radius: 12px;
    background: var(--hkpt-surface);
    box-shadow: 0 14px 34px rgba(0,0,0,.18);
}

.hkpt-dashboard-v2 .hkpt-panel h2,
.hkpt-public-player .hkpt-panel h2,
.hkpt-live-registration .hkpt-panel h2 {
    margin: 0 0 16px;
    color: #fff;
    font-family: Oswald, ui-sans-serif, system-ui, sans-serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 30px;
}

.hkpt-dashboard-primary {
    grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr);
    margin-bottom: 20px;
}

.hkpt-qr-panel { text-align: center; }
#hkpt-member-qr { max-width: 100%; }
#hkpt-member-qr canvas,
#hkpt-member-qr img {
    display: block;
    width: min(100%,220px) !important;
    height: auto !important;
    margin: 0 auto;
    border-radius: 8px;
}

.hkpt-profile-form { display: grid; gap: 14px; }

.hkpt-locked-fields {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin: 20px 0 0;
}

.hkpt-locked-fields > div {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--hkpt-line);
    border-radius: 9px;
    background: rgba(0,0,0,.18);
}

.hkpt-locked-fields dt {
    color: #a1a1aa;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.hkpt-locked-fields dd {
    margin: 4px 0 0;
    overflow-wrap: anywhere;
    color: #fff;
    font-size: 14px;
}

.hkpt-public-profile-page { padding-block: clamp(28px,5vw,68px) clamp(84px,9vw,130px); }
.hkpt-public-player { display: grid; gap: 20px; }

.hkpt-public-player-header {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
}

.hkpt-favorite-hand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    padding: 8px 11px;
    border: 1px solid var(--hkpt-line);
    border-radius: 8px;
    background: rgba(0,0,0,.22);
}

.hkpt-favorite-hand span { color: #a1a1aa; font-size: 12px; }
.hkpt-favorite-hand strong { color: var(--hkpt-gold-light); font-size: 18px; }

.hkpt-public-rank {
    display: grid;
    min-width: 130px;
    align-content: center;
    justify-items: end;
    gap: 4px;
    text-align: right;
}

.hkpt-public-rank span { color: #a1a1aa; font-size: 12px; }
.hkpt-public-rank strong {
    color: var(--hkpt-gold-light);
    font-family: Oswald, ui-sans-serif, system-ui, sans-serif;
    font-size: 42px;
    font-weight: 400;
    line-height: 1;
}

.hkpt-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-radius: 10px;
    -webkit-overflow-scrolling: touch;
}

.hkpt-dashboard-v2 .hkpt-table,
.hkpt-public-player .hkpt-table {
    min-width: 660px;
    border: 1px solid var(--hkpt-line);
    background: #111114;
}

.hkpt-dashboard-v2 .hkpt-table th,
.hkpt-public-player .hkpt-table th { background: #222226; }

.hkpt-dashboard-v2 .hkpt-table tr:last-child td,
.hkpt-public-player .hkpt-table tr:last-child td { border-bottom: 0; }

.hkpt-dashboard-v2 .hkpt-table a,
.hkpt-public-player .hkpt-table a { color: var(--hkpt-gold-light); }

.hkpt-live-registration {
    display: grid;
    gap: 18px;
    max-width: 980px;
    margin-inline: auto;
}

.hkpt-scanner-event,
.hkpt-member-found {
    display: grid;
    gap: 12px;
    padding: 18px;
    border: 1px solid var(--hkpt-line);
    border-radius: 12px;
    background: var(--hkpt-surface);
}

.hkpt-member-found {
    grid-template-columns: 72px minmax(0,1fr);
    align-items: center;
}

.hkpt-member-found img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 50%;
}

.hkpt-notice {
    border: 1px solid var(--hkpt-line);
    border-left: 4px solid var(--hkpt-gold);
}
.hkpt-notice-error { border-left-color: #ef4444; }
.hkpt-notice-success { border-left-color: #22c55e; }

@media (max-width: 820px) {
    .hkpt-dashboard-primary,
    .hkpt-dashboard-grid { grid-template-columns: 1fr; }
    .hkpt-profile-header { align-items: flex-start; }
    .hkpt-public-player-header {
        grid-template-columns: auto minmax(0,1fr);
        align-items: center;
    }
    .hkpt-public-rank {
        grid-column: 1 / -1;
        width: 100%;
        min-width: 0;
        grid-template-columns: 1fr auto;
        align-items: center;
        justify-items: start;
        padding-top: 14px;
        border-top: 1px solid var(--hkpt-line);
        text-align: left;
    }
    .hkpt-public-rank strong { justify-self: end; }
}

@media (max-width: 620px) {
    .hkpt-form-grid,
    .hkpt-locked-fields { grid-template-columns: 1fr; }
    .hkpt-auth-card { padding: 20px 16px; }
    .hkpt-profile-header {
        flex-direction: column;
        align-items: stretch;
    }
    .hkpt-profile-header .hkpt-button { width: 100%; }
    .hkpt-profile-identity,
    .hkpt-public-player-header {
        align-items: flex-start;
    }
    .hkpt-profile-identity img,
    .hkpt-public-player-header > img {
        width: 76px;
        height: 76px;
    }
    .hkpt-public-player-header {
        grid-template-columns: 76px minmax(0,1fr);
        gap: 14px;
        padding: 18px;
    }
    .hkpt-favorite-hand {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
    .hkpt-dashboard-v2 .hkpt-panel,
    .hkpt-public-player .hkpt-panel { padding: 17px 14px; }
    .hkpt-member-found { grid-template-columns: 56px minmax(0,1fr); }
    .hkpt-member-found img { width: 56px; height: 56px; }
}

@media (prefers-reduced-motion: reduce) {
    .hkpt-member-registration *,
    .hkpt-dashboard-v2 *,
    .hkpt-public-player *,
    .hkpt-live-registration * { scroll-behavior: auto !important; transition: none !important; }
}


/* Member-login registration CTA — v2.0.1 */
.hkpt-member-login-form .hkpt-auth-primary {
    width: 100%;
    margin-top: 4px;
}

.hkpt-auth-forgot {
    margin: 13px 0 0;
    text-align: center;
}

.hkpt-auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0 20px;
    color: #8f8f99;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hkpt-auth-divider::before,
.hkpt-auth-divider::after {
    content: "";
    height: 1px;
    flex: 1 1 auto;
    background: var(--hkpt-border);
}

.hkpt-auth-register-cta {
    padding: 20px;
    border: 1px solid rgba(245,206,141,.26);
    border-radius: 12px;
    background:
        radial-gradient(circle at 100% 0, rgba(223,161,46,.12), transparent 42%),
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
    text-align: center;
}

.hkpt-auth-register-cta h3 {
    margin: 0 0 7px;
    color: var(--hkpt-text);
    font-size: 20px;
    line-height: 1.25;
}

.hkpt-auth-register-cta p {
    margin: 0 0 16px;
    color: #a1a1aa;
    font-size: 14px;
    line-height: 1.55;
}

.hkpt-auth-register-cta .hkpt-button {
    width: 100%;
}

.hkpt-button-outline {
    border: 1px solid rgba(255,255,255,.28);
    background: transparent;
    color: #fff;
}

.hkpt-button-outline:hover,
.hkpt-button-outline:focus-visible {
    border-color: var(--hkpt-accent);
    background: var(--hkpt-accent);
    color: #fff;
}

.hkpt-auth-switch {
    margin: 20px 0 0;
    color: #a1a1aa;
    font-size: 13px;
    text-align: center;
}

.hkpt-auth-switch a,
.hkpt-auth-forgot a {
    color: #fff;
    font-weight: 700;
}


/* HKPT Core 2.0.2 — reliable member authentication flow */
.hkpt-member-login-form button[disabled] {
    cursor: wait;
    opacity: .72;
}

.hkpt-auth-status {
    min-height: 20px;
    margin: 10px 0 0;
    color: var(--hkpt-muted);
    font-size: 13px;
    line-height: 20px;
    text-align: center;
}

.hkpt-registration-login {
    margin: 18px 0 0;
    padding-top: 17px;
    border-top: 1px solid var(--hkpt-border);
    text-align: center;
}


/* HKPT Core 2.0.3 — member dashboard section spacing and breakpoint containment */
.hkpt-dashboard-v2 {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.hkpt-dashboard-sections {
    display: grid;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(18px, 1.8vw, 24px);
}

.hkpt-dashboard-sections > .hkpt-panel {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
}

.hkpt-dashboard-sections .hkpt-table-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.hkpt-dashboard-sections .hkpt-table {
    max-width: none;
}

.hkpt-dashboard-sections h2,
.hkpt-dashboard-sections th,
.hkpt-dashboard-sections td {
    overflow-wrap: anywhere;
}

@media (max-width: 820px) {
    .hkpt-dashboard-sections {
        gap: 18px;
    }
}

@media (max-width: 620px) {
    .hkpt-dashboard-sections {
        gap: 16px;
    }

    .hkpt-dashboard-sections > .hkpt-panel {
        padding: 17px 14px;
    }

    .hkpt-dashboard-sections .hkpt-table th,
    .hkpt-dashboard-sections .hkpt-table td {
        padding: 12px 13px;
    }
}

@media (max-width: 420px) {
    .hkpt-dashboard-sections {
        gap: 14px;
    }

    .hkpt-dashboard-sections > .hkpt-panel {
        padding: 15px 12px;
        border-radius: 10px;
    }
}


/* ==========================================================================
   HKPT Core 2.1.0 — Event archive and single Event experience
   Responsive reference-informed layout with original HKPT styling.
   ========================================================================== */

.hkpt-event-single-v2 {
    --hkpt-event-bg: #0c0c0f;
    --hkpt-event-panel: #18181b;
    --hkpt-event-panel-2: #27272a;
    --hkpt-event-panel-3: #3f3f46;
    --hkpt-event-copy: #f4f4f5;
    --hkpt-event-muted: #a1a1aa;
    --hkpt-event-gold: #DFA12E;
    --hkpt-event-gold-light: #F0C76D;
    --hkpt-event-line: rgba(255,255,255,.11);
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 clamp(70px, 8vw, 112px);
    overflow: clip;
    background: var(--hkpt-event-bg);
    color: var(--hkpt-event-copy);
}

.hkpt-event-container {
    width: min(100%, 1280px);
    margin-inline: auto;
    padding-inline: clamp(16px, 5.55vw, 80px);
}

.hkpt-event-icon-button {
    display: inline-flex;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    background: rgba(63,63,70,.72);
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    backdrop-filter: blur(12px);
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.hkpt-event-icon-button:hover,
.hkpt-event-icon-button:focus-visible {
    border-color: rgba(245,206,141,.55);
    background: rgba(122,90,47,.9);
    color: #fff;
    transform: translateY(-1px);
}

.hkpt-event-icon-button svg {
    width: 20px;
    height: 20px;
}

.hkpt-event-sticky-bar {
    position: fixed;
    z-index: 990;
    top: var(--hkpt-event-sticky-top, var(--site-header-height, 78px));
    right: 0;
    left: 0;
    border-bottom: 1px solid var(--hkpt-event-line);
    background: rgba(12,12,15,.96);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-115%);
    backdrop-filter: blur(18px);
    transition: opacity .18s ease, transform .18s ease;
}

.hkpt-event-sticky-bar.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.hkpt-event-sticky-inner {
    display: grid;
    min-height: 52px;
    grid-template-columns: 40px minmax(0,1fr) 40px;
    align-items: center;
    gap: 14px;
    padding-block: 6px;
}

.hkpt-event-sticky-inner strong {
    overflow: hidden;
    font-family: Oswald, Inter, sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hkpt-event-sticky-inner .hkpt-event-icon-button {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
}

.hkpt-event-hero-v2 {
    display: grid;
    width: min(100%, 1280px);
    min-height: 448px;
    margin-inline: auto;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.35fr);
    background: var(--hkpt-event-bg);
}

.hkpt-event-hero-media {
    position: relative;
    min-height: 448px;
    grid-column: 2;
    grid-row: 1;
    overflow: hidden;
    border-radius: 0 8px 8px 0;
    background: #111114;
}

.hkpt-event-hero-image {
    width: 100%;
    height: 100%;
    min-height: 448px;
    object-fit: cover;
    object-position: center;
}

.hkpt-event-hero-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 448px;
    place-content: center;
    gap: 8px;
    background:
        radial-gradient(circle at 50% 38%, rgba(206,164,91,.22), transparent 24%),
        linear-gradient(135deg, #242428, #0c0c0f);
    color: #fff;
    text-align: center;
}

.hkpt-event-hero-placeholder span {
    font-family: Oswald, sans-serif;
    font-size: clamp(46px, 7vw, 84px);
    font-weight: 800;
    letter-spacing: -.04em;
}

.hkpt-event-hero-placeholder small {
    color: var(--hkpt-event-muted);
}

.hkpt-event-hero-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, var(--hkpt-event-bg) 0, rgba(12,12,15,.72) 6%, rgba(12,12,15,.08) 36%, rgba(12,12,15,.08) 100%),
        linear-gradient(0deg, rgba(0,0,0,.24), transparent 48%);
    pointer-events: none;
}

.hkpt-event-hero-summary {
    position: relative;
    z-index: 2;
    display: flex;
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    flex-direction: column;
    justify-content: center;
    padding: 34px clamp(32px, 4vw, 72px) 34px clamp(16px, 5.55vw, 80px);
}

.hkpt-event-back-link {
    display: inline-flex;
    width: max-content;
    align-items: center;
    gap: 8px;
    margin-bottom: 28px;
    color: #d4d4d8;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.hkpt-event-back-link:hover {
    color: var(--hkpt-event-gold-light);
}

.hkpt-event-back-link svg {
    width: 18px;
    height: 18px;
}

.hkpt-event-title-row {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.hkpt-event-title-row > div {
    min-width: 0;
}

.hkpt-event-series-name {
    display: inline-block;
    max-width: 100%;
    margin: 0 10px 8px 0;
    overflow: hidden;
    color: var(--hkpt-event-gold);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.hkpt-event-number {
    display: inline-block;
    margin-bottom: 8px;
    color: #a1a1aa;
    font-size: 13px;
    font-weight: 700;
}

.hkpt-event-title-row h1 {
    max-width: 590px;
    margin: 0;
    color: #fff;
    font-family: Oswald, Inter, sans-serif;
    font-size: clamp(28px, 2.4vw, 38px);
    font-weight: 650;
    line-height: 1.14;
    letter-spacing: -.02em;
    text-wrap: balance;
}

.hkpt-event-desktop-share {
    margin-top: 2px;
}

.hkpt-event-facts-v2 {
    display: grid;
    max-width: 460px;
    margin: 30px 0 0;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 16px 24px;
}

.hkpt-event-facts-v2 > div {
    min-width: 0;
}

.hkpt-event-facts-v2 dt {
    margin: 0 0 4px;
    color: #a1a1aa;
    font-size: 12px;
    font-weight: 500;
}

.hkpt-event-facts-v2 dd {
    min-width: 0;
    margin: 0;
    color: #f4f4f5;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.hkpt-event-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 4px 9px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: #f4f4f5;
    font-size: 11px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
}

.hkpt-event-status-badge.is-live,
.hkpt-event-status-badge.is-running {
    border-color: rgba(34,197,94,.34);
    background: rgba(34,197,94,.14);
    color: #86efac;
}

.hkpt-event-status-badge.is-completed,
.hkpt-event-status-badge.is-finished {
    color: #d4d4d8;
}

.hkpt-event-status-badge.is-cancelled {
    border-color: rgba(239,68,68,.38);
    background: rgba(239,68,68,.13);
    color: #fca5a5;
}

.hkpt-event-secondary-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--hkpt-event-line);
}

.hkpt-event-secondary-facts > span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
    color: #d4d4d8;
}

.hkpt-event-secondary-facts svg {
    width: 18px;
    height: 18px;
    color: var(--hkpt-event-gold);
}

.hkpt-event-secondary-facts small,
.hkpt-event-secondary-facts strong {
    display: block;
}

.hkpt-event-secondary-facts small {
    color: #71717a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hkpt-event-secondary-facts strong {
    max-width: 230px;
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hkpt-event-mobile-actions {
    position: absolute;
    z-index: 3;
    top: 14px;
    right: 14px;
    left: 14px;
    display: none;
    align-items: center;
    justify-content: space-between;
}

.hkpt-event-content-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: clamp(48px, 7.5vw, 96px);
    padding-top: clamp(48px, 6vw, 80px);
    align-items: start;
}

.hkpt-event-section-heading {
    margin-bottom: 16px;
}

.hkpt-event-section-heading > span {
    display: block;
    margin-bottom: 3px;
    color: var(--hkpt-event-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hkpt-event-section-heading h2,
.hkpt-event-copy-section > h2 {
    margin: 0;
    color: #f4f4f5;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
}

.hkpt-event-structure-table {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 7px;
    background: var(--hkpt-event-panel-2);
}

.hkpt-event-structure-head,
.hkpt-event-structure-row {
    display: grid;
    grid-template-columns: minmax(62px, .9fr) minmax(88px, 1fr) minmax(180px, 2fr);
    align-items: center;
    gap: 10px;
}

.hkpt-event-structure-head {
    min-height: 42px;
    padding: 10px 12px;
    background: var(--hkpt-event-panel-3);
    color: #f4f4f5;
    font-size: 11px;
    font-weight: 700;
}

.hkpt-event-structure-head span:last-child,
.hkpt-event-structure-row span:last-child {
    text-align: right;
}

.hkpt-event-structure-row {
    min-height: 32px;
    padding: 7px 12px;
    color: #f4f4f5;
    font-size: 12px;
    line-height: 1.5;
}

.hkpt-event-structure-row:nth-of-type(even) {
    background: rgba(255,255,255,.018);
}

.hkpt-event-structure-row span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.hkpt-event-structure-marker {
    display: grid;
    min-height: 40px;
    place-items: center;
    padding: 9px 12px;
    background: #18181b;
    color: #e4e4e7;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

.hkpt-event-structure-marker.is-registration {
    background: #3f3f46;
    color: #F0C76D;
}

.hkpt-event-empty-state {
    padding: 22px;
    border: 1px solid var(--hkpt-event-line);
    border-radius: 8px;
    background: var(--hkpt-event-panel);
    color: var(--hkpt-event-muted);
}

.hkpt-event-information {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 30px;
}

.hkpt-event-buyin-card {
    overflow: hidden;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 7px;
    background: var(--hkpt-event-panel-2);
}

.hkpt-event-buyin-total,
.hkpt-event-buyin-row {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
}

.hkpt-event-buyin-total {
    padding: 4px 4px 11px;
    color: var(--hkpt-event-gold-light);
}

.hkpt-event-buyin-total > span {
    font-size: 14px;
    font-weight: 650;
}

.hkpt-event-buyin-total strong {
    font-size: 20px;
    line-height: 1.2;
}

.hkpt-event-buyin-total small,
.hkpt-event-buyin-row small {
    color: #a1a1aa;
    font-size: .72em;
    font-weight: 500;
}

.hkpt-event-buyin-row {
    padding: 9px 4px;
    border-top: 1px solid rgba(255,255,255,.11);
    color: #e4e4e7;
    font-size: 13px;
}

.hkpt-event-buyin-row strong {
    color: #f4f4f5;
    text-align: right;
}

.hkpt-event-buyin-note {
    margin: 8px 4px 2px;
    color: #71717a;
    font-size: 10px;
    line-height: 1.5;
}

.hkpt-event-copy-section {
    padding-top: 2px;
}

.hkpt-event-copy-section > h2 {
    margin-bottom: 13px;
}

.hkpt-event-richtext {
    color: #d4d4d8;
    font-size: 14px;
    line-height: 1.72;
}

.hkpt-event-richtext > :first-child {
    margin-top: 0;
}

.hkpt-event-richtext > :last-child {
    margin-bottom: 0;
}

.hkpt-event-richtext p,
.hkpt-event-richtext ul,
.hkpt-event-richtext ol {
    margin-block: 0 12px;
}

.hkpt-event-richtext ul,
.hkpt-event-richtext ol {
    padding-left: 20px;
}

.hkpt-event-richtext li + li {
    margin-top: 6px;
}

.hkpt-event-richtext a,
.hkpt-event-text-link {
    color: #fff;
    font-weight: 700;
    text-decoration-color: rgba(255,255,255,.55);
    text-underline-offset: 3px;
}

.hkpt-event-text-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 7px;
    font-size: 13px;
}

.hkpt-event-text-link svg {
    width: 16px;
    height: 16px;
}

.hkpt-event-disclaimer {
    padding-top: 4px;
    border-top: 1px solid var(--hkpt-event-line);
}

.hkpt-event-wide-section {
    padding-top: clamp(54px, 7vw, 86px);
}

.hkpt-results-v2 .hkpt-table-wrap {
    border: 1px solid var(--hkpt-event-line);
    border-radius: 8px;
}

.hkpt-event-results-table {
    border-radius: 0;
}

.hkpt-event-results-table a {
    color: #fff;
    font-weight: 700;
}

.hkpt-event-prize-text {
    margin-top: 18px;
    padding: 18px 20px;
    border: 1px solid rgba(206,164,91,.26);
    border-radius: 8px;
    background: rgba(206,164,91,.07);
}

.hkpt-event-prize-text h3 {
    margin: 0 0 8px;
    color: var(--hkpt-event-gold-light);
}

.hkpt-event-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
}

.hkpt-event-gallery-item {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 8px;
    aspect-ratio: 3/2;
    background: var(--hkpt-event-panel);
    cursor: zoom-in;
}

.hkpt-event-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease, opacity .25s ease;
}

.hkpt-event-gallery-item:hover img,
.hkpt-event-gallery-item:focus-visible img {
    opacity: .9;
    transform: scale(1.025);
}

.hkpt-event-share-toast {
    position: fixed;
    z-index: 1200;
    right: 20px;
    bottom: 24px;
    max-width: min(360px, calc(100vw - 32px));
    padding: 12px 16px;
    border: 1px solid var(--hkpt-event-line);
    border-radius: 8px;
    background: #27272a;
    color: #fff;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .18s ease, transform .18s ease;
}

.hkpt-event-share-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

body.hkpt-lightbox-open {
    overflow: hidden;
}

.hkpt-event-lightbox {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 40px 80px;
    background: rgba(0,0,0,.94);
}

.hkpt-event-lightbox.is-open {
    display: flex;
}

.hkpt-event-lightbox figure {
    max-width: min(1200px, 100%);
    max-height: calc(100vh - 80px);
    margin: 0;
    text-align: center;
}

.hkpt-event-lightbox img {
    max-width: 100%;
    max-height: calc(100vh - 120px);
    object-fit: contain;
}

.hkpt-event-lightbox figcaption {
    margin-top: 10px;
    color: #d4d4d8;
    font-size: 13px;
}

.hkpt-event-lightbox-close,
.hkpt-event-lightbox-nav {
    position: absolute;
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(39,39,42,.8);
    color: #fff;
    cursor: pointer;
}

.hkpt-event-lightbox-close {
    top: 20px;
    right: 20px;
}

.hkpt-event-lightbox-nav {
    top: 50%;
    transform: translateY(-50%);
}

.hkpt-event-lightbox-nav.is-prev {
    left: 20px;
}

.hkpt-event-lightbox-nav.is-next {
    right: 20px;
}

/* Event archive cards and filters */
.hkpt-event-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 22px;
}

.hkpt-event-archive-card {
    display: flex;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    background: #18181b;
    color: #f4f4f5;
    flex-direction: column;
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.hkpt-event-archive-card:hover,
.hkpt-event-archive-card:focus-visible {
    border-color: rgba(206,164,91,.5);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 18px 50px rgba(0,0,0,.24);
}

.hkpt-event-archive-media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/2;
    background: #111114;
}

.hkpt-event-archive-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.hkpt-event-archive-card:hover .hkpt-event-archive-media img {
    transform: scale(1.035);
}

.hkpt-event-archive-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,0,0,.66), transparent 55%);
    pointer-events: none;
}

.hkpt-event-archive-media .hkpt-event-status-badge {
    position: absolute;
    z-index: 2;
    right: 12px;
    bottom: 12px;
}

.hkpt-event-archive-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background: radial-gradient(circle, rgba(206,164,91,.22), transparent 45%), #111114;
}

.hkpt-event-archive-placeholder span {
    font-family: Oswald, sans-serif;
    font-size: 42px;
    font-weight: 800;
}

.hkpt-event-archive-body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    padding: 20px;
}

.hkpt-event-archive-kicker {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--hkpt-event-gold, #DFA12E);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.hkpt-event-archive-kicker span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hkpt-event-archive-body h2 {
    margin: 10px 0 6px;
    color: #fff;
    font-family: Oswald, sans-serif;
    font-size: 22px;
    line-height: 1.22;
}

.hkpt-event-archive-type {
    margin: 0 0 18px;
    color: #a1a1aa;
    font-size: 12px;
}

.hkpt-event-archive-facts {
    display: grid;
    margin: auto 0 0;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}

.hkpt-event-archive-facts dt {
    color: #71717a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hkpt-event-archive-facts dd {
    margin: 3px 0 0;
    color: #e4e4e7;
    font-size: 13px;
    font-weight: 650;
}

.hkpt-event-archive-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    color: var(--hkpt-event-gold-light, #F0C76D);
    font-size: 13px;
    font-weight: 750;
}

.hkpt-event-archive-link svg {
    width: 16px;
    height: 16px;
}

.hkpt-event-filter-bar {
    display: grid;
    margin: 0 0 32px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    background: #18181b;
    grid-template-columns: minmax(220px,1.3fr) repeat(3,minmax(145px,.75fr)) auto auto;
    align-items: end;
    gap: 12px;
}

.hkpt-event-filter-bar label {
    display: grid;
    gap: 6px;
    color: #a1a1aa;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.hkpt-event-filter-bar input,
.hkpt-event-filter-bar select {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 7px;
    background: #0c0c0f;
    color: #fff;
    font-size: 14px;
    letter-spacing: 0;
    text-transform: none;
}

.hkpt-event-filter-bar .hkpt-button {
    min-height: 42px;
    white-space: nowrap;
}

.hkpt-event-filter-reset {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 7px;
    color: #d4d4d8;
    text-decoration: none;
}

.hkpt-event-archive-empty {
    padding: 34px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    background: #18181b;
    color: #a1a1aa;
    text-align: center;
}

@media (max-width: 1100px) {
    .hkpt-event-container {
        padding-inline: clamp(24px, 6.25vw, 64px);
    }

    .hkpt-event-hero-summary {
        padding-left: clamp(24px, 6.25vw, 64px);
        padding-right: 36px;
    }

    .hkpt-event-content-grid {
        gap: 64px;
    }

    .hkpt-event-archive-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .hkpt-event-filter-bar {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .hkpt-event-filter-bar > :first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .hkpt-event-sticky-bar {
        top: var(--hkpt-event-sticky-top, var(--site-header-height, 70px));
        z-index: 1100;
    }

    .hkpt-event-container {
        padding-inline: 16px;
    }

    .hkpt-event-hero-v2 {
        display: flex;
        min-height: 0;
        flex-direction: column;
    }

    .hkpt-event-hero-media {
        min-height: 0;
        border-radius: 0;
        aspect-ratio: 16 / 9;
        order: 1;
    }

    .hkpt-event-hero-image,
    .hkpt-event-hero-placeholder {
        min-height: 0;
        height: 100%;
    }

    .hkpt-event-hero-shade {
        background: linear-gradient(0deg, rgba(0,0,0,.58), transparent 50%);
    }

    .hkpt-event-mobile-actions {
        display: flex;
    }

    .hkpt-event-hero-summary {
        display: block;
        order: 2;
        padding: 20px 16px 30px;
    }

    .hkpt-event-back-link,
    .hkpt-event-desktop-share {
        display: none;
    }

    .hkpt-event-series-name,
    .hkpt-event-number {
        margin-bottom: 5px;
    }

    .hkpt-event-title-row h1 {
        font-size: clamp(24px, 7vw, 32px);
        line-height: 1.16;
    }

    .hkpt-event-facts-v2 {
        max-width: none;
        margin-top: 24px;
        gap: 16px;
    }

    .hkpt-event-secondary-facts {
        margin-top: 20px;
    }

    .hkpt-event-content-grid {
        grid-template-columns: 1fr;
        gap: 46px;
        padding-top: 42px;
    }

    .hkpt-event-information {
        gap: 32px;
    }

    .hkpt-event-wide-section {
        padding-top: 54px;
    }

    .hkpt-event-gallery-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .hkpt-event-lightbox {
        padding: 56px 12px 20px;
    }

    .hkpt-event-lightbox-nav {
        top: auto;
        bottom: 18px;
        transform: none;
    }

    .hkpt-event-lightbox-nav.is-prev {
        left: calc(50% - 54px);
    }

    .hkpt-event-lightbox-nav.is-next {
        right: calc(50% - 54px);
    }

    .hkpt-event-lightbox-close {
        top: 10px;
        right: 10px;
    }

    .hkpt-event-archive-grid {
        grid-template-columns: 1fr;
    }

    .hkpt-event-filter-bar {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .hkpt-event-filter-bar > :first-child {
        grid-column: auto;
    }
}

@media (max-width: 430px) {
    .hkpt-event-sticky-inner {
        gap: 9px;
    }

    .hkpt-event-title-row h1 {
        font-size: 24px;
    }

    .hkpt-event-facts-v2 {
        gap: 14px 16px;
    }

    .hkpt-event-facts-v2 dt {
        font-size: 11px;
    }

    .hkpt-event-facts-v2 dd {
        font-size: 13px;
    }

    .hkpt-event-structure-head,
    .hkpt-event-structure-row {
        grid-template-columns: 54px 78px minmax(154px,1fr);
        gap: 7px;
        padding-inline: 10px;
    }

    .hkpt-event-structure-head {
        font-size: 10px;
    }

    .hkpt-event-structure-row {
        font-size: 11px;
    }

    .hkpt-event-buyin-total strong {
        font-size: 18px;
    }

    .hkpt-event-gallery-grid {
        grid-template-columns: 1fr;
    }

    .hkpt-event-share-toast {
        right: 16px;
        bottom: 82px;
        left: 16px;
        max-width: none;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hkpt-event-single-v2 *,
    .hkpt-event-archive-card {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}

/* Event prize presentation */
.hkpt-event-prize-section {
    padding: 18px;
    border: 1px solid rgba(206,164,91,.24);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(206,164,91,.1), rgba(255,255,255,.025));
}

.hkpt-event-prize-section > h2 {
    color: var(--hkpt-event-gold-light, #F0C76D);
}

.hkpt-event-prize-section .hkpt-event-richtext {
    color: #f4f4f5;
}

/* ========================================================================
   HKPT Core 2.2.1 — sleek authentication experience
   ======================================================================== */
.hkpt-auth-shell {
    --hkpt-auth-gold: #DFA12E;
    --hkpt-auth-gold-light: #F0C76D;
    --hkpt-auth-red: #DFA12E;
    --hkpt-auth-surface: rgba(20,20,23,.96);
    --hkpt-auth-line: rgba(255,255,255,.11);
    position: relative;
    display: grid;
    width: 100%;
    min-height: clamp(560px, 70svh, 760px);
    place-items: center;
    overflow: hidden;
    padding: clamp(34px, 6vw, 82px) 16px;
    color: #f7f7f8;
    isolation: isolate;
}

.hkpt-auth-shell::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        radial-gradient(circle at 18% 10%, rgba(206,164,91,.11), transparent 30%),
        radial-gradient(circle at 88% 82%, rgba(223,161,46,.09), transparent 28%);
    pointer-events: none;
}

.hkpt-auth-shell::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: min(680px, 88vw);
    height: min(680px, 88vw);
    border: 1px solid rgba(255,255,255,.025);
    border-radius: 50%;
    box-shadow: 0 0 100px rgba(0,0,0,.35) inset;
    pointer-events: none;
}

.hkpt-auth-stage {
    width: min(100%, 430px);
    min-width: 0;
}

.hkpt-auth-shell-register .hkpt-auth-stage { width: min(100%, 560px); }

.hkpt-auth-brand {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin: 0 0 18px;
    text-align: center;
}

.hkpt-auth-brand .custom-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.hkpt-auth-brand .custom-logo {
    display: block;
    width: auto;
    max-width: min(210px, 58vw);
    height: 46px;
    object-fit: contain;
}

.hkpt-auth-wordmark {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
}

.hkpt-auth-wordmark strong {
    color: var(--hkpt-auth-red);
    font-family: Oswald, ui-sans-serif, system-ui, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.03em;
}

.hkpt-auth-wordmark span {
    color: #d4d4d8;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
}

.hkpt-auth-shell .hkpt-notice {
    width: 100%;
    margin: 0 0 12px;
    padding: 11px 13px;
    border-width: 1px;
    border-left-width: 3px;
    border-radius: 9px;
    background: rgba(24,24,27,.96);
    box-shadow: 0 10px 30px rgba(0,0,0,.22);
    font-size: 13px;
    line-height: 1.55;
}

.hkpt-auth-shell .hkpt-auth-card {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(22px, 3.2vw, 30px);
    overflow: hidden;
    border: 1px solid var(--hkpt-auth-line);
    border-radius: 16px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.025), transparent 30%),
        var(--hkpt-auth-surface);
    box-shadow: 0 28px 76px rgba(0,0,0,.38);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.hkpt-auth-shell .hkpt-auth-card::before {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin: -1px 0 20px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--hkpt-auth-gold), var(--hkpt-auth-red));
}

.hkpt-auth-heading { margin: 0 0 22px; }

.hkpt-auth-kicker {
    display: block;
    margin: 0 0 7px;
    color: var(--hkpt-auth-gold-light);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hkpt-auth-shell .hkpt-auth-heading h2,
.hkpt-auth-shell .hkpt-auth-session h2 {
    margin: 0;
    color: #fff;
    font-family: Oswald, ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(28px, 5vw, 34px);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -.015em;
}

.hkpt-auth-heading p,
.hkpt-auth-session p {
    margin: 9px 0 0;
    color: #a1a1aa;
    font-size: 13px;
    line-height: 1.65;
}

.hkpt-auth-fields,
.hkpt-auth-register-grid {
    display: grid;
    gap: 14px;
}

.hkpt-auth-register-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    column-gap: 14px;
}

.hkpt-auth-wide { grid-column: 1 / -1; }

.hkpt-auth-shell .hkpt-auth-card label:not(.hkpt-checkbox) {
    display: grid;
    gap: 7px;
    margin: 0;
    color: #d4d4d8;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.hkpt-auth-shell .hkpt-auth-card label > span:first-child {
    display: block;
}

.hkpt-auth-shell .hkpt-auth-card input[type="text"],
.hkpt-auth-shell .hkpt-auth-card input[type="email"],
.hkpt-auth-shell .hkpt-auth-card input[type="password"] {
    width: 100%;
    min-height: 45px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px;
    outline: 0;
    background: rgba(5,5,7,.74);
    color: #fff;
    font: 500 14px/1.3 Inter, ui-sans-serif, system-ui, sans-serif;
    box-shadow: none;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.hkpt-auth-shell .hkpt-auth-card input::placeholder { color: #71717a; }

.hkpt-auth-shell .hkpt-auth-card input:focus {
    border-color: var(--hkpt-auth-gold);
    background: #0b0b0e;
    box-shadow: 0 0 0 3px rgba(206,164,91,.13);
}

.hkpt-auth-password {
    position: relative;
    display: block;
}

.hkpt-auth-password input { padding-right: 62px !important; }

.hkpt-password-toggle {
    position: absolute;
    top: 50%;
    right: 7px;
    min-width: 46px;
    padding: 7px 8px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #a1a1aa;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.hkpt-password-toggle:hover,
.hkpt-password-toggle:focus-visible {
    background: rgba(255,255,255,.07);
    color: #fff;
    outline: 0;
}

.hkpt-auth-register-grid small {
    margin-top: -2px;
    color: #71717a;
    font-size: 11px;
    font-weight: 500;
}

.hkpt-auth-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 0 17px;
}

.hkpt-auth-shell .hkpt-checkbox {
    display: inline-flex !important;
    min-width: 0;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #a1a1aa;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    cursor: pointer;
}

.hkpt-auth-shell .hkpt-checkbox input {
    width: 16px;
    height: 16px;
    min-height: 16px;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
    accent-color: var(--hkpt-auth-red);
}

.hkpt-auth-meta > a,
.hkpt-auth-footer a,
.hkpt-auth-role-switch {
    color: var(--hkpt-auth-gold-light);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.hkpt-auth-meta > a:hover,
.hkpt-auth-footer a:hover,
.hkpt-auth-role-switch:hover { color: #fff; }

.hkpt-auth-shell .hkpt-auth-primary {
    width: 100%;
    min-height: 45px;
    margin: 0;
    padding: 10px 16px;
    border-radius: 9px;
    background: var(--hkpt-auth-red);
    box-shadow: 0 10px 24px rgba(223,161,46,.18);
    font-size: 13px;
    letter-spacing: .01em;
}

.hkpt-auth-shell .hkpt-auth-primary:hover,
.hkpt-auth-shell .hkpt-auth-primary:focus-visible {
    background: #ec222a;
    box-shadow: 0 12px 30px rgba(223,161,46,.28);
    outline: 2px solid rgba(245,206,141,.7);
    outline-offset: 2px;
}

.hkpt-auth-status {
    min-height: 0;
    margin: 9px 0 0;
    color: #a1a1aa;
    font-size: 11px;
    line-height: 1.4;
    text-align: center;
}

.hkpt-auth-status:empty { display: none; }

.hkpt-auth-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 20px 0 0;
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: #8f8f99;
    font-size: 12px;
    text-align: center;
}

.hkpt-auth-role-switch {
    display: flex;
    width: max-content;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 14px auto 0;
    color: #a1a1aa;
}

.hkpt-auth-role-switch span {
    color: var(--hkpt-auth-gold);
    transition: transform .16s ease;
}

.hkpt-auth-role-switch:hover span { transform: translateX(3px); }

.hkpt-auth-terms { margin: 16px 0 !important; }

.hkpt-auth-session .hkpt-auth-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.hkpt-auth-session .hkpt-button { min-height: 42px; }

.hkpt-auth-shell .hkpt-auth-card button[disabled] {
    cursor: wait;
    opacity: .68;
}

@media (max-width: 620px) {
    .hkpt-auth-shell {
        min-height: auto;
        padding: 28px 12px 54px;
    }

    .hkpt-auth-shell .hkpt-auth-card {
        padding: 20px 17px;
        border-radius: 14px;
    }

    .hkpt-auth-brand { margin-bottom: 15px; }
    .hkpt-auth-brand .custom-logo { height: 40px; }
    .hkpt-auth-register-grid { grid-template-columns: 1fr; }
    .hkpt-auth-wide { grid-column: auto; }
}

@media (max-width: 390px) {
    .hkpt-auth-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .hkpt-auth-footer {
        align-items: center;
        flex-direction: column;
        gap: 4px;
    }

    .hkpt-auth-session .hkpt-auth-actions { flex-direction: column; }
    .hkpt-auth-session .hkpt-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .hkpt-auth-shell *,
    .hkpt-auth-shell *::before,
    .hkpt-auth-shell *::after { transition: none !important; }
}

/* HKPT Core 2.3.0 — verified member identity and public achievements */
.hkpt-member-registration-v230 {
    width: min(100%, 720px);
    max-width: 720px;
}

.hkpt-member-registration-v230 h2 {
    margin: 5px 0 8px;
    color: #fff;
    font-family: Oswald, ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(28px, 4vw, 38px);
    font-weight: 400;
    line-height: 1.12;
}

.hkpt-registration-grid {
    margin-top: 20px;
}

.hkpt-registration-grid .hkpt-form-wide {
    grid-column: 1 / -1;
}

.hkpt-member-registration-v230 label > small,
.hkpt-profile-admin-note,
.hkpt-registration-login {
    display: block;
    color: #92929d;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
}

.hkpt-member-registration-v230 label > small {
    margin-top: -1px;
}

.hkpt-member-registration-v230 select {
    appearance: auto;
    cursor: pointer;
}

.hkpt-phone-field {
    display: grid;
    grid-template-columns: minmax(210px, .85fr) minmax(180px, 1.15fr);
    gap: 10px;
    min-width: 0;
}

.hkpt-phone-field > * {
    min-width: 0;
}

.hkpt-member-registration-v230 .hkpt-button[type="submit"] {
    width: 100%;
    min-height: 46px;
}

.hkpt-registration-login {
    margin: 16px 0 0;
    text-align: center;
}

.hkpt-registration-login a,
.hkpt-verification-resend a {
    color: #F0C76D;
}

.hkpt-verification-resend {
    width: min(100%, 480px);
    margin: 14px auto 0;
    padding: 0;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 11px;
    background: rgba(17,17,20,.88);
    color: #a1a1aa;
    overflow: hidden;
}

.hkpt-verification-resend summary {
    padding: 13px 15px;
    cursor: pointer;
    color: #c7c7ce;
    font-size: 12px;
    font-weight: 600;
    list-style-position: inside;
}

.hkpt-verification-resend[open] summary {
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: #fff;
}

.hkpt-verification-resend-form {
    display: grid;
    gap: 12px;
    padding: 15px;
}

.hkpt-verification-resend-form label {
    display: grid;
    gap: 7px;
    color: #d1d5db;
    font-size: 13px;
    font-weight: 600;
}

.hkpt-verification-resend-form input {
    width: 100%;
    min-width: 0;
    min-height: 43px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    outline: 0;
    background: #0d0d0f;
    color: #fff;
}

.hkpt-verification-resend-form input:focus {
    border-color: #DFA12E;
    box-shadow: 0 0 0 3px rgba(206,164,91,.14);
}

.hkpt-verification-resend-form .hkpt-button {
    width: 100%;
    min-height: 42px;
}

.hkpt-country-inline,
.hkpt-public-country {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.hkpt-country-flag {
    display: inline-grid;
    min-width: 1.5em;
    place-items: center;
    font-size: 1.18em;
    line-height: 1;
}

.hkpt-profile-admin-note {
    margin-top: 8px;
}

.hkpt-public-player-v230 .hkpt-public-player-header {
    align-items: center;
}

.hkpt-public-player-identity {
    min-width: 0;
}

.hkpt-public-country,
.hkpt-public-registered {
    margin-top: 5px !important;
}

.hkpt-public-registered {
    font-size: 13px;
}

.hkpt-public-player-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
}

.hkpt-public-stat {
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 12px;
    background:
        radial-gradient(circle at 100% 0, rgba(206,164,91,.09), transparent 42%),
        #18181b;
}

.hkpt-public-stat span {
    display: block;
    min-height: 34px;
    color: #a1a1aa;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
}

.hkpt-public-stat strong {
    display: block;
    margin-top: 8px;
    overflow-wrap: anywhere;
    color: #F0C76D;
    font-family: Oswald, ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(25px,3vw,34px);
    font-weight: 400;
    line-height: 1.05;
}

.hkpt-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 17px;
}

.hkpt-panel-heading h2 {
    margin-top: 3px !important;
    margin-bottom: 0 !important;
}

.hkpt-panel-heading > span {
    display: inline-grid;
    min-width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(245,206,141,.24);
    border-radius: 999px;
    background: rgba(206,164,91,.09);
    color: #F0C76D;
    font-weight: 800;
}

.hkpt-trophy-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px,1fr));
    gap: 15px;
}

.hkpt-trophy-card {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 12px;
    background: #111114;
}

.hkpt-trophy-card img {
    display: block;
    width: 100%;
    height: 170px;
    padding: 12px;
    object-fit: contain;
    background:
        radial-gradient(circle at 50% 35%, rgba(245,206,141,.14), transparent 48%),
        linear-gradient(145deg,#202024,#111114);
}

.hkpt-trophy-card figcaption {
    min-height: 48px;
    padding: 12px 13px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: #e5e7eb;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
}

.hkpt-empty-state {
    margin: 0;
    padding: 18px;
    border: 1px dashed rgba(255,255,255,.14);
    border-radius: 10px;
    color: #92929d;
    text-align: center;
}

@media (max-width: 980px) {
    .hkpt-public-player-stats {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 620px) {
    .hkpt-registration-grid .hkpt-form-wide {
        grid-column: auto;
    }

    .hkpt-phone-field {
        grid-template-columns: 1fr;
    }

    .hkpt-public-player-stats {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .hkpt-public-stat {
        padding: 14px;
    }

    .hkpt-public-stat span {
        min-height: 0;
    }

    .hkpt-trophy-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 10px;
    }

    .hkpt-trophy-card img {
        height: 130px;
        padding: 9px;
    }
}

@media (max-width: 390px) {
    .hkpt-public-player-stats,
    .hkpt-trophy-grid {
        grid-template-columns: 1fr;
    }

    .hkpt-panel-heading {
        align-items: center;
    }

    .hkpt-trophy-card img {
        height: 180px;
    }
}


/* v2.4.4 — HKPT official logo gold theme */
:root{--hkpt-accent:#DFA12E;--hkpt-accent-hover:#E7B451;--hkpt-accent-text:#F0C76D;--hkpt-gold:#DFA12E;--hkpt-gold-light:#F0C76D;--hkpt-event-gold:#DFA12E;--hkpt-event-gold-light:#F0C76D;--hkpt-auth-gold:#DFA12E;--hkpt-auth-gold-light:#F0C76D;--hkpt-auth-red:#DFA12E}
.hkpt-button,.hkpt-ranking-filters button,.hkpt-auth-submit{color:#0B0B0E}
.hkpt-button:hover,.hkpt-ranking-filters button:hover,.hkpt-auth-submit:hover{color:#0B0B0E}
