* {
    box-sizing: border-box;
}

:root {
    --pt-bg: #1f2940;
    --pt-bg-deep: #152031;
    --pt-bg-void: #0c1424;
    --pt-surface: rgba(20, 28, 42, 0.5);
    --pt-surface-soft: rgba(16, 24, 38, 0.34);
    --pt-surface-strong: rgba(28, 38, 58, 0.66);
    --pt-line: rgba(255, 255, 255, 0.1);
    --pt-ink: #f4f7ff;
    --pt-muted: rgba(223, 231, 244, 0.74);
    --pt-brand-green: #b4d441;
    --pt-brand-green-deep: #86b623;
    --pt-brand-aqua: #37b8b5;
    --pt-brand-aqua-deep: #278584;
    --pt-brand-yellow: #f7bd22;
    --pt-brand-orange: #ff8f3d;
    --pt-accent-gradient-soft: linear-gradient(90deg, rgba(72, 186, 197, 0.56) 0%, rgba(99, 213, 224, 0.78) 44%, rgba(121, 180, 218, 0.54) 100%);
    --pt-accent-gradient-thin: linear-gradient(90deg, rgba(98, 215, 223, 0.84) 0%, rgba(126, 226, 234, 0.92) 50%, rgba(129, 188, 226, 0.78) 100%);
    --pt-accent-gradient-shell: linear-gradient(90deg, rgba(80, 195, 205, 0.22) 0%, rgba(120, 225, 233, 0.4) 50%, rgba(115, 176, 214, 0.26) 100%);
    --pt-danger: #bf5c4a;
    --pt-success: #238d5b;
    --pt-shadow-lg: 0 28px 56px rgba(4, 8, 18, 0.34);
    --pt-shadow-md: 0 16px 32px rgba(4, 10, 20, 0.28);
    --pt-shadow-sm: 0 10px 18px rgba(6, 12, 24, 0.2);
    --pt-glow-green: 0 0 0 1px rgba(180, 212, 65, 0.16), 0 16px 36px rgba(180, 212, 65, 0.12);
    --pt-glow-aqua: 0 0 0 1px rgba(55, 184, 181, 0.18), 0 18px 36px rgba(55, 184, 181, 0.12);
    --pt-radius-xl: 32px;
    --pt-radius-lg: 24px;
    --pt-radius-md: 18px;
    --pt-radius-sm: 12px;
}

html {
    scroll-behavior: smooth;
}

body.pt-shell {
    margin: 0;
    min-height: 100vh;
    color: var(--pt-ink);
    font-family: "Poppins", "Noto Sans Thai", sans-serif;
    background: linear-gradient(180deg, rgba(8, 14, 25, 0.98), rgba(13, 20, 33, 0.98));
}

body.pt-shell::before {
    content: none;
    position: fixed;
    inset: 0;
    pointer-events: none;
    background: none;
}

body.pt-shell::after {
    content: none;
    position: fixed;
    inset: 0;
    pointer-events: none;
    background: none;
}

body.pt-route-home {
    position: relative;
    background: linear-gradient(180deg, rgba(8, 14, 25, 0.98), rgba(13, 20, 33, 0.98));
}

body.pt-route-home::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 820px;
    pointer-events: none;
    z-index: 0;
    background: url('/reference-ui/background-village.png') center top / cover no-repeat;
}

body.pt-route-home::after {
    display: none;
}

body.pt-route-home .pt-header,
body.pt-route-home .pt-main,
body.pt-route-home .pt-footer {
    position: relative;
    z-index: 1;
}

body.pt-route-auth-register,
body.pt-route-auth-login,
body.pt-route-auth-recovery {
    background:
        linear-gradient(180deg, rgba(10, 16, 28, 0.96) 0px, rgba(15, 23, 37, 0.92) 260px, rgba(11, 18, 29, 0.94) 260px, rgba(12, 18, 30, 0.98) 100%);
}

body.pt-route-auth-register::before,
body.pt-route-auth-login::before,
body.pt-route-auth-recovery::before {
    background:
        linear-gradient(180deg, rgba(244, 250, 255, 0.03), rgba(255, 255, 255, 0)),
        url('/reference-ui/episode3-cutscene01-illustration.png') center 60% / cover no-repeat;
    opacity: 0.78;
}

body.pt-route-auth-register::after,
body.pt-route-auth-login::after,
body.pt-route-auth-recovery::after {
    display: none;
}

body.pt-route-auth-register .pt-auth-reference-visual,
body.pt-route-auth-login .pt-auth-reference-visual,
body.pt-route-auth-recovery .pt-auth-reference-visual {
    background: linear-gradient(180deg, rgba(74, 81, 95, 0.96), rgba(104, 110, 123, 0.92));
}

body.pt-route-auth-register .pt-main,
body.pt-route-auth-login .pt-main,
body.pt-route-auth-recovery .pt-main {
    padding-top: 6px;
    padding-bottom: 18px;
}

body.pt-route-auth-register .pt-footer,
body.pt-route-auth-login .pt-footer,
body.pt-route-auth-recovery .pt-footer {
    margin-top: 4px;
    padding-bottom: 14px;
}

a {
    color: inherit;
}

.pt-wrap {
    width: min(1600px, calc(100% - 28px));
    margin: 0 auto;
}

.pt-header {
    position: relative;
    z-index: 20;
    padding: 4px 0 2px;
    isolation: isolate;
}

.pt-header::before {
    content: "";
    position: absolute;
    inset: 0 0 -8px;
    z-index: -2;
    background:
        url('/reference-ui/episode3-cutscene01-illustration.png') center 60% / cover no-repeat;
    border-bottom-left-radius: 28px;
    border-bottom-right-radius: 28px;
}

.pt-header::after {
    content: "";
    position: absolute;
    inset: 0 0 -8px;
    z-index: -1;
    background: linear-gradient(180deg, rgba(9, 16, 28, 0.16), rgba(9, 16, 28, 0.08) 52%, rgba(9, 16, 28, 0.02));
    border-bottom-left-radius: 28px;
    border-bottom-right-radius: 28px;
}

.pt-header .pt-wrap {
    display: grid;
    gap: 10px;
}

.pt-header-shell,
.pt-nav-shell,
.pt-utility-shell,
.pt-page,
.pt-hero,
.pt-table-card,
.pt-card,
.pt-link-card,
.pt-legacy-summary-card,
.pt-legacy-section,
.pt-bank-box,
.pt-ranking-summary-card,
.pt-ranking-search,
.pt-itemmall-card {
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: var(--pt-shadow-md);
}

.pt-header-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 14px;
    border: none;
    border-radius: 18px;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    position: relative;
    overflow: hidden;
}

.pt-header-shell::before {
    content: none;
    position: absolute;
    left: -6%;
    top: 50%;
    width: 420px;
    height: 220px;
    transform: translateY(-50%);
    pointer-events: none;
    background: none;
}

.pt-header-shell::after {
    content: none;
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: none;
}

.pt-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: white;
    margin-left: 0;
}

.pt-brand-lockup {
    display: grid;
    gap: 4px;
}

.pt-brand-logo {
    display: block;
    width: min(100%, 178px);
    height: auto;
    filter: drop-shadow(0 10px 18px rgba(255, 255, 255, 0.14));
}

.pt-brand-eyebrow,
.pt-footer-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.7rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.pt-brand-eyebrow::before,
.pt-footer-kicker::before {
    content: "";
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: var(--pt-accent-gradient-thin);
}

.pt-brand small {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.74rem;
    line-height: 1.35;
    text-shadow: 0 2px 10px rgba(11, 18, 31, 0.4);
}

.pt-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.pt-account-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 156px;
    min-height: 58px;
    padding: 10px 14px;
    border-radius: 18px;
    text-decoration: none;
    color: white;
    background: linear-gradient(180deg, rgba(22, 38, 57, 0.86), rgba(16, 27, 42, 0.72));
    border: 1px solid rgba(121, 214, 230, 0.18);
    box-shadow: 0 18px 36px rgba(3, 8, 16, 0.22);
    backdrop-filter: blur(14px);
}

.pt-account-chip-copy {
    display: grid;
    gap: 3px;
}

.pt-account-chip-icon,
.pt-auth-cta-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.pt-account-chip-icon svg,
.pt-auth-cta-icon svg {
    width: 18px;
    height: 18px;
    display: block;
    stroke-width: 1.9;
}

.pt-account-chip-guest {
    justify-content: flex-start;
    min-width: 168px;
    min-height: 62px;
    padding: 10px 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(31, 63, 81, 0.82), rgba(17, 32, 46, 0.76));
    border-color: rgba(88, 210, 214, 0.2);
}

.pt-account-chip-label {
    color: rgba(222, 235, 247, 0.72);
    font-size: 0.68rem;
    letter-spacing: 0.02em;
    font-weight: 700;
}

.pt-account-chip strong {
    font-size: 0.96rem;
    line-height: 1.08;
}

.pt-account-chip-guest .pt-account-chip-label {
    font-size: 0.68rem;
    letter-spacing: 0.01em;
}

.pt-account-chip-guest strong {
    font-size: 1rem;
    line-height: 1.04;
}

.pt-logout-inline {
    margin: 0;
}

.pt-nav-shell {
    padding: 8px 10px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(14, 20, 33, 0.42), rgba(17, 24, 37, 0.48));
    position: relative;
    overflow: hidden;
}

.pt-nav-shell-secondary {
    background: rgba(16, 24, 38, 0.68);
}

.pt-utility-shell {
    padding: 8px 10px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(14, 21, 34, 0.34), rgba(18, 26, 40, 0.42));
    position: relative;
    overflow: hidden;
}

.pt-utility-shell-compact {
    background: rgba(16, 24, 38, 0.32);
}

.pt-nav-shell::before,
.pt-utility-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(88, 205, 214, 0.06), transparent 26%, transparent 74%, rgba(120, 185, 222, 0.06));
}

.pt-nav-shell::after,
.pt-utility-shell::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 1px;
    pointer-events: none;
    background: var(--pt-accent-gradient-shell);
    opacity: 0.9;
}

.pt-utility-label {
    padding: 0 8px 6px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pt-nav {
    display: flex;
    gap: 8px;
}

.pt-nav-primary {
    flex-wrap: wrap;
    gap: 10px;
}

.pt-nav-member,
.pt-nav-utility {
    flex-wrap: wrap;
    overflow-x: visible;
    gap: 10px;
}

.pt-nav a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 16px;
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 800;
    transition: transform 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
    border: 1px solid transparent;
}

.pt-nav-primary a {
    color: rgba(255, 255, 255, 0.86);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
    border-color: rgba(255, 255, 255, 0.08);
}

.pt-nav-member a,
.pt-nav-utility a {
    color: rgba(255, 255, 255, 0.78);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.03));
    border-color: rgba(255, 255, 255, 0.05);
}

.pt-nav a:hover,
.pt-nav a:focus-visible {
    transform: translateY(-1px);
    outline: none;
    box-shadow: 0 10px 24px rgba(11, 18, 31, 0.22);
}

.pt-nav-primary a.is-active {
    color: white;
    background: linear-gradient(135deg, rgba(55, 184, 181, 0.98), rgba(39, 133, 132, 0.94));
    border-color: rgba(255, 255, 255, 0.14);
}

.pt-nav-member a.is-active {
    color: #f4fbff;
    background: linear-gradient(135deg, rgba(39, 133, 132, 0.92), rgba(29, 74, 115, 0.94));
    border-color: rgba(163, 211, 245, 0.16);
    box-shadow: 0 12px 24px rgba(10, 20, 36, 0.18);
}

.pt-nav-utility a.is-active {
    color: #f4fbff;
    background: linear-gradient(135deg, rgba(50, 98, 162, 0.98) 0%, rgba(39, 133, 132, 0.96) 58%, rgba(30, 86, 124, 0.98) 100%);
    border-color: rgba(163, 211, 245, 0.16);
    box-shadow: 0 12px 24px rgba(10, 20, 36, 0.24);
}

.pt-nav-icon {
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    font-size: 0.72rem;
    line-height: 1;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.pt-nav-icon img {
    width: 16px;
    height: 16px;
    object-fit: contain;
    display: block;
}

.pt-nav-icon svg {
    width: 16px;
    height: 16px;
    display: block;
    stroke-width: 1.8;
}

.pt-nav-primary a .pt-nav-icon {
    color: rgba(255, 255, 255, 0.92);
    background: linear-gradient(180deg, rgba(55, 184, 181, 0.28), rgba(55, 184, 181, 0.12));
}

.pt-nav-member a .pt-nav-icon,
.pt-nav-utility a .pt-nav-icon {
    color: rgba(255, 255, 255, 0.8);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
}

.pt-nav a.is-active .pt-nav-icon {
    color: inherit;
    background: rgba(255, 255, 255, 0.14);
}

.pt-nav-label {
    line-height: 1;
    white-space: nowrap;
}

.pt-main {
    padding: 14px 0 44px;
}

.pt-page,
.pt-hero {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(248, 250, 252, 0.97));
    padding: 32px;
}

.pt-page::before,
.pt-hero::before,
.pt-table-card::before,
.pt-card::before,
.pt-legacy-section::before,
.pt-bank-box::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--pt-accent-gradient-soft);
}

body.pt-route-download .pt-page::before,
body.pt-route-ranking .pt-page::before,
body.pt-route-event .pt-page::before {
    content: none;
}

body.pt-route-ranking .pt-table-card::before,
body.pt-route-ranking .pt-card::before {
    content: none;
}

.pt-kicker,
.pt-card-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--pt-brand-aqua-deep);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.pt-kicker::before,
.pt-card-kicker::before {
    content: "";
    width: 24px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.pt-page h1,
.pt-hero h1,
.pt-card h2,
.pt-table-header h2,
.pt-legacy-section-head h2,
.pt-bank-box-head {
    margin: 14px 0 10px;
    font-family: "Chakra Petch", sans-serif;
    color: var(--pt-bg);
}

.pt-page h1,
.pt-hero h1 {
    font-size: clamp(2.4rem, 4vw, 4.3rem);
    line-height: 0.95;
}

.pt-page > p:not(.pt-kicker),
.pt-hero > p:not(.pt-kicker),
.pt-table-header p,
.pt-card p,
.pt-link-card span,
.pt-note,
.pt-note-inline,
.pt-bank-balance,
.pt-legacy-section-head p {
    color: var(--pt-muted);
    line-height: 1.58;
}

.pt-page > p:not(.pt-kicker) {
    max-width: 44rem;
}

.pt-hero-grid,
.pt-auth-shell,
.pt-portal-grid {
    display: grid;
    gap: 24px;
}

.pt-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
}

.pt-hero-copy {
    position: relative;
    z-index: 1;
}

.pt-hero-copy p {
    max-width: 70ch;
}

.pt-hero-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.pt-hero-chip {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 999px;
    color: white;
    background: linear-gradient(135deg, rgba(32, 42, 63, 0.94), rgba(39, 133, 132, 0.94));
    box-shadow: var(--pt-shadow-sm);
    font-size: 0.88rem;
    font-weight: 700;
}

.pt-hero-visual {
    display: none;
}

.pt-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
    margin-top: 28px;
}

.pt-download-page .pt-grid {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 1.15rem;
}

.pt-download-page {
    padding: 56px 56px 28px;
}

.pt-download-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.92fr);
    gap: 2.4rem;
    align-items: stretch;
    min-height: 520px;
    margin-bottom: 0;
}

.pt-download-hero-copy {
    display: grid;
    align-content: center;
    gap: 1.4rem;
    max-width: 39rem;
    padding: 0 0 1.2rem;
}

.pt-download-hero-copy .pt-kicker {
    margin-bottom: -0.1rem;
}

.pt-download-hero-copy h1 {
    font-size: clamp(4.4rem, 8vw, 7rem);
    line-height: 0.88;
    letter-spacing: -0.035em;
    margin: 0;
}

.pt-download-hero-copy > p:not(.pt-kicker) {
    max-width: 26ch;
    margin: 0;
    color: rgba(232, 239, 250, 0.88);
    font-size: 1.08rem;
    line-height: 1.7;
}

.pt-download-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.pt-download-action-row .pt-button-link {
    min-width: 182px;
    min-height: 68px;
    padding: 0 28px;
    font-size: 1rem;
    border-radius: 18px;
    box-shadow: 0 16px 30px rgba(15, 24, 37, 0.24);
}

.pt-download-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.pt-download-chip-row span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(32, 42, 63, 0.05);
    color: var(--pt-bg);
    font-size: 0.78rem;
    font-weight: 700;
}

.pt-download-hero-visual {
    display: grid;
    align-items: end;
    justify-items: end;
    position: relative;
    overflow: hidden;
    min-height: 100%;
}

.pt-download-hero-spotlight {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    overflow: hidden;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.pt-download-hero-spotlight::after {
    content: none;
}

.pt-download-hero-spotlight img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
    margin-left: auto;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 22px 28px rgba(18, 29, 46, 0.36));
}

.pt-download-hero-art {
    position: absolute;
    right: -1.5%;
    bottom: 0;
    width: auto;
    height: 118%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: right bottom;
    transform: none;
    transform-origin: right bottom;
    filter: saturate(1.08) contrast(1.04) brightness(1.02) drop-shadow(0 28px 40px rgba(5, 9, 18, 0.2));
}

.pt-download-hero-notes {
    display: grid;
    gap: 0.75rem;
}

.pt-download-hero-notes article {
    display: grid;
    gap: 0.2rem;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 250, 253, 0.98), rgba(241, 246, 251, 0.95));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-download-hero-notes strong {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-download-hero-notes span {
    color: var(--pt-muted);
    line-height: 1.5;
}

.pt-download-page .pt-card {
    max-width: none;
}

.pt-download-card {
    overflow: hidden;
    position: relative;
}

.pt-download-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(circle at top right, rgba(0, 245, 245, 0.08), transparent 42%);
}

.pt-download-page .pt-table-stack,
.pt-download-page .pt-table-card {
    max-width: 54rem;
}

.pt-download-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.72fr);
    gap: 1.1rem;
    align-items: start;
}

.pt-download-summary {
    display: grid;
}

.pt-download-summary-card {
    max-width: 100%;
}

.pt-download-summary-grid {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 0.8rem;
}

.pt-download-summary-item {
    display: grid;
    gap: 0.18rem;
    padding: 0.78rem 0.9rem;
    border-radius: 0.95rem;
    background: rgba(247, 249, 252, 0.94);
    border: 1px solid rgba(30, 46, 71, 0.07);
}

.pt-download-summary-item span {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-download-summary-item strong {
    color: var(--pt-bg);
    font-size: 1rem;
    line-height: 1.3;
}

.pt-download-meta {
    margin-top: 0.35rem;
    color: rgba(32, 43, 63, 0.58);
    font-size: 0.88rem;
    font-weight: 700;
}

.pt-home-shell {
    display: grid;
    gap: 28px;
}

.pt-home-hero {
    overflow: visible;
    min-height: 560px;
    padding: 56px 58px 64px;
    border-radius: 24px;
    background:
        url('/reference-ui/background-village.png') center center / cover no-repeat;
    box-shadow: var(--pt-shadow-lg);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    position: relative;
}

.pt-home-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 100%, rgba(255, 146, 56, 0.08), rgba(255, 146, 56, 0) 34%);
    opacity: 0.65;
}

.pt-home-hero::after {
    content: "";
    position: absolute;
    inset: auto -8% -28% auto;
    width: 360px;
    height: 360px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 176, 92, 0.08), transparent 62%);
    pointer-events: none;
}

.pt-home-lantern-layer {
    position: absolute;
    inset: -22% 0 -6%;
    pointer-events: none;
    overflow: visible;
    z-index: 0;
}

.pt-home-lantern-glow {
    position: absolute;
    display: block;
    width: 19px;
    height: 31px;
    background: url('/trickster-art/home-lantern.svg') center center / contain no-repeat;
    filter: saturate(1.5) contrast(1.08);
    opacity: 0.96;
    animation: pt-lantern-rise 28s linear infinite;
}

.pt-home-lantern-glow::before {
    content: "";
    position: absolute;
    inset: -38% -50% -30%;
    border-radius: 999px;
    background: radial-gradient(circle at 50% 80%, rgba(255, 193, 90, 0.28), rgba(255, 154, 58, 0.10) 30%, rgba(255, 120, 36, 0) 72%);
    z-index: -1;
}

.pt-home-lantern-glow::after {
    content: none;
}

.pt-home-lantern-glow.is-large {
    width: 35px;
    height: 57px;
    background-image: url('/trickster-art/home-lantern.svg');
}

.pt-home-lantern-glow.is-large::before {
    inset: -34% -42% -24%;
    background: radial-gradient(circle at 50% 80%, rgba(255, 193, 90, 0.24), rgba(255, 154, 58, 0.08) 30%, rgba(255, 120, 36, 0) 70%);
}

.pt-home-lantern-glow.is-medium {
    width: 32px;
    height: 51px;
    background-image: url('/trickster-art/home-lantern.svg');
}

.pt-home-lantern-glow.is-medium::before {
    inset: -26% -34% -18%;
    background: radial-gradient(circle at 50% 80%, rgba(255, 193, 90, 0.2), rgba(255, 154, 58, 0.065) 30%, rgba(255, 120, 36, 0) 68%);
}

.pt-home-lantern-glow.is-small {
    width: 26px;
    height: 41px;
    background-image: url('/trickster-art/home-lantern-small.svg');
}

.pt-home-lantern-glow.is-small::before {
    inset: -18% -24% -12%;
    background: radial-gradient(circle at 50% 80%, rgba(255, 193, 90, 0.14), rgba(255, 154, 58, 0.045) 28%, rgba(255, 120, 36, 0) 64%);
}

.pt-home-lantern-glow.is-one {
    left: 12%;
    top: 76%;
    opacity: 0.96;
    animation-delay: -2s;
    animation-duration: 30s;
}

.pt-home-lantern-glow.is-two {
    left: 26%;
    top: 84%;
    opacity: 0.82;
    animation-delay: -6s;
    animation-duration: 24s;
}

.pt-home-lantern-glow.is-three {
    left: 62%;
    top: 80%;
    opacity: 0.9;
    animation-delay: -4s;
    animation-duration: 29s;
}

.pt-home-lantern-glow.is-four {
    left: 78%;
    top: 88%;
    opacity: 0.76;
    animation-delay: -9s;
    animation-duration: 22s;
}

.pt-home-lantern-glow.is-five {
    left: 88%;
    top: 82%;
    opacity: 0.86;
    animation-delay: -12s;
    animation-duration: 31s;
}

.pt-home-lantern-glow.is-six {
    left: 18%;
    top: 90%;
    opacity: 0.72;
    animation-delay: -7s;
    animation-duration: 25s;
}

.pt-home-lantern-glow.is-seven {
    left: 48%;
    top: 86%;
    opacity: 0.84;
    animation-delay: -10s;
    animation-duration: 27s;
}

.pt-home-lantern-glow.is-eight {
    left: 72%;
    top: 92%;
    opacity: 0.68;
    animation-delay: -14s;
    animation-duration: 23s;
}

@keyframes pt-lantern-rise {
    0% {
        transform: translate3d(0, 18vh, 0) scale(0.92);
        opacity: 0;
    }
    8% {
        opacity: 0.84;
    }
    50% {
        transform: translate3d(10px, -28vh, 0) rotate(1.5deg) scale(1);
        opacity: 0.78;
    }
    82% {
        transform: translate3d(5px, -92vh, 0) rotate(-1deg) scale(1.03);
        opacity: 0.72;
    }
    100% {
        transform: translate3d(-9px, -146vh, 0) rotate(1deg) scale(1.05);
        opacity: 0.16;
    }
}

.pt-home-hero-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    max-width: 560px;
    min-height: 100%;
    position: relative;
    z-index: 1;
    padding: 20px 0 28px;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
}

.pt-home-hero .pt-kicker,
.pt-home-hero h1,
.pt-home-hero p {
    color: white;
}

.pt-home-hero h1 {
    max-width: 9ch;
    text-shadow: 0 8px 22px rgba(7, 12, 22, 0.12);
}

.pt-home-hero p {
    max-width: 30rem;
    text-shadow: 0 6px 18px rgba(7, 12, 22, 0.1);
}

.pt-home-hero-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.pt-home-hero-strip span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 999px;
    color: white;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    font-size: 0.82rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.pt-home-hero-side {
    display: grid;
    gap: 16px;
    justify-items: end;
}

.pt-home-hero-spotlight {
    position: relative;
    width: min(100%, 360px);
    padding: 22px 20px 10px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.06));
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: var(--pt-shadow-md);
    backdrop-filter: blur(12px);
    isolation: isolate;
}

.pt-home-hero-spotlight::before {
    content: "Arcade Access";
    position: absolute;
    top: 14px;
    left: 16px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--pt-bg);
    background: linear-gradient(135deg, var(--pt-brand-green), var(--pt-brand-yellow));
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-home-hero-spotlight::after {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(180, 212, 65, 0.14), rgba(55, 184, 181, 0.1));
    z-index: -1;
}

.pt-home-hero-spotlight img {
    display: block;
    width: 100%;
    height: auto;
}

.pt-home-hero-status {
    display: grid;
    gap: 10px;
    width: min(100%, 360px);
}

.pt-home-hero-status article {
    display: grid;
    gap: 3px;
    padding: 14px 16px;
    border-radius: 18px;
    color: white;
    background: linear-gradient(180deg, rgba(13, 20, 34, 0.7), rgba(13, 20, 34, 0.42));
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(10px);
}

.pt-home-hero-status span {
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pt-home-hero-status strong {
    font-size: 1rem;
    line-height: 1.3;
}

.pt-home-showcase {
    display: grid;
    grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1fr);
    gap: 18px;
}

.pt-home-carousel-card,
.pt-home-links-card,
.pt-home-features {
    padding: 26px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,249,252,0.97));
    box-shadow: var(--pt-shadow-md);
    border: 1px solid rgba(30, 46, 71, 0.08);
}

.pt-home-card-head h2,
.pt-home-features-head h2,
.pt-home-feature-box h3 {
    margin: 0 0 8px;
    font-family: "Poppins", "Noto Sans Thai", sans-serif;
    font-size: 1.5rem;
    color: var(--pt-bg);
}

.pt-home-card-head p,
.pt-home-features-head p {
    margin: 0 0 18px;
    color: var(--pt-muted);
}

.pt-home-feature-grid {
    display: grid;
    gap: 14px;
}

.pt-home-feature {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    padding: 14px 0;
    text-decoration: none;
    border-bottom: 1px dotted rgba(30, 46, 71, 0.16);
}

