:root{
    --brand-accent: #FF6A00;
    --brand-accent-hover: #E65F00;
    --divider: #EFEFEF;
    --radius-main: 16px;

    /* Fancy but clean effects */
    --shadow-card: 0 22px 56px rgba(0,0,0,0.14);
    --shadow-soft: 0 18px 42px rgba(0,0,0,0.10);
    --shadow-3d: 0 14px 26px rgba(0,0,0,0.12);
}

*,
*::before,
*::after { box-sizing: border-box; }

html, body{
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-weight: 400;
    letter-spacing: 0.1px;
    background: #fafafa;
    color: #1A1A1A;
}

/* Lock scroll while overlay open */
body.ty-lock{
    overflow: hidden;
    touch-action: none;
}

/* Blur overlay (back page remains visible + blurred) */
.ty-overlay{
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 18px 12px;
    background: rgba(17, 24, 39, 0.20);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Card (same structure, enhanced polish) */
.ty-card{
    width: min(820px, 100%);
    background: rgba(255,255,255,0.90);
    border: 1px solid var(--divider);
    border-radius: 22px;
    box-shadow: var(--shadow-card);
    overflow: hidden;
    position: relative;
    transform: translateZ(0);
}

/* subtle highlight ring + corner glow (no motion) */
.ty-card::before{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: 22px;
    background:
        radial-gradient(640px 240px at 20% 0%, rgba(255,106,0,0.14), transparent 55%),
        radial-gradient(520px 220px at 90% 10%, rgba(255,106,0,0.10), transparent 62%);
    opacity: .9;
}

.ty-inner{
    position: relative;
    padding: clamp(18px, 3.2vw, 28px);
}

/* Close (X) */
.ty-close{
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid var(--divider);
    background: rgba(255,255,255,0.92);
    display: grid;
    place-items: center;
    color: #111827;
    box-shadow: 0 10px 22px rgba(0,0,0,0.06);
    transition: transform 140ms ease, background 140ms ease;
}
.ty-close:hover{ background: #fff; transform: translateY(-1px); }
.ty-close:active{ transform: translateY(0); }

/* Header icon */
.ty-mark{
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    margin: 0 auto 12px;
    border: 1px solid rgba(255,106,0,0.25);
    background: linear-gradient(180deg, rgba(255,106,0,0.14), rgba(255,106,0,0.08));
    color: var(--brand-accent);
    box-shadow: 0 14px 30px rgba(255,106,0,0.18);
}
.ty-mark i{ font-size: 22px; }

/* Typography */
.ty-title{
    text-align: center;
    font-weight: 700;
    letter-spacing: -0.2px;
    font-size: clamp(20px, 3vw, 30px);
    margin: 0 0 8px;
}

.ty-subtitle{
    text-align: center;
    color: #6B7280;
    font-size: 13px;
    line-height: 1.55;
    margin: 0 auto;
    max-width: 540px;
}

/* Buttons: 2 only, same row on desktop */
.ty-actions{
    margin-top: 16px;
    display: grid;
    gap: 10px;
    justify-content: center;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(680px, 100%);
    margin-inline: auto;
}
@media (max-width: 576px){
    .ty-actions{ grid-template-columns: 1fr; }
}

.ty-actions .btn{
    height: 46px;
    border-radius: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 12px 26px rgba(0,0,0,0.06);
    transition: transform 140ms ease, box-shadow 140ms ease;
}
.ty-actions .btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(0,0,0,0.10);
}
.ty-actions .btn:active{ transform: translateY(0); }

.btn-brand-primary{
    background: var(--brand-accent);
    border: 1px solid var(--brand-accent);
    color: #fff;
}
.btn-brand-primary:hover{
    background: var(--brand-accent-hover);
    border-color: var(--brand-accent-hover);
    color: #fff;
}

.btn-brand-outline{
    background: rgba(255,255,255,0.95);
    border: 1px solid rgba(255,106,0,0.28);
    color: var(--brand-accent);
}
.btn-brand-outline:hover{
    background: rgba(255,106,0,0.06);
    border-color: rgba(255,106,0,0.45);
    color: var(--brand-accent-hover);
}

/* Social row (colorful 3D) */
.ty-social-wrap{
    margin-top: 18px;
    text-align: center;
}
.ty-social-label{
    font-size: 12px;
    color: #6B7280;
    margin-bottom: 10px;
}
.ty-social{
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.social-3d{
    width: 46px;
    height: 46px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    text-decoration: none;
    color: #fff;
    box-shadow: var(--shadow-3d);
    border: 1px solid rgba(255,255,255,0.65);
    position: relative;
    transform: translateZ(0);
    transition: transform 140ms ease, box-shadow 140ms ease;
}
.social-3d::before{
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: radial-gradient(18px 18px at 30% 25%, rgba(255,255,255,0.55), transparent 55%);
    opacity: .9;
    pointer-events: none;
    mix-blend-mode: soft-light;
}
.social-3d:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(0,0,0,0.16);
}
.social-3d:active{
    transform: translateY(0);
}
.social-3d i{ font-size: 18px; }

.s-fb{ background: linear-gradient(180deg, #1877F2, #0B5ED7); }
.s-ig{ background: radial-gradient(circle at 30% 30%, #FEDA75 0%, #FA7E1E 22%, #D62976 45%, #962FBF 72%, #4F5BD5 100%); }
.s-tt{ background: linear-gradient(180deg, #111827, #000000); }
.s-yt{ background: linear-gradient(180deg, #FF2D2D, #D60000); }
.s-pn{ background: linear-gradient(180deg, #E60023, #B3001B); }

/* subtle neon edges for TikTok */
.s-tt::after{
    content:"";
    position:absolute;
    inset:-2px;
    border-radius: inherit;
    background: conic-gradient(from 180deg, rgba(0,245,255,.55), transparent 25%, rgba(255,0,80,.55), transparent 60%);
    filter: blur(8px);
    opacity: .55;
    z-index: -1;
}

/* Policies */
.ty-policies{
    margin-top: 14px;
    text-align: center;
    font-size: 12px;
    color: #9CA3AF;
    line-height: 1.6;
}
.ty-policies a{
    color: #6B7280;
    text-decoration: none;
    border-bottom: 1px dashed rgba(255,106,0,0.30);
    padding-bottom: 1px;
}
.ty-policies a:hover{
    color: var(--brand-accent-hover);
    border-bottom-color: rgba(255,106,0,0.55);
}
.ty-policies .sep{
    color: #D1D5DB;
    margin: 0 8px;
}

/* Meta */
.ty-meta{
    margin-top: 12px;
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    color: #6B7280;
    font-size: 12px;
}
.ty-pill{
    border: 1px solid var(--divider);
    background: rgba(255,255,255,0.92);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 600;
    color: #374151;
    box-shadow: 0 10px 22px rgba(0,0,0,0.05);
}

@media (max-width: 420px){
    .ty-card{ border-radius: 18px; }
    .ty-close{ top: 10px; right: 10px; }
}
