:root{color-scheme:dark;--bg:#0e121b;--panel:#171d29;--line:#2a3242;--text:#f1f4fa;--muted:#a2aec3;--accent:#b0c4ff;--green:#8bdac0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:#242d3e;color:var(--text);padding:10px 14px;border-radius:9px;font-weight:600}button:hover{background:#303c53}button:disabled{opacity:.48;cursor:default}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input{width:100%;border:1px solid #364054;border-radius:9px;background:#101621;color:var(--text);padding:12px;min-width:0}input::placeholder{color:#8491a9}label{display:block;font-size:13px;font-weight:600}label input{margin:7px 0 18px}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.2;font-weight:650;letter-spacing:-1.2px}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:19px}p{margin-top:10px}.shell{max-width:1220px;padding:0 38px;margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:24px;letter-spacing:-.8px;color:var(--text);text-decoration:none}.logo{display:flex;align-items:center;background:var(--accent);color:#111b34;width:36px;height:36px;justify-content:center;border-radius:11px;font-size:23px}.logo span{font-size:17px}.header-right{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--muted)}.badge{font-size:10px;letter-spacing:1.2px;font-weight:700;padding:6px 9px;border:1px solid #3a455b;border-radius:5px;color:#bdcae2}.subtle{color:var(--muted);border-color:var(--line)}main{min-height:calc(100vh - 180px)}#auth:not([hidden]){display:grid;grid-template-columns:1.15fr 1fr;gap:85px;align-items:center;padding:75px 0}.intro h1{font-size:64px;letter-spacing:-2.8px;margin-top:22px;line-height:1.08}.intro p{color:var(--muted);font-size:18px;line-height:1.7;margin-top:24px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--accent)}.intro-note{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-top:38px}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;flex-shrink:0}.divider{margin:0 3px;color:#57657c}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px}.auth-card{max-width:430px;width:100%;padding:32px}.muted{color:var(--muted)}.tabs{display:flex;background:#101621;padding:4px;border-radius:10px;margin:25px 0}.tabs button{flex:1;border:0;background:transparent;color:var(--muted);font-size:13px}.tabs .selected{background:#2b364b;color:#fff}.primary{background:var(--accent);border-color:var(--accent);color:#162039}.primary:hover{background:#c6d4ff;border-color:#c6d4ff}.full{width:100%}.fine{font-size:11px;color:var(--muted);line-height:1.7;margin-top:20px}.page-heading{padding:48px 0 32px;display:flex;justify-content:space-between;align-items:center;gap:25px}.page-heading h1{margin-top:12px}.profile{display:flex;gap:12px;align-items:center}.profile strong{font-size:14px}.avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#303d59;color:#c6d4ff;font-size:14px;font-weight:700;flex-shrink:0}.code{display:block;background:transparent;padding:0;border:0;color:var(--accent);font:12px/1.8 ui-monospace,monospace;letter-spacing:1px}.code:hover{background:transparent;text-decoration:underline}.text-button{background:transparent;border:0;font-size:12px;color:var(--muted);padding:8px}.workspace{display:grid;grid-template-columns:.95fr 1.25fr;gap:22px;padding-bottom:48px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.count{font-size:12px;padding:3px 8px;background:#2b3447;border-radius:6px;margin-left:6px;color:var(--muted);vertical-align:middle}.small{font-size:12px}.inline-form{display:flex;gap:8px;margin-bottom:24px}.inline-form button{white-space:nowrap;font-size:12px;padding:10px 12px}.inline-form input{font-size:13px}.row{display:flex;gap:11px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.row-body{flex:1;min-width:0}.row-name{font-size:14px;font-weight:600;overflow-wrap:anywhere}.row-sub{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;margin-top:3px}.row-sub .offline{background:#637087}.row-actions{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.row-actions button{font-size:11px;padding:6px 9px}.section-label{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:1.4px;margin:24px 0 10px}.empty-list{padding:34px 8px 28px;text-align:center;color:var(--muted);font-size:13px}.empty-list strong{display:block;color:#d0d9e9;font-size:15px;margin-bottom:8px}#party-empty{text-align:center;padding:8px 0 28px}#party-empty p{font-size:13px;line-height:1.8}.party-icon{margin:6px auto 20px;width:70px;height:70px;border:1px solid #3b4b69;background:#202c43;display:grid;place-items:center;border-radius:23px;color:var(--accent);font-size:34px}#party-form{margin:24px auto 0;display:flex;gap:8px;max-width:430px}#party-form input{font-size:12px}#party-form button{white-space:nowrap;font-size:12px}.voice-note{display:flex;gap:13px;border-top:1px solid var(--line);padding-top:20px;margin-top:18px}.voice-icon{color:#71809b;font-size:30px;line-height:1}.voice-note strong{font-size:12px;color:#bbc6da}.voice-note p{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.65}.party-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.party-title h3{overflow-wrap:anywhere}.party-title p{font-size:12px;color:var(--muted);margin-top:3px}.party-title button{font-size:12px}.host{color:var(--accent);font-size:10px;letter-spacing:1px}.notice{padding:12px 16px;background:#253750;border:1px solid #4d6592;border-radius:10px;margin-top:20px;font-size:13px;overflow-wrap:anywhere}.notice.error{background:#382629;border-color:#865158;color:#ffdadd}footer{height:80px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#8996ac}.footer-dot{margin:0 9px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:950px){.shell{padding:0 22px}#auth:not([hidden]){gap:30px}.intro h1{font-size:50px}.page-heading{align-items:flex-start;flex-direction:column}.workspace{grid-template-columns:1fr 1.1fr}.card{padding:20px}#party-form{flex-direction:column}.intro-note{flex-wrap:wrap}}@media(max-width:660px){header{height:78px}.header-right .badge{display:none}#auth:not([hidden]){grid-template-columns:1fr;padding:35px 0;gap:30px}.intro h1{font-size:43px}.intro p{font-size:15px}.intro h1 br{display:none}.intro-note{margin-top:20px}.auth-card{max-width:none}.workspace{grid-template-columns:1fr}.page-heading{padding-top:30px}.page-heading h1{font-size:29px}.profile{width:100%}.profile .text-button{margin-left:auto}.row-actions{max-width:150px}footer{font-size:9px}.shell{padding:0 16px}}

/* PartyLink neon logo - compact header size */
header .brand img,
header .brand img.logo {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    object-fit: cover !important;
    border-radius: 9px !important;
    display: block !important;
    flex-shrink: 0 !important;
}


/* PartyLink neon logo - medium header size */
header .brand img,
header .brand img.logo {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    display: block !important;
    flex-shrink: 0 !important;
}


/* PartyLink neon logo - 3x larger */
header {
    min-height: 220px !important;
    height: 220px !important;
}

header .brand img,
header .brand img.logo {
    width: 192px !important;
    height: 192px !important;
    min-width: 192px !important;
    min-height: 192px !important;
    max-width: 192px !important;
    max-height: 192px !important;
    object-fit: contain !important;
    border-radius: 16px !important;
    display: block !important;
    flex-shrink: 0 !important;
}


/* PartyLink banner + icon beside the welcome text, 2026-10-13 */
header {
    height: 350px !important;
    min-height: 350px !important;
    gap: 18px;
}
header .brand { min-width: 0; flex: 1 1 auto; }
header .brand img.pl-banner {
    display: block !important;
    width: min(100%, 680px) !important;
    height: 330px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 680px !important;
    max-height: 330px !important;
    object-fit: contain !important;
    border-radius: 12px !important;
    flex-shrink: 1 !important;
}
header .header-right { flex-shrink: 0; }
.page-heading .pl-intro-layout {
    display: flex;
    align-items: center;
    gap: 30px;
    min-width: 0;
}
.page-heading .pl-intro-icon {
    display: block;
    width: 192px;
    height: 192px;
    object-fit: contain;
    border-radius: 18px;
    flex: 0 0 192px;
}
.page-heading .pl-intro-copy { min-width: 0; }
.page-heading .pl-intro-copy h1 { margin-top: 12px; }
@media (max-width: 900px) {
    header { height: 290px !important; min-height: 290px !important; }
    header .brand img.pl-banner { height: 270px !important; max-height: 270px !important; }
    .page-heading .pl-intro-icon { width: 140px; height: 140px; flex-basis: 140px; }
    .page-heading .pl-intro-layout { gap: 18px; }
}
@media (max-width: 660px) {
    header { height: auto !important; min-height: 0 !important; flex-wrap: wrap; padding: 14px 0; }
    header .brand { width: 100%; flex-basis: 100%; }
    header .brand img.pl-banner { width: 100% !important; height: auto !important; max-height: none !important; }
    .page-heading .pl-intro-icon { width: 110px; height: 110px; flex-basis: 110px; }
    .page-heading .pl-intro-layout { gap: 14px; }
    .page-heading .pl-intro-copy h1 { font-size: 25px; }
}
/* PartyLink banner and profile positioning fix */

/* Full-width banner */
header {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    padding: 0 0 10px !important;
}

header .brand {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

header .brand img.pl-banner {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    border-radius: 12px !important;
}

/* Social Preview badge over the banner */
header .header-right {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 5 !important;
    padding: 8px 12px !important;
    background: rgba(10, 15, 28, 0.8) !important;
    border-radius: 10px !important;
}

/* Welcome section: icon/text left, profile right */
.page-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 24px !important;
    row-gap: 16px !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 36px 0 32px !important;
}

/* Keep neon icon and welcome wording together */
.page-heading .pl-intro-layout {
    grid-column: 1 !important;
    min-width: 0 !important;
}

/* Return SadamWhoSane to the right */
.page-heading .profile {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    margin: 0 !important;
    width: auto !important;
    max-width: 100% !important;
}

/* Smaller screens */
@media (max-width: 760px) {
    header .header-right {
        top: 8px !important;
        right: 8px !important;
    }

    .page-heading {
        grid-template-columns: 1fr !important;
    }

    .page-heading .profile {
        grid-column: 1 !important;
        grid-row: auto !important;
        justify-self: start !important;
    }
}


/* PartyLink banner - half height */
header {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    overflow: hidden !important;
}

header .brand {
    height: 300px !important;
    overflow: hidden !important;
}

header .brand img.pl-banner {
    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Keep Social Preview visible over the banner */
header .header-right {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 5 !important;
}


/* PartyLink banner - show the COMPLETE image without cropping */

header {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    position: relative !important;
}

header .brand {
    width: 100% !important;
    height: 300px !important;
    display: block !important;
}

header .brand img.pl-banner {
    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    max-width: 100% !important;
    object-fit: fill !important;
    display: block !important;
    border-radius: 12px !important;
}

/* Social Preview remains in the top-right corner */
header .header-right {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    z-index: 5 !important;
}


/* PartyLink account positioning - welcome section */
.page-heading {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    height: auto !important;
    min-height: 0 !important;
}

.page-heading > .pl-intro-layout {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.page-heading > .profile {
    position: static !important;
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 0 0 auto !important;
    transform: none !important;
    width: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
}

@media (max-width: 850px) {
    .page-heading {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .page-heading > .profile {
        margin: 0 !important;
        justify-content: flex-start !important;
    }
}


/* PARTYLINK PROFILE AND DIVIDER FIX START */

/* Restore the line underneath the banner */
header {
    border-bottom: 1px solid #2a3242 !important;
}

/* Keep the welcome content and account on one row */
.page-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    column-gap: 30px !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    padding: 32px 0 30px !important;
    margin: 0 0 24px !important;

    /* Horizontal line BELOW the welcome section */
    border-bottom: 1px solid #2a3242 !important;
}

/* Neon icon and welcome words stay on the left */
.page-heading > .pl-intro-layout {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
}

/* SadamWhoSane stays RIGHT and ABOVE the line */
.page-heading > .profile {
    grid-column: 2 !important;
    grid-row: 1 !important;

    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-self: end !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

/* Adapt for smaller screens */
@media (max-width: 760px) {
    .page-heading {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 20px !important;
    }

    .page-heading > .profile {
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: start !important;
    }
}

/* PARTYLINK PROFILE AND DIVIDER FIX END */

/* PartyLink welcome text - larger fonts */

.page-heading .pl-intro-copy .eyebrow {
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
}

.page-heading .pl-intro-copy h1 {
    font-size: 44px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    margin-top: 14px !important;
}

.page-heading .pl-intro-copy p {
    font-size: 19px !important;
    line-height: 1.5 !important;
    margin-top: 12px !important;
}

/* Keep text readable on smaller screens */
@media (max-width: 760px) {
    .page-heading .pl-intro-copy h1 {
        font-size: 30px !important;
    }

    .page-heading .pl-intro-copy p {
        font-size: 15px !important;
    }

    .page-heading .pl-intro-copy .eyebrow {
        font-size: 11px !important;
    }
}



/* PARTYLINK PROFILE SIZE START */

/* Enlarge the SA avatar */
.page-heading .profile .avatar {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    font-size: 17px !important;
    border-radius: 13px !important;
}

/* Enlarge the username */
.page-heading .profile strong {
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

/* Enlarge the friend code */
.page-heading .profile .code {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Enlarge Sign out */
.page-heading .profile .text-button {
    font-size: 15px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

/* Add spacing between account details */
.page-heading .profile {
    gap: 16px !important;
    align-items: center !important;
}

/* Keep account details compact on smaller screens */
@media (max-width: 760px) {
    .page-heading .profile strong {
        font-size: 16px !important;
    }

    .page-heading .profile .code {
        font-size: 13px !important;
    }

    .page-heading .profile .text-button {
        font-size: 13px !important;
    }
}

/* PARTYLINK PROFILE SIZE END */

/* PARTYLINK PANEL IMPROVEMENTS START */

/* Give the lower panels a cleaner appearance */
.card {
    border-color: #34425c;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

/* Subtle blue highlight on hover */
.friends-panel:hover,
.party-panel:hover {
    border-color: #4b6b9b;
    transition: border-color 0.2s ease;
}

/* Background Notifications heading */
.card > h2 {
    font-size: 21px;
    font-weight: 700;
    margin-bottom: 10px;
}

/* Background Notifications description */
.card > h2 + p {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 12px;
}

/* Background Notifications buttons */
#listener-pair,
#listener-revoke {
    font-size: 14px;
    padding: 12px 17px;
    min-height: 44px;
}

/* Friends and Your Party headings */
.friends-panel .section-heading h2,
.party-panel .section-heading h2 {
    font-size: 23px;
    font-weight: 700;
}

/* Friends count */
.friends-panel .count {
    font-size: 13px;
    padding: 4px 9px;
}

/* Friend usernames */
.friends-panel .row-name {
    font-size: 17px;
    font-weight: 650;
}

/* Online/offline status */
.friends-panel .row-sub {
    font-size: 13px;
}

/* Friend avatars */
.friends-panel .avatar {
    width: 44px;
    height: 44px;
    min-width: 44px;
    font-size: 15px;
}

/* Friend rows */
.friends-panel .row {
    padding: 16px 0;
}

/* Input fields */
.friends-panel input,
.party-panel input {
    font-size: 15px;
    min-height: 46px;
}

/* Friend and party buttons */
.friends-panel button,
.party-panel button {
    font-size: 13px;
    min-height: 38px;
}

/* Main action buttons */
.friends-panel .primary,
.party-panel .primary {
    font-size: 14px;
    min-height: 46px;
    padding: 10px 16px;
}

/* Party title and members */
.party-panel .party-title h3 {
    font-size: 22px;
}

.party-panel .row-name {
    font-size: 16px;
}

.party-panel .row-sub {
    font-size: 13px;
}

/* Empty party screen */
.party-panel #party-empty h3 {
    font-size: 22px;
}

.party-panel #party-empty p {
    font-size: 14px;
    line-height: 1.8;
}

/* Voice status note */
.party-panel .voice-note strong {
    font-size: 14px;
}

.party-panel .voice-note p {
    font-size: 13px;
}

/* Footer readability */
footer {
    font-size: 12px;
    letter-spacing: 0.8px;
}

/* Mobile-friendly adjustments */
@media (max-width: 760px) {
    .friends-panel .section-heading h2,
    .party-panel .section-heading h2 {
        font-size: 20px;
    }

    .friends-panel .row-name {
        font-size: 15px;
    }

    .friends-panel .avatar {
        width: 38px;
        height: 38px;
        min-width: 38px;
    }

    .friends-panel .row-actions {
        max-width: none;
    }

    #listener-pair,
    #listener-revoke {
        margin-top: 6px;
    }
}

/* PARTYLINK PANEL IMPROVEMENTS END */

/* PARTYLINK-WRESTLEMANIA-WEB */
@font-face {
    font-family: 'PartyLink WrestleMania';
    src: url('/WRESTLEMANIA.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

/* PartyLink website typography */
body,
button,
input,
textarea,
select {
    font-family: 'PartyLink WrestleMania', system-ui, sans-serif;
}

/* PARTYLINK-WRESTLEMANIA-SIZE-FIX */
/* Correct the small visible letter height of the WrestleMania font. */

body {
    font-size: 24px;
}

h1 {
    font-size: 52px;
}

h2, h3 {
    font-size: 32px;
}

button,
input,
textarea,
select {
    font-size: 22px;
}

label,
p,
.small,
.muted,
.row-name,
.row-sub,
.section-label,
.notice,
.badge,
.eyebrow {
    font-size: 21px;
}

/* Restore prominent heading sizes. */
.intro h1 {
    font-size: 96px;
}

.page-heading h1 {
    font-size: 52px;
}

@media (max-width: 950px) {
    .intro h1 {
        font-size: 76px;
    }
}

@media (max-width: 660px) {
    .intro h1 {
        font-size: 62px;
    }
}
/* PARTYLINK-WRESTLEMANIA-READABILITY-V2 */
/* Improve readability without changing the website structure. */

/* General website text */
body {
    font-size: 28px;
    letter-spacing: 0.4px;
}

/* Keep the main heading at its approved size */
.intro h1 {
    font-size: 96px;
}

/* Section headings */
h2,
h3 {
    font-size: 38px;
    letter-spacing: 0.3px;
}

/* Form labels */
label {
    font-size: 28px;
    letter-spacing: 0.5px;
    line-height: 1.5;
}

/* Username and password fields */
input,
textarea,
select {
    font-size: 28px;
    letter-spacing: 0.4px;
    line-height: 1.4;
}

/* Field placeholders */
input::placeholder,
textarea::placeholder {
    font-size: 25px;
}

/* Buttons */
button {
    font-size: 28px;
    letter-spacing: 0.4px;
}

/* Sign-in and Create Profile tabs */
.tabs button {
    font-size: 25px;
}

/* Descriptions */
p,
.intro p,
.voice-note p,
.party-title p {
    font-size: 27px;
    line-height: 1.65;
}

/* Small labels and information */
.small,
.muted,
.row-sub,
.section-label,
.notice,
.badge,
.eyebrow,
.fine {
    font-size: 24px;
    line-height: 1.5;
}

/* Friends and party lists */
.row-name,
.profile strong,
.empty-list strong {
    font-size: 28px;
}

.row-actions button,
.inline-form button,
.party-title button {
    font-size: 24px;
}

/* Footer */
footer {
    font-size: 20px;
}

/* Keep headings responsive */
@media (max-width: 950px) {
    .intro h1 {
        font-size: 76px;
    }
}

@media (max-width: 660px) {
    .intro h1 {
        font-size: 62px;
    }

    body {
        font-size: 24px;
    }

    button,
    input,
    label {
        font-size: 23px;
    }

    .tabs button {
        font-size: 21px;
    }
}

/* PARTYLINK-WELCOME-ENLARGEMENT-V3 */
/* Enlarge only the left-hand PartyLink welcome section. */

/* YOUR PEOPLE. YOUR PARTY. */
.intro .eyebrow {
    font-size: 32px;
    letter-spacing: 1px;
    line-height: 1.5;
}

/* GET THE PARTY TOGETHER */
.intro h1 {
    font-size: 120px;
    line-height: 1.15;
    letter-spacing: 0;
}

/* Welcome description */
.intro p {
    font-size: 38px;
    line-height: 1.7;
    letter-spacing: 0.3px;
}

/* Friends & parties ready / Voice in development */
.intro-note {
    font-size: 27px;
    line-height: 1.5;
    letter-spacing: 0.3px;
}

/* Responsive welcome text */
@media (max-width: 950px) {
    .intro h1 {
        font-size: 90px;
    }

    .intro p {
        font-size: 30px;
    }

    .intro .eyebrow {
        font-size: 26px;
    }

    .intro-note {
        font-size: 22px;
    }
}

@media (max-width: 660px) {
    .intro h1 {
        font-size: 72px;
    }

    .intro p {
        font-size: 26px;
    }

    .intro .eyebrow {
        font-size: 23px;
    }

    .intro-note {
        font-size: 20px;
    }
}

/* PARTYLINK-WELCOME-MOVE-UP */
/* Move only the left welcome section 50px higher. */

@media (min-width: 951px) {
    .intro {
        transform: translateY(-50px);
    }
}

/* PARTYLINK-SIGNIN-SIZE-V4 */
/* Increase only the sign-in panel typography by one size. */

/* Make yourself at home */
.auth-card h2,
.auth-card h3 {
    font-size: 46px;
    line-height: 1.4;
}

/* Choose a unique username */
.auth-card > p,
.auth-card .muted,
.auth-card .fine {
    font-size: 29px;
    line-height: 1.5;
}

/* Create Profile / Sign In tabs */
.auth-card .tabs button {
    font-size: 30px;
}

/* Username / Password labels */
.auth-card label {
    font-size: 34px;
}

/* Username / Password text fields */
.auth-card input {
    font-size: 34px;
}

/* Field placeholder text */
.auth-card input::placeholder {
    font-size: 30px;
}

/* Main Create Profile button */
.auth-card button.primary,
.auth-card button.full {
    font-size: 34px;
}

/* Keep form text readable on smaller screens */
@media (max-width: 660px) {
    .auth-card h2,
    .auth-card h3 {
        font-size: 36px;
    }

    .auth-card label,
    .auth-card input,
    .auth-card button.primary,
    .auth-card button.full {
        font-size: 27px;
    }

    .auth-card input::placeholder,
    .auth-card .fine {
        font-size: 24px;
    }
}

/* PARTYLINK-AUTH-BORDER-CLIP */
/* Keep WrestleMania decorative strokes inside the sign-in panel. */

.auth-card {
    overflow: hidden;
}

/* PARTYLINK-AUTH-HEADING-SPACING */
/* Move only the two introductory lines 15px to the right. */

.auth-card h2,
.auth-card > p {
    position: relative;
    left: 15px;
}

/* PARTYLINK-WELCOME-V4 */
/* Enlarge the left welcome section and move it up one more line. */

@media (min-width: 951px) {

    /* Move welcome section 40px higher than before */
    .intro {
        transform: translateY(-90px);
    }

    /* YOUR PEOPLE. YOUR PARTY. */
    .intro .eyebrow {
        font-size: 36px;
        line-height: 1.5;
    }

    /* GET THE PARTY TOGETHER. */
    .intro h1 {
        font-size: 132px;
        line-height: 1.15;
        letter-spacing: 0;
    }

    /* Add your friends / A small space */
    .intro p {
        font-size: 43px;
        line-height: 1.7;
    }

    /* Friends & parties ready / Voice in development */
    .intro-note {
        font-size: 32px;
        line-height: 1.5;
    }
}

/* PARTYLINK-DASHBOARD-FONT-V1 */
/* Match signed-in dashboard typography to the login page. */

/* Signed-in page heading */
.page-heading h1 {
    font-size: 72px;
    line-height: 1.25;
}

/* Small heading above the dashboard title */
.page-heading .eyebrow {
    font-size: 28px;
    letter-spacing: 0.5px;
}

/* Signed-in profile */
.profile strong {
    font-size: 32px;
    line-height: 1.4;
}

.profile .text-button {
    font-size: 25px;
}

/* Dashboard panel headings */
.workspace h2,
.workspace h3,
.section-heading h2,
.section-heading h3 {
    font-size: 40px;
    line-height: 1.35;
}

/* Friends and party member names */
.workspace .row-name,
.workspace .party-title h3 {
    font-size: 32px;
    line-height: 1.4;
}

/* Party information and descriptions */
.workspace p,
.workspace .row-sub,
.workspace .voice-note p,
.workspace .empty-list,
.workspace .small {
    font-size: 28px;
    line-height: 1.5;
}

/* Friends count and party labels */
.workspace .count,
.workspace .section-label,
.workspace .host {
    font-size: 25px;
}

/* Dashboard text fields */
.workspace input {
    font-size: 30px;
    line-height: 1.4;
}

.workspace input::placeholder {
    font-size: 27px;
}

/* Dashboard buttons */
.workspace button {
    font-size: 27px;
    line-height: 1.3;
}

/* Notification and information panels */
.notice,
.voice-note strong {
    font-size: 27px;
    line-height: 1.5;
}

/* Keep decorative letters from spilling outside buttons */
.workspace button {
    overflow: hidden;
}

/* Responsive dashboard typography */
@media (max-width: 660px) {
    .page-heading h1 {
        font-size: 48px;
    }

    .workspace h2,
    .workspace h3 {
        font-size: 32px;
    }

    .workspace .row-name,
    .workspace p,
    .workspace input,
    .workspace button {
        font-size: 24px;
    }
}

/* PARTYLINK-DASHBOARD-LAYOUT-V2 */
/* Larger signed-in dashboard with readable WrestleMania typography. */

/* Use more of the screen without altering the login page. */
.shell:has(#dashboard:not([hidden])) {
    max-width: 1520px;
}

/* Give dashboard panels more breathing room. */
.workspace {
    grid-template-columns: 1fr 1.15fr;
    gap: 26px;
}

.workspace .card {
    padding: 32px;
}

/* Signed-in heading */
.page-heading h1 {
    font-size: 90px;
    line-height: 1.2;
}

.page-heading .eyebrow {
    font-size: 38px;
}

/* Profile information */
.profile strong {
    font-size: 38px;
}

.profile .text-button {
    font-size: 29px;
}

/* Friends and party headings */
.workspace h2,
.workspace h3 {
    font-size: 52px;
    line-height: 1.3;
}

/* Friend and party-member names */
.workspace .row-name,
.workspace .party-title h3 {
    font-size: 40px;
    line-height: 1.45;
}

/* Supporting information */
.workspace p,
.workspace .row-sub,
.workspace .small,
.workspace .empty-list,
.workspace .voice-note p {
    font-size: 34px;
    line-height: 1.5;
}

/* Friend counts and labels */
.workspace .count,
.workspace .section-label,
.workspace .host {
    font-size: 30px;
}

/* Dashboard inputs */
.workspace input {
    font-size: 35px;
    min-height: 64px;
}

.workspace input::placeholder {
    font-size: 32px;
}

/* Buttons */
.workspace button {
    font-size: 31px;
    line-height: 1.4;
    min-height: 50px;
}

/* Larger notification panel text */
#dashboard .notice,
#dashboard .fine,
#dashboard .muted {
    font-size: 31px;
    line-height: 1.55;
}

/* Keep large text usable on narrower displays. */
@media (max-width: 950px) {
    .workspace {
        grid-template-columns: 1fr;
    }

    .workspace h2,
    .workspace h3 {
        font-size: 40px;
    }

    .workspace p,
    .workspace button,
    .workspace input {
        font-size: 27px;
    }
}

/* PARTYLINK-DASHBOARD-FINAL-SIZE */
/* PARTYLINK-DASHBOARD-READABLE-V3 */
/* Larger typography across the signed-in dashboard only. */

/* Main signed-in header and profile */
body:has(#auth[hidden]) .page-heading h1 {
    font-size: 100px !important;
}

body:has(#auth[hidden]) .page-heading .eyebrow {
    font-size: 36px !important;
}

body:has(#auth[hidden]) .page-heading p,
body:has(#auth[hidden]) .profile strong {
    font-size: 38px !important;
}

/* Notification headings and descriptive text */
body:has(#auth[hidden]) main h2,
body:has(#auth[hidden]) main h3 {
    font-size: 49px !important;
}

body:has(#auth[hidden]) main p,
body:has(#auth[hidden]) main .muted,
body:has(#auth[hidden]) main .fine,
body:has(#auth[hidden]) main .small {
    font-size: 34px !important;
    line-height: 1.5;
}

/* Friends, members and online status */
body:has(#auth[hidden]) .row-name,
body:has(#auth[hidden]) .profile strong {
    font-size: 39px !important;
}

body:has(#auth[hidden]) .row-sub,
body:has(#auth[hidden]) .count,
body:has(#auth[hidden]) .host,
body:has(#auth[hidden]) .section-label {
    font-size: 32px !important;
}

/* Buttons across the signed-in interface */
body:has(#auth[hidden]) button {
    font-size: 32px !important;
    line-height: 1.35;
}

/* Username entry and other dashboard fields */
body:has(#auth[hidden]) input {
    font-size: 36px !important;
}

body:has(#auth[hidden]) input::placeholder {
    font-size: 32px !important;
}

/* Keep the phone layout manageable */
@media (max-width: 660px) {
    body:has(#auth[hidden]) main h2,
    body:has(#auth[hidden]) main h3 {
        font-size: 34px !important;
    }

    body:has(#auth[hidden]) main p,
    body:has(#auth[hidden]) button,
    body:has(#auth[hidden]) input {
        font-size: 27px !important;
    }
}

/* PARTYLINK-80-PERCENT-APPEARANCE */
/* Match the appearance of Firefox at 70% zoom while Firefox stays at 100%. */

/* Desktop only */
@media (min-width: 951px) {
    body {
        zoom: 0.8;
    }
}