.pt-home-feature:last-child {
    border-bottom: 0;
}

.pt-home-feature img,
.pt-home-feature-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.pt-home-feature strong {
    display: block;
    margin-bottom: 4px;
    color: var(--pt-bg);
}

.pt-home-feature span {
    color: var(--pt-muted);
    line-height: 1.6;
}

.pt-home-popular-list,
.pt-home-band-list {
    display: grid;
    gap: 10px;
}

.pt-home-popular-list a,
.pt-home-band-list a {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 10px 14px;
    border-radius: 14px;
    text-decoration: none;
    color: var(--pt-bg);
    background: rgba(32, 42, 63, 0.04);
    border: 1px solid rgba(30, 46, 71, 0.08);
}

.pt-home-band-list a:hover,
.pt-home-band-list a:focus-visible,
.pt-home-popular-list a:hover,
.pt-home-popular-list a:focus-visible {
    transform: translateY(-1px);
    box-shadow: var(--pt-shadow-sm);
    outline: none;
}

.pt-home-band {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.pt-home-command-band {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.pt-home-command-card,
.pt-auth-fact-card,
.pt-ranking-command-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem 1.1rem;
    border-radius: 1.1rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(242, 247, 252, 0.95));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-home-command-card span,
.pt-auth-fact-card span,
.pt-ranking-command-card span {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-home-command-card strong,
.pt-auth-fact-card strong,
.pt-ranking-command-card strong {
    color: var(--pt-bg);
    font-size: 1rem;
    line-height: 1.45;
    text-wrap: pretty;
}

.pt-ranking-inline-note {
    max-width: 74ch;
    margin-bottom: 0.9rem;
}

.pt-home-band-figure,
.pt-home-band-panel {
    padding: 22px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,249,252,0.97));
    box-shadow: var(--pt-shadow-md);
    border: 1px solid rgba(30, 46, 71, 0.08);
}

.pt-home-band-figure {
    display: grid;
    place-items: center;
}

.pt-home-band-figure img {
    width: 120px;
    max-width: 100%;
    height: auto;
}

.pt-home-band-panel h2 {
    margin: 0 0 16px;
    font-family: "Poppins", "Noto Sans Thai", sans-serif;
    font-size: 1.5rem;
}

.pt-home-features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.pt-home-feature-box {
    padding: 18px;
    border-radius: 20px;
    background: white;
    box-shadow: var(--pt-shadow-sm);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.pt-home-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 92px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(180, 212, 65, 0.2), rgba(55, 184, 181, 0.18));
}

.pt-home-feature-box::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 72px;
    height: 72px;
    background: radial-gradient(circle, rgba(55, 184, 181, 0.16), transparent 70%);
    pointer-events: none;
}

.pt-card,
.pt-table-card,
.pt-link-card,
.pt-legacy-summary-card,
.pt-legacy-section,
.pt-bank-box,
.pt-ranking-summary-card,
.pt-ranking-search,
.pt-itemmall-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--pt-radius-lg);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 252, 0.96));
}

.pt-card {
    padding: 24px;
}

.pt-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 22px;
}

.pt-button,
.pt-button-link,
.pt-ghost-button,
.pt-link-button {
    appearance: none;
    border: 0;
    cursor: pointer;
    font-family: "Chakra Petch", sans-serif;
    font-weight: 700;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.pt-button,
.pt-button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 15px;
    border-radius: 10px;
    color: white;
    background-image: linear-gradient(135deg, rgba(50, 98, 162, 0.98) 0%, rgba(39, 133, 132, 0.96) 58%, rgba(30, 86, 124, 0.98) 100%);
    background-size: 200% auto;
    box-shadow: 0 12px 24px rgba(10, 20, 36, 0.24);
    font-size: 0.9rem;
    letter-spacing: 0.015em;
    border: 1px solid rgba(163, 211, 245, 0.16);
}

.pt-button:hover,
.pt-button-link:hover,
.pt-ghost-button:hover,
.pt-link-button:hover,
.pt-button:focus-visible,
.pt-button-link:focus-visible,
.pt-ghost-button:focus-visible,
.pt-link-button:focus-visible {
    transform: translateY(-1px);
    outline: none;
    background-position: right center;
}

.pt-button[disabled],
.pt-button:disabled,
.pt-button-link[disabled],
.pt-button-link:disabled {
    cursor: not-allowed;
    transform: none;
    color: rgba(223, 231, 244, 0.82);
    background-image: linear-gradient(180deg, rgba(73, 86, 108, 0.92), rgba(52, 63, 82, 0.96));
    border-color: rgba(196, 208, 226, 0.08);
    box-shadow: none;
    opacity: 0.88;
    filter: saturate(0.5);
}

.pt-ghost-button {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 12px;
    color: white;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.pt-auth-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 156px;
    min-height: 58px;
    padding: 10px 14px;
    border-radius: 18px;
    text-align: left;
    background: linear-gradient(180deg, rgba(25, 43, 64, 0.84), rgba(16, 27, 42, 0.76));
    border: 1px solid rgba(121, 214, 230, 0.16);
    box-shadow: 0 18px 36px rgba(3, 8, 16, 0.2);
    backdrop-filter: blur(14px);
}

.pt-auth-cta-button .pt-auth-cta-icon {
    background: rgba(255, 255, 255, 0.08);
}

.pt-auth-cta-copy {
    display: grid;
    gap: 3px;
}

.pt-auth-cta-kicker {
    color: rgba(222, 235, 247, 0.72);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.pt-auth-cta-copy strong {
    font-size: 0.96rem;
    line-height: 1.06;
}

.pt-link-button {
    background: transparent;
    color: var(--pt-brand-aqua-deep);
    padding: 0;
}

.pt-text-link,
.pt-link {
    color: var(--pt-brand-aqua-deep);
    font-weight: 700;
    text-decoration: none;
}

.pt-form,
.pt-inline-form {
    margin-top: 18px;
}

.pt-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.pt-field {
    display: grid;
    gap: 8px;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--pt-bg);
}

.pt-field input,
.pt-select {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 12px;
    border: 2px solid rgba(209, 216, 226, 0.8);
    font: inherit;
    color: var(--pt-ink);
    background: white;
}

.pt-field input:focus,
.pt-select:focus {
    outline: none;
    border-color: rgba(55, 184, 181, 0.58);
    box-shadow: 0 0 0 4px rgba(55, 184, 181, 0.14);
}

.pt-feedback,
.pt-note-block {
    margin-top: 18px;
    padding: 20px 22px;
    border-radius: 16px;
    font-size: 1rem;
    line-height: 1.65;
    text-wrap: pretty;
    backdrop-filter: blur(10px);
}

.pt-feedback {
    position: relative;
    scroll-margin-top: 140px;
}

.pt-feedback::before {
    content: "";
    position: absolute;
    inset: 12px auto 12px 0;
    width: 5px;
    border-radius: 999px;
    background: currentColor;
    opacity: 1;
}

.pt-feedback strong,
.pt-note-block strong {
    display: block;
    margin-bottom: 0.45rem;
    font-weight: 800;
    font-size: 1.18rem;
    letter-spacing: -0.01em;
}

.pt-feedback > div,
.pt-note-block > div {
    color: inherit;
    font-weight: 600;
}

.pt-feedback-error,
.pt-note-block.pt-note-error {
    color: rgba(255, 228, 223, 0.98);
    background: linear-gradient(180deg, rgba(126, 33, 37, 0.8) 0%, rgba(87, 20, 26, 0.92) 100%);
    border: 1px solid rgba(255, 126, 135, 0.3);
    box-shadow: inset 0 1px 0 rgba(255, 221, 221, 0.08), 0 10px 24px rgba(50, 9, 18, 0.22);
}

.pt-feedback-success,
.pt-note-block.pt-note-success {
    color: rgba(246, 252, 255, 0.99);
    background: linear-gradient(180deg, rgba(24, 35, 52, 0.96) 0%, rgba(16, 25, 39, 0.98) 100%);
    border: 1px solid rgba(104, 235, 213, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 16px 32px rgba(6, 17, 31, 0.28);
}

.pt-feedback-success::before,
.pt-note-block.pt-note-success::before {
    background: linear-gradient(180deg, rgba(110, 241, 224, 1) 0%, rgba(64, 197, 213, 0.96) 100%);
    box-shadow: 0 0 18px rgba(76, 214, 211, 0.22);
}

.pt-feedback-success strong,
.pt-note-block.pt-note-success strong {
    color: rgba(255, 255, 255, 0.995);
}

.pt-feedback-success > div,
.pt-note-block.pt-note-success > div {
    color: rgba(231, 242, 250, 0.96);
}

.pt-note-block {
    color: rgba(223, 234, 248, 0.96);
    background: linear-gradient(180deg, rgba(34, 47, 72, 0.82) 0%, rgba(23, 34, 53, 0.92) 100%);
    border: 1px solid rgba(125, 153, 202, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.pt-feedback.is-announced {
    animation: pt-feedback-flash 1.15s ease-out;
}

@keyframes pt-feedback-flash {
    0% {
        transform: translateY(-4px);
        box-shadow: 0 0 0 0 rgba(88, 229, 195, 0.34), inset 0 1px 0 rgba(227, 255, 247, 0.06), 0 14px 30px rgba(6, 35, 37, 0.24);
    }
    45% {
        transform: translateY(0);
        box-shadow: 0 0 0 10px rgba(88, 229, 195, 0), inset 0 1px 0 rgba(227, 255, 247, 0.06), 0 16px 34px rgba(6, 35, 37, 0.28);
    }
    100% {
        transform: translateY(0);
        box-shadow: inset 0 1px 0 rgba(227, 255, 247, 0.06), 0 14px 30px rgba(6, 35, 37, 0.24);
    }
}

.pt-table-card {
    margin-top: 28px;
}

.pt-table-header {
    position: relative;
    padding: 24px 24px 0;
}

.pt-table-wrap {
    overflow-x: auto;
    padding: 16px 24px 24px;
}

.pt-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 700px;
}

.pt-table th,
.pt-table td {
    padding: 14px 12px;
    border-bottom: 1px solid rgba(30, 46, 71, 0.08);
    text-align: left;
    vertical-align: top;
}

.pt-table th {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-table tbody tr:hover {
    background: rgba(55, 184, 181, 0.04);
}

.pt-utility-grid-table {
    min-width: 0;
}

.pt-utility-grid-table thead {
    display: none;
}

.pt-utility-grid-table tbody {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.pt-utility-grid-table tbody tr {
    display: grid;
    grid-template-columns: 168px minmax(0, 1fr);
    grid-template-rows: minmax(220px, auto) auto;
    gap: 0;
    padding: 0;
    border: 1px solid rgba(30, 46, 71, 0.12);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
    height: 100%;
}

.pt-utility-grid-table tbody tr:hover {
    background: #fff;
}

.pt-utility-grid-table tbody td {
    position: relative;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    min-width: 0;
}

.pt-utility-grid-table tbody td:not(:last-child):not(:first-child):not(:nth-child(2)) {
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pt-utility-grid-table tbody td:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-row: 1;
    min-height: 220px;
    padding: 18px;
    background: #f3f3f3;
    border-right: 1px solid rgba(30, 46, 71, 0.12);
}

.pt-utility-grid-table tbody td:nth-child(2) {
    display: grid;
    align-content: start;
    gap: 6px;
    min-height: 220px;
    padding: 10px 14px 12px;
    border-bottom: 1px solid rgba(30, 46, 71, 0.12);
}

.pt-utility-grid-table tbody td:nth-child(2) > :first-child {
    font-family: "Chakra Petch", sans-serif;
    font-size: 1.18rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--pt-bg);
}

.pt-utility-grid-table tbody td:nth-child(3)::before,
.pt-utility-grid-table tbody td:nth-child(4)::before,
.pt-utility-grid-table tbody td:nth-child(5)::before {
    display: block;
    margin-bottom: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: none;
    color: var(--pt-brand-aqua-deep);
    opacity: 0.9;
}

.pt-utility-grid-table tbody td:last-child {
    grid-column: 1 / -1;
    align-self: stretch;
    padding: 10px 12px 14px;
    border-top: 1px solid rgba(30, 46, 71, 0.12);
    background: #f8f8f8;
}

.pt-utility-grid-table tbody td:nth-child(3),
.pt-utility-grid-table tbody td:nth-child(4),
.pt-utility-grid-table tbody td:nth-child(5) {
    display: none;
}

.pt-utility-grid-table--compound tbody td:nth-child(3)::before,
.pt-utility-grid-table--uncompound tbody td:nth-child(3)::before,
.pt-utility-grid-table--temper tbody td:nth-child(3)::before {
    content: "เลเวล";
}

.pt-utility-grid-table--compound tbody td:nth-child(4)::before,
.pt-utility-grid-table--uncompound tbody td:nth-child(4)::before {
    content: "สล็อต";
}

.pt-utility-grid-table--compound tbody td:nth-child(5)::before {
    content: "จำนวน";
}

.pt-utility-grid-table--uncompound tbody td:nth-child(5)::before {
    content: "คอมที่มี";
}

.pt-utility-grid-table--temper tbody td:nth-child(4)::before {
    content: "Refine";
}

.pt-utility-grid-table--temper tbody td:nth-child(5)::before {
    content: "จำนวน";
}

.pt-utility-grid-table--expandslot tbody td:nth-child(3)::before {
    content: "สล็อตปัจจุบัน";
}

.pt-utility-grid-table--expandslot tbody td:nth-child(4)::before {
    content: "ไอเท็มเพิ่มสล็อต";
}

.pt-utility-grid-table--expandslot tbody td:nth-child(5)::before {
    content: "ตัวช่วย";
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody {
    grid-template-columns: 1fr;
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody tr {
    grid-template-columns: minmax(220px, 0.95fr) minmax(260px, 1fr) minmax(260px, 1fr) minmax(300px, 0.92fr);
    grid-template-rows: auto;
    border-radius: 18px;
    background: rgba(14, 21, 33, 0.82);
    overflow: hidden;
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody td {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 0;
    padding: 18px 20px;
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody td:first-child {
    min-height: 0;
    padding: 18px 20px;
    align-content: start;
    justify-content: start;
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody td:nth-child(2),
.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody td:nth-child(3) {
    display: grid !important;
    min-height: 0;
    padding: 18px 20px;
    border-bottom: 0;
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody td:nth-child(4) {
    display: grid !important;
    gap: 12px;
    padding: 18px 20px;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(10, 16, 28, 0.54);
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody td:last-child {
    grid-column: auto;
    align-self: stretch;
    border-top: 0;
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody td:nth-child(3)::before,
.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody td:nth-child(4)::before,
.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) tbody td:nth-child(5)::before {
    content: none;
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) .pt-item-thumb {
    margin-bottom: 4px;
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) .pt-field {
    gap: 8px;
}

.pt-utility-grid-table--fuse:not(.pt-utility-inventory-grid) .pt-button {
    width: 100%;
    min-width: 0;
}

.pt-utility-grid-table .pt-form {
    gap: 10px;
}

.pt-utility-grid-table .pt-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pt-utility-grid-table .pt-note-inline {
    line-height: 1.5;
    font-size: 0.96rem;
}

.pt-utility-grid-table .pt-radio-option {
    margin-bottom: 8px;
}

.pt-utility-grid-table .pt-button {
    width: fit-content;
    min-height: 48px;
    min-width: 120px;
}

.pt-utility-grid-table .pt-muted-line {
    opacity: 0.52;
}

.pt-utility-grid-table .pt-field > span,
.pt-utility-grid-table .pt-note-inline strong,
.pt-utility-grid-table .pt-radio-option span {
    font-size: 0.95rem;
}

.pt-utility-grid-table .pt-select,
.pt-utility-grid-table .pt-field input {
    min-height: 48px;
    padding: 0 14px;
}

.pt-page-utility .pt-select,
.pt-page-utility select.pt-select {
    color-scheme: dark;
}

.pt-page-utility .pt-select option,
.pt-page-utility select.pt-select option {
    color: #eef6ff;
    background: #162133;
}

.pt-page-utility .pt-select option:checked,
.pt-page-utility select.pt-select option:checked,
.pt-page-utility .pt-select option:hover,
.pt-page-utility select.pt-select option:hover {
    color: #ffffff;
    background: #2a5da8;
}

.pt-legacy-item-cell {
    text-align: left;
}

.pt-legacy-item-title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.26rem;
    font-family: "Poppins", "Noto Sans Thai", sans-serif;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--pt-text);
}

.pt-legacy-item-name {
    color: #f8fbff;
}

.pt-legacy-item-slot {
    color: #ffd782;
    font-weight: 700;
}

.pt-legacy-item-meta,
.pt-legacy-item-prefix {
    color: #7fd9e9;
    font-weight: 600;
}

.pt-legacy-item-level {
    color: #91f2ff;
}

.pt-legacy-item-copy {
    color: var(--pt-muted);
    line-height: 1.5;
    font-size: 0.98rem;
}

.pt-legacy-item-inline-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.28rem 0.42rem;
    font-weight: 700;
    line-height: 1.45;
    color: #7fd9e9;
}

.pt-stat-chip {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.16rem;
}

.pt-stat-divider {
    color: rgba(127, 217, 233, 0.55);
    font-weight: 500;
}

.pt-stat-label {
    color: #8fdff0;
}

.pt-stat-sep {
    color: rgba(143, 223, 240, 0.68);
}

.pt-stat-value {
    color: #ffd782;
}

.pt-stat-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.18rem;
}

.pt-legacy-option-box {
    margin-bottom: 10px;
    padding: 6px 10px;
    border: 1px solid rgba(82, 167, 192, 0.28);
    background: rgba(17, 28, 43, 0.88);
    color: #f8fbff;
    font-weight: 700;
    line-height: 1.45;
}

.pt-legacy-action-cell {
    text-align: left;
}

.pt-legacy-action-form {
    margin-top: 8px;
}

.pt-legacy-action-form .pt-button {
    margin-top: 6px;
}

.pt-legacy-list-actions {
    margin-bottom: 10px;
}

.pt-utility-selected-shell {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.pt-utility-selected-media {
    display: flex;
    align-items: stretch;
    justify-content: center;
    min-height: 220px;
    padding: 0;
    background: transparent;
    border: 0;
}

.pt-utility-selected-media-stack {
    display: grid;
    gap: 12px;
    justify-items: center;
    width: 100%;
}

.pt-utility-selected-primary-media,
.pt-utility-selected-secondary-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 18px;
    border-radius: 18px;
    background: rgba(10, 16, 28, 0.62);
    border: 1px solid rgba(104, 161, 220, 0.16);
}

.pt-utility-selected-primary-media {
    min-height: 220px;
}

.pt-utility-selected-secondary-media {
    flex-direction: column;
    gap: 10px;
    min-height: 220px;
    min-width: 100%;
    padding: 16px 18px 18px;
}

.pt-utility-selected-secondary-media.is-empty {
    display: none;
}

.pt-utility-selected-secondary-label {
    align-self: flex-start;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(132, 232, 243, 0.9);
}

.pt-utility-selected-action-block {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(127, 217, 233, 0.14);
}

.pt-utility-selected-action-block .pt-form-grid {
    margin-top: 12px;
}

.pt-utility-inventory-grid {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: auto !important;
}

.pt-page-utility .pt-utility-inventory-wrap {
    overflow-x: hidden;
}

.pt-utility-inventory-grid thead {
    display: none !important;
}

.pt-utility-inventory-grid tbody {
    display: flex !important;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
}

.pt-utility-inventory-grid tbody tr {
    display: contents !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.pt-utility-inventory-grid tbody tr:hover {
    transform: none !important;
}

.pt-utility-inventory-grid tbody td {
    display: none !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    min-height: 0 !important;
}

.pt-utility-inventory-grid tbody td.pt-utility-inventory-thumb-cell {
    display: block !important;
    width: 96px !important;
}

.pt-utility-grid-table--fuse.pt-utility-inventory-grid tbody {
    display: flex !important;
}

.pt-utility-grid-table--fuse.pt-utility-inventory-grid tbody td:nth-child(n + 2) {
    display: none !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.pt-utility-inventory-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    aspect-ratio: 1;
    padding: 10px;
    border-radius: 16px;
    border: 1px solid rgba(127, 217, 233, 0.16);
    background:
        linear-gradient(180deg, rgba(27, 39, 60, 0.96), rgba(18, 27, 42, 0.96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.pt-utility-inventory-link:hover {
    transform: translateY(-1px);
    border-color: rgba(127, 217, 233, 0.42);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}

.pt-utility-inventory-link.is-selected {
    border-color: rgba(127, 217, 233, 0.72);
    background:
        linear-gradient(180deg, rgba(33, 56, 86, 0.98), rgba(21, 37, 58, 0.98));
    box-shadow: 0 0 0 1px rgba(127, 217, 233, 0.22), 0 12px 24px rgba(0, 0, 0, 0.28);
}

.pt-utility-inventory-link .pt-item-thumb {
    width: 56px;
    height: 56px;
}

.pt-utility-inventory-badge {
    position: absolute;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}

.pt-utility-inventory-badge-slot {
    right: 6px;
    bottom: 6px;
    color: #0f1a2a;
    background: #ffd782;
}

.pt-utility-inventory-badge-refine {
    left: 6px;
    top: 6px;
    color: #f8fbff;
    background: #2d8cff;
}

.pt-utility-selected-copy {
    display: grid;
    gap: 10px;
    align-content: start;
}

.pt-utility-selected-status {
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(244, 247, 251, 0.92);
    border: 1px solid rgba(30, 46, 71, 0.08);
}

@media (max-width: 1180px) {
    .pt-utility-grid-table tbody {
        grid-template-columns: 1fr;
    }

    .pt-utility-grid-table tbody tr {
        grid-template-columns: 144px minmax(0, 1fr);
    }

    .pt-utility-grid-table--fuse tbody tr {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .pt-utility-grid-table tbody tr {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .pt-utility-grid-table tbody td:first-child {
        grid-row: auto;
        min-height: 0;
        justify-content: flex-start;
        border-right: 0;
        border-bottom: 1px solid rgba(30, 46, 71, 0.12);
    }

    .pt-utility-grid-table tbody td:nth-child(3),
    .pt-utility-grid-table tbody td:nth-child(4),
    .pt-utility-grid-table tbody td:nth-child(5),
    .pt-utility-grid-table tbody td:last-child {
        grid-column: auto;
    }

    .pt-utility-grid-table tbody td:last-child {
        padding-top: 12px;
    }

    .pt-utility-grid-table .pt-form-grid {
        grid-template-columns: 1fr;
    }

    .pt-utility-grid-table--fuse tbody td:first-child,
    .pt-utility-grid-table--fuse tbody td:nth-child(2),
    .pt-utility-grid-table--fuse tbody td:nth-child(3),
    .pt-utility-grid-table--fuse tbody td:nth-child(4) {
        padding: 16px 16px 14px;
        border-left: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .pt-utility-grid-table--fuse tbody td:last-child {
        border-bottom: 0;
    }

    .pt-utility-selected-shell {
        grid-template-columns: 1fr;
    }

    .pt-utility-selected-media {
        min-height: 0;
    }
}

.pt-item-thumb {
    width: 58px;
    height: 58px;
    object-fit: contain;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(236, 243, 248, 0.94));
    border: 1px solid rgba(30, 46, 71, 0.08);
    padding: 4px;
}

.pt-item-thumb-lg {
    width: 96px;
    height: 96px;
    border-radius: 18px;
}

.pt-strip-banner {
    position: relative;
    margin: 20px 0 24px;
    overflow: hidden;
    border-radius: 26px;
    min-height: 150px;
    box-shadow: var(--pt-shadow-md);
}

.pt-strip-banner img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pt-strip-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(21, 32, 49, 0.9) 0%, rgba(21, 32, 49, 0.58) 48%, rgba(21, 32, 49, 0.1) 100%);
}

.pt-strip-banner-copy {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 6px;
    max-width: 600px;
    padding: 26px;
    color: white;
}

.pt-strip-banner-copy strong {
    font-family: "Chakra Petch", sans-serif;
    font-size: 1.7rem;
}

.pt-strip-banner-copy span {
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.7;
}

.pt-link-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    padding: 16px 24px 24px;
}

.pt-link-card {
    display: grid;
    gap: 8px;
    min-height: 160px;
    padding: 20px;
    text-decoration: none;
}

.pt-link-card strong {
    font-family: "Chakra Petch", sans-serif;
    font-size: 1.2rem;
    color: var(--pt-bg);
}

.pt-link-card:hover,
.pt-link-card:focus-visible {
    transform: translateY(-2px);
    outline: none;
}

.pt-auth-card,
.pt-auth-aside,
.pt-dashboard-pane,
.pt-dashboard-rail {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 252, 0.96));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-md);
}

.pt-auth-page {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 220px);
}

.pt-auth-simple-card {
    width: min(760px, 100%);
    padding: 42px 40px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: var(--pt-shadow-lg);
    text-align: center;
}

.pt-auth-simple-card h2 {
    margin: 0 0 22px;
    font-family: "Poppins", "Noto Sans Thai", sans-serif;
    font-size: 2.4rem;
    color: var(--pt-bg);
}

.pt-auth-simple-form {
    width: min(520px, 100%);
    margin: 0 auto;
}

.pt-auth-simple-form .pt-field {
    width: 100%;
}

.pt-auth-simple-links {
    margin-top: 18px;
    color: var(--pt-muted);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.pt-dashboard-shell {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.3fr);
    gap: 22px;
    margin-top: 22px;
}

.pt-reference-page {
    display: grid;
    gap: 18px;
}

.pt-reference-page-head {
    display: grid;
    gap: 8px;
}

.pt-reference-page-head h1 {
    margin: 0;
}

.pt-reference-page-head p:not(.pt-kicker) {
    max-width: 70ch;
    margin: 0;
}

.pt-reference-page-compact {
    gap: 14px;
}

.pt-reference-page-head-compact {
    gap: 4px;
    padding: 4px 2px 2px;
}

.pt-reference-page-head-compact .pt-kicker {
    font-size: 0.72rem;
    letter-spacing: 0.12em;
}

.pt-reference-page-head-compact h1 {
    font-size: clamp(2rem, 2.8vw, 3rem);
    line-height: 1.02;
}

.pt-reference-page-head-compact p:not(.pt-kicker) {
    font-size: 0.98rem;
    line-height: 1.6;
    max-width: 64ch;
}

.pt-workspace-anchor,
.pt-workspace-shell {
    scroll-margin-top: 14px;
}

.pt-workspace-anchor {
    display: block;
    width: 100%;
    height: 0;
}

.pt-page-dock {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: -2px;
}

.pt-page-dock a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 999px;
    text-decoration: none;
    color: var(--pt-bg);
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(30, 46, 71, 0.09);
    box-shadow: var(--pt-shadow-sm);
    font-size: 0.84rem;
    font-weight: 800;
}

.pt-page-dock a:hover,
.pt-page-dock a:focus-visible {
    outline: none;
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.94);
}

.pt-reference-shell {
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.45fr);
    gap: 22px;
    align-items: start;
}

.pt-reference-sidebar,
.pt-reference-content {
    display: grid;
    gap: 18px;
}

.pt-reference-sidebar {
    padding: 22px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(241, 245, 250, 0.96));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-md);
}

.pt-reference-sidebar-hero {
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(30, 46, 71, 0.08);
}

.pt-reference-sidebar-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--pt-brand-aqua-deep);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pt-reference-sidebar h2,
.pt-reference-panel-head h2 {
    margin: 0 0 6px;
    font-family: "Poppins", "Noto Sans Thai", sans-serif;
    font-size: 1.56rem;
    line-height: 1.08;
    color: var(--pt-bg);
}

.pt-reference-sidebar p,
.pt-reference-panel-head p {
    margin: 0;
    color: var(--pt-muted);
    line-height: 1.58;
    text-wrap: pretty;
}

.pt-reference-tabs {
    display: grid;
    gap: 10px;
}

.pt-reference-tab {
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    text-decoration: none;
    color: var(--pt-bg);
    background: rgba(32, 42, 63, 0.04);
    border: 1px solid rgba(30, 46, 71, 0.08);
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.pt-reference-tab:hover,
.pt-reference-tab:focus-visible {
    transform: translateY(-1px);
    box-shadow: var(--pt-shadow-sm);
    outline: none;
}

.pt-reference-tab span {
    font-weight: 800;
}

.pt-reference-tab small {
    color: var(--pt-muted);
}

.pt-reference-tab.is-active {
    color: white;
    background: linear-gradient(135deg, rgba(32, 42, 63, 0.98), rgba(39, 133, 132, 0.94));
    border-color: transparent;
}

.pt-reference-tab.is-active small {
    color: rgba(255, 255, 255, 0.82);
}

.pt-reference-metric-list,
.pt-reference-content {
    display: grid;
    gap: 12px;
}

.pt-reference-metric,
.pt-reference-summary-card {
    padding: 14px 16px;
    border-radius: 16px;
    background: white;
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-reference-metric span,
.pt-reference-summary-card span {
    display: block;
    color: var(--pt-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-reference-metric strong,
.pt-reference-summary-card strong {
    display: block;
    margin-top: 6px;
    font-family: "Chakra Petch", sans-serif;
    font-size: 1.08rem;
    color: var(--pt-bg);
}

.pt-reference-metric small,
.pt-reference-summary-card small {
    display: block;
    margin-top: 5px;
    color: var(--pt-muted);
}

.pt-reference-sidebar-form,
.pt-reference-form,
.pt-reference-panel {
    position: relative;
    overflow: hidden;
    padding: 16px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 252, 0.96));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-md);
}

.pt-reference-panel-head {
    display: grid;
    gap: 5px;
    margin-bottom: 10px;
}

.pt-reference-panel-head h2 {
    font-size: 1.28rem;
    line-height: 1.15;
    color: rgba(32, 42, 63, 0.9);
}

.pt-reference-panel-head p {
    font-size: 0.9rem;
    line-height: 1.52;
}

.pt-section-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-bottom: 10px;
    color: var(--pt-brand-aqua-deep);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pt-section-tag::before {
    content: "";
    width: 16px;
    height: 2px;
    border-radius: 999px;
    background: var(--pt-accent-gradient-thin);
}

.pt-reference-summary-grid,
.pt-reference-two-column,
.pt-reference-action-grid {
    display: grid;
    gap: 16px;
}

.pt-reference-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.pt-reference-two-column {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.pt-reference-action-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.pt-reference-action-grid-compact {
    gap: 12px;
}

.pt-reference-action-card {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 10px;
    align-items: start;
    padding: 12px 14px;
    border-radius: 14px;
    text-decoration: none;
    background: white;
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
    position: relative;
    overflow: hidden;
}

.pt-reference-action-card img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    margin-top: 2px;
    filter: drop-shadow(0 4px 10px rgba(11, 18, 31, 0.12));
}

.pt-reference-action-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 2px;
    background: var(--pt-accent-gradient-thin);
}

.pt-reference-action-card > div {
    display: grid;
    gap: 3px;
}

.pt-reference-action-card small {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-reference-action-card strong {
    color: var(--pt-bg);
    line-height: 1.25;
}

.pt-reference-action-card span {
    color: var(--pt-muted);
    line-height: 1.45;
}

.pt-action-cluster {
    display: grid;
    gap: 10px;
}

.pt-action-cluster + .pt-action-cluster {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(30, 46, 71, 0.08);
}

.pt-action-cluster-head {
    display: grid;
    gap: 4px;
}

.pt-action-cluster-head h3 {
    margin: 0;
    font-family: "Chakra Petch", sans-serif;
    font-size: 1rem;
    color: var(--pt-bg);
}

.pt-action-cluster-head p {
    margin: 0;
    color: var(--pt-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

.pt-reference-inline-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.pt-reference-inline-tabs a,
.pt-reference-inline-tabs span,
.pt-reference-inline-tabs .pt-tab-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 999px;
    text-decoration: none;
    background: rgba(32, 42, 63, 0.06);
    border: 1px solid rgba(30, 46, 71, 0.08);
    color: var(--pt-bg);
    font-weight: 700;
}

.pt-reference-inline-tabs .pt-tab-trigger {
    cursor: pointer;
    font: inherit;
}

.pt-reference-inline-tabs span.is-active,
.pt-reference-inline-tabs .pt-tab-trigger.is-active {
    color: white;
    background: linear-gradient(135deg, rgba(55, 184, 181, 0.98), rgba(39, 133, 132, 0.94));
}

.pt-tab-panel[hidden] {
    display: none !important;
}

/* Reference pass v2: closer to kelseyjmw/Trickster-Website while keeping our route map */
.pt-portal-header {
    padding-top: 14px;
}

.pt-header-shell-portal {
    padding: 8px 16px;
    border-radius: 18px;
    align-items: center;
    gap: 18px;
}

.pt-header-shell-portal .pt-nav-shell-portal {
    flex: 0 1 auto;
    min-width: 0;
    width: fit-content;
    max-width: 100%;
    background: rgba(20, 26, 40, 0.56);
}

.pt-header-shell-portal .pt-nav-primary {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
}

.pt-header-shell-portal .pt-nav-primary a {
    min-height: 40px;
}

.pt-nav-shell-portal,
.pt-member-nav-shell,
.pt-utility-shell-portal {
    border-radius: 14px;
    padding: 6px 8px;
}

.pt-nav-shell-portal {
    background: rgba(20, 26, 40, 0.62);
}

.pt-member-nav-shell {
    background: rgba(20, 26, 40, 0.42);
    width: fit-content;
    max-width: 100%;
    justify-self: start;
}

.pt-utility-shell-portal {
    background: rgba(20, 26, 40, 0.48);
}

.pt-header-guest-links {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0;
    border-radius: 20px;
    background: transparent;
    border: none;
    box-shadow: none;
    backdrop-filter: none;
}

.pt-header-guest-links > a:not(.pt-account-chip) {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: rgba(236, 242, 250, 0.88);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 700;
}

.pt-header-guest-links > a:not(.pt-account-chip):hover {
    color: white;
}

.pt-nav a {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 0.76rem;
}

.pt-main {
    padding-top: 10px;
}

.pt-home-shell {
    gap: 18px;
}

.pt-home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    align-items: center;
    min-height: 300px;
    gap: 18px;
    padding: 10px 28px 88px;
    border-radius: 26px;
    background: url('/reference-ui/background-village.png') center center / cover no-repeat;
}

.pt-home-hero-copy {
    max-width: 600px;
    background: transparent;
    backdrop-filter: none;
}

.pt-home-hero-copy p:not(.pt-kicker) {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
    max-width: 34ch;
}

.pt-home-hero-copy h1 {
    color: white;
    text-shadow: 2px 4px 10px rgba(0, 0, 0, 0.55);
    font-size: clamp(2.7rem, 4.6vw, 4.2rem);
}

.pt-home-hero-side {
    display: flex;
    align-items: end;
    justify-content: flex-end;
}

.pt-home-hero-spotlight-card {
    position: relative;
    width: min(100%, 340px);
    padding: 0 6px 0 0;
}

.pt-home-hero-spotlight-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(12, 20, 32, 0.18);
    color: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 6px 12px rgba(8, 12, 20, 0.08);
    backdrop-filter: blur(2px);
}

.pt-home-hero-spotlight-stack {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 248px;
    margin-top: 8px;
    overflow: hidden;
}

.pt-home-hero-spotlight-stack::before {
    content: "";
    position: absolute;
    inset: 12% 10% 4%;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 216, 104, 0.1), rgba(255, 216, 104, 0) 68%);
    filter: blur(6px);
}

.pt-home-hero-spotlight-main {
    width: min(100%, 264px);
    height: auto;
    object-fit: contain;
    z-index: 2;
    filter: drop-shadow(0 14px 22px rgba(8, 12, 20, 0.18));
}

.pt-home-hero-spotlight-accent {
    position: absolute;
    width: 126px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.16));
    z-index: 1;
}

.pt-home-hero-spotlight-accent.is-left {
    left: 10px;
    bottom: 18px;
    transform: rotate(-12deg);
}

.pt-home-hero-spotlight-accent.is-right {
    right: 8px;
    top: 8px;
    width: 112px;
    transform: rotate(10deg);
}

body.pt-route-home .pt-header::before,
body.pt-route-home .pt-header::after {
    background: transparent;
}

body.pt-route-home .pt-home-hero {
    background: transparent;
    box-shadow: none;
}

body.pt-route-home .pt-home-hero::after {
    display: none;
}

body.pt-route-home .pt-home-hero-copy {
    background: transparent;
    backdrop-filter: none;
}

.pt-home-band-reference {
    grid-template-columns: 252px minmax(0, 1fr);
    align-items: stretch;
    gap: 1.1rem;
    padding: 16px;
    margin-top: -30px;
    border-radius: 18px;
    background: rgba(20, 28, 42, 0.34);
    box-shadow: var(--pt-shadow-md);
    backdrop-filter: blur(6px);
}


.pt-home-band-figure {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    min-height: 100%;
    height: 100%;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(93, 128, 180, 0.16);
    background: linear-gradient(180deg, rgba(23, 34, 53, 0.94), rgba(17, 26, 41, 0.98));
    box-shadow: 0 14px 22px rgba(7, 12, 24, 0.14);
}

.pt-home-band-figure-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 14px;
    background: transparent;
    border: 0;
}

.pt-home-band-figure img {
    display: block;
    width: auto;
    max-width: 136%;
    max-height: 466px;
    height: auto;
    margin-left: -34px;
    margin-right: 0;
    object-fit: contain;
    object-position: center center;
    background: transparent;
    filter: saturate(1.03) drop-shadow(0 12px 18px rgba(6, 11, 24, 0.22));
    transform: scaleX(-1) scale(1.25);
    transform-origin: center center;
}

.pt-home-band-panel {
    display: flex;
    flex-direction: column;
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    backdrop-filter: none;
}

.pt-home-band-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 0.9rem;
    margin-top: 0;
    height: 100%;
}

.pt-home-band-list a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-content: center;
    align-items: center;
    justify-items: start;
    gap: 0.7rem;
    min-height: 58px;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(20, 30, 47, 0.9), rgba(17, 26, 41, 0.94));
    color: var(--pt-ink);
    text-decoration: none;
    box-shadow: none;
    backdrop-filter: blur(6px);
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.pt-home-band-list a img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.pt-home-band-list a svg {
    width: 20px;
    height: 20px;
    display: block;
    color: rgba(225, 235, 246, 0.94);
    stroke-width: 1.8;
}

.pt-home-band-list a:hover,
.pt-home-band-list a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(104, 177, 233, 0.18);
    background: linear-gradient(180deg, rgba(23, 34, 54, 0.94), rgba(18, 28, 44, 0.97));
}

.pt-home-quick-card strong {
    display: block;
    color: var(--pt-ink);
    font-size: 0.92rem;
    line-height: 1.22;
    font-weight: 700;
}

.pt-home-quick-card span {
    display: block;
    margin-top: 0.12rem;
    color: rgba(216, 226, 239, 0.72);
    font-size: 0.72rem;
    line-height: 1.36;
    text-wrap: pretty;
}

.pt-home-band-list a > div {
    align-self: center;
}

.pt-home-features {
    padding: 30px 28px 36px;
    border-radius: 24px;
    background: rgba(18, 26, 40, 0.34);
}

.pt-home-features-head {
    text-align: center;
}

.pt-home-features-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px 16px;
}

.pt-home-feature-box {
    text-align: center;
    background: transparent;
    box-shadow: none;
    padding: 0 6px;
}

.pt-home-feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    margin: 0 auto 16px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--pt-brand-green), var(--pt-brand-aqua));
    box-shadow: var(--pt-glow-green);
    position: relative;
    overflow: hidden;
}

.pt-home-feature-icon img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(9, 19, 34, 0.14));
}

.pt-home-feature-icon::after {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent 55%);
}

.pt-home-feature-box h3 {
    margin-bottom: 10px;
}

.pt-auth-page {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: clamp(560px, calc(100vh - 286px), 670px);
    padding: 0;
}

.pt-auth-reference-shell {
    width: min(1120px, 100%);
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 0.95fr);
    overflow: hidden;
    border-radius: 24px;
    background: white;
    box-shadow: var(--pt-shadow-lg);
    margin: 0 auto;
}

.pt-auth-reference-visual {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 14px;
    padding: 34px 30px;
    background: linear-gradient(180deg, rgba(20, 26, 40, 0.82), rgba(20, 26, 40, 0.58));
    color: white;
    text-align: center;
    position: relative;
}

.pt-auth-reference-visual::before {
    content: "";
    position: absolute;
    inset: 20px;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent);
    pointer-events: none;
}

.pt-auth-reference-visual img {
    max-width: min(100%, 190px);
    position: relative;
    z-index: 1;
}

.pt-auth-reference-visual-register {
    overflow: hidden;
    align-content: center;
    justify-items: center;
    padding: 30px 30px 40px;
    gap: 16px;
}

.pt-auth-reference-visual-register > div:first-of-type {
    margin-top: 20px;
    position: relative;
    z-index: 2;
}

.pt-auth-reference-hero-register {
    width: min(100%, 372px);
    max-width: none;
    transform: scaleX(-1) scale(1.66) translateX(-4%) translateY(24px);
    transform-origin: center bottom;
    filter: saturate(1.04) contrast(1.03) drop-shadow(0 20px 28px rgba(6, 10, 18, 0.2));
    position: relative;
    z-index: 1;
}

.pt-auth-reference-visual-login {
    overflow: hidden;
}

.pt-auth-reference-hero-login {
    width: min(100%, 256px);
    max-width: none;
    transform: scale(1.08) translateY(8px);
    transform-origin: center bottom;
    filter: saturate(1.04) contrast(1.03) drop-shadow(0 18px 24px rgba(6, 10, 18, 0.22));
}

.pt-auth-reference-visual-recovery {
    overflow: hidden;
    align-content: center;
    justify-items: center;
    padding: 28px 30px 40px;
    gap: 16px;
}

.pt-auth-reference-visual-recovery > div:first-of-type {
    margin-top: 24px;
    position: relative;
    z-index: 2;
    padding-top: 16px;
}

.pt-auth-reference-hero-recovery {
    width: min(100%, 388px);
    max-width: none;
    transform: scale(1.86) translateY(24px);
    transform-origin: center bottom;
    filter: saturate(1.05) contrast(1.04) drop-shadow(0 22px 30px rgba(6, 10, 18, 0.22));
    position: relative;
    z-index: 1;
}

.pt-auth-reference-visual h2,
.pt-auth-reference-card h2 {
    margin: 0;
    font-size: 2rem;
    text-wrap: balance;
}

.pt-auth-reference-card {
    padding: 34px 32px;
    display: grid;
    gap: 14px;
    align-content: start;
}

.pt-auth-simple-form {
    align-items: stretch;
}

.pt-auth-simple-links {
    display: grid;
    gap: 10px;
    justify-items: center;
    text-align: center;
    color: var(--pt-muted);
}

.pt-auth-visual-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    position: relative;
    z-index: 1;
}

.pt-auth-visual-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border-radius: 999px;
    color: white;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.16);
    font-size: 0.78rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.pt-auth-copy-block {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(18, 26, 40, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    justify-items: start;
}

.pt-auth-fact-grid {
    display: grid;
    gap: 0.8rem;
    margin: 1rem 0 1.1rem;
}

.pt-auth-lead {
    max-width: 34ch;
    margin: 0;
    color: var(--pt-ink);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.55;
    text-wrap: pretty;
}

.pt-auth-guidance {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pt-auth-guidance li {
    position: relative;
    margin: 0;
    padding-left: 18px;
    color: var(--pt-muted);
    font-size: 0.94rem;
    line-height: 1.56;
    max-width: 48ch;
    text-wrap: pretty;
}

.pt-auth-guidance li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.75em;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--pt-brand-green), var(--pt-brand-aqua));
    transform: translateY(-50%);
}

.pt-auth-support-copy {
    max-width: 38ch;
    margin: 0;
    line-height: 1.5;
    text-wrap: pretty;
}

.pt-auth-simple-form .pt-button {
    width: 100%;
    margin-top: 4px;
}

.pt-auth-simple-form .pt-field input {
    text-align: left;
}

.pt-auth-reference-card > .pt-feedback,
.pt-auth-reference-card > .pt-note-block {
    margin-top: 0;
}

.pt-auth-reference-card > .pt-feedback-error,
.pt-auth-reference-card > .pt-note-block.pt-note-error {
    background: linear-gradient(180deg, rgba(28, 35, 51, 0.92), rgba(24, 31, 46, 0.98)) !important;
    border: 1px solid rgba(255, 120, 138, 0.28) !important;
    color: #fff6f5 !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 242, 242, 0.05),
        0 10px 24px rgba(10, 14, 24, 0.2) !important;
}

.pt-auth-reference-card > .pt-feedback-error strong,
.pt-auth-reference-card > .pt-note-block.pt-note-error strong {
    color: #ff7d93 !important;
    text-shadow: none !important;
}

.pt-auth-reference-card > .pt-feedback-error > div,
.pt-auth-reference-card > .pt-note-block.pt-note-error > div {
    color: #ffd7de !important;
    font-weight: 600;
}

.pt-auth-reference-card > .pt-feedback-success,
.pt-auth-reference-card > .pt-note-block.pt-note-success {
    background: linear-gradient(180deg, rgba(28, 35, 51, 0.92), rgba(24, 31, 46, 0.98)) !important;
    border: 1px solid rgba(120, 243, 213, 0.24) !important;
    color: #effffd !important;
    box-shadow:
        inset 0 1px 0 rgba(241, 255, 251, 0.04),
        0 10px 24px rgba(10, 14, 24, 0.18) !important;
}

.pt-auth-reference-card > .pt-feedback-success strong,
.pt-auth-reference-card > .pt-note-block.pt-note-success strong {
    color: #68f0d5 !important;
}

.pt-auth-reference-card > .pt-feedback-success > div,
.pt-auth-reference-card > .pt-note-block.pt-note-success > div {
    color: #d9fff7 !important;
    font-weight: 600;
}

.pt-reference-shell {
    align-items: start;
    gap: 0;
    border-radius: 32px;
    overflow: hidden;
    background: white;
    box-shadow: var(--pt-shadow-lg);
}

.pt-reference-sidebar {
    padding: 26px 18px;
    background: linear-gradient(180deg, rgba(245, 246, 248, 0.98), rgba(235, 238, 242, 0.98));
    border-right: 1px solid rgba(30, 46, 71, 0.08);
}

.pt-reference-sidebar-hero {
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(30, 46, 71, 0.08);
}

.pt-reference-sidebar-hero p {
    max-width: 26ch;
    line-height: 1.5;
    text-wrap: pretty;
}

.pt-reference-sidebar-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.pt-reference-sidebar-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 11px;
    border-radius: 999px;
    color: var(--pt-bg);
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(30, 46, 71, 0.08);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.pt-reference-tabs {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pt-reference-tab {
    border-radius: 14px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.38);
    box-shadow: none;
    border: 1px solid rgba(30, 46, 71, 0.06);
}

.pt-reference-tab.is-active {
    background: white;
    box-shadow: var(--pt-shadow-sm);
}

.pt-reference-content {
    padding: 20px;
    background: white;
}

.pt-reference-panel,
.pt-reference-panel-tight {
    border: 0;
    box-shadow: none;
    background: transparent;
    padding: 0;
}

.pt-reference-panel + .pt-reference-panel {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid rgba(30, 46, 71, 0.08);
}

.pt-reference-summary-grid,
.pt-reference-two-column,
.pt-reference-action-grid {
    gap: 18px;
}

.pt-reference-action-card {
    background: rgba(247, 249, 252, 0.95);
    border-radius: 18px;
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-table-wrap {
    border-radius: 18px;
    overflow: auto;
    border: 1px solid rgba(30, 46, 71, 0.08);
}

.pt-table thead th {
    background: rgba(32, 42, 63, 0.96);
    color: white;
}

.pt-footer-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 16px;
}

.pt-footer-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pt-footer-socials {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pt-footer-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

.pt-footer-socials img {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.pt-footer-copy {
    text-align: right;
}

.pt-home-intro-note {
    max-width: 980px;
    margin: -2px auto 0;
}

.pt-footer-kicker {
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 6px;
}

body.pt-route-member-index .pt-reference-shell,
body.pt-route-ranking .pt-reference-shell,
body.pt-route-shop-itemmall .pt-reference-shell,
body.pt-route-event .pt-reference-shell,
body.pt-route-bank .pt-reference-shell {
    min-height: 72vh;
}

@media (max-width: 1080px) {
    .pt-home-hero,
    .pt-auth-reference-shell,
    .pt-home-band-reference {
        grid-template-columns: 1fr;
    }

    .pt-home-band-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-home-band-figure {
        min-height: 320px;
    }

    .pt-home-band-figure img {
        width: auto;
        height: 320px;
        margin-left: 0;
    }

    .pt-download-overview {
        grid-template-columns: 1fr;
    }

    .pt-ranking-hero {
        grid-template-columns: 1fr;
    }

    .pt-event-sidebar-visual img {
        width: 92px;
        height: 92px;
    }

    .pt-home-hero-side {
        order: -1;
        justify-content: flex-end;
    }

    .pt-home-hero-side img {
        max-width: 220px;
    }

    .pt-footer-shell {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .pt-footer-brand,
    .pt-footer-socials {
        justify-content: center;
    }

    .pt-footer-copy {
        text-align: center;
    }
}

@media (max-width: 720px) {
    .pt-header-guest-links {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .pt-home-hero,
    .pt-home-features,
    .pt-auth-reference-card,
    .pt-auth-reference-visual,
    .pt-reference-content,
    .pt-reference-sidebar {
        padding: 24px;
    }

    .pt-home-band-panel {
        padding: 18px;
    }

    .pt-auth-lead,
    .pt-auth-support-copy {
        max-width: none;
    }
}

.pt-dashboard-rail {
    padding: 24px;
    background: rgba(255, 255, 255, 0.98);
}

.pt-dashboard-rail h2,
.pt-dashboard-rail h3 {
    margin: 0 0 8px;
    color: var(--pt-bg);
    font-family: "Poppins", "Noto Sans Thai", sans-serif;
}

.pt-dashboard-rail p,
.pt-dashboard-rail li,
.pt-dashboard-rail span {
    color: var(--pt-muted);
}

.pt-dashboard-pane {
    padding: 24px;
}

.pt-dashboard-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.pt-dashboard-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 52px;
    padding: 12px 14px;
    border-radius: 14px;
    color: var(--pt-muted);
    text-decoration: none;
    background: transparent;
    border: 1px solid transparent;
}

.pt-dashboard-link.is-active {
    background: white;
    color: var(--pt-bg);
    box-shadow: var(--pt-shadow-sm);
}

.pt-dashboard-link small {
    display: block;
    opacity: 0.8;
}

.pt-dashboard-reference-shell {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
    min-height: 72vh;
    gap: 0;
    border-radius: 2rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 28px 60px rgba(18, 29, 46, 0.14);
}

.pt-dashboard-reference-sidebar {
    padding: 1.1rem 0.85rem;
    background: rgba(255, 255, 255, 0.98);
    border-right: 3px solid rgba(203, 210, 220, 0.78);
    position: sticky;
    top: 14px;
    align-self: start;
}

.pt-dashboard-reference-sidebar .pt-reference-sidebar-hero,
.pt-dashboard-reference-sidebar .pt-dashboard-rail-intro {
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(32, 43, 63, 0.08);
}

.pt-dashboard-reference-tabs,
.pt-dashboard-list.pt-dashboard-reference-tabs {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin-top: 1rem;
}

.pt-dashboard-reference-tabs .pt-reference-tab,
.pt-dashboard-reference-tabs .pt-dashboard-link {
    min-height: 3rem;
    padding: 0.68rem 0.8rem;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    border: 0;
    border-left: 3px solid transparent;
}

.pt-dashboard-reference-tabs .pt-reference-tab:hover,
.pt-dashboard-reference-tabs .pt-dashboard-link:hover {
    background: rgba(32, 42, 63, 0.03);
}

.pt-dashboard-reference-tabs .pt-reference-tab.is-active,
.pt-dashboard-reference-tabs .pt-dashboard-link.is-active {
    background: #ffffff;
    border-left-color: var(--pt-brand-aqua);
    box-shadow: none;
    color: var(--pt-bg);
}

.pt-dashboard-reference-tabs .pt-reference-tab small,
.pt-dashboard-reference-tabs .pt-dashboard-link small {
    opacity: 0.72;
}

.pt-dashboard-reference-content {
    padding: 1.15rem 1.2rem 1.35rem;
    background: rgba(255, 255, 255, 0.98);
}

.pt-dashboard-reference-content > .pt-reference-panel:first-child,
.pt-dashboard-reference-content > .pt-bank-box:first-child {
    padding-top: 0.35rem;
}

.pt-dashboard-reference-content .pt-reference-panel,
.pt-dashboard-reference-content .pt-reference-panel-tight,
.pt-dashboard-reference-content .pt-bank-box {
    background: transparent;
    box-shadow: none;
    border: 0;
}

.pt-dashboard-reference-content .pt-reference-panel + .pt-reference-panel,
.pt-dashboard-reference-content .pt-bank-box + .pt-bank-box {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(32, 43, 63, 0.08);
}

.pt-dashboard-reference-content .pt-reference-panel-head {
    display: grid;
    gap: 0.42rem;
    margin-bottom: 0.7rem;
    max-width: 52rem;
}

.pt-dashboard-reference-content .pt-reference-panel-head h2,
.pt-dashboard-reference-content .pt-bank-box-head {
    font-size: 1.8rem;
    line-height: 1.15;
    text-wrap: balance;
}

.pt-dashboard-reference-content .pt-reference-panel-head p {
    max-width: 46rem;
    margin: 0;
    color: rgba(32, 43, 63, 0.72);
    text-wrap: pretty;
}

.pt-dashboard-reference-content .pt-table-wrap {
    border-radius: 0;
    border-left: 3px solid rgba(32, 43, 63, 0.1);
}

.pt-dashboard-reference-content .pt-itemmall-grid {
    gap: 1.1rem;
}

.pt-dashboard-reference-content .pt-itemmall-card {
    border-radius: 1.25rem;
}

.pt-dashboard-reference-content .pt-event-deck-grid {
    gap: 0.8rem;
}

.pt-inline-accent {
    color: var(--pt-brand-aqua-deep);
}

.pt-member-inline-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.4rem;
    margin-bottom: 1.2rem;
    color: rgba(32, 43, 63, 0.74);
}

.pt-member-inline-stat {
    display: grid;
    gap: 0.18rem;
    min-width: 150px;
    padding: 0.7rem 0.9rem;
    border-radius: 0.95rem;
    background: rgba(247, 249, 252, 0.96);
    border: 1px solid rgba(30, 46, 71, 0.07);
}

.pt-member-inline-stat strong {
    color: rgba(32, 43, 63, 0.62);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.pt-member-inline-stat span {
    color: var(--pt-bg);
    font-size: 1rem;
    font-weight: 700;
}

.pt-member-primary-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.pt-member-primary-actions .pt-button {
    width: 100%;
    min-width: 0;
}

.pt-member-command-deck {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(220px, 0.8fr);
    gap: 0.95rem;
    align-items: start;
}

.pt-member-command-main {
    display: grid;
    gap: 0.8rem;
}

.pt-member-sidebar-visual {
    display: flex;
    justify-content: center;
    margin: 0.7rem 0 0.2rem;
}

.pt-member-sidebar-visual img {
    width: 92px;
    height: 92px;
    object-fit: contain;
    filter: drop-shadow(0 12px 22px rgba(18, 29, 46, 0.18));
}

.pt-member-showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.95fr);
    gap: 16px;
    padding: 16px 18px;
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(240, 247, 251, 0.98)),
        linear-gradient(90deg, rgba(55, 184, 181, 0.08), rgba(180, 212, 65, 0.08));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-member-showcase-main,
.pt-member-showcase-side {
    display: grid;
    gap: 12px;
    align-content: start;
}

.pt-member-showcase-side {
    justify-items: stretch;
}

.pt-member-showcase-side-grid {
    gap: 10px;
}

.pt-member-command-side {
    display: grid;
    gap: 0.7rem;
}

.pt-member-command-card {
    display: grid;
    gap: 0.35rem;
    padding: 0.9rem 1rem;
    border-radius: 1rem;
    color: white;
    background: linear-gradient(180deg, rgba(26, 38, 59, 0.98), rgba(22, 32, 47, 0.94));
    box-shadow: var(--pt-shadow-sm);
}

.pt-member-command-card span {
    color: rgba(180, 212, 65, 0.92);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pt-member-command-card strong {
    font-size: 1.06rem;
    line-height: 1.35;
}

.pt-member-command-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.58;
    text-wrap: pretty;
}

.pt-member-masthead,
.pt-itemmall-page-masthead {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.pt-member-masthead-copy,
.pt-itemmall-page-masthead-copy {
    margin-bottom: 0;
}

.pt-member-masthead-copy p,
.pt-itemmall-page-masthead-copy p {
    max-width: 44rem;
}

.pt-member-masthead-cards,
.pt-itemmall-page-masthead-cards,
.pt-member-command-mini-grid {
    display: grid;
    gap: 0.6rem;
}

.pt-member-command-mini-grid {
    grid-template-columns: minmax(0, 1fr);
}

.pt-member-compact-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.pt-member-compact-summary-grid span {
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(30, 46, 71, 0.06);
}

.pt-member-hero-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 0.75rem;
}

.pt-member-hero-stat {
    display: grid;
    gap: 4px;
    padding: 13px 15px;
    border-radius: 18px;
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-member-hero-stat small {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.pt-member-hero-stat strong {
    font-family: "Chakra Petch", "Noto Sans Thai", sans-serif;
    font-size: 1.28rem;
    line-height: 1.05;
}

.pt-member-hero-stat span {
    color: rgba(28, 41, 64, 0.72);
    font-size: 0.88rem;
    line-height: 1.4;
}

.pt-member-hero-stat.is-aqua {
    background: linear-gradient(135deg, rgba(55, 184, 181, 0.2), rgba(255, 255, 255, 0.96));
}

.pt-member-hero-stat.is-aqua small,
.pt-member-hero-stat.is-aqua strong {
    color: var(--pt-brand-aqua-deep);
}

.pt-member-hero-stat.is-lime {
    background: linear-gradient(135deg, rgba(180, 212, 65, 0.22), rgba(255, 255, 255, 0.96));
}

.pt-member-hero-stat.is-lime small,
.pt-member-hero-stat.is-lime strong {
    color: #5c7f11;
}

.pt-member-hero-stat.is-gold {
    background: linear-gradient(135deg, rgba(247, 189, 34, 0.22), rgba(255, 255, 255, 0.96));
}

.pt-member-hero-stat.is-gold small,
.pt-member-hero-stat.is-gold strong {
    color: #9a6500;
}

.pt-member-masthead-card,
.pt-itemmall-page-masthead-card,
.pt-member-command-mini-card {
    display: grid;
    gap: 0.3rem;
    padding: 0.72rem 0.82rem;
    border-radius: 0.95rem;
    background: linear-gradient(180deg, rgba(247, 250, 253, 0.98), rgba(238, 244, 250, 0.94));
    border: 1px solid rgba(30, 46, 71, 0.1);
    box-shadow: var(--pt-shadow-sm);
}

.pt-member-masthead-card span,
.pt-itemmall-page-masthead-card span,
.pt-member-command-mini-card span {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-member-masthead-card strong,
.pt-itemmall-page-masthead-card strong,
.pt-member-command-mini-card strong {
    color: var(--pt-bg);
    font-size: 0.95rem;
    line-height: 1.28;
    text-wrap: pretty;
}

.pt-member-command-mini-card-soft {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 246, 251, 0.96));
}

.pt-member-command-mini-card-visual {
    background: linear-gradient(135deg, rgba(55, 184, 181, 0.16), rgba(180, 212, 65, 0.18));
    border-color: rgba(55, 184, 181, 0.18);
}

.pt-member-command-mini-card small {
    color: rgba(28, 41, 64, 0.68);
    font-size: 0.8rem;
    line-height: 1.42;
}

.pt-member-tool-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.pt-member-tool-card {
    align-content: start;
}

.pt-button-secondary {
    color: var(--pt-ink);
    background: linear-gradient(180deg, rgba(40, 53, 76, 0.84), rgba(27, 36, 54, 0.88));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

.pt-shop-inline-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0;
}

.pt-shop-inline-tabs a,
.pt-shop-inline-tabs span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: 0.2rem 1.05rem;
    border-radius: 999px;
    border: 1px solid rgba(140, 167, 232, 0.4);
    text-decoration: none;
    color: rgba(32, 43, 63, 0.82);
    background: rgba(255, 255, 255, 0.92);
    font-weight: 700;
    line-height: 1.2;
    box-shadow: var(--pt-shadow-sm);
}

.pt-shop-inline-tabs span.is-active {
    color: var(--pt-bg);
    background: linear-gradient(180deg, rgba(129, 169, 245, 0.18), rgba(255, 255, 255, 0.96));
    border-color: rgba(129, 169, 245, 0.72);
}

.pt-market-toolbar {
    display: grid;
    gap: 0.7rem;
    margin: 0.95rem 0 1rem;
}

.pt-market-toolbar .pt-note-inline {
    margin: 0;
    max-width: 72ch;
}

.pt-shop-inline-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.7rem;
    margin-top: 0.8rem;
}

.pt-reference-grid-two {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 0.9rem;
    margin-bottom: 0.9rem;
}

.pt-market-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
    align-items: start;
}

.pt-market-form-panel,
.pt-market-status-panel {
    height: 100%;
}

.pt-market-form {
    display: grid;
    gap: 0.85rem;
}

.pt-market-form .pt-form-grid {
    gap: 0.85rem 1rem;
}

.pt-market-status-panel .pt-shop-inline-summary {
    margin-top: 0.2rem;
}

.pt-market-surface .pt-table-header {
    padding: 30px 32px 0;
}

.pt-market-surface .pt-market-toolbar,
.pt-market-surface .pt-market-grid {
    padding: 0 32px;
}

.pt-market-surface > .pt-table-wrap {
    padding: 16px 32px 28px;
}

.pt-shop-inline-summary article {
    padding: 0.72rem 0.8rem 0.7rem;
    border-radius: 1rem;
    background: rgba(247, 249, 252, 0.96);
    text-align: center;
    border: 1px solid rgba(30, 46, 71, 0.06);
}

.pt-shop-inline-summary strong {
    display: block;
    font-size: 1.18rem;
    color: var(--pt-bg);
}

.pt-shop-inline-summary span {
    display: block;
    margin-top: 0.2rem;
    color: rgba(32, 43, 63, 0.68);
    font-size: 0.92rem;
}

.pt-shop-masthead {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 1.2rem;
    color: white;
    background: linear-gradient(135deg, rgba(24, 38, 60, 0.98), rgba(39, 133, 132, 0.88));
    box-shadow: var(--pt-shadow-sm);
}

.pt-shop-masthead-copy {
    display: grid;
    gap: 0.35rem;
}

.pt-shop-masthead-copy span {
    color: rgba(180, 212, 65, 0.9);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pt-shop-masthead-copy strong {
    font-size: 1.08rem;
    line-height: 1.4;
    text-wrap: pretty;
}

.pt-shop-masthead-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.pt-shop-masthead-metrics div {
    display: grid;
    gap: 0.2rem;
    padding: 0.8rem 0.9rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.pt-shop-masthead-metrics span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-shop-masthead-metrics strong {
    font-size: 1.08rem;
    line-height: 1.3;
}

.pt-utility-masthead,
.pt-event-masthead,
.pt-bank-masthead {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 0.8rem;
    align-items: stretch;
}

.pt-utility-masthead {
    grid-template-columns: 1fr;
}

.pt-utility-masthead-copy,
.pt-event-masthead-copy,
.pt-bank-masthead-copy {
    margin-bottom: 0;
}

.pt-utility-masthead-copy p,
.pt-event-masthead-copy p,
.pt-bank-masthead-copy p {
    max-width: 44rem;
}

.pt-utility-masthead-facts,
.pt-event-masthead-cards,
.pt-bank-masthead-cards {
    display: grid;
    gap: 0.6rem;
}

.pt-utility-masthead-fact,
.pt-event-masthead-card,
.pt-bank-masthead-card {
    display: grid;
    gap: 0.3rem;
    padding: 0.68rem 0.78rem;
    border-radius: 0.95rem;
    background: linear-gradient(180deg, rgba(247, 250, 253, 0.98), rgba(238, 244, 250, 0.94));
    border: 1px solid rgba(30, 46, 71, 0.1);
    box-shadow: var(--pt-shadow-sm);
}

.pt-utility-masthead-fact span,
.pt-event-masthead-card span,
.pt-bank-masthead-card span,
.pt-utility-instruction-item span {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-utility-masthead-fact strong,
.pt-event-masthead-card strong,
.pt-bank-masthead-card strong,
.pt-utility-instruction-item strong {
    color: var(--pt-bg);
    font-size: 0.95rem;
    line-height: 1.35;
    text-wrap: pretty;
}

.pt-utility-instruction-panel {
    margin-bottom: 1.3rem;
}

.pt-utility-instruction-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.45rem;
}

.pt-utility-instruction-list-compact {
    margin-top: 0.1rem;
}

.pt-utility-instruction-item {
    display: grid;
    gap: 0.35rem;
    padding: 0.72rem 0.84rem;
    border-radius: 1rem;
    background: rgba(247, 249, 252, 0.96);
    border-left: 4px solid rgba(55, 184, 181, 0.32);
}

.pt-utility-note-list .pt-utility-instruction-item,
.pt-utility-instruction-item-warning {
    background: linear-gradient(180deg, rgba(255, 247, 222, 0.96), rgba(252, 241, 209, 0.94));
    border-left-color: rgba(247, 189, 34, 0.55);
}

.pt-utility-instruction-item strong {
    font-size: 0.97rem;
    font-weight: 700;
}

.pt-utility-guidance-panel .pt-table-header p {
    max-width: 38ch;
}

.pt-utility-detail-grid-compact {
    margin-top: 0.45rem;
}

.pt-utility-guidance-panel .pt-utility-detail-card {
    padding: 0.8rem 0.9rem;
}

.pt-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
    margin-top: 0.35rem;
}

.pt-info-grid-compact {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
}

.pt-event-page .pt-note-inline {
    max-width: 78ch;
}

.pt-event-page .pt-event-masthead {
    grid-template-columns: minmax(0, 1fr);
}

.pt-event-page .pt-reference-sidebar {
    padding-right: 14px;
}

.pt-event-page .pt-dashboard-reference-shell {
    grid-template-columns: minmax(220px, 272px) minmax(0, 980px);
    justify-content: start;
    max-width: 1252px;
    margin: 0 auto;
}

.pt-event-page .pt-dashboard-reference-content {
    padding: 1.2rem 1.5rem 1.45rem 1.2rem;
}

.pt-event-page .pt-reference-sidebar-hero h2 {
    color: var(--pt-brand-aqua-deep);
    font-size: 1.78rem;
}

.pt-event-page .pt-reference-sidebar-hero p {
    max-width: 18ch;
    color: rgba(32, 43, 63, 0.62);
}

.pt-event-page .pt-reference-sidebar-badges {
    margin-top: 0.85rem;
}

.pt-event-sidebar-feature {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: start;
    margin-top: 0.9rem;
    padding: 14px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(22, 34, 50, 0.96), rgba(18, 29, 44, 0.92));
    border: 1px solid rgba(137, 238, 255, 0.1);
    box-shadow: var(--pt-shadow-sm);
    overflow: hidden;
}

.pt-event-sidebar-feature-media {
    display: grid;
    place-items: center;
    min-height: 124px;
    padding: 10px 8px 8px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.16), transparent 40%),
        linear-gradient(155deg, rgba(24, 39, 58, 0.96), rgba(16, 29, 46, 0.9));
    border: 1px solid rgba(137, 238, 255, 0.12);
    box-shadow: var(--pt-shadow-sm);
}

.pt-event-sidebar-feature-media img {
    width: 100%;
    max-width: 118px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 16px 22px rgba(8, 12, 20, 0.28));
}

.pt-event-sidebar-feature-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.pt-event-sidebar-feature-copy small {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    line-height: 1.35;
}

.pt-event-sidebar-feature-copy strong {
    color: rgba(245, 249, 255, 0.96);
    font-size: 0.95rem;
    line-height: 1.2;
}

.pt-event-sidebar-feature-copy p {
    margin: 0;
    color: rgba(196, 208, 231, 0.82);
    font-size: 0.76rem;
    line-height: 1.45;
    text-wrap: pretty;
}

.pt-event-sidebar-feature-meta {
    display: grid;
    gap: 8px;
}

.pt-event-sidebar-feature-meta span {
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    background: rgba(12, 22, 36, 0.52);
    border: 1px solid rgba(137, 238, 255, 0.1);
    color: rgba(206, 219, 241, 0.82);
    font-size: 0.72rem;
    font-weight: 700;
}

.pt-event-page .pt-reference-panel:first-child .pt-note-inline {
    max-width: 64ch;
}

.pt-event-page .pt-reference-panel {
    max-width: none;
}

.pt-event-hero-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin: 0.95rem 0 0.8rem;
    padding: 14px 16px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(17, 34, 54, 0.94), rgba(38, 70, 108, 0.76));
    box-shadow: var(--pt-shadow-md);
}

.pt-event-hero-banner-copy {
    display: grid;
    gap: 4px;
}

.pt-event-hero-banner-copy small {
    color: rgba(195, 244, 0, 0.92);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pt-event-hero-banner-copy strong {
    color: white;
    font-size: 1.15rem;
    line-height: 1.15;
}

.pt-event-hero-banner-copy span {
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.45;
}

.pt-event-status-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0.95rem 0 0.8rem;
}

.pt-event-status-card {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(248, 250, 253, 0.98), rgba(241, 246, 251, 0.95));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-event-status-card small {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-event-status-card strong {
    color: var(--pt-bg);
    line-height: 1.25;
}

.pt-event-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 0.95rem;
}

.pt-event-page .pt-reference-panel:first-child {
    display: grid;
    gap: 0.15rem;
}

.pt-event-mini-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 0.85rem;
}

.pt-event-mini-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 999px;
    text-decoration: none;
    color: var(--pt-bg);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
    font-weight: 700;
}

.pt-event-mini-cta img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.pt-event-mini-cta:hover,
.pt-event-mini-cta:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(55, 184, 181, 0.22);
}

.pt-button-link-secondary {
    background: linear-gradient(135deg, rgba(53, 96, 151, 0.24), rgba(39, 133, 132, 0.2));
    color: var(--pt-ink);
    border-color: rgba(110, 174, 222, 0.16);
    box-shadow: var(--pt-shadow-sm);
}

.pt-button-link-secondary:hover,
.pt-button-link-secondary:focus-visible {
    background: linear-gradient(135deg, rgba(67, 114, 173, 0.3), rgba(39, 133, 132, 0.26));
}

.pt-event-action-grid .pt-reference-action-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(245, 249, 253, 0.96));
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.pt-event-action-grid .pt-reference-action-card:hover,
.pt-event-action-grid .pt-reference-action-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(55, 184, 181, 0.24);
    box-shadow: var(--pt-shadow-md);
}

.pt-note-inline {
    font-size: 0.91rem;
}

.pt-info-card {
    padding: 1rem 1.05rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(245, 248, 253, 0.98), rgba(236, 242, 249, 0.94));
    border: 1px solid rgba(41, 58, 84, 0.1);
    display: grid;
    align-content: start;
    gap: 0.35rem;
}

.pt-info-card strong {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--pt-bg);
    font-size: 0.95rem;
    font-weight: 800;
}

.pt-info-card p {
    margin: 0;
    color: var(--pt-muted);
    line-height: 1.68;
    text-wrap: pretty;
}

.pt-form-explainer {
    margin: 0.9rem 0 0;
    color: var(--pt-muted);
    font-size: 0.92rem;
    line-height: 1.58;
    max-width: 46rem;
    text-wrap: pretty;
}

.pt-note-block-tight {
    line-height: 1.68;
}

.pt-note-block p {
    margin: 0;
}

.pt-note-block p + p {
    margin-top: 0.35rem;
}

.pt-utility-detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.8rem;
}

.pt-utility-detail-card {
    padding: 1rem 1.05rem;
    border-radius: 1.15rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 255, 0.96));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-utility-detail-card h3 {
    margin: 0 0 0.7rem;
    font-family: "Chakra Petch", sans-serif;
    color: var(--pt-bg);
    font-size: 1.08rem;
}

.pt-utility-detail-list {
    margin: 0;
    padding-left: 1.15rem;
    display: grid;
    gap: 0.55rem;
    color: rgba(32, 43, 63, 0.84);
    font-size: 0.94rem;
    line-height: 1.65;
    text-wrap: pretty;
}

.pt-utility-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.9fr);
    gap: 1rem;
}

.pt-utility-side-panel {
    display: grid;
    gap: 0.55rem;
    align-content: start;
    min-width: 0;
}

.pt-utility-stat-box {
    padding: 0.7rem 0.85rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(216, 251, 204, 0.92), rgba(190, 242, 202, 0.92));
    color: var(--pt-bg);
    font-size: 1.1rem;
    font-weight: 800;
    text-align: center;
}

.pt-utility-side-note {
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: rgba(247, 249, 252, 0.96);
    color: rgba(32, 43, 63, 0.78);
    max-width: 48rem;
    line-height: 1.62;
    text-wrap: pretty;
}

.pt-utility-inline-requirement {
    max-width: 42rem;
}

.pt-table-temper {
    table-layout: fixed;
}

.pt-table-temper th:nth-child(1),
.pt-table-temper td:nth-child(1) {
    width: 96px;
}

.pt-table-temper th:nth-child(3),
.pt-table-temper td:nth-child(3),
.pt-table-temper th:nth-child(4),
.pt-table-temper td:nth-child(4),
.pt-table-temper th:nth-child(5),
.pt-table-temper td:nth-child(5) {
    width: 82px;
}

.pt-table-temper th:nth-child(6),
.pt-table-temper td:nth-child(6) {
    width: 236px;
}

.pt-temper-action-cell {
    vertical-align: top;
}

.pt-temper-action-card {
    display: grid;
    gap: 0.32rem;
    max-width: 15.75rem;
    margin-left: auto;
}

.pt-temper-label {
    margin-top: 0.15rem;
    color: rgba(32, 42, 63, 0.74);
    font-size: 0.84rem;
}

.pt-temper-stat-line {
    font-size: 0.88rem;
    line-height: 1.45;
    color: rgba(32, 43, 63, 0.78);
}

.pt-utility-warning {
    padding: 1rem 1.1rem;
    border-radius: 1rem;
    background: rgba(255, 247, 218, 0.98);
    color: rgba(32, 43, 63, 0.9);
    font-weight: 700;
    line-height: 1.55;
}

.pt-smelting-list-wrap,
.pt-smelting-tier-wrap {
    min-width: 0;
}

.pt-smelting-tier-wrap {
    overflow-x: hidden;
}

.pt-smelting-tier-table {
    min-width: 0;
    table-layout: fixed;
}

.pt-smelting-tier-table th,
.pt-smelting-tier-table td {
    padding: 12px 10px;
    font-size: 0.92rem;
}

.pt-smelting-tier-table th:nth-child(1),
.pt-smelting-tier-table td:nth-child(1) {
    width: 62%;
}

.pt-smelting-tier-table th:nth-child(2),
.pt-smelting-tier-table td:nth-child(2) {
    width: 14%;
    text-align: center;
}

.pt-smelting-tier-table th:nth-child(3),
.pt-smelting-tier-table td:nth-child(3) {
    width: 24%;
    text-align: right;
    white-space: nowrap;
}

.pt-smelting-submit {
    min-width: 0;
    padding: 0.82rem 1.2rem;
    font-size: 0.96rem;
    width: auto;
}

.pt-muted-line {
    color: rgba(32, 43, 63, 0.42);
}

.pt-dashboard-section + .pt-dashboard-section {
    margin-top: 22px;
}

.pt-legacy-summary-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    margin: 0;
}

.pt-legacy-summary-card {
    padding: 18px;
}

.pt-legacy-summary-card span {
    display: block;
    color: var(--pt-muted);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pt-legacy-summary-card strong {
    display: block;
    margin-top: 8px;
    font-family: "Chakra Petch", sans-serif;
    font-size: 1.18rem;
    color: var(--pt-bg);
}

.pt-legacy-summary-card small {
    display: block;
    margin-top: 4px;
    color: var(--pt-muted);
}

.pt-legacy-section {
    margin-top: 20px;
    padding: 22px;
}

.pt-legacy-section-head {
    margin-bottom: 16px;
}

.pt-legacy-two-column,
.pt-bank-layout {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
}

.pt-legacy-form,
.pt-bank-box {
    display: grid;
    align-content: start;
    gap: 14px;
    min-height: 100%;
    padding: 18px;
    background: linear-gradient(180deg, rgba(247, 250, 252, 0.98), rgba(240, 245, 249, 0.95));
}

.pt-legacy-action-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}

.pt-legacy-action-card {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 12px;
    align-items: start;
    padding: 16px 18px;
    border-radius: 16px;
    text-decoration: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 248, 252, 0.94));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-legacy-action-card img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.pt-legacy-action-card strong {
    color: var(--pt-bg);
}

.pt-legacy-action-card span {
    color: var(--pt-muted);
    font-size: 0.92rem;
    line-height: 1.6;
}

.pt-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
}

.pt-status-pill.is-online {
    color: white;
    background: linear-gradient(135deg, rgba(35, 141, 91, 0.98), rgba(50, 197, 129, 0.94));
}

.pt-status-pill.is-offline {
    color: white;
    background: linear-gradient(135deg, rgba(92, 104, 128, 0.98), rgba(64, 72, 91, 0.94));
}

.pt-bank-balance {
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 16px;
    color: white;
    background: linear-gradient(135deg, rgba(32, 42, 63, 0.98), rgba(39, 133, 132, 0.94));
    box-shadow: var(--pt-shadow-md);
}

.pt-bank-box-head {
    font-size: 1.4rem;
    line-height: 1.1;
}

.pt-bank-box-head-wrap {
    display: grid;
    gap: 8px;
}

.pt-bank-list-label {
    color: var(--pt-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

.pt-bank-radio-list {
    display: grid;
    gap: 10px;
}

.pt-bank-radio-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(140px, 180px);
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(30, 46, 71, 0.06);
}

.pt-bank-radio-name {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.pt-bank-radio-name strong {
    color: var(--pt-bg);
    font-weight: 600;
}

.pt-bank-radio-money {
    color: rgba(28, 41, 64, 0.84);
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
    justify-self: end;
}

.pt-bank-amount {
    display: grid;
    gap: 8px;
}

.pt-bank-box .pt-button {
    width: fit-content;
    min-width: 180px;
}

.pt-ranking-page,
.pt-event-page {
    display: grid;
    gap: 18px;
}

.pt-event-page .pt-reference-panel-head p,
.pt-utility-masthead-fact strong,
.pt-event-masthead-card strong,
.pt-bank-masthead-card strong,
.pt-utility-instruction-item,
.pt-info-card p,
.pt-utility-detail-list {
    max-width: 42rem;
}

.pt-bank-box-copy {
    margin: 0;
    color: var(--pt-muted);
    line-height: 1.55;
    text-wrap: pretty;
    min-height: 3.2em;
}

.pt-event-highlight-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.pt-event-highlight-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem 1.05rem;
    border-radius: 1rem;
    background: linear-gradient(180deg, rgba(243, 248, 252, 0.98), rgba(236, 242, 249, 0.95));
    border: 1px solid rgba(30, 46, 71, 0.08);
    position: relative;
    overflow: hidden;
}

.pt-event-highlight-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 2px;
    background: var(--pt-accent-gradient-thin);
}

.pt-event-highlight-card span {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-event-highlight-card strong {
    color: var(--pt-bg);
    font-size: 0.98rem;
    line-height: 1.55;
    text-wrap: pretty;
}

.pt-truemoney-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
}

.pt-truemoney-hero-visual {
    display: grid;
    gap: 10px;
    justify-items: end;
}

.pt-truemoney-hero-visual-card {
    position: relative;
    display: grid;
    place-items: center;
    width: 228px;
    min-height: 176px;
    padding: 14px 12px 10px;
    border-radius: 28px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.16), transparent 40%),
        linear-gradient(155deg, rgba(24, 39, 58, 0.96), rgba(16, 29, 46, 0.9));
    border: 1px solid rgba(137, 238, 255, 0.12);
    box-shadow: var(--pt-shadow-md);
}

.pt-truemoney-hero-visual-card::after {
    content: "";
    position: absolute;
    inset: auto -10% -34% auto;
    width: 136px;
    height: 136px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(83, 229, 224, 0.14), transparent 72%);
}

.pt-truemoney-hero-visual-card img {
    position: relative;
    width: 100%;
    max-width: 198px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 16px 22px rgba(8, 12, 20, 0.28));
}

.pt-truemoney-hero-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.pt-truemoney-hero-metrics span {
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    background: rgba(12, 22, 36, 0.52);
    border: 1px solid rgba(137, 238, 255, 0.1);
    color: rgba(206, 219, 241, 0.82);
    font-size: 0.72rem;
    font-weight: 700;
}

.pt-ranking-nav,
.pt-ranking-tabline,
.pt-event-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.pt-ranking-nav a,
.pt-ranking-tabline a,
.pt-ranking-tabline span,
.pt-event-subnav a,
.pt-event-subnav span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(32, 42, 63, 0.08);
    border: 1px solid rgba(30, 46, 71, 0.08);
    color: var(--pt-bg);
    font-weight: 800;
    text-decoration: none;
}

.pt-ranking-nav a.is-active,
.pt-ranking-tabline span.is-active,
.pt-event-subnav a.is-active {
    color: white;
    background: linear-gradient(135deg, rgba(55, 184, 181, 0.98), rgba(39, 133, 132, 0.94));
}

.pt-ranking-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.pt-ranking-summary-card {
    padding: 13px 15px;
    min-height: 112px;
}

.pt-ranking-summary-card strong {
    display: block;
    color: var(--pt-brand-aqua-deep);
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-ranking-summary-card span {
    display: block;
    margin-top: 6px;
    font-size: 1.06rem;
    font-weight: 800;
    line-height: 1.15;
}

.pt-ranking-search {
    padding: 16px 18px;
}

.pt-ranking-boss-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.pt-ranking-boss-image {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 124px;
    margin: 0 auto;
}

body.pt-route-ranking .pt-page-shell {
    align-items: flex-start;
}

body.pt-route-ranking .pt-page-shell-inner {
    max-width: 1240px;
}

.pt-ranking-reference-wrap {
    display: flex;
    justify-content: center;
}

.pt-ranking-reference-card {
    width: min(100%, 1000px);
    margin: 0.7rem auto 0;
    padding: 2.15rem 2.3rem 2.5rem;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 28px 60px rgba(18, 29, 46, 0.14);
}

.pt-ranking-reference-head {
    margin-bottom: 1rem;
}

.pt-ranking-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 300px);
    gap: 1.2rem;
    align-items: stretch;
}

.pt-ranking-reference-copy {
    display: grid;
    align-content: start;
}

.pt-ranking-hero-visual {
    display: grid;
    gap: 0.7rem;
    align-content: start;
    padding: 1rem 1rem 0.9rem;
    border-radius: 1.35rem;
    background: linear-gradient(180deg, rgba(243, 248, 252, 0.98), rgba(232, 240, 247, 0.95));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-ranking-hero-visual img {
    display: block;
    width: 100%;
    max-width: 220px;
    margin: 0 auto;
    object-fit: contain;
}

.pt-ranking-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.pt-ranking-hero-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0 0.8rem;
    border-radius: 999px;
    color: var(--pt-bg);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(30, 46, 71, 0.08);
    font-size: 0.82rem;
    font-weight: 800;
}

.pt-ranking-command-band {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    margin: 0 0 1.25rem;
}

.pt-ranking-reference-kicker {
    margin: 0 0 0.2rem;
    color: var(--pt-brand-aqua-deep);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pt-ranking-reference-head h1 {
    margin: 0;
    font-size: clamp(2rem, 2.8vw, 3.1rem);
}

.pt-ranking-reference-head p {
    margin: 0.3rem 0 0;
    color: rgba(32, 43, 63, 0.72);
    max-width: 32rem;
}

.pt-ranking-reference-topnav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0 0 0.85rem;
    margin-bottom: 1.1rem;
    border-bottom: 1px solid rgba(24, 37, 59, 0.14);
}

.pt-ranking-reference-topnav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0 1.25rem;
    margin-right: 0;
    border: 1px solid rgba(140, 167, 232, 0.26);
    border-bottom: 0;
    border-radius: 0.95rem 0.95rem 0 0;
    color: rgba(32, 43, 63, 0.68);
    background: rgba(255, 255, 255, 0.76);
    font-weight: 700;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34);
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.pt-ranking-reference-topnav a:hover,
.pt-ranking-reference-topnav a:focus-visible {
    transform: translateY(-1px);
    color: var(--pt-bg);
    background: rgba(129, 169, 245, 0.1);
    box-shadow: var(--pt-shadow-sm);
    outline: none;
}

.pt-ranking-reference-topnav a.is-active {
    color: var(--pt-bg);
    background: linear-gradient(135deg, rgba(234, 243, 255, 0.98), rgba(214, 236, 255, 0.96));
    border-color: rgba(95, 151, 242, 0.55);
    box-shadow: inset 0 2px 0 rgba(55, 184, 181, 0.95);
}

.pt-ranking-reference-body {
    display: grid;
    gap: 1.1rem;
}

.pt-ranking-reference-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.pt-ranking-reference-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.4rem;
    width: 100%;
}

.pt-ranking-reference-tabs .pt-tab-trigger {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.6rem;
    padding: 0 1rem;
    border-radius: 0.85rem 0.85rem 0 0;
    border: 1px solid rgba(140, 167, 232, 0.4);
    background: rgba(255, 255, 255, 0.9);
    color: rgba(32, 43, 63, 0.82);
    box-shadow: none;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
}

.pt-ranking-reference-tabs .pt-tab-trigger.is-active {
    color: var(--pt-bg);
    background: rgba(129, 169, 245, 0.14);
    border-color: rgba(129, 169, 245, 0.72);
}

.pt-ranking-reference-body .pt-table-wrap {
    border: 1px solid rgba(24, 37, 59, 0.08);
    border-radius: 1rem;
    overflow: hidden;
    background: white;
}

.pt-ranking-reference-body .pt-table {
    margin: 0;
}

.pt-ranking-reference-body .pt-table thead th {
    background: rgba(32, 43, 63, 0.95);
}

.pt-ranking-reference-body .pt-table th,
.pt-ranking-reference-body .pt-table td,
.pt-event-claim-table th,
.pt-event-claim-table td {
    padding: 10px 12px;
}

.pt-event-claim-table td {
    line-height: 1.4;
}

.pt-event-claim-table .pt-link-button {
    min-height: 28px;
    padding: 4px 10px;
}

.pt-ranking-boss-stage {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 120px;
    padding: 1rem 1rem 0.6rem;
}

.pt-ranking-boss-card {
    gap: 0.75rem;
    background: transparent;
    box-shadow: none;
    padding: 0;
}

@media (max-width: 900px) {
    .pt-ranking-reference-card {
        padding: 1.5rem 1.2rem 1.8rem;
        border-radius: 1.4rem;
    }

    .pt-ranking-reference-topnav a,
    .pt-ranking-reference-tabs .pt-tab-trigger {
        min-height: 2.8rem;
        padding: 0 0.9rem;
    }

    .pt-dashboard-reference-shell {
        grid-template-columns: 1fr;
    }

    .pt-dashboard-reference-sidebar {
        border-right: 0;
        border-bottom: 1px solid rgba(32, 43, 63, 0.08);
    }

    .pt-utility-two-column {
        grid-template-columns: 1fr;
    }
}

.pt-event-deck-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(84px, 1fr));
    gap: 0.9rem;
}

.pt-event-deck-card {
    width: 100%;
    aspect-ratio: 100 / 115;
    border: 1px solid rgba(30, 46, 71, 0.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(221, 247, 234, 0.94));
    box-shadow: var(--pt-shadow-sm);
    color: var(--pt-brand-aqua-deep);
    display: grid;
    place-items: center;
    font-weight: 800;
}

.pt-event-deck-card-face {
    font-size: 1.4rem;
    letter-spacing: 0.08em;
}

.pt-event-deck-card-slot {
    font-size: 0.8rem;
    opacity: 0.7;
}

.pt-itemmall-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 14px;
    padding: 10px 14px 14px;
}

.pt-itemmall-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 14px;
    padding: 14px;
}

.pt-itemmall-card-media {
    display: grid;
    gap: 5px;
    align-content: start;
    justify-items: center;
}

.pt-itemmall-limited,
.pt-itemmall-qty {
    width: 100%;
    padding: 4px 6px;
    border-radius: 10px;
    text-align: center;
    font-size: 0.68rem;
    background: rgba(32, 42, 63, 0.06);
}

.pt-itemmall-limited strong {
    display: block;
    color: var(--pt-danger);
}

.pt-itemmall-card .pt-item-thumb-lg {
    width: 92px;
    height: 92px;
}

.pt-itemmall-card-body h3 {
    margin: 0;
    font-family: "Chakra Petch", sans-serif;
    color: var(--pt-bg);
    line-height: 1.15;
    text-wrap: balance;
    font-size: 1.12rem;
}

.pt-itemmall-card-topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    margin-bottom: 0.15rem;
}

.pt-itemmall-card-badge,
.pt-itemmall-card-price {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 0.64rem;
    font-weight: 800;
}

.pt-itemmall-card-badge {
    color: var(--pt-bg);
    background: linear-gradient(135deg, rgba(55, 184, 181, 0.16), rgba(180, 212, 65, 0.16));
    border: 1px solid rgba(55, 184, 181, 0.22);
}

.pt-itemmall-card-price {
    color: white;
    background: linear-gradient(135deg, rgba(134, 182, 35, 0.98), rgba(55, 184, 181, 0.94));
}

.pt-itemmall-meta,
.pt-itemmall-copy p,
.pt-itemmall-stats {
    color: var(--pt-muted);
}

.pt-itemmall-card-quickline {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
}

.pt-itemmall-card-quickline span {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(32, 42, 63, 0.05);
    color: rgba(28, 41, 64, 0.84);
    font-size: 0.68rem;
    font-weight: 700;
}

.pt-itemmall-copy {
    display: grid;
    gap: 2px;
    margin-top: 2px;
    max-width: 34ch;
    line-height: 1.3;
    text-wrap: pretty;
}

.pt-itemmall-copy p {
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.86rem;
}

.pt-itemmall-copy .pt-itemmall-use {
    -webkit-line-clamp: 1;
}

.pt-itemmall-stat-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.15rem;
}

.pt-itemmall-stat-list span {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(32, 42, 63, 0.06);
    color: var(--pt-bg);
    font-size: 0.66rem;
    font-weight: 700;
}

.pt-itemmall-purchase-form {
    margin-top: 6px;
}

.pt-itemmall-purchase-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 110px;
    gap: 8px;
    align-items: end;
}

.pt-itemmall-purchase-form .pt-field span {
    font-size: 0.72rem;
}

.pt-itemmall-purchase-form .pt-button {
    width: 100%;
    min-height: 36px;
    padding-inline: 12px;
    font-size: 0.82rem;
    grid-column: 1 / -1;
}

.pt-itemmall-card .pt-note-block,
.pt-itemmall-card .pt-note-inline {
    max-width: 28ch;
    font-size: 0.76rem;
}

.pt-itemmall-card-body .pt-section-tag {
    margin-bottom: 8px;
}

.pt-footer {
    margin-top: 12px;
    padding: 0 0 22px;
}

.pt-footer-shell {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 14px 22px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(32, 42, 63, 0.96), rgba(20, 26, 40, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: var(--pt-shadow-md);
}

.pt-footer-shell strong {
    display: block;
    margin-bottom: 4px;
    font-family: "Chakra Petch", sans-serif;
    color: var(--pt-brand-green);
}

.pt-footer-shell p {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
}

.pt-home-feature-box p,
.pt-member-command-card p,
.pt-event-highlight-card strong {
    text-wrap: pretty;
}

.pt-footer-logo {
    width: 92px;
    height: auto;
}

.pt-empty {
    padding: 12px 0;
    color: var(--pt-muted);
}

code {
    background: rgba(32, 42, 63, 0.08);
    padding: 2px 6px;
    border-radius: 6px;
}

@media (max-width: 1080px) {
    .pt-header-shell,
    .pt-dashboard-shell,
    .pt-hero-grid,
    .pt-home-showcase,
    .pt-home-band,
    .pt-reference-shell {
        grid-template-columns: 1fr;
    }

    .pt-header-shell {
        flex-direction: column;
        align-items: stretch;
    }

    .pt-header-shell-portal .pt-nav-shell-portal {
        width: 100%;
    }

    .pt-header-actions {
        justify-content: space-between;
    }

    .pt-ranking-summary,
    .pt-ranking-boss-grid,
    .pt-itemmall-card {
        grid-template-columns: 1fr;
    }

    .pt-home-features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-home-command-band,
    .pt-ranking-command-band {
        grid-template-columns: 1fr;
    }

    .pt-dashboard-reference-sidebar {
        position: static;
    }

    .pt-home-hero {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .pt-home-hero-side {
        justify-items: start;
    }

    .pt-auth-page {
        min-height: clamp(500px, calc(100vh - 230px), 620px);
        padding: 0;
    }
}

@media (max-width: 780px) {
    .pt-wrap {
        width: min(100%, calc(100% - 18px));
    }

    .pt-main {
        padding-top: 18px;
    }

    .pt-header {
        padding-top: 8px;
    }

    .pt-auth-page {
        min-height: auto;
        align-items: stretch;
        padding: 0;
    }

    .pt-page,
    .pt-hero {
        padding: 24px 18px;
        border-radius: 24px;
    }

    .pt-download-page {
        padding: 28px 20px 20px;
    }

    .pt-download-hero {
        gap: 1rem;
    }

    .pt-download-hero-copy {
        gap: 1rem;
    }

    .pt-download-hero-copy h1 {
        font-size: clamp(3.2rem, 18vw, 4.6rem);
    }

    .pt-download-hero-copy > p:not(.pt-kicker) {
        max-width: 100%;
        font-size: 1rem;
    }

    .pt-download-hero-visual {
        min-height: 240px;
    }

    .pt-download-hero-art {
        right: -4%;
        bottom: -6%;
        width: 120%;
        transform: scale(1.05);
    }

    .pt-header-shell,
    .pt-nav-shell,
    .pt-utility-shell,
    .pt-auth-card,
    .pt-auth-aside,
    .pt-dashboard-pane,
    .pt-dashboard-rail {
        border-radius: 22px;
    }

    .pt-nav-primary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-nav-primary a {
        text-align: center;
    }

    .pt-header-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .pt-header-guest-links {
        flex-wrap: wrap;
        justify-content: stretch;
    }

    .pt-header-guest-links > a:not(.pt-account-chip) {
        flex: 1 1 calc(50% - 10px);
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 12px;
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.06);
    }

    .pt-nav-shell-portal,
    .pt-member-nav-shell,
    .pt-utility-shell-portal {
        padding: 10px;
    }

    .pt-member-nav-shell {
        width: 100%;
    }

    .pt-page-dock {
        gap: 8px;
    }

    .pt-page-dock a {
        width: 100%;
        justify-content: center;
    }

    .pt-account-chip {
        min-width: 0;
        width: 100%;
    }

    .pt-utility-label {
        padding: 0 4px 8px;
    }

    .pt-nav-utility {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        overflow: visible;
    }

    .pt-nav-utility a {
        min-height: 42px;
        padding: 8px 10px;
        line-height: 1.35;
        text-align: center;
        white-space: normal;
        border-radius: 14px;
    }

    .pt-table-wrap,
    .pt-link-grid,
    .pt-itemmall-grid {
        padding-left: 16px;
        padding-right: 16px;
    }

    .pt-table th,
    .pt-table td {
        padding: 12px 10px;
    }

    .pt-table {
        min-width: 560px;
    }

    .pt-page.pt-page-utility {
        display: grid;
    }

    .pt-utility-workspace-panel {
        order: 1;
    }

    .pt-utility-guidelines-panel {
        order: 2;
    }

    .pt-utility-notes-panel {
        order: 3;
    }

    .pt-utility-details-panel {
        order: 4;
    }

    .pt-reference-sidebar,
    .pt-reference-sidebar-form,
    .pt-reference-form,
    .pt-reference-panel {
        padding: 18px;
    }

    .pt-reference-sidebar {
        gap: 14px;
    }

    .pt-reference-sidebar-hero {
        padding-bottom: 12px;
    }

    .pt-market-surface .pt-table-header {
        padding: 22px 18px 0;
    }

    .pt-market-surface .pt-market-toolbar,
    .pt-market-surface .pt-market-grid {
        padding: 0 18px;
    }

    .pt-market-surface > .pt-table-wrap {
        padding: 14px 18px 20px;
    }

    .pt-reference-metric-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .pt-reference-metric {
        padding: 14px;
    }

    .pt-dashboard-reference-tabs,
    .pt-dashboard-list.pt-dashboard-reference-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 0.75rem;
    }

    .pt-dashboard-reference-tabs .pt-reference-tab,
    .pt-dashboard-reference-tabs .pt-dashboard-link {
        min-height: 62px;
        padding: 0.7rem 0.75rem;
        border-radius: 14px;
        border: 1px solid rgba(30, 46, 71, 0.08);
        text-align: left;
    }

    .pt-dashboard-reference-tabs .pt-reference-tab.is-active,
    .pt-dashboard-reference-tabs .pt-dashboard-link.is-active {
        border-left-color: rgba(30, 46, 71, 0.08);
        border-color: rgba(55, 184, 181, 0.45);
        box-shadow: var(--pt-shadow-sm);
    }

    .pt-dashboard-reference-content {
        padding: 1.15rem 1rem 1.4rem;
    }

    .pt-dashboard-reference-content .pt-reference-panel-head h2,
    .pt-dashboard-reference-content .pt-bank-box-head {
        font-size: 1.6rem;
    }

    .pt-member-hero-strip {
        grid-template-columns: 1fr;
    }

    .pt-member-showcase,
    .pt-member-tool-grid,
    .pt-member-compact-summary-grid,
    .pt-member-primary-actions {
        grid-template-columns: 1fr;
    }

    .pt-event-status-strip {
        grid-template-columns: 1fr;
    }

    .pt-event-sidebar-spotlight {
        grid-template-columns: 56px minmax(0, 1fr);
    }

    .pt-event-sidebar-spotlight-media {
        width: 56px;
        height: 56px;
    }

    .pt-event-sidebar-spotlight-media img {
        width: 38px;
        height: 38px;
    }

    .pt-member-command-deck,
    .pt-shop-masthead,
    .pt-utility-masthead,
    .pt-event-masthead,
    .pt-bank-masthead {
        grid-template-columns: 1fr;
    }

    .pt-member-masthead,
    .pt-itemmall-page-masthead {
        grid-template-columns: 1fr;
    }

    .pt-shop-inline-summary,
    .pt-info-grid,
    .pt-reference-summary-grid,
    .pt-utility-detail-grid {
        grid-template-columns: 1fr;
    }

    .pt-member-command-mini-grid {
        grid-template-columns: 1fr;
    }

    .pt-bank-radio-row {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .pt-bank-radio-money {
        text-align: left;
        justify-self: start;
    }

    .pt-itemmall-card {
        gap: 14px;
        padding: 16px;
    }

    .pt-itemmall-card-media {
        justify-items: start;
    }

    .pt-itemmall-purchase-grid {
        grid-template-columns: 1fr;
    }

    .pt-event-deck-grid {
        grid-template-columns: repeat(3, minmax(84px, 1fr));
    }

    .pt-home-features-grid {
        grid-template-columns: 1fr;
    }

    .pt-home-hero {
        padding: 32px 22px;
        gap: 20px;
    }

    .pt-home-hero h1 {
        max-width: 12ch;
    }

    .pt-home-hero-spotlight,
    .pt-home-hero-status {
        width: 100%;
    }

    .pt-bank-radio-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .pt-footer-shell {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 560px) {
    .pt-brand {
        gap: 10px;
    }

    .pt-brand strong {
        font-size: 1.45rem;
    }

    .pt-brand small {
        font-size: 0.72rem;
        line-height: 1.45;
    }

    .pt-nav-primary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-nav-primary a,
    .pt-nav-utility a {
        min-height: 44px;
        font-size: 0.76rem;
    }

    .pt-nav-utility {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-home-hero-strip {
        gap: 8px;
    }

    .pt-home-hero-strip span {
        min-height: 32px;
        padding: 7px 10px;
        font-size: 0.76rem;
    }

    .pt-reference-metric-list,
    .pt-dashboard-reference-tabs,
    .pt-dashboard-list.pt-dashboard-reference-tabs {
        grid-template-columns: 1fr;
    }

    .pt-header-shell-portal {
        padding: 10px 12px;
    }

    .pt-table {
        min-width: 520px;
    }

    .pt-table th,
    .pt-table td {
        padding: 10px 8px;
        font-size: 0.9rem;
    }

    .pt-table thead th {
        font-size: 0.72rem;
    }

    .pt-table-stack-mobile {
        min-width: 0;
    }

    .pt-table-stack-mobile thead {
        display: none;
    }

    .pt-table-stack-mobile,
    .pt-table-stack-mobile tbody,
    .pt-table-stack-mobile tr,
    .pt-table-stack-mobile td {
        display: block;
        width: 100%;
    }

    .pt-table-stack-mobile tr {
        padding: 10px 0;
        border-bottom: 1px solid rgba(30, 46, 71, 0.08);
    }

    .pt-table-stack-mobile td {
        display: grid;
        grid-template-columns: minmax(96px, 120px) minmax(0, 1fr);
        gap: 10px;
        align-items: start;
        border-bottom: 0;
        padding: 7px 0;
    }

    .pt-table-stack-mobile td::before {
        content: attr(data-label);
        color: rgba(32, 43, 63, 0.56);
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .pt-auth-reference-card {
        padding: 26px 20px;
    }

    .pt-auth-reference-card h2,
    .pt-auth-reference-visual h2 {
        font-size: 1.9rem;
    }

    .pt-auth-copy-block {
        padding: 16px 16px 15px;
    }

    .pt-auth-lead {
        max-width: none;
        font-size: 1rem;
    }

    .pt-auth-guidance li,
    .pt-auth-support-copy,
    .pt-dashboard-reference-content .pt-reference-panel-head p,
    .pt-form-explainer,
    .pt-utility-side-note {
        max-width: none;
    }

    .pt-shop-masthead-metrics {
        grid-template-columns: 1fr;
    }

    .pt-member-primary-actions {
        gap: 0.65rem;
    }

    .pt-member-primary-actions .pt-button {
        min-width: 0;
        width: 100%;
    }

    .pt-utility-instruction-item,
    .pt-info-card,
    .pt-utility-detail-card {
        padding: 0.95rem 0.95rem 0.9rem;
    }
}

.pt-member-redesign-page {
    padding: 28px;
}

.pt-member-portal-shell {
    display: grid;
    grid-template-columns: 252px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.pt-member-portal-rail {
    display: grid;
    gap: 16px;
    padding: 16px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(247, 250, 252, 0.96), rgba(237, 242, 247, 0.96));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-md);
    position: sticky;
    top: 18px;
}

.pt-member-portal-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 10px;
    padding: 16px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(243, 247, 252, 0.96));
    border: 1px solid rgba(30, 46, 71, 0.06);
}

.pt-member-avatar-picker {
    gap: 10px;
}

.pt-member-avatar-form {
    display: grid;
    gap: 10px;
}

.pt-member-avatar-form .pt-field {
    gap: 6px;
}

.pt-member-avatar-form .pt-field span {
    color: rgba(224, 236, 252, 0.92);
    }

.pt-member-avatar-form select {
    width: 100%;
}

.pt-member-portal-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    background: var(--pt-accent-gradient-soft);
}

.pt-member-portal-avatar {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(55, 184, 181, 0.18), rgba(180, 212, 65, 0.22));
    box-shadow: var(--pt-shadow-sm);
}

.pt-member-portal-avatar img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.pt-member-portal-art {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.pt-member-portal-art-main {
    justify-content: center;
}

.pt-member-portal-create-frame {
    width: 124px;
    height: 124px;
    border-radius: 28px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.12), transparent 52%),
        linear-gradient(145deg, rgba(55, 184, 181, 0.18), rgba(20, 32, 48, 0.72));
    border: 1px solid rgba(137, 238, 255, 0.16);
    box-shadow: var(--pt-shadow-sm);
}

.pt-member-portal-create-frame img {
    width: 122px;
    height: 122px;
    object-fit: contain;
}

.pt-member-portal-art-figure {
    display: grid;
    place-items: center;
    min-width: 92px;
    min-height: 92px;
    margin-right: -4px;
}

.pt-member-portal-art-figure img {
    width: 88px;
    height: 88px;
    object-fit: contain;
    filter: drop-shadow(0 12px 18px rgba(8, 12, 20, 0.14));
}

.pt-member-portal-art-figure.is-member img {
    width: 100px;
    height: 100px;
}

.pt-member-portal-art-figure.is-bank img {
    width: 100%;
    height: 100%;
}

.pt-member-portal-art-figure.is-bank {
    justify-items: center;
    width: 100%;
}

.pt-member-bank-art-frame {
    position: relative;
    display: grid;
    place-items: center;
    justify-self: center;
    width: 144px;
    height: 144px;
    padding: 10px 8px 6px;
    border-radius: 26px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.16), transparent 42%),
        linear-gradient(155deg, rgba(24, 39, 58, 0.96), rgba(16, 29, 46, 0.9));
    border: 1px solid rgba(137, 238, 255, 0.12);
    box-shadow: var(--pt-shadow-sm);
}

.pt-member-bank-art-frame::after {
    content: "";
    position: absolute;
    inset: auto -14% -36% auto;
    width: 142px;
    height: 142px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(83, 229, 224, 0.14), transparent 72%);
}

.pt-member-bank-art-frame img {
    position: relative;
    display: block;
    width: 100%;
    max-width: 138px;
    height: auto;
    margin-inline: auto;
    object-fit: contain;
    filter: drop-shadow(0 16px 22px rgba(8, 12, 20, 0.28));
}

.pt-member-bank-art-frame.is-note {
    width: 132px;
    height: 132px;
    padding: 8px 7px 4px;
}

.pt-member-bank-art-frame.is-note img {
    max-width: 126px;
}

.pt-member-portal-kicker {
    margin: 0;
    color: var(--pt-brand-aqua-deep);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pt-member-portal-id h2 {
    margin: 0;
    font-family: "Chakra Petch", sans-serif;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--pt-bg);
}

.pt-member-portal-id p {
    margin: 0;
    color: var(--pt-muted);
    line-height: 1.55;
}

.pt-member-portal-level {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    color: #6a5400;
    background: linear-gradient(135deg, rgba(247, 189, 34, 0.92), rgba(255, 215, 9, 0.94));
    font-size: 0.76rem;
    font-weight: 800;
}

.pt-member-portal-nav {
    display: grid;
    gap: 4px;
}

.pt-member-portal-nav a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 14px;
    color: rgba(28, 41, 64, 0.72);
    text-decoration: none;
    font-weight: 700;
    transition: transform 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.pt-member-portal-nav a:hover,
.pt-member-portal-nav a:focus-visible {
    transform: translateY(-1px);
    color: var(--pt-bg);
    background: rgba(55, 184, 181, 0.08);
    box-shadow: var(--pt-shadow-sm);
    outline: none;
}

.pt-member-portal-nav a.is-active {
    color: var(--pt-brand-aqua-deep);
    background: linear-gradient(135deg, rgba(232, 249, 249, 0.98), rgba(218, 244, 242, 0.98));
}

.pt-member-portal-nav-icon {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    color: inherit;
    font-size: 0.84rem;
}

.pt-member-portal-nav-icon img {
    width: 16px;
    height: 16px;
    object-fit: contain;
    display: block;
}

.pt-member-portal-nav-icon svg {
    width: 17px;
    height: 17px;
    display: block;
    stroke-width: 1.8;
}

.pt-member-portal-rail-actions {
    display: grid;
    gap: 10px;
}

.pt-member-portal-rail-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 14px;
    text-decoration: none;
    font-family: "Chakra Petch", sans-serif;
    font-weight: 700;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.pt-member-portal-rail-button.is-lime {
    color: #455900;
    background: linear-gradient(135deg, rgba(195, 244, 0, 0.98), rgba(180, 212, 65, 0.96));
    box-shadow: 0 14px 28px rgba(180, 212, 65, 0.18);
}

.pt-member-portal-rail-button.is-ghost {
    color: var(--pt-brand-aqua-deep);
    background: rgba(55, 184, 181, 0.08);
    border: 1px solid rgba(55, 184, 181, 0.16);
}

.pt-member-portal-main {
    display: grid;
    gap: 22px;
}

.pt-member-portal-hero {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    padding: 8px 4px 2px;
}

.pt-member-portal-hero-copy h1 {
    margin: 4px 0 8px;
    font-family: "Chakra Petch", sans-serif;
    font-size: clamp(2.1rem, 4vw, 3.4rem);
    line-height: 0.95;
    color: var(--pt-bg);
}

.pt-member-portal-hero-copy h1 span {
    color: var(--pt-brand-aqua-deep);
}

.pt-member-portal-hero-copy p {
    margin: 0;
    color: var(--pt-muted);
    line-height: 1.55;
}

.pt-member-portal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 14px;
}

.pt-member-portal-meta span {
    color: rgba(28, 41, 64, 0.84);
    font-size: 0.96rem;
    font-weight: 600;
}

.pt-member-portal-meta strong {
    color: var(--pt-bg);
}

.pt-member-portal-hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.pt-member-portal-top-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 14px;
    text-decoration: none;
    color: var(--pt-brand-aqua-deep);
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
    font-family: "Chakra Petch", sans-serif;
    font-weight: 700;
}

.pt-member-portal-top-action.is-primary {
    color: white;
    background: linear-gradient(135deg, rgba(55, 184, 181, 0.98), rgba(0, 205, 172, 0.96));
}

.pt-member-portal-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.pt-member-portal-stat-card {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 8px;
    padding: 18px 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(30, 46, 71, 0.06);
    box-shadow: var(--pt-shadow-sm);
}

.pt-member-portal-stat-card::after {
    content: "";
    position: absolute;
    right: -10px;
    bottom: -18px;
    width: 84px;
    height: 84px;
    border-radius: 999px;
    opacity: 0.18;
}

.pt-member-portal-stat-card small {
    color: rgba(28, 41, 64, 0.52);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-member-portal-stat-card strong {
    font-family: "Chakra Petch", sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.3rem);
    line-height: 1;
}

.pt-member-portal-stat-card span {
    color: var(--pt-muted);
    font-size: 0.84rem;
    font-weight: 600;
}

.pt-member-portal-stat-card.is-aqua strong {
    color: var(--pt-brand-aqua-deep);
}

.pt-member-portal-stat-card.is-aqua::after {
    background: radial-gradient(circle, rgba(55, 184, 181, 0.5), transparent 66%);
}

.pt-member-portal-stat-card.is-gold strong {
    color: #8a6e00;
}

.pt-member-portal-stat-card.is-gold::after {
    background: radial-gradient(circle, rgba(247, 189, 34, 0.5), transparent 66%);
}

.pt-member-portal-stat-card.is-lime strong {
    color: #4e6300;
}

.pt-member-portal-stat-card.is-lime::after {
    background: radial-gradient(circle, rgba(180, 212, 65, 0.52), transparent 66%);
}

.pt-member-portal-content-grid,
.pt-member-portal-lower-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.9fr);
    gap: 22px;
    align-items: start;
}

.pt-member-portal-primary,
.pt-member-portal-secondary {
    display: grid;
    gap: 20px;
    align-content: start;
}

.pt-member-portal-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-content: start;
}

.pt-member-portal-action-grid > .pt-member-portal-panel {
    height: 100%;
}

.pt-member-portal-action-grid .pt-member-portal-panel {
    gap: 12px;
    padding: 18px;
}

.pt-member-portal-action-grid .pt-member-portal-note {
    padding: 9px 11px;
    font-size: 0.88rem;
    line-height: 1.45;
}

.pt-member-portal-action-grid .pt-member-portal-chip-link {
    min-height: 34px;
    padding: 0 12px;
    font-size: 0.85rem;
}

.pt-member-portal-action-grid .pt-button {
    min-height: 42px;
    padding-block: 0;
}

.pt-member-portal-panel {
    position: relative;
    overflow: hidden;
    display: grid;
    gap: 16px;
    padding: 22px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 252, 0.98));
    border: 1px solid rgba(30, 46, 71, 0.06);
    box-shadow: var(--pt-shadow-md);
}

.pt-member-portal-panel::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    background: var(--pt-accent-gradient-soft);
}

.pt-member-portal-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}

.pt-member-portal-section-head h2 {
    margin: 0;
    font-family: "Chakra Petch", sans-serif;
    font-size: 1.32rem;
    color: var(--pt-bg);
}

.pt-member-portal-section-head a,
.pt-member-portal-section-head span {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.76rem;
    font-weight: 800;
    text-decoration: none;
}

.pt-member-character-list {
    display: grid;
    gap: 10px;
}

.pt-member-character-card {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(20, 29, 46, 0.94), rgba(16, 24, 38, 0.9));
    border: 1px solid rgba(64, 89, 128, 0.28);
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.pt-member-character-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--pt-shadow-sm);
    border-color: rgba(55, 184, 181, 0.18);
}

.pt-member-character-thumb {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(26, 39, 61, 0.98), rgba(18, 29, 45, 0.94));
    border: 1px solid rgba(88, 122, 170, 0.28);
}

.pt-member-character-thumb img {
    width: 26px;
    height: 26px;
    object-fit: contain;
    image-rendering: auto;
}

.pt-member-character-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.pt-member-character-head strong {
    font-family: "Chakra Petch", sans-serif;
    font-size: 0.98rem;
    color: rgba(244, 248, 255, 0.98);
}

.pt-member-character-head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-member-character-head span.is-main {
    color: rgb(233, 247, 161);
    background: rgba(90, 109, 12, 0.62);
    border: 1px solid rgba(194, 221, 72, 0.28);
}

.pt-member-character-head span.is-alt {
    color: rgba(204, 219, 245, 0.88);
    background: rgba(41, 54, 82, 0.78);
    border: 1px solid rgba(92, 113, 155, 0.24);
}

.pt-member-character-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin-top: 4px;
}

.pt-member-character-meta span {
    color: rgba(214, 225, 244, 0.9);
    font-weight: 700;
}

.pt-member-character-arrow {
    color: rgba(165, 183, 216, 0.72);
    font-size: 1.4rem;
    line-height: 1;
}

.pt-member-character-meta span {
    color: rgba(214, 225, 244, 0.9);
    font-size: 0.78rem;
    font-weight: 700;
}

.pt-member-character-arrow {
    color: rgba(165, 183, 216, 0.72);
    font-size: 1.45rem;
    line-height: 1;
}

.pt-member-portal-spotlight {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    background: linear-gradient(135deg, rgba(0, 102, 102, 0.08), rgba(195, 244, 0, 0.12));
}

.pt-member-portal-spotlight-copy {
    display: grid;
    gap: 8px;
}

.pt-member-portal-spotlight-copy span {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pt-member-portal-spotlight-copy strong {
    color: var(--pt-bg);
    font-size: 1.18rem;
    line-height: 1.35;
}

.pt-member-portal-spotlight-copy small {
    color: var(--pt-muted);
    line-height: 1.55;
}

.pt-member-portal-spotlight-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pt-member-portal-services-panel {
    gap: 14px;
}

.pt-member-portal-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pt-member-portal-service-form {
    display: block;
    margin: 0;
}

.pt-member-portal-service-form .pt-member-portal-service-card {
    width: 100%;
    text-align: left;
}

.pt-member-portal-service-card {
    display: grid;
    gap: 6px;
    min-height: 108px;
    padding: 16px 18px;
    border-radius: 20px;
    text-decoration: none;
    background: linear-gradient(180deg, rgba(18, 28, 44, 0.9), rgba(14, 22, 34, 0.94));
    border: 1px solid rgba(82, 113, 163, 0.26);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.pt-member-portal-service-card:hover,
.pt-member-portal-service-card:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(90, 191, 204, 0.34);
    box-shadow: 0 16px 32px rgba(4, 10, 20, 0.2);
}

.pt-member-portal-service-card strong {
    color: var(--pt-ink);
    font-family: "Chakra Petch", sans-serif;
    font-size: 1.02rem;
    line-height: 1.25;
}

.pt-member-portal-service-card span {
    color: rgba(206, 219, 241, 0.82);
    font-size: 0.88rem;
    line-height: 1.5;
}

.pt-member-portal-chip-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    color: var(--pt-bg);
    text-decoration: none;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
    font-weight: 700;
}

.pt-member-portal-security-card {
    align-content: start;
}

.pt-member-portal-mini-head {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.pt-member-portal-mini-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    font-size: 1.2rem;
    font-weight: 900;
}

.pt-member-portal-mini-icon.is-red {
    color: #bf5c4a;
    background: rgba(191, 92, 74, 0.12);
}

.pt-member-portal-mini-icon.is-aqua {
    color: var(--pt-brand-aqua-deep);
    background: rgba(55, 184, 181, 0.14);
}

.pt-member-portal-mini-head h3 {
    margin: 0;
    font-size: 1rem;
    color: var(--pt-bg);
}

.pt-member-portal-mini-head p {
    margin: 4px 0 0;
    color: var(--pt-muted);
    line-height: 1.45;
}

.pt-member-portal-note {
    padding: 10px 12px;
    border-radius: 14px;
    color: rgba(28, 41, 64, 0.82);
    background: rgba(238, 243, 248, 0.96);
    border: 1px solid rgba(30, 46, 71, 0.06);
    line-height: 1.5;
}

.pt-member-portal-form {
    margin-top: 0;
}

.pt-member-portal-form .pt-form-grid {
    gap: 12px;
}

.pt-member-portal-form .pt-field span {
    font-size: 0.82rem;
}

.pt-member-portal-form .pt-button {
    width: 100%;
}

.pt-member-portal-link-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.pt-member-portal-link-tile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(18, 28, 44, 0.92), rgba(13, 22, 36, 0.94));
    border: 1px solid rgba(82, 113, 163, 0.22);
    color: rgba(236, 242, 255, 0.96);
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), var(--pt-shadow-sm);
}

.pt-member-portal-link-tile button {
    width: 100%;
    min-height: 54px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.pt-member-portal-link-tile:hover,
.pt-member-portal-link-tile:focus-within {
    transform: translateY(-1px);
    color: rgba(246, 249, 255, 0.98);
    border-color: rgba(98, 186, 210, 0.3);
    background: linear-gradient(180deg, rgba(23, 37, 58, 0.94), rgba(14, 25, 40, 0.96));
}

.pt-member-portal-lower-grid .pt-member-portal-panel {
    align-content: start;
}

.pt-member-portal-action-grid .pt-member-portal-section-head {
    align-items: flex-start;
    margin-bottom: 0;
}

.pt-member-portal-action-grid .pt-member-portal-section-head span {
    text-align: right;
    max-width: 168px;
    line-height: 1.35;
}

.pt-member-portal-action-grid .pt-member-portal-note {
    color: rgba(198, 212, 237, 0.88);
    line-height: 1.65;
}

.pt-member-portal-link-grid .pt-member-portal-link-tile:first-child button {
    color: rgba(120, 232, 226, 0.98);
}

.pt-member-portal-link-grid .pt-member-portal-link-tile:last-child button {
    color: rgba(255, 214, 124, 0.98);
}

.pt-member-portal-services-panel .pt-member-portal-note {
    color: rgba(196, 208, 231, 0.86);
}

.pt-member-portal-services-panel .pt-member-portal-service-card {
    position: relative;
    overflow: hidden;
}

.pt-member-portal-services-panel .pt-member-portal-service-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 3px;
    background: var(--pt-accent-gradient-thin);
    opacity: 0.92;
}

.pt-member-portal-services-panel .pt-member-portal-service-card strong {
    color: rgba(241, 247, 255, 0.98);
}

.pt-member-portal-services-panel .pt-member-portal-service-card span {
    color: rgba(184, 200, 228, 0.82);
}

.pt-member-portal-services-panel .pt-member-portal-service-grid > :nth-child(2n) .pt-member-portal-service-card::before,
.pt-member-portal-services-panel .pt-member-portal-service-grid > :nth-child(2n).pt-member-portal-service-card::before {
    background: var(--pt-accent-gradient-thin);
}

.pt-member-bank-hero {
    align-items: center;
}

.pt-member-bank-hero-note {
    display: grid;
    gap: 6px;
    max-width: 360px;
    padding: 16px 18px;
    border-radius: 18px;
    color: rgba(28, 41, 64, 0.86);
    background: linear-gradient(180deg, rgba(241, 246, 251, 0.98), rgba(234, 241, 248, 0.96));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-member-bank-hero-note strong {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pt-member-bank-hero-note span {
    line-height: 1.55;
}

.pt-member-bank-stat-grid {
    margin-top: -4px;
}

.pt-bank-flow-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(55, 184, 181, 0.1);
    color: var(--pt-brand-aqua-deep);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.pt-member-bank-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.pt-page-bank .pt-member-portal-nav {
    gap: 10px;
}

.pt-page-bank .pt-member-portal-nav a {
    grid-template-columns: 18px minmax(0, 1fr);
}

.pt-member-bank-panel {
    align-content: start;
    grid-template-rows: auto auto 1fr;
}

body.pt-route-bank .pt-member-bank-hero-note {
    color: rgba(233, 241, 251, 0.96);
    background: linear-gradient(180deg, rgba(22, 36, 58, 0.98), rgba(16, 27, 45, 0.96));
    border: 1px solid rgba(103, 142, 199, 0.28);
    box-shadow: 0 14px 28px rgba(4, 10, 20, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(12px);
}

body.pt-route-bank .pt-member-bank-hero-note strong {
    color: rgb(150, 238, 247);
}

body.pt-route-bank .pt-member-bank-hero-note span {
    color: rgba(226, 235, 248, 0.94);
}

body.pt-route-bank .pt-bank-radio-row {
    background: linear-gradient(180deg, rgba(20, 31, 50, 0.96), rgba(16, 26, 43, 0.94));
    border: 1px solid rgba(88, 115, 163, 0.24);
    box-shadow: var(--pt-shadow-sm);
}

body.pt-route-bank .pt-bank-radio-name strong,
body.pt-route-bank .pt-bank-radio-money,
body.pt-route-bank .pt-bank-list-label,
body.pt-route-bank .pt-bank-amount > span {
    color: rgba(223, 232, 247, 0.94);
}

body.pt-route-bank .pt-bank-radio-row:has(input:checked) {
    border-color: rgba(92, 202, 226, 0.42);
    box-shadow: 0 0 0 1px rgba(92, 202, 226, 0.18), var(--pt-shadow-sm);
}

body.pt-route-bank .pt-bank-amount input {
    background: rgba(10, 19, 33, 0.96);
    border-color: rgba(85, 111, 158, 0.32);
    color: var(--pt-ink);
}

body.pt-route-bank .pt-bank-amount input::placeholder {
    color: rgba(179, 193, 219, 0.62);
}

.pt-member-bank-form {
    display: grid;
    gap: 14px;
    margin-top: 0;
}

.pt-member-bank-form .pt-button {
    width: 100%;
    min-width: 0;
}

@media (max-width: 1180px) {
    .pt-download-page {
        padding: 44px 36px 24px;
    }

    .pt-download-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 1.5rem;
    }

    .pt-download-hero-copy {
        max-width: 100%;
        padding-bottom: 0;
    }

    .pt-download-hero-copy > p:not(.pt-kicker) {
        max-width: 34ch;
    }

    .pt-download-hero-visual {
        min-height: 320px;
    }

    .pt-download-hero-art {
        right: -1%;
        bottom: 0;
        width: auto;
        height: 112%;
        transform: none;
    }

    .pt-home-band-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pt-member-portal-content-grid,
    .pt-member-portal-lower-grid {
        grid-template-columns: 1fr;
    }

    .pt-member-portal-spotlight {
        grid-template-columns: 1fr;
    }

    .pt-member-bank-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .pt-member-portal-shell {
        grid-template-columns: 1fr;
    }

    .pt-member-portal-action-grid {
        grid-template-columns: 1fr;
    }

    .pt-member-portal-service-grid {
        grid-template-columns: 1fr;
    }

    .pt-member-portal-rail {
        position: static;
    }

    .pt-member-portal-hero,
    .pt-member-portal-stat-grid {
        grid-template-columns: 1fr;
    }

    .pt-member-portal-hero {
        display: grid;
    }

    .pt-member-portal-hero-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .pt-member-redesign-page {
        padding: 20px 16px;
    }

    .pt-member-portal-rail,
    .pt-member-portal-panel {
        padding: 16px;
        border-radius: 20px;
    }

    .pt-member-portal-link-grid,
    .pt-member-portal-stat-grid,
    .pt-member-portal-action-grid {
        grid-template-columns: 1fr;
    }

    .pt-member-portal-service-grid {
        grid-template-columns: 1fr;
    }

    .pt-member-portal-service-card {
        min-height: 92px;
        padding: 14px 16px;
    }

    .pt-member-character-card {
        grid-template-columns: 56px minmax(0, 1fr);
    }

    .pt-member-character-arrow {
        display: none;
    }

    .pt-member-character-head,
    .pt-member-portal-section-head {
        display: grid;
        justify-content: start;
    }

    .pt-member-portal-nav a {
        grid-template-columns: 18px minmax(0, 1fr);
    }

    .pt-download-action-row,
    .pt-event-mini-cta-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pt-event-hero-banner {
        grid-template-columns: 1fr;
    }

    .pt-home-band-list {
        grid-template-columns: 1fr;
    }
}

.pt-home-hero-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.95rem;
}

.pt-home-hero-chip-row span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 0.78rem;
    font-weight: 700;
}

.pt-home-hero-side {
    display: grid;
    gap: 0.9rem;
    align-items: end;
    justify-items: center;
}

.pt-home-hero-actions {
    display: grid;
    gap: 0.7rem;
    width: min(100%, 320px);
}

.pt-home-hero-action {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    border-radius: 18px;
    text-decoration: none;
    color: white;
    background: rgba(10, 20, 34, 0.48);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: var(--pt-shadow-md);
}

.pt-home-hero-action img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.pt-home-hero-action strong {
    display: block;
    color: white;
    line-height: 1.2;
}

.pt-home-hero-action span {
    display: block;
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.84rem;
    line-height: 1.4;
}

.pt-ranking-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1rem;
}

.pt-ranking-hero-inline-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
    margin-top: 0.9rem;
    max-width: 34rem;
}

.pt-ranking-hero-inline-card {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 250, 253, 0.98), rgba(241, 246, 251, 0.95));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-ranking-hero-inline-card small {
    color: var(--pt-brand-aqua-deep);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pt-ranking-hero-inline-card strong {
    color: var(--pt-bg);
    line-height: 1.25;
}

.pt-ranking-summary-card:nth-child(3n + 1) {
    background: linear-gradient(180deg, rgba(242, 250, 248, 0.98), rgba(236, 247, 243, 0.95));
}

.pt-ranking-summary-card:nth-child(3n + 2) {
    background: linear-gradient(180deg, rgba(246, 249, 253, 0.98), rgba(238, 244, 251, 0.95));
}

.pt-ranking-summary-card:nth-child(3n + 3) {
    background: linear-gradient(180deg, rgba(252, 248, 240, 0.98), rgba(249, 243, 229, 0.95));
}

@media (max-width: 1180px) {
    .pt-ranking-hero-inline-cards {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pt-home-hero-actions,
    .pt-ranking-hero-actions {
        width: 100%;
    }
}

.pt-auth-reference-visual {
    gap: 1rem;
}

.pt-auth-visual-quicklinks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.pt-auth-visual-quicklinks a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    text-decoration: none;
    color: var(--pt-ink);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: var(--pt-shadow-sm);
    font-size: 0.82rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.pt-auth-visual-quicklinks a:hover,
.pt-auth-visual-quicklinks a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(55, 184, 181, 0.24);
}

.pt-utility-masthead {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
    gap: 1.1rem;
    align-items: stretch;
}

.pt-utility-masthead-spotlight {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-height: 108px;
    padding: 15px 16px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(17, 34, 54, 0.94), rgba(38, 70, 108, 0.76));
    box-shadow: var(--pt-shadow-md);
}

.pt-utility-masthead-spotlight-media {
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(195, 244, 0, 0.22), rgba(55, 184, 181, 0.24));
}

.pt-utility-masthead-spotlight-media img {
    display: block;
    width: 64px;
    height: 64px;
    margin-inline: auto;
    object-fit: contain;
    filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.24));
}

.pt-utility-masthead-spotlight-copy {
    display: grid;
    gap: 4px;
}

.pt-utility-masthead-spotlight-copy small {
    color: rgba(195, 244, 0, 0.92);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pt-utility-masthead-spotlight-copy strong {
    color: white;
    font-size: 1.06rem;
    line-height: 1.2;
}

.pt-utility-masthead-spotlight-copy span {
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.4;
}

body.pt-shell .pt-member-avatar-picker .pt-member-portal-section-head span {
    min-height: 24px;
    padding: 0 9px;
    font-size: 0.71rem;
}

body.pt-shell .pt-member-avatar-picker .pt-member-portal-rail-button.is-ghost {
    min-height: 40px;
}

body.pt-shell .pt-member-avatar-picker .pt-member-avatar-form .pt-field span {
    color: rgba(224, 236, 252, 0.9) !important;
}

body.pt-shell .pt-member-avatar-picker .pt-member-avatar-form select {
    min-height: 40px;
}

body.pt-shell .pt-event-sidebar-spotlight,
body.pt-shell .pt-utility-masthead-spotlight {
    border: 1px solid rgba(83, 131, 191, 0.24);
}

@media (max-width: 1180px) {
    .pt-utility-masthead {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .pt-auth-visual-quicklinks {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pt-utility-masthead-spotlight {
        grid-template-columns: 1fr;
        justify-items: start;
    }
}

.pt-reference-shell-shop .pt-reference-sidebar {
    align-content: start;
}

.pt-reference-shell-shop .pt-reference-sidebar-hero {
    gap: 0.45rem;
}

.pt-reference-shell-shop .pt-reference-sidebar-hero h2 {
    margin: 0;
    font-size: 1.7rem;
}

.pt-reference-shell-shop .pt-reference-sidebar-hero p {
    max-width: none;
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.45;
}

.pt-reference-shell-shop .pt-reference-sidebar-badges {
    margin-top: 0.25rem;
}

.pt-reference-shell-shop .pt-reference-sidebar-badges span {
    min-height: 30px;
    padding: 0 12px;
    font-size: 0.76rem;
}

.pt-itemmall-sidebar-art {
    margin-top: 0.6rem;
}

.pt-itemmall-sidebar-art-card {
    position: relative;
    display: grid;
    place-items: center;
    justify-self: center;
    min-height: 176px;
    padding: 14px 10px 8px;
    border-radius: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.16), transparent 40%),
        linear-gradient(155deg, rgba(24, 39, 58, 0.96), rgba(16, 29, 46, 0.9));
    border: 1px solid rgba(137, 238, 255, 0.12);
    box-shadow: var(--pt-shadow-sm);
}

.pt-itemmall-sidebar-art-card::after {
    content: "";
    position: absolute;
    inset: auto -12% -36% auto;
    width: 140px;
    height: 140px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(83, 229, 224, 0.14), transparent 72%);
}

.pt-itemmall-sidebar-art-card img {
    position: relative;
    display: block;
    width: 100%;
    max-width: 232px;
    height: auto;
    margin-inline: auto;
    object-fit: contain;
    filter: drop-shadow(0 16px 22px rgba(8, 12, 20, 0.28));
}

.pt-reference-shell-shop .pt-reference-sidebar-form {
    margin-top: 0.9rem;
    padding: 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(248, 250, 253, 0.98), rgba(241, 246, 251, 0.95));
    border: 1px solid rgba(30, 46, 71, 0.08);
    box-shadow: var(--pt-shadow-sm);
}

.pt-reference-shell-shop .pt-reference-sidebar-form,
.pt-reference-shell-shop .pt-reference-sidebar-form * {
    box-sizing: border-box;
}

.pt-itemmall-sidebar-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.8rem;
}

.pt-reference-shell-shop .pt-reference-sidebar-form .pt-field,
.pt-reference-shell-shop .pt-reference-sidebar-form .pt-field input,
.pt-reference-shell-shop .pt-reference-sidebar-form .pt-field select {
    width: 100%;
    min-width: 0;
}

.pt-reference-shell-shop .pt-reference-sidebar-form .pt-field span {
    font-size: 0.84rem;
}

.pt-itemmall-sidebar-button {
    width: 100%;
    min-height: 40px;
    margin-top: 0.2rem;
}

.pt-itemmall-card {
    border-radius: 22px;
}

.pt-itemmall-card .pt-item-thumb-lg {
    width: 92px;
    height: 92px;
}

.pt-itemmall-card-body {
    gap: 8px;
}

.pt-itemmall-card-body h3 {
    font-size: 1.12rem;
    line-height: 1.15;
}

.pt-itemmall-meta,
.pt-itemmall-card-quickline,
.pt-itemmall-copy,
.pt-itemmall-use {
    font-size: 0.88rem;
}

.pt-itemmall-copy p {
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pt-itemmall-purchase-grid {
    gap: 8px;
}

.pt-itemmall-purchase-form .pt-button {
    min-height: 38px;
}

.pt-event-hero-banner {
    padding: 16px 18px;
    gap: 14px;
    border-radius: 20px;
}

.pt-event-hero-banner-copy strong {
    font-size: 1.2rem;
}

.pt-event-hero-banner-copy span {
    line-height: 1.45;
}

.pt-event-status-strip {
    gap: 12px;
}

.pt-event-status-card {
    padding: 14px 16px;
    border-radius: 18px;
}

.pt-ranking-inline-note {
    margin-top: 0.95rem;
    margin-bottom: 0;
    max-width: 34rem;
}

.pt-member-legacy-page {
    max-width: 1180px;
    margin: 0 auto;
}

.pt-service-page {
    display: grid;
    gap: 1.2rem;
    max-width: 1180px;
    margin: 0 auto;
}

.pt-service-page-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.78fr);
    gap: 1rem;
    align-items: stretch;
}

.pt-service-page-copy {
    min-width: 0;
}

.pt-service-page-copy h1 {
    margin: 0.16rem 0 0.5rem;
    line-height: 0.96;
    text-wrap: balance;
}

.pt-service-page-copy p:last-child {
    margin-bottom: 0;
}

.pt-service-page-spotlight {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-height: 114px;
    padding: 16px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(17, 34, 54, 0.94), rgba(38, 70, 108, 0.76));
    box-shadow: var(--pt-shadow-md);
}

.pt-service-page-spotlight-media {
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(195, 244, 0, 0.16), rgba(55, 184, 181, 0.2));
}

.pt-service-page-spotlight-media img {
    display: block;
    width: 68px;
    height: 68px;
    margin-inline: auto;
    object-fit: contain;
    filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.24));
}

.pt-service-page-spotlight-copy {
    display: grid;
    gap: 4px;
}

.pt-service-page-spotlight-copy small {
    color: rgba(195, 244, 0, 0.92);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pt-service-page-spotlight-copy strong {
    color: white;
    font-size: 1.04rem;
    line-height: 1.2;
}

.pt-service-page-spotlight-copy span {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.45;
}

.pt-member-legacy-card {
    display: grid;
    gap: 1.25rem;
    padding: 1.5rem;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(201, 214, 233, 0.75);
    box-shadow: 0 24px 52px rgba(38, 60, 102, 0.12);
}

.pt-member-legacy-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.pt-member-legacy-head h1 {
    margin: 0.25rem 0 0.4rem;
}

.pt-member-legacy-note,
.pt-member-legacy-chip {
    padding: 0.85rem 1rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(240, 248, 255, 0.95), rgba(245, 255, 252, 0.92));
    border: 1px solid rgba(193, 210, 233, 0.8);
    color: #4b5b79;
}

.pt-member-legacy-chip {
    white-space: nowrap;
    font-weight: 700;
}

.pt-member-legacy-form,
.pt-member-legacy-inline {
    gap: 1rem;
}

.pt-token-remove-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.pt-token-remove-card {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    border-radius: 1.35rem;
    background: linear-gradient(180deg, rgba(16, 24, 40, 0.96), rgba(18, 28, 46, 0.92));
    border: 1px solid rgba(79, 107, 151, 0.28);
    box-shadow: 0 18px 36px rgba(3, 8, 18, 0.28);
}

.pt-token-remove-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.pt-token-remove-top img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    border-radius: 0.75rem;
    background: rgba(18, 28, 46, 0.92);
    border: 1px solid rgba(83, 113, 160, 0.28);
}

.pt-token-remove-options {
    display: grid;
    gap: 0.45rem;
}

.pt-token-remove-option {
    padding: 0.55rem 0.75rem;
    border-radius: 0.9rem;
    background: rgba(19, 29, 49, 0.92);
    color: #d6e7ff;
    font-size: 0.95rem;
}

.pt-token-remove-form {
    margin-top: auto;
}

.pt-token-remove-selected-card {
    margin-bottom: 1.15rem;
}

.pt-token-remove-workspace {
    gap: 1rem;
}

.pt-token-remove-choice-list {
    display: grid;
    gap: 0.65rem;
}

.pt-token-remove-choice {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem 0.95rem;
    border-radius: 1rem;
    background: rgba(16, 24, 39, 0.86);
    border: 1px solid rgba(76, 106, 154, 0.24);
    color: #eaf3ff;
}

.pt-token-remove-choice input {
    flex: 0 0 auto;
}

.pt-token-remove-choice span {
    color: inherit;
}

.pt-token-remove-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

@media (max-width: 900px) {
    .pt-member-legacy-head {
        flex-direction: column;
    }
}

@media (max-width: 900px) {
    .pt-service-page-head {
        grid-template-columns: 1fr;
    }
}

.pt-member-vip-page {
    display: grid;
    gap: 1.4rem;
    max-width: 1180px;
    margin: 0 auto;
}

.pt-member-vip-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.9fr);
    gap: 1rem;
}

.pt-member-vip-copy,
.pt-member-vip-panel,
.pt-member-vip-card {
    padding: 1.4rem;
    border-radius: 1.75rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(201, 214, 233, 0.75);
    box-shadow: 0 24px 52px rgba(38, 60, 102, 0.12);
}

.pt-member-vip-copy h1,
.pt-member-vip-panel h2 {
    margin: 0.2rem 0 0.65rem;
}

.pt-member-vip-copy p,
.pt-member-vip-panel p {
    max-width: 50ch;
}

.pt-member-vip-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1rem;
}

.pt-member-vip-chips span,
.pt-member-vip-card-head span {
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(173, 232, 244, 0.3), rgba(196, 255, 120, 0.24));
    border: 1px solid rgba(68, 189, 176, 0.18);
    font-weight: 700;
}

.pt-member-vip-spotlight {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-height: 114px;
    margin-bottom: 1rem;
    padding: 0.95rem 1rem;
    border-radius: 1.4rem;
    background: linear-gradient(135deg, rgba(17, 34, 54, 0.94), rgba(38, 70, 108, 0.76));
    box-shadow: var(--pt-shadow-md);
}

.pt-member-vip-spotlight-media {
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(195, 244, 0, 0.16), rgba(55, 184, 181, 0.2));
}

.pt-member-vip-spotlight-media img {
    display: block;
    width: 68px;
    height: 68px;
    margin-inline: auto;
    object-fit: contain;
    filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.24));
}

.pt-member-vip-spotlight-copy {
    display: grid;
    gap: 4px;
}

.pt-member-vip-spotlight-copy small {
    color: rgba(195, 244, 0, 0.92);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pt-member-vip-spotlight-copy strong {
    color: white;
    font-size: 1.04rem;
    line-height: 1.2;
}

.pt-member-vip-spotlight-copy span {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.45;
}

.pt-member-vip-benefits {
    display: grid;
    gap: 0.55rem;
    padding-left: 1.1rem;
    margin: 0 0 1rem;
}

.pt-member-vip-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.pt-member-vip-card {
    display: grid;
    gap: 0.9rem;
}

.pt-member-vip-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.pt-member-vip-card-head strong {
    font-size: 1.2rem;
}

.pt-member-vip-card p {
    margin: 0;
    color: #576684;
}

@media (max-width: 900px) {
    .pt-member-vip-hero {
        grid-template-columns: 1fr;
    }
}

/* Midnight glass theme pass */
body.pt-shell :is(
    .pt-page,
    .pt-card,
    .pt-table-card,
    .pt-link-card,
    .pt-legacy-summary-card,
    .pt-legacy-section,
    .pt-bank-box,
    .pt-ranking-summary-card,
    .pt-ranking-search,
    .pt-itemmall-card,
    .pt-auth-card,
    .pt-auth-aside,
    .pt-dashboard-pane,
    .pt-dashboard-rail,
    .pt-auth-simple-card,
    .pt-auth-reference-shell,
    .pt-auth-reference-card,
    .pt-dashboard-reference-shell,
    .pt-dashboard-reference-sidebar,
    .pt-dashboard-reference-content,
    .pt-reference-content,
    .pt-reference-sidebar,
    .pt-reference-panel,
    .pt-reference-panel-tight,
    .pt-note-inline,
    .pt-note-block,
    .pt-feedback,
    .pt-form-explainer,
    .pt-home-band-reference,
    .pt-home-band-panel,
    .pt-home-band-list a,
    .pt-home-quick-card,
    .pt-utility-selected-status,
    .pt-market-summary,
    .pt-market-toolbar,
    .pt-market-status,
    .pt-itemmall-summary,
    .pt-itemmall-purchase-form,
    .pt-member-vip-copy,
    .pt-member-vip-panel,
    .pt-member-vip-card
) {
    background: var(--pt-surface) !important;
    border-color: var(--pt-line) !important;
    box-shadow: var(--pt-shadow-md);
    backdrop-filter: blur(12px);
}

body.pt-shell :is(
    .pt-dashboard-reference-shell,
    .pt-auth-reference-shell,
    .pt-reference-content,
    .pt-reference-sidebar,
    .pt-dashboard-reference-sidebar,
    .pt-dashboard-reference-content
) {
    background: var(--pt-surface-soft) !important;
}

body.pt-shell :is(
    .pt-field,
    .pt-field > span,
    .pt-reference-label,
    .pt-dashboard-rail p,
    .pt-dashboard-rail li,
    .pt-dashboard-rail span,
    .pt-member-vip-card p,
    .pt-home-quick-card span,
    .pt-note-inline,
    .pt-note-block,
    .pt-feedback
) {
    color: var(--pt-muted) !important;
}

body.pt-shell :is(
    .pt-page h1,
    .pt-page h2,
    .pt-page h3,
    .pt-card h1,
    .pt-card h2,
    .pt-card h3,
    .pt-reference-panel h1,
    .pt-reference-panel h2,
    .pt-reference-panel h3,
    .pt-reference-sidebar h1,
    .pt-reference-sidebar h2,
    .pt-reference-sidebar h3,
    .pt-dashboard-pane h1,
    .pt-dashboard-pane h2,
    .pt-dashboard-pane h3,
    .pt-dashboard-rail h1,
    .pt-dashboard-rail h2,
    .pt-dashboard-rail h3,
    .pt-link-card strong,
    .pt-home-quick-card strong,
    .pt-member-vip-copy h1,
    .pt-member-vip-panel h2,
    .pt-auth-simple-card h2
) {
    color: var(--pt-ink) !important;
}

body.pt-shell :is(.pt-field input, .pt-select, textarea) {
    background: rgba(10, 16, 28, 0.54) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: var(--pt-ink) !important;
    backdrop-filter: blur(10px);
    color-scheme: dark;
}

body.pt-shell :is(.pt-field input, .pt-select, textarea)::placeholder {
    color: rgba(225, 232, 244, 0.46);
}

body.pt-shell :is(
    .pt-dashboard-link.is-active,
    .pt-dashboard-reference-tabs .pt-reference-tab.is-active,
    .pt-dashboard-reference-tabs .pt-dashboard-link.is-active,
    .pt-reference-tab.is-active
) {
    background: rgba(255, 255, 255, 0.12) !important;
    color: var(--pt-ink) !important;
    box-shadow: none;
}

body.pt-shell :is(
    .pt-dashboard-reference-tabs .pt-reference-tab:hover,
    .pt-dashboard-reference-tabs .pt-dashboard-link:hover,
    .pt-dashboard-link:hover
) {
    background: rgba(255, 255, 255, 0.06) !important;
}

body.pt-shell :is(.pt-item-thumb, .pt-item-thumb-lg) {
    background: rgba(18, 26, 40, 0.62) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.pt-shell :is(table td, table th) {
    border-color: rgba(255, 255, 255, 0.08);
}

body.pt-route-ranking :is(
    .pt-ranking-reference-card,
    .pt-ranking-hero-visual,
    .pt-ranking-reference-body .pt-table-wrap,
    .pt-ranking-reference-tabs .pt-tab-trigger,
    .pt-ranking-summary-card,
    .pt-ranking-search,
    .pt-ranking-command-card,
    .pt-reference-metric,
    .pt-reference-summary-card
) {
    background: rgba(18, 26, 40, 0.42) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--pt-ink) !important;
    backdrop-filter: blur(10px);
}

body.pt-route-ranking .pt-ranking-hero-visual {
    justify-items: center;
    align-content: center;
    min-height: 180px;
}

body.pt-route-ranking .pt-ranking-hero-visual img {
    width: min(100%, 280px);
    max-height: 132px;
    object-fit: contain;
    filter: drop-shadow(0 18px 24px rgba(4, 9, 17, 0.2));
}

body.pt-route-ranking :is(
    .pt-ranking-reference-tabs .pt-tab-trigger.is-active,
    .pt-ranking-reference-topnav a.is-active
) {
    background: rgba(255, 255, 255, 0.14) !important;
    color: var(--pt-ink) !important;
}

body.pt-route-ranking :is(
    .pt-ranking-reference-head p,
    .pt-ranking-summary-card span,
    .pt-ranking-inline-note
) {
    color: var(--pt-muted) !important;
}

body.pt-route-event :is(
    .pt-event-status-card,
    .pt-event-sidebar-spotlight,
    .pt-event-mini-cta,
    .pt-event-action-grid .pt-reference-action-card,
    .pt-event-deck-card,
    .pt-event-highlight-card,
    .pt-event-masthead-card,
    .pt-reference-metric,
    .pt-reference-summary-card
) {
    background: rgba(18, 26, 40, 0.42) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--pt-ink) !important;
    backdrop-filter: blur(10px);
}

body.pt-route-event :is(
    .pt-event-page .pt-reference-panel-head p,
    .pt-event-sidebar-spotlight-copy p,
    .pt-event-highlight-card span,
    .pt-event-masthead-card span
) {
    color: var(--pt-muted) !important;
}

body.pt-shell .pt-page-utility :is(
    .pt-member-panel,
    .pt-table-wrap,
    .pt-utility-selected-status,
    .pt-utility-instruction-item,
    .pt-utility-detail-card,
    .pt-info-card,
    .pt-utility-side-note,
    .pt-shop-inline-summary article,
    .pt-market-form-panel,
    .pt-market-status-panel,
    .pt-smelting-list-wrap,
    .pt-smelting-tier-wrap
) {
    background: rgba(18, 26, 40, 0.42) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--pt-ink) !important;
    backdrop-filter: blur(12px);
}

body.pt-shell .pt-page-utility :is(
    .pt-utility-grid-table tbody tr,
    .pt-utility-grid-table tbody td:first-child,
    .pt-utility-grid-table tbody td:last-child,
    .pt-utility-selected-media
) {
    background: rgba(14, 21, 33, 0.76) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
}

body.pt-shell .pt-page-utility .pt-utility-grid-table tbody tr:hover {
    background: rgba(18, 26, 40, 0.88) !important;
}

body.pt-shell .pt-page-utility .pt-utility-grid-table tbody td:nth-child(2) {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}

body.pt-shell .pt-page-utility .pt-utility-grid-table tbody td:last-child {
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}

body.pt-shell .pt-page-utility :is(
    .pt-legacy-item-title,
    .pt-legacy-item-inline-stats,
    .pt-shop-inline-summary strong,
    .pt-utility-instruction-item strong,
    .pt-utility-detail-card h3,
    .pt-info-card strong,
    .pt-utility-masthead-fact strong
) {
    color: var(--pt-ink) !important;
}

body.pt-shell .pt-page-utility :is(
    .pt-legacy-item-copy,
    .pt-utility-detail-list,
    .pt-info-card p,
    .pt-shop-inline-summary span,
    .pt-muted-line,
    .pt-temper-label,
    .pt-temper-stat-line
) {
    color: var(--pt-muted) !important;
}

body.pt-shell .pt-page-utility .pt-legacy-option-box {
    border: 1px solid rgba(247, 189, 34, 0.34) !important;
    background: linear-gradient(180deg, rgba(92, 63, 8, 0.64), rgba(60, 40, 5, 0.72)) !important;
    color: rgba(255, 246, 216, 0.96) !important;
}

body.pt-shell .pt-page-utility .pt-table-temper .pt-legacy-option-box,
body.pt-shell .pt-page-utility .pt-utility-selected-copy .pt-legacy-option-box {
    border: 1px solid rgba(110, 174, 222, 0.16) !important;
    background: linear-gradient(180deg, rgba(17, 29, 46, 0.96), rgba(12, 22, 36, 0.94)) !important;
    color: var(--pt-ink) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

body.pt-shell .pt-page-utility .pt-utility-warning {
    background: linear-gradient(180deg, rgba(92, 63, 8, 0.46), rgba(60, 40, 5, 0.54)) !important;
    border: 1px solid rgba(247, 189, 34, 0.24) !important;
    color: rgba(255, 241, 204, 0.96) !important;
}

body.pt-shell .pt-page-utility :is(
    .pt-feedback-error,
    .pt-note-block.pt-note-error
) {
    background: linear-gradient(180deg, rgba(106, 34, 22, 0.58), rgba(78, 23, 18, 0.68)) !important;
    border-color: rgba(255, 133, 112, 0.22) !important;
    color: rgba(255, 221, 214, 0.96) !important;
}

body.pt-shell .pt-page-utility :is(
    .pt-feedback-success,
    .pt-note-block.pt-note-success
) {
    background: linear-gradient(180deg, rgba(12, 88, 70, 0.56), rgba(11, 62, 62, 0.68)) !important;
    border-color: rgba(44, 197, 164, 0.22) !important;
    color: rgba(222, 255, 244, 0.96) !important;
}

body.pt-shell .pt-page-utility .pt-utility-instruction-item-warning {
    background: linear-gradient(180deg, rgba(76, 58, 20, 0.56), rgba(58, 42, 12, 0.64)) !important;
    border-left-color: rgba(247, 189, 34, 0.46) !important;
}

body.pt-shell .pt-page-utility .pt-utility-stat-box {
    background: linear-gradient(135deg, rgba(45, 88, 146, 0.52), rgba(27, 116, 125, 0.48)) !important;
    border: 1px solid rgba(110, 174, 222, 0.18) !important;
    color: var(--pt-ink) !important;
}

body.pt-shell .pt-page-utility .pt-shop-inline-tabs :is(a, span) {
    background: rgba(18, 26, 40, 0.42) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--pt-muted) !important;
}

body.pt-shell .pt-page-utility .pt-shop-inline-tabs .is-active {
    background: linear-gradient(135deg, rgba(45, 88, 146, 0.48), rgba(27, 116, 125, 0.42)) !important;
    border-color: rgba(110, 174, 222, 0.22) !important;
    color: var(--pt-ink) !important;
}

body.pt-shell .pt-page-utility .pt-select {
    background: rgba(10, 16, 28, 0.88) !important;
    border-color: rgba(110, 174, 222, 0.18) !important;
    color: var(--pt-ink) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.pt-shell .pt-page-utility .pt-select option {
    background: rgb(14, 21, 33);
    color: rgb(233, 239, 248);
}

body.pt-shell .pt-page-utility .pt-select option:checked,
body.pt-shell .pt-page-utility .pt-select option:hover {
    background: rgb(33, 69, 120);
    color: rgb(248, 251, 255);
}

body.pt-shell .pt-page-utility .pt-utility-selected-secondary-media {
    background: linear-gradient(180deg, rgba(16, 25, 41, 0.94), rgba(12, 20, 34, 0.90));
    border-color: rgba(109, 171, 227, 0.18);
}

body.pt-shell .pt-page-utility .pt-compound-option-select {
    color: rgb(132, 232, 243) !important;
    border-color: rgba(92, 202, 226, 0.32) !important;
    background: linear-gradient(180deg, rgba(10, 22, 36, 0.96), rgba(12, 28, 42, 0.92)) !important;
}

body.pt-shell .pt-page-utility .pt-compound-option-select option {
    background: rgb(11, 24, 36);
    color: rgb(132, 232, 243);
}

body.pt-shell .pt-page-utility .pt-compound-option-select option:checked,
body.pt-shell .pt-page-utility .pt-compound-option-select option:hover {
    background: rgb(24, 88, 109);
    color: rgb(239, 252, 255);
}

body.pt-shell .pt-page-utility .pt-compound-mixer-select {
    color: rgb(255, 218, 125) !important;
    border-color: rgba(255, 189, 82, 0.30) !important;
    background: linear-gradient(180deg, rgba(28, 22, 10, 0.96), rgba(34, 27, 12, 0.92)) !important;
}

body.pt-shell .pt-page-utility .pt-compound-mixer-select option {
    background: rgb(29, 22, 12);
    color: rgb(255, 218, 125);
}

body.pt-shell .pt-page-utility .pt-compound-mixer-select option:checked,
body.pt-shell .pt-page-utility .pt-compound-mixer-select option:hover {
    background: rgb(124, 83, 24);
    color: rgb(255, 248, 231);
}

body.pt-shell .pt-page-utility .pt-compound-helper-select {
    color: rgb(220, 184, 255) !important;
    border-color: rgba(176, 132, 237, 0.30) !important;
    background: linear-gradient(180deg, rgba(20, 14, 34, 0.96), rgba(24, 17, 40, 0.92)) !important;
}

body.pt-shell .pt-page-utility .pt-compound-helper-select option {
    background: rgb(21, 15, 37);
    color: rgb(220, 184, 255);
}

body.pt-shell .pt-page-utility .pt-compound-helper-select option:checked,
body.pt-shell .pt-page-utility .pt-compound-helper-select option:hover {
    background: rgb(77, 48, 121);
    color: rgb(249, 241, 255);
}

body.pt-shell .pt-page-utility .pt-uncompound-bottle-select,
body.pt-shell .pt-page-utility .pt-fuse-flame-select,
body.pt-shell .pt-page-utility .pt-expandslot-main-select {
    color: rgb(255, 218, 125) !important;
    border-color: rgba(255, 189, 82, 0.30) !important;
    background: linear-gradient(180deg, rgba(28, 22, 10, 0.96), rgba(34, 27, 12, 0.92)) !important;
}

body.pt-shell .pt-page-utility .pt-uncompound-bottle-select option,
body.pt-shell .pt-page-utility .pt-fuse-flame-select option,
body.pt-shell .pt-page-utility .pt-expandslot-main-select option {
    background: rgb(29, 22, 12);
    color: rgb(255, 218, 125);
}

body.pt-shell .pt-page-utility .pt-uncompound-bottle-select option:checked,
body.pt-shell .pt-page-utility .pt-uncompound-bottle-select option:hover,
body.pt-shell .pt-page-utility .pt-fuse-flame-select option:checked,
body.pt-shell .pt-page-utility .pt-fuse-flame-select option:hover,
body.pt-shell .pt-page-utility .pt-expandslot-main-select option:checked,
body.pt-shell .pt-page-utility .pt-expandslot-main-select option:hover {
    background: rgb(124, 83, 24);
    color: rgb(255, 248, 231);
}

body.pt-shell .pt-page-utility .pt-fuse-appearance-select {
    color: rgb(132, 232, 243) !important;
    border-color: rgba(92, 202, 226, 0.32) !important;
    background: linear-gradient(180deg, rgba(10, 22, 36, 0.96), rgba(12, 28, 42, 0.92)) !important;
}

body.pt-shell .pt-page-utility .pt-fuse-appearance-select option {
    background: rgb(11, 24, 36);
    color: rgb(132, 232, 243);
}

body.pt-shell .pt-page-utility .pt-fuse-appearance-select option:checked,
body.pt-shell .pt-page-utility .pt-fuse-appearance-select option:hover {
    background: rgb(24, 88, 109);
    color: rgb(239, 252, 255);
}

body.pt-shell .pt-page-utility .pt-expandslot-helper,
body.pt-shell .pt-page-utility .pt-defuse-book-select {
    color: rgb(220, 184, 255) !important;
    border-color: rgba(176, 132, 237, 0.30) !important;
    background: linear-gradient(180deg, rgba(20, 14, 34, 0.96), rgba(24, 17, 40, 0.92)) !important;
}

body.pt-shell .pt-page-utility .pt-expandslot-helper option,
body.pt-shell .pt-page-utility .pt-defuse-book-select option {
    background: rgb(21, 15, 37);
    color: rgb(220, 184, 255);
}

body.pt-shell .pt-page-utility .pt-expandslot-helper option:checked,
body.pt-shell .pt-page-utility .pt-expandslot-helper option:hover,
body.pt-shell .pt-page-utility .pt-defuse-book-select option:checked,
body.pt-shell .pt-page-utility .pt-defuse-book-select option:hover {
    background: rgb(77, 48, 121);
    color: rgb(249, 241, 255);
}

body.pt-shell .pt-page-utility .pt-utility-requirement-box {
    display: grid;
    gap: 0.4rem;
    margin-top: 0.9rem;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(255, 214, 102, 0.24);
    background: linear-gradient(180deg, rgba(44, 34, 14, 0.92), rgba(30, 23, 11, 0.88));
}

body.pt-shell .pt-page-utility .pt-utility-requirement-line {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: wrap;
}

body.pt-shell .pt-page-utility .pt-utility-requirement-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3rem;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

body.pt-shell .pt-page-utility .pt-utility-requirement-label.is-need {
    background: rgba(255, 94, 94, 0.18);
    color: rgb(255, 151, 151);
}

body.pt-shell .pt-page-utility .pt-utility-requirement-label.is-use {
    background: rgba(96, 188, 255, 0.18);
    color: rgb(150, 220, 255);
}

body.pt-shell .pt-page-utility .pt-utility-requirement-text {
    color: rgb(245, 231, 196);
    font-weight: 700;
}

body.pt-shell .pt-page-utility .pt-compound-mixer-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
    align-items: center;
    margin-top: 0.65rem;
    padding: 0.9rem 1rem;
    border-radius: 0.95rem;
    border: 1px solid rgba(76, 141, 199, 0.22);
    background: linear-gradient(180deg, rgba(14, 24, 38, 0.94), rgba(10, 18, 31, 0.9));
}

body.pt-shell .pt-page-utility .pt-compound-stock-warning {
    display: grid;
    gap: 0.24rem;
    margin-top: 0.75rem;
    padding: 1rem 1rem 1rem 1.1rem;
}

body.pt-shell .pt-page-utility .pt-compound-stock-warning strong,
body.pt-shell .pt-page-utility .pt-utility-stock-warning strong {
    color: rgba(255, 232, 166, 0.98);
    font-size: 0.98rem;
    letter-spacing: 0.01em;
}

body.pt-shell .pt-page-utility .pt-compound-stock-warning span,
body.pt-shell .pt-page-utility .pt-utility-stock-warning span {
    color: rgba(255, 241, 204, 0.92);
    font-size: 0.9rem;
    line-height: 1.55;
}

body.pt-shell .pt-page-utility .pt-utility-stock-warning {
    display: grid;
    gap: 0.24rem;
    margin-top: 0.75rem;
    padding: 1rem 1rem 1rem 1.1rem;
}

body.pt-shell .pt-page-utility :is(.pt-compound-stock-warning, .pt-utility-stock-warning) {
    position: relative;
    border-left: 3px solid rgba(255, 201, 86, 0.72);
    box-shadow: inset 0 0 0 1px rgba(255, 240, 201, 0.03);
}

body.pt-shell .pt-page-utility :is(.pt-compound-stock-warning, .pt-utility-stock-warning)::before {
    content: "";
    position: absolute;
    left: -2px;
    top: 0.9rem;
    bottom: 0.9rem;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 229, 143, 0.96), rgba(255, 170, 63, 0.42));
}

body.pt-shell .pt-page-utility .pt-smelting-selection-warning[hidden] {
    display: none;
}

body.pt-shell .pt-page-utility .pt-compound-preview-stat {
    color: rgb(132, 232, 243);
    font-weight: 800;
}

body.pt-shell .pt-page-utility .pt-compound-preview-sep {
    color: rgba(207, 220, 245, 0.52);
}

body.pt-shell .pt-page-utility .pt-compound-preview-item {
    color: rgb(244, 248, 255);
    font-weight: 700;
}

body.pt-shell .pt-page-utility .pt-compound-preview-qty,
body.pt-shell .pt-page-utility .pt-compound-preview-owned {
    color: rgb(255, 214, 122);
    font-weight: 700;
}

body.pt-shell .pt-page-utility .pt-compound-preview-range {
    color: rgb(220, 188, 255);
    font-weight: 700;
}

body.pt-shell .pt-page-utility .pt-compound-preview-empty {
    color: rgba(214, 224, 245, 0.82);
    font-weight: 600;
}

body.pt-shell .pt-page-utility .pt-expandslot-rate,
body.pt-shell .pt-page-utility .pt-expandslot-warning {
    border-radius: 0.95rem;
    border: 1px solid rgba(70, 120, 183, 0.22);
    background: linear-gradient(180deg, rgba(15, 25, 40, 0.94), rgba(12, 20, 34, 0.9));
    color: rgba(223, 234, 251, 0.92);
}

body.pt-shell .pt-page-utility .pt-expandslot-rate strong {
    color: rgb(132, 232, 243);
}

body.pt-shell .pt-page-utility .pt-expandslot-warning {
    border-color: rgba(255, 189, 82, 0.24);
    background: linear-gradient(180deg, rgba(34, 27, 12, 0.92), rgba(26, 20, 10, 0.88));
    color: rgb(245, 231, 196);
}

body.pt-shell .pt-page-utility .pt-expandslot-warning strong {
    color: rgb(255, 214, 122);
}

body.pt-shell .pt-page-utility .pt-utility-selected-secondary-label {
    color: rgb(132, 232, 243);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-shop-inline-summary article,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card .pt-note-block,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card .pt-note-inline {
    background: var(--pt-surface) !important;
    border-color: var(--pt-line) !important;
    color: var(--pt-ink) !important;
    box-shadow: var(--pt-shadow-md);
    backdrop-filter: blur(12px);
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field span,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-panel-head p,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-sidebar-hero p,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-page-masthead-copy,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-page-masthead-copy p,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-meta,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-copy p,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-copy,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card .pt-note-inline,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card .pt-note-block,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-shop-inline-summary span,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-note-inline {
    color: var(--pt-muted-strong) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-shop-inline-summary article span,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-shop-inline-summary article p,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-copy small,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-copy .pt-note-inline,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-copy .pt-note-block,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card-body .pt-itemmall-meta,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card-body .pt-itemmall-copy,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card-body .pt-itemmall-copy p,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-page-masthead-copy,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-page-masthead-copy p,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-panel-head p {
    color: rgba(213, 223, 243, 0.92) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-sidebar-hero h2,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-sidebar-kicker,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-panel-head h2,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-shop-inline-summary strong,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card-body h3,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card .pt-note-block strong {
    color: var(--pt-ink) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-badges span,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card-quickline span,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-limited,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-qty {
    background: rgba(17, 28, 46, 0.88) !important;
    border: 1px solid rgba(104, 131, 183, 0.26) !important;
    color: rgba(232, 240, 255, 0.92) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card-badge {
    color: rgb(132, 232, 243) !important;
    background: linear-gradient(180deg, rgba(10, 22, 36, 0.96), rgba(12, 28, 42, 0.92)) !important;
    border-color: rgba(92, 202, 226, 0.32) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-card-price {
    color: rgb(255, 232, 173) !important;
    background: linear-gradient(180deg, rgba(28, 22, 10, 0.96), rgba(34, 27, 12, 0.92)) !important;
    border: 1px solid rgba(255, 189, 82, 0.30) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field input,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field select,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-purchase-form .pt-field select {
    background: rgba(10, 19, 33, 0.96) !important;
    border-color: rgba(85, 111, 158, 0.32) !important;
    color: var(--pt-ink) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field label,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field strong,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field span,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field small {
    color: rgba(221, 230, 247, 0.94) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-sidebar-hero p,
body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-sidebar-badges span {
    color: rgba(225, 234, 248, 0.96) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-shop-inline-summary article {
    background: linear-gradient(180deg, rgba(20, 31, 50, 0.96), rgba(16, 26, 43, 0.94)) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-shop-inline-summary article strong {
    color: rgb(244, 248, 255) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-shop-inline-summary article span {
    color: rgba(201, 214, 239, 0.92) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form {
    background: linear-gradient(180deg, rgba(20, 31, 50, 0.97), rgba(16, 26, 43, 0.95)) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field input::placeholder {
    color: rgba(179, 193, 219, 0.62) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-itemmall-stat-list span {
    background: rgba(14, 29, 44, 0.94) !important;
    border: 1px solid rgba(86, 165, 227, 0.22) !important;
    color: rgb(166, 227, 255) !important;
}

body.pt-shell :is(
    .pt-member-portal-rail,
    .pt-member-portal-card,
    .pt-member-portal-panel,
    .pt-member-portal-stat-card,
    .pt-member-character-card,
    .pt-member-portal-top-action,
    .pt-member-portal-link-tile,
    .pt-member-portal-note,
    .pt-member-portal-chip-link,
    .pt-member-legacy-card,
    .pt-member-legacy-note,
    .pt-member-legacy-chip,
    .pt-token-remove-card,
    .pt-token-remove-option,
    .pt-member-vip-copy,
    .pt-member-vip-panel,
    .pt-member-vip-card,
    .pt-member-vip-chips span,
    .pt-member-vip-card-head span
) {
    background: var(--pt-surface) !important;
    border-color: var(--pt-line) !important;
    color: var(--pt-ink) !important;
    box-shadow: var(--pt-shadow-md);
    backdrop-filter: blur(12px);
}

body.pt-shell :is(
    .pt-member-portal-id p,
    .pt-member-portal-meta span,
    .pt-member-portal-hero-copy p,
    .pt-member-character-meta span,
    .pt-member-portal-note,
    .pt-member-legacy-note,
    .pt-token-remove-option,
    .pt-member-vip-copy p,
    .pt-member-vip-panel p,
    .pt-member-vip-card p
) {
    color: var(--pt-muted) !important;
}

body.pt-shell :is(
    .pt-member-portal-id h2,
    .pt-member-portal-section-head h2,
    .pt-member-portal-meta strong,
    .pt-member-portal-top-action,
    .pt-member-character-head strong,
    .pt-member-portal-link-tile,
    .pt-member-vip-copy h1,
    .pt-member-vip-panel h2,
    .pt-member-vip-card-head strong
) {
    color: var(--pt-ink) !important;
}

body.pt-shell .pt-member-portal-nav a {
    color: var(--pt-muted) !important;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid transparent;
}

body.pt-shell .pt-member-portal-nav a:hover,
body.pt-shell .pt-member-portal-nav a:focus-visible {
    color: var(--pt-ink) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.08);
}

body.pt-shell .pt-member-portal-nav a.is-active {
    color: var(--pt-ink) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(110, 174, 222, 0.16);
}

body.pt-shell .pt-member-portal-rail-button.is-lime,
body.pt-shell .pt-member-portal-top-action.is-primary {
    color: #f4fbff !important;
    background: linear-gradient(135deg, rgba(50, 98, 162, 0.98) 0%, rgba(39, 133, 132, 0.96) 58%, rgba(30, 86, 124, 0.98) 100%) !important;
    border: 1px solid rgba(163, 211, 245, 0.16);
    box-shadow: 0 12px 24px rgba(10, 20, 36, 0.24);
}

body.pt-shell .pt-member-portal-rail-button.is-ghost,
body.pt-shell .pt-member-portal-chip-link {
    color: var(--pt-ink) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

body.pt-shell .pt-member-portal-service-card {
    color: var(--pt-ink) !important;
    background: linear-gradient(180deg, rgba(18, 28, 44, 0.9), rgba(14, 22, 34, 0.94)) !important;
    border-color: rgba(82, 113, 163, 0.26) !important;
}

body.pt-shell .pt-member-portal-service-card strong {
    color: var(--pt-ink) !important;
}

body.pt-shell .pt-member-portal-service-card span {
    color: rgba(206, 219, 241, 0.82) !important;
}

body.pt-shell .pt-member-portal-avatar,
body.pt-shell .pt-member-portal-create-frame,
body.pt-shell .pt-member-character-thumb,
body.pt-shell .pt-token-remove-top img {
    background: rgba(18, 26, 40, 0.62) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: none;
}

body.pt-shell .pt-member-portal-stat-card small,
body.pt-shell .pt-member-portal-section-head a,
body.pt-shell .pt-member-portal-section-head span,
body.pt-shell .pt-member-vip-chips span,
body.pt-shell .pt-member-vip-card-head span {
    color: rgba(198, 232, 246, 0.86) !important;
}

body.pt-shell .pt-member-portal-stat-card span,
body.pt-shell .pt-member-legacy-chip,
body.pt-shell .pt-member-legacy-note,
body.pt-shell .pt-token-remove-option {
    color: var(--pt-muted) !important;
}

body.pt-shell .pt-member-portal-stat-card.is-gold strong,
body.pt-shell .pt-member-portal-level {
    color: #f4d876 !important;
}

body.pt-shell .pt-member-portal-level {
    background: linear-gradient(135deg, rgba(108, 85, 16, 0.84), rgba(88, 69, 10, 0.9)) !important;
    border: 1px solid rgba(247, 189, 34, 0.22);
}

body.pt-shell .pt-member-portal-kicker,
body.pt-shell .pt-reference-sidebar-kicker,
body.pt-shell .pt-reference-panel-head .pt-kicker {
    color: rgba(103, 227, 219, 0.94) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

body.pt-shell .pt-member-portal-section-head span,
body.pt-shell .pt-bank-box-head span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 28px;
    padding: 0 11px;
    border-radius: 999px;
    color: rgba(176, 236, 239, 0.92) !important;
    background: linear-gradient(180deg, rgba(19, 33, 54, 0.92), rgba(13, 22, 37, 0.94)) !important;
    border: 1px solid rgba(74, 173, 188, 0.24) !important;
}

body.pt-shell .pt-member-portal-section-head h2,
body.pt-shell .pt-member-portal-mini-head h3,
body.pt-shell .pt-reference-sidebar-hero h2,
body.pt-shell .pt-reference-panel-head h2,
body.pt-shell .pt-bank-box-head,
body.pt-shell .pt-shop-inline-summary article strong {
    color: rgba(246, 249, 255, 0.98) !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);
}

body.pt-shell .pt-member-portal-hero-copy p,
body.pt-shell .pt-member-character-meta span,
body.pt-shell .pt-member-portal-id p,
body.pt-shell .pt-member-portal-meta span,
body.pt-shell .pt-member-portal-service-card span,
body.pt-shell .pt-member-portal-mini-head p,
body.pt-shell .pt-member-portal-note,
body.pt-shell .pt-reference-sidebar-hero p,
body.pt-shell .pt-reference-panel-head p,
body.pt-shell .pt-bank-box-copy,
body.pt-shell .pt-shop-inline-summary article span,
body.pt-shell .pt-itemmall-card .pt-note-inline,
body.pt-shell .pt-itemmall-card .pt-note-block,
body.pt-shell .pt-itemmall-copy .pt-note-inline,
body.pt-shell .pt-itemmall-copy .pt-note-block,
body.pt-shell .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field span,
body.pt-shell .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field small {
    color: rgba(189, 204, 229, 0.86) !important;
}

body.pt-shell .pt-member-portal-note,
body.pt-shell .pt-member-bank-hero-note,
body.pt-shell .pt-bank-flow-chip,
body.pt-shell .pt-shop-inline-summary article,
body.pt-shell .pt-reference-shell-shop .pt-reference-sidebar-form {
    background: linear-gradient(180deg, rgba(16, 29, 48, 0.92), rgba(13, 23, 38, 0.94)) !important;
    border-color: rgba(69, 109, 156, 0.24) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.pt-shell .pt-member-character-meta span:first-child,
body.pt-shell .pt-shop-inline-summary article strong {
    color: rgba(116, 226, 233, 0.96) !important;
}

body.pt-shell .pt-member-character-meta span:nth-child(2),
body.pt-shell .pt-bank-list-label,
body.pt-shell .pt-bank-amount > span {
    color: rgba(227, 237, 251, 0.82) !important;
}

body.pt-shell .pt-member-character-meta span:last-child,
body.pt-shell .pt-shop-inline-summary article:first-child strong {
    color: rgba(255, 214, 120, 0.98) !important;
}

body.pt-shell.pt-route-bank .pt-member-bank-hero-note {
    gap: 8px;
    min-height: 124px;
    padding: 18px 20px;
    background:
        radial-gradient(circle at 82% 18%, rgba(92, 202, 226, 0.12), transparent 34%),
        linear-gradient(180deg, rgba(23, 39, 64, 0.98), rgba(15, 26, 44, 0.97)) !important;
    border: 1px solid rgba(96, 150, 218, 0.34) !important;
    box-shadow:
        0 16px 30px rgba(4, 10, 20, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        inset 0 0 0 1px rgba(92, 202, 226, 0.06);
}

body.pt-shell.pt-route-bank .pt-member-bank-hero-note strong {
    color: rgba(149, 241, 248, 0.98) !important;
    font-size: 0.79rem;
    letter-spacing: 0.12em;
}

body.pt-shell.pt-route-bank .pt-member-bank-hero-note span {
    color: rgba(232, 241, 251, 0.98) !important;
    font-size: 0.96rem;
    line-height: 1.62;
}

body.pt-shell .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field input::placeholder,
body.pt-shell .pt-page-bank .pt-bank-amount input::placeholder {
    color: rgba(143, 164, 195, 0.78) !important;
}

body.pt-shell :is(
    .pt-ranking-reference-card,
    .pt-ranking-summary-card,
    .pt-ranking-search,
    .pt-ranking-reference-body .pt-table-wrap,
    .pt-event-sidebar-spotlight,
    .pt-event-status-card,
    .pt-event-mini-cta,
    .pt-event-action-grid .pt-reference-action-card,
    .pt-event-deck-card,
    .pt-event-highlight-card,
    .pt-event-masthead-card,
    .pt-info-card,
    .pt-utility-detail-card,
    .pt-utility-side-note,
    .pt-utility-stat-box,
    .pt-utility-selected-status
) {
    background: linear-gradient(180deg, rgba(16, 29, 48, 0.92), rgba(13, 23, 38, 0.94)) !important;
    border-color: rgba(69, 109, 156, 0.22) !important;
    color: rgba(239, 245, 255, 0.96) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), var(--pt-shadow-sm);
}

body.pt-shell :is(
    .pt-ranking-reference-kicker,
    .pt-utility-label,
    .pt-event-sidebar-spotlight-copy small,
    .pt-event-hero-banner-copy small,
    .pt-event-status-card small,
    .pt-event-highlight-card span,
    .pt-utility-masthead-fact span,
    .pt-utility-instruction-item span,
    .pt-info-card strong,
    .pt-utility-detail-card h3
) {
    color: rgba(106, 227, 220, 0.94) !important;
}

body.pt-shell :is(
    .pt-ranking-reference-head h1,
    .pt-ranking-summary-card strong,
    .pt-ranking-hero-inline-card strong,
    .pt-event-sidebar-spotlight-copy strong,
    .pt-event-hero-banner-copy strong,
    .pt-event-status-card strong,
    .pt-utility-masthead-fact strong,
    .pt-utility-instruction-item strong,
    .pt-utility-selected-copy,
    .pt-utility-selected-copy strong
) {
    color: rgba(245, 249, 255, 0.98) !important;
}

body.pt-shell :is(
    .pt-ranking-reference-head p,
    .pt-ranking-summary-card span,
    .pt-ranking-inline-note,
    .pt-event-page .pt-reference-panel-head p,
    .pt-event-sidebar-spotlight-copy p,
    .pt-event-hero-banner-copy span,
    .pt-utility-detail-list,
    .pt-utility-side-note,
    .pt-note-inline,
    .pt-form-explainer,
    .pt-info-card p,
    .pt-utility-instruction-item,
    .pt-utility-selected-status
) {
    color: rgba(190, 204, 229, 0.86) !important;
}

body.pt-shell .pt-ranking-summary-card:nth-child(3n + 1) strong,
body.pt-shell .pt-utility-masthead-fact:nth-child(3n + 1) strong,
body.pt-shell .pt-event-status-card:nth-child(3n + 1) strong {
    color: rgba(116, 226, 233, 0.96) !important;
}

body.pt-shell .pt-ranking-summary-card:nth-child(3n + 2) strong,
body.pt-shell .pt-utility-masthead-fact:nth-child(3n + 2) strong,
body.pt-shell .pt-event-status-card:nth-child(3n + 2) strong {
    color: rgba(255, 214, 120, 0.98) !important;
}

body.pt-shell .pt-ranking-summary-card:nth-child(3n + 3) strong,
body.pt-shell .pt-utility-masthead-fact:nth-child(3n + 3) strong,
body.pt-shell .pt-event-status-card:nth-child(3n + 3) strong {
    color: rgba(169, 229, 119, 0.96) !important;
}

body.pt-shell :is(
    .pt-ranking-reference-topnav a,
    .pt-ranking-reference-tabs .pt-tab-trigger,
    .pt-ranking-nav a,
    .pt-ranking-tabline a,
    .pt-ranking-tabline span,
    .pt-event-subnav a,
    .pt-event-subnav span,
    .pt-reference-inline-tabs a,
    .pt-reference-inline-tabs span,
    .pt-reference-inline-tabs .pt-tab-trigger,
    .pt-shop-inline-tabs a,
    .pt-shop-inline-tabs span
) {
    color: rgba(204, 218, 243, 0.9) !important;
}

body.pt-shell :is(
    .pt-ranking-reference-topnav a.is-active,
    .pt-ranking-reference-tabs .pt-tab-trigger.is-active,
    .pt-ranking-nav a.is-active,
    .pt-ranking-tabline span.is-active,
    .pt-event-subnav a.is-active,
    .pt-reference-inline-tabs span.is-active,
    .pt-reference-inline-tabs .pt-tab-trigger.is-active,
    .pt-shop-inline-tabs span.is-active
) {
    color: rgba(244, 249, 255, 0.98) !important;
    background: linear-gradient(135deg, rgba(47, 95, 159, 0.9), rgba(35, 128, 127, 0.84)) !important;
    border-color: rgba(104, 191, 221, 0.26) !important;
}

body.pt-shell .pt-member-portal-stat-card.is-aqua::after,
body.pt-shell .pt-member-portal-stat-card.is-gold::after,
body.pt-shell .pt-member-portal-stat-card.is-lime::after {
    opacity: 0.12;
}

body.pt-shell :is(
    .pt-page-member .pt-reference-form,
    .pt-page-member .pt-reference-sidebar-form,
    .pt-page-bank .pt-reference-form,
    .pt-page-bank .pt-reference-sidebar-form
) {
    background: rgba(18, 26, 40, 0.42) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--pt-ink) !important;
    box-shadow: var(--pt-shadow-md);
    backdrop-filter: blur(12px);
}

body.pt-shell :is(
    .pt-page-member .pt-member-portal-form,
    .pt-page-member .pt-reference-form,
    .pt-page-bank .pt-reference-form
) .pt-field span {
    color: rgba(198, 232, 246, 0.84) !important;
}

body.pt-shell :is(
    .pt-page-member .pt-reference-form input,
    .pt-page-member .pt-reference-form select,
    .pt-page-member .pt-member-portal-form input,
    .pt-page-member .pt-member-portal-form select,
    .pt-page-bank .pt-reference-form input,
    .pt-page-bank .pt-reference-form select
) {
    background: rgba(10, 16, 28, 0.88) !important;
    border-color: rgba(110, 174, 222, 0.18) !important;
    color: var(--pt-ink) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
    color-scheme: dark;
}

body.pt-shell :is(
    .pt-page-member .pt-reference-form select option,
    .pt-page-member .pt-member-portal-form select option,
    .pt-page-bank .pt-reference-form select option
) {
    background: rgb(14, 21, 33);
    color: rgb(233, 239, 248);
}

body.pt-shell :is(
    .pt-page-member .pt-reference-form select option:checked,
    .pt-page-member .pt-reference-form select option:hover,
    .pt-page-member .pt-member-portal-form select option:checked,
    .pt-page-member .pt-member-portal-form select option:hover,
    .pt-page-bank .pt-reference-form select option:checked,
    .pt-page-bank .pt-reference-form select option:hover
) {
    background: rgb(33, 69, 120);
    color: rgb(248, 251, 255);
}

body.pt-shell :is(
    .pt-reference-tab,
    .pt-reference-inline-tabs a,
    .pt-reference-inline-tabs span,
    .pt-reference-inline-tabs .pt-tab-trigger,
    .pt-ranking-nav a,
    .pt-ranking-tabline a,
    .pt-ranking-tabline span,
    .pt-event-subnav a,
    .pt-event-subnav span,
    .pt-ranking-reference-topnav a,
    .pt-ranking-reference-tabs .pt-tab-trigger,
    .pt-shop-inline-tabs a,
    .pt-shop-inline-tabs span,
    .pt-member-portal-nav a
) {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025);
    color: rgba(233, 240, 251, 0.78) !important;
}

body.pt-shell :is(
    .pt-reference-inline-tabs,
    .pt-ranking-tabline,
    .pt-event-subnav,
    .pt-shop-inline-tabs,
    .pt-ranking-reference-topnav,
    .pt-ranking-reference-tabs
) {
    gap: 0.6rem;
}

body.pt-shell .pt-ranking-reference-topnav {
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

body.pt-shell .pt-ranking-reference-topnav a {
    border-bottom-color: transparent !important;
}

body.pt-shell :is(
    .pt-reference-tab small,
    .pt-ranking-reference-topnav a small,
    .pt-dashboard-reference-tabs .pt-reference-tab small,
    .pt-dashboard-reference-tabs .pt-dashboard-link small
) {
    color: rgba(218, 227, 241, 0.6) !important;
}

body.pt-shell :is(
    .pt-reference-tab:hover,
    .pt-reference-inline-tabs a:hover,
    .pt-reference-inline-tabs .pt-tab-trigger:hover,
    .pt-ranking-nav a:hover,
    .pt-ranking-reference-topnav a:hover,
    .pt-ranking-reference-tabs .pt-tab-trigger:hover,
    .pt-shop-inline-tabs a:hover,
    .pt-member-portal-nav a:hover
) {
    color: var(--pt-ink) !important;
}

body.pt-shell :is(
    .pt-page-member .pt-reference-form select,
    .pt-page-member .pt-member-portal-form select,
    .pt-page-bank .pt-reference-form select,
    .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field select
) {
    appearance: none !important;
    min-height: 56px;
    padding: 0 62px 0 18px !important;
    border-radius: 18px !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: right 21px center, right top !important;
    background-size: 15px 15px, 58px 100% !important;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%238CEFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
        linear-gradient(135deg, rgba(37, 86, 150, 0.98), rgba(34, 143, 153, 0.94)) !important;
}

body.pt-shell :is(
    .pt-page-member .pt-reference-form select,
    .pt-page-member .pt-member-portal-form select,
    .pt-page-bank .pt-reference-form select,
    .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field select
):focus {
    box-shadow:
        0 0 0 4px rgba(63, 181, 205, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

body:is(.pt-route-itemmall, .pt-route-shopitemmall) .pt-reference-shell-shop .pt-reference-sidebar-form .pt-field select {
    min-height: 48px !important;
    padding: 0 50px 0 16px !important;
    border-radius: 16px !important;
    background-position: right 17px center, right top !important;
    background-size: 14px 14px, 48px 100% !important;
    text-overflow: ellipsis;
}
