/* LIGHTLAYER partner campaign page. Keep all rules scoped to .ll-activity. */
.activity-center,
.ll-activity {
    --ll-ink: #132238;
    --ll-text: #3c526b;
    --ll-muted: #5a6e85;
    --ll-line: #dce6f1;
    --ll-soft: #f4f8fc;
    --ll-blue: #0868e8;
    --ll-blue-dark: #0758c9;
    --ll-cyan: #61d7ff;
    --ll-navy: #071a35;
    --ll-navy-2: #0c2749;
    --ll-green: #66e0b2;
    --ll-pink: #ff7090;
    width: 100%;
    overflow: clip;
    color: var(--ll-text);
    background: var(--ll-soft);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    line-height: 1.6;
}

.activity-center * { box-sizing: border-box; }
.activity-center { color: #3c526b; background: #f4f8fc; min-height: 70vh; }
.activity-center a { color: inherit; text-decoration: none; }
.ac-hero { position: relative; overflow: hidden; min-height: 410px; color: #fff; background: #071a35; }
.ac-hero::before { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(110deg, rgba(20,119,255,.16), transparent 48%), repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 72px); }
.ac-hero-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .8fr); gap: 80px; align-items: center; min-height: 410px; }
.ac-eyebrow { display: flex; gap: 9px; align-items: center; margin: 0 0 20px; color: #61d7ff; font-size: 13px; font-weight: 700; letter-spacing: 0; }
.ac-hero h1 { margin: 0 0 18px; color: #fff; font-size: 72px; line-height: 1.05; letter-spacing: 0; }
.ac-hero-copy > p:last-child { max-width: 760px; margin: 0; color: #c3d5e8; font-size: 18px; line-height: 1.8; }
.ac-hero-visual { position: relative; min-height: 310px; }
.ac-orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(97,215,255,.25); border-radius: 50%; transform: translate(-50%, -50%); }
.ac-orbit-a { width: 250px; height: 250px; }.ac-orbit-b { width: 390px; height: 185px; }
.ac-node { position: absolute; display: grid; place-items: center; min-width: 82px; min-height: 38px; padding: 8px 14px; border: 1px solid rgba(112,204,255,.32); border-radius: 4px; color: #d9f4ff; background: rgba(10,43,78,.94); box-shadow: 0 14px 35px rgba(0,0,0,.22); font-size: 11px; font-weight: 800; }
.ac-node-main { top: 50%; left: 50%; width: 112px; height: 112px; border-color: rgba(102,224,178,.6); border-radius: 50%; transform: translate(-50%, -50%); }.ac-node-main i { margin-bottom: 5px; color: #66e0b2; font-size: 28px; }.ac-node-a { top: 13%; left: 8%; }.ac-node-b { top: 9%; right: 1%; }.ac-node-c { bottom: 13%; left: 2%; }.ac-node-d { right: 4%; bottom: 8%; }
.ac-main { padding: 72px 0 96px; }
.ac-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 30px; }
.ac-heading p { margin: 0 0 6px; color: #1477ff; font-size: 12px; font-weight: 800; }.ac-heading h2 { margin: 0; color: #132238; font-size: 34px; }.ac-heading > span { color: #7387a0; font-size: 14px; }
.ac-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.ac-card { overflow: hidden; min-width: 0; border: 1px solid #dce6f1; border-radius: 6px; background: #fff; box-shadow: 0 12px 35px rgba(20,55,90,.07); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.ac-card:hover { border-color: #9cc9ff; box-shadow: 0 22px 52px rgba(20,77,138,.14); transform: translateY(-5px); }
.ac-card-cover { position: relative; display: block; height: 190px; overflow: hidden; padding: 22px; color: #fff; background: linear-gradient(135deg, #09254a, #0c4276 72%, #0a5d7c); }
.ac-card-cover::after { position: absolute; right: -20px; bottom: -80px; width: 220px; height: 220px; border: 45px solid rgba(97,215,255,.1); border-radius: 50%; content: ""; }
.ac-card-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.ac-card-grid { position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 32px 32px; }
.ac-card-type,.ac-status { position: relative; z-index: 2; display: inline-flex; gap: 8px; align-items: center; font-size: 11px; font-weight: 800; }
.ac-status { position: absolute; top: 18px; right: 18px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 3px; background: rgba(4,19,37,.55); }.ac-status i { color: #66e0b2; font-size: 7px; }.ac-status-ended i { color: #aebdd0; }.ac-status-scheduled i { color: #ffd166; }
.ac-card-body { padding: 25px 26px 27px; }.ac-card-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 15px; color: #7387a0; font-size: 12px; }.ac-card-meta i { margin-right: 6px; color: #1477ff; }.ac-card-body h2 { min-height: 58px; margin: 0 0 10px; color: #132238; font-size: 21px; line-height: 1.4; }.ac-card-body h2 a:hover { color: #1477ff; }.ac-card-body > p { min-height: 78px; margin: 0 0 20px; color: #536b84; line-height: 1.7; }.ac-detail-link { display: inline-flex; gap: 9px; align-items: center; color: #1477ff !important; font-weight: 700; }.ac-detail-link i { transition: transform .2s ease; }.ac-detail-link:hover i { transform: translateX(4px); }
.ac-card-ended { filter: saturate(.7); }.ac-card-ended .ac-card-cover { background: linear-gradient(135deg,#21334b,#41546b); }
.ac-empty { padding: 80px 24px; border: 1px dashed #b9c9da; text-align: center; background: #fff; }.ac-empty i { color: #1477ff; font-size: 36px; }.ac-empty h2 { color: #132238; }

.ll-lifecycle { font-weight: 700; }.ll-lifecycle i { margin-right: 7px; color: var(--ll-green); font-size: 7px; }.ll-lifecycle-ended i,.ll-lifecycle-offline i { color: #aebdd0; }.ll-lifecycle-scheduled i { color: #ffd166; }
.ll-state-banner { border-bottom: 1px solid #dce6f1; background: #fff7e2; }.ll-state-banner > .ll-shell { display: flex; gap: 14px; align-items: center; min-height: 74px; }.ll-state-banner > .ll-shell > i { color: #b86c00; font-size: 23px; }.ll-state-banner strong,.ll-state-banner span { display: block; }.ll-state-banner strong { color: #533400; }.ll-state-banner span { margin-top: 3px; color: #74552a; }.ll-state-ended { background: #eef3f8; }.ll-state-ended > .ll-shell > i,.ll-state-ended strong { color: #40546a; }.ll-state-ended span { color: #617589; }
.ll-product-badge { display: inline-block; margin-left: 6px; color: var(--ll-blue); font-size: 11px; font-weight: 700; }.ll-offer-product p { margin: 7px 0 0; color: var(--ll-text); font-size: 14px; line-height: 1.6; }.ll-offer-price small { color: var(--ll-muted); }.ll-buy-link.is-disabled { border-color: #c7d1dc; color: #7f8d9b; background: #e5ebf1; cursor: not-allowed; opacity: 1; }

@media (max-width: 1080px) { .ac-hero-inner { grid-template-columns: minmax(0,1fr) 380px; gap: 36px; }.ac-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .ac-hero-inner { display: block; min-height: auto; padding-top: 70px; padding-bottom: 56px; }.ac-hero-visual { display: none; }.ac-hero h1 { font-size: 44px; }.ac-hero-copy > p:last-child { font-size: 16px; }.ac-main { padding: 48px 0 64px; }.ac-heading { display: block; }.ac-heading > span { display: block; margin-top: 8px; }.ac-grid { grid-template-columns: 1fr; }.ac-card-body h2,.ac-card-body > p { min-height: 0; }.ac-card-meta { flex-wrap: wrap; }.ll-state-banner > .ll-shell { align-items: flex-start; padding-top: 16px; padding-bottom: 16px; } }

@media (prefers-reduced-motion: reduce) { .ac-card,.ac-detail-link i { transition: none; }.ac-card:hover,.ac-detail-link:hover i { transform: none; } }

/* Activity catalog and lifecycle states share the detail page's 1400px grid. */
.ll-activity-index { background: var(--ll-soft); }
.ll-list-hero { position: relative; overflow: hidden; color: #fff; background: var(--ll-navy); }
.ll-list-hero::after { position: absolute; right: 8%; bottom: -160px; width: 480px; height: 480px; border: 1px solid rgba(97, 215, 255, .24); border-radius: 50%; box-shadow: 0 0 0 36px rgba(97, 215, 255, .05), 0 0 0 72px rgba(97, 215, 255, .03); content: ""; }
.ll-list-hero-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; min-height: 390px; gap: 48px; padding-top: 72px; padding-bottom: 72px; }
.ll-list-hero h1 { max-width: 760px; margin: 16px 0 20px; color: #fff; font-size: 72px; line-height: 1.04; letter-spacing: 0; }
.ll-list-hero h1 strong { color: var(--ll-cyan); font-size: .54em; font-weight: 600; }
.ll-list-hero .ll-hero-lead { max-width: 660px; color: rgba(255, 255, 255, .72); }
.ll-list-signal { display: grid; grid-template-columns: auto 1fr; align-items: center; min-width: 260px; gap: 8px 12px; padding: 22px 24px; border: 1px solid rgba(97, 215, 255, .25); background: rgba(255, 255, 255, .06); color: rgba(255, 255, 255, .84); }
.ll-list-signal b { color: #fff; font-size: 32px; font-variant-numeric: tabular-nums; }
.ll-list-signal small { grid-column: 2; color: rgba(255, 255, 255, .52); }
.ll-signal-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ll-green); box-shadow: 0 0 0 6px rgba(102, 224, 178, .14); }
.ll-list-main { padding: 74px 0 100px; }
.ll-list-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 32px; }
.ll-list-toolbar h2 { margin: 10px 0 0; color: var(--ll-ink); font-size: 40px; line-height: 1.2; }
.ll-list-hint { max-width: 360px; margin: 0; color: var(--ll-muted); font-size: 14px; line-height: 1.6; text-align: right; }
.ll-list-hint i { margin-right: 6px; color: var(--ll-blue); }
.ll-campaign-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ll-campaign-card { display: flex; flex-direction: column; min-height: 360px; overflow: hidden; border: 1px solid var(--ll-line); background: #fff; box-shadow: 0 12px 28px rgba(19, 34, 56, .06); transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.ll-campaign-card:hover { border-color: rgba(20, 119, 255, .38); box-shadow: 0 18px 38px rgba(19, 34, 56, .12); transform: translateY(-4px); }
.ll-campaign-card-top { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 20px; border-bottom: 1px solid var(--ll-line); background: #fbfdff; }
.ll-campaign-status, .ll-inline-status { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; }
.ll-campaign-status i { font-size: 8px; }
.ll-status-active { color: #12835b; }
.ll-status-scheduled { color: #b86a00; }
.ll-status-ended { color: #66778b; }
.ll-status-offline { color: #b24455; }
.ll-campaign-date { color: var(--ll-muted); font-size: 12px; }
.ll-campaign-date i { margin-right: 5px; }
.ll-campaign-cover { min-height: 132px; background-position: center; background-size: cover; }
.ll-campaign-card-body { display: flex; flex: 1; flex-direction: column; padding: 24px 24px 22px; }
.ll-campaign-label { margin: 0 0 9px; color: var(--ll-blue); font-size: 11px; font-weight: 700; letter-spacing: 0; }
.ll-campaign-card h3 { margin: 0; color: var(--ll-ink); font-size: 22px; line-height: 1.3; }
.ll-campaign-card-body > p:not(.ll-campaign-label) { min-height: 48px; margin: 12px 0 20px; color: var(--ll-text); font-size: 14px; line-height: 1.7; }
.ll-campaign-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: auto; padding: 14px 0; border-top: 1px solid var(--ll-line); color: var(--ll-muted); font-size: 12px; }
.ll-campaign-meta i { margin-right: 5px; color: var(--ll-blue); }
.ll-campaign-link { display: inline-flex; align-items: center; justify-content: space-between; min-height: 44px; color: var(--ll-blue); font-size: 14px; font-weight: 700; }
.ll-campaign-link i { transition: transform .2s ease; }
.ll-campaign-link:hover i { transform: translateX(4px); }
.ll-list-empty { padding: 80px 24px; border: 1px dashed var(--ll-line); background: #fff; text-align: center; }
.ll-list-empty > i { color: var(--ll-blue); font-size: 36px; }
.ll-list-empty h3 { margin: 18px 0 8px; color: var(--ll-ink); font-size: 24px; }
.ll-list-empty p { margin: 0 auto 24px; color: var(--ll-muted); }
.ll-buy-link.is-disabled { border-color: #d4dce5; background: #eef2f6; color: #7d8a98; cursor: not-allowed; pointer-events: none; }
.ll-offer-product small { display: block; margin-top: 6px; color: var(--ll-muted); font-size: 12px; font-weight: 400; }
@media (max-width: 1024px) { .ll-list-hero-inner { min-height: 340px; } .ll-campaign-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .ll-list-hero-inner, .ll-list-toolbar { align-items: flex-start; flex-direction: column; } .ll-list-hero-inner { gap: 28px; padding-top: 52px; padding-bottom: 52px; } .ll-list-signal { width: 100%; } .ll-list-main { padding: 52px 0 72px; } .ll-list-hint { max-width: none; text-align: left; } .ll-campaign-grid { grid-template-columns: 1fr; } }

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

.ll-activity a {
    color: inherit;
    text-decoration: none;
}

.ll-activity button {
    font: inherit;
}

.ll-shell {
    width: min(1400px, calc(100% - 40px));
    margin-right: auto;
    margin-left: auto;
}

.ll-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 620px;
    color: #fff;
    background: var(--ll-navy);
}

.ll-hero::before {
    position: absolute;
    inset: 0;
    content: "";
    z-index: -2;
    opacity: .54;
    background-image: linear-gradient(rgba(88, 177, 244, .1) 1px, transparent 1px), linear-gradient(90deg, rgba(88, 177, 244, .1) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(90deg, #000 0, #000 56%, transparent 100%);
}

.ll-hero::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 56%;
    content: "";
    z-index: -1;
    opacity: .78;
    background: linear-gradient(115deg, transparent 12%, rgba(20, 119, 255, .1) 12.2%, transparent 12.5%, transparent 38%, rgba(97, 215, 255, .08) 38.2%, transparent 38.5%), linear-gradient(180deg, rgba(9, 41, 78, .2), rgba(3, 15, 35, .88));
}

.ll-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(480px, .97fr);
    align-items: center;
    gap: 78px;
    min-height: 620px;
    padding-top: 76px;
    padding-bottom: 76px;
}

.ll-hero-copy {
    min-width: 0;
    animation: ll-rise .65s ease both;
}

.ll-eyebrow,
.ll-kicker {
    margin: 0;
    color: var(--ll-cyan);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.5;
}

.ll-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 12px;
    border: 1px solid rgba(97, 215, 255, .3);
    border-radius: 4px;
    background: rgba(20, 119, 255, .13);
}

.ll-eyebrow i {
    color: #9be8ff;
}

.ll-hero h1 {
    margin: 25px 0 21px;
    color: #f7fbff;
    font-size: 76px;
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: 0;
}

.ll-hero h1 strong {
    color: #62c8ff;
    font-weight: 750;
}

.ll-hero-lead {
    max-width: 660px;
    margin: 0;
    color: #c3d6e9;
    font-size: 17px;
    line-height: 1.9;
}

.ll-hero-actions,
.ll-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ll-hero-actions {
    margin-top: 31px;
}

.ll-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.2;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ll-button:hover {
    transform: translateY(-2px);
}

.ll-button:focus-visible,
.ll-filter-list button:focus-visible,
.ll-buy-link:focus-visible,
.ll-subnav a:focus-visible,
.ll-text-link:focus-visible {
    outline: 3px solid #ffd56e;
    outline-offset: 3px;
}

.ll-button-primary {
    color: #fff !important;
    background: var(--ll-blue);
    box-shadow: 0 12px 30px rgba(20, 119, 255, .29);
}

.ll-button-primary:hover {
    color: #fff !important;
    background: var(--ll-blue-dark);
    box-shadow: 0 16px 34px rgba(20, 119, 255, .4);
}

.ll-button-ghost {
    border-color: rgba(212, 232, 249, .33);
    color: #eef8ff !important;
    background: rgba(255, 255, 255, .06);
}

.ll-button-ghost:hover {
    border-color: rgba(212, 232, 249, .65);
    background: rgba(255, 255, 255, .12);
}

.ll-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin-top: 29px;
    padding-top: 19px;
    border-top: 1px solid rgba(255, 255, 255, .15);
    color: #a9c1d9;
    font-size: 12px;
}

.ll-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.ll-hero-meta i {
    color: #72d8ff;
}

.ll-hero-console {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding: 20px;
    border: 1px solid rgba(126, 206, 255, .38);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(17, 58, 100, .94), rgba(5, 25, 52, .96));
    box-shadow: 0 28px 75px rgba(0, 0, 0, .35), inset 0 1px rgba(255, 255, 255, .08);
    animation: ll-rise .72s .12s ease both;
}

.ll-hero-console::before {
    position: absolute;
    inset: 0;
    content: "";
    opacity: .35;
    background-image: linear-gradient(rgba(109, 195, 255, .1) 1px, transparent 1px), linear-gradient(90deg, rgba(109, 195, 255, .1) 1px, transparent 1px);
    background-size: 26px 26px;
    pointer-events: none;
}

.ll-hero-console > * {
    position: relative;
    z-index: 1;
}

.ll-console-topbar,
.ll-console-head,
.ll-console-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ll-console-topbar {
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    color: #9ec0de;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
}

.ll-console-topbar span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.ll-console-topbar span i {
    color: var(--ll-green);
    font-size: 8px;
    animation: ll-live-pulse 1.8s ease-out infinite;
}

.ll-console-topbar strong {
    color: #7ce5bc;
    font-size: 10px;
}

.ll-console-head {
    padding: 17px 1px 3px;
}

.ll-console-head span {
    color: #7e9fbe;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0;
}

.ll-console-head b {
    color: #eaf7ff;
    font-size: 12px;
}

.ll-route-map {
    position: relative;
    height: 244px;
    margin: 2px 0 6px;
}

.ll-route-line {
    position: absolute;
    height: 2px;
    transform-origin: left center;
    background: linear-gradient(90deg, rgba(98, 204, 255, .1), rgba(98, 204, 255, .75), rgba(98, 204, 255, .08));
    box-shadow: 0 0 12px rgba(74, 194, 255, .32);
}

.ll-route-line-a { top: 49%; left: 14%; width: 72%; transform: rotate(-15deg); }
.ll-route-line-b { top: 56%; left: 19%; width: 65%; transform: rotate(17deg); opacity: .6; }
.ll-route-line-c { top: 54%; left: 11%; width: 78%; transform: rotate(2deg); opacity: .85; }

.ll-route-node {
    position: absolute;
    display: grid;
    justify-items: center;
    gap: 6px;
    min-width: 54px;
    color: #b8d7ed;
    font-size: 11px;
    text-align: center;
}

.ll-route-node i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(113, 211, 255, .56);
    border-radius: 50%;
    color: #73dcff;
    background: rgba(20, 119, 255, .2);
    box-shadow: 0 0 22px rgba(20, 119, 255, .27);
    font-size: 14px;
}

.ll-route-node b {
    font-size: 11px;
    font-weight: 650;
}

.ll-node-hk { top: 31%; left: 8%; }
.ll-node-sg { top: 68%; left: 27%; }
.ll-node-jp { top: 13%; left: 48%; }
.ll-node-us { top: 42%; right: 6%; }

.ll-node-us i {
    border-color: rgba(102, 224, 178, .62);
    color: var(--ll-green);
    background: rgba(36, 159, 119, .17);
}

.ll-route-packet {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8fe9ff;
    box-shadow: 0 0 13px rgba(111, 222, 255, .9);
    animation: ll-packet-travel 3.1s linear infinite;
}

.ll-packet-a { top: 51%; left: 14%; }
.ll-packet-b { top: 54%; left: 21%; animation-delay: -1.55s; }

.ll-console-feature {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 14px;
    border: 1px solid rgba(113, 211, 255, .2);
    border-radius: 5px;
    background: rgba(3, 20, 44, .56);
}

.ll-console-feature span,
.ll-feature-price small {
    display: block;
    color: #80a4c4;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0;
}

.ll-console-feature strong {
    display: block;
    margin-top: 4px;
    color: #f1f9ff;
    font-size: 13px;
}

.ll-feature-price {
    display: flex;
    align-items: baseline;
    gap: 7px;
    white-space: nowrap;
}

.ll-feature-price del {
    color: #7895b2;
    font-size: 11px;
}

.ll-feature-price b {
    color: #77e2ba;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 26px;
    line-height: 1;
}

.ll-feature-price small {
    letter-spacing: 0;
}

.ll-console-foot {
    padding-top: 14px;
    color: #8eabc6;
    font-size: 10px;
}

.ll-console-foot span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ll-console-foot i {
    color: #6ecfff;
}

.ll-subnav {
    position: sticky;
    top: 0;
    z-index: 30;
    border-bottom: 1px solid var(--ll-line);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 4px 18px rgba(18, 50, 85, .05);
}

.ll-subnav-inner {
    display: flex;
    align-items: center;
    gap: clamp(22px, 4vw, 60px);
    min-height: 64px;
}

.ll-subnav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 64px;
    color: #60758d;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transition: color .2s ease;
}

.ll-subnav a::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    content: "";
    background: transparent;
    transition: background-color .2s ease;
}

.ll-subnav a:hover,
.ll-subnav a:focus-visible {
    color: var(--ll-blue);
}

.ll-subnav a:hover::after,
.ll-subnav a:focus-visible::after {
    background: var(--ll-blue);
}

.ll-countdown {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    margin-left: auto;
    color: #7890a8;
    font-size: 11px;
    white-space: nowrap;
}

.ll-countdown strong {
    min-width: 20px;
    color: var(--ll-blue);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 15px;
    text-align: center;
}

.ll-countdown em {
    color: #8ca0b6;
    font-style: normal;
}

.ll-countdown-ended,
.ll-countdown-offline {
    color: #66778b;
    font-size: 12px;
    font-weight: 700;
}

.ll-countdown-ended i,
.ll-countdown-offline i {
    margin-right: 4px;
}

.ll-proof {
    border-bottom: 1px solid #e3ebf3;
    background: #fff;
}

.ll-proof-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 116px;
}

.ll-proof-grid > div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-right: 1px solid #e3ebf3;
}

.ll-proof-grid > div:first-child {
    border-left: 1px solid #e3ebf3;
}

.ll-proof-grid strong {
    color: var(--ll-ink);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 28px;
    line-height: 1;
}

.ll-proof-grid span {
    color: #7387a0;
    font-size: 12px;
}

.ll-section {
    padding: 104px 0;
}

.ll-offers {
    background: var(--ll-soft);
}

.ll-section-heading {
    max-width: 730px;
}

.ll-section-heading h2 {
    margin: 13px 0 17px;
    color: var(--ll-ink);
    font-size: 44px;
    font-weight: 750;
    line-height: 1.25;
    letter-spacing: 0;
}

.ll-section-heading > p:not(.ll-kicker) {
    margin: 0;
    color: var(--ll-text);
    font-size: 16px;
    line-height: 1.85;
}

.ll-offer-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-top: 43px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ll-line);
}

.ll-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ll-filter-list button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid #d6e2ef;
    border-radius: 4px;
    color: #58718b;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.ll-filter-list button:hover {
    border-color: #8bbfff;
    color: var(--ll-blue);
    transform: translateY(-1px);
}

.ll-filter-list button.is-active {
    border-color: var(--ll-blue);
    color: #fff;
    background: var(--ll-blue);
    box-shadow: 0 8px 18px rgba(20, 119, 255, .18);
}

.ll-filter-list button span {
    min-width: 17px;
    padding: 1px 4px;
    border-radius: 10px;
    color: #7790a9;
    background: #edf3f9;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 10px;
}

.ll-filter-list button.is-active span {
    color: var(--ll-blue);
    background: #fff;
}

.ll-filter-result {
    flex: 0 0 auto;
    margin: 0 0 10px;
    color: #8194a9;
    font-size: 12px;
}

.ll-filter-result strong {
    color: var(--ll-ink);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 16px;
}

.ll-group-tabs {
    display: flex;
    gap: 1px;
    margin-top: 38px;
    overflow-x: auto;
    border: 1px solid #bdd8fa;
    border-radius: 7px;
    background: #bdd8fa;
    scrollbar-width: thin;
    scroll-behavior: smooth;
}

.ll-group-tabs a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 0 220px;
    min-height: 58px;
    padding: 10px 18px;
    color: #1f5ea9;
    background: #e3f0ff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    transition: color .2s ease, background-color .2s ease;
}

.ll-group-tabs a:hover,
.ll-group-tabs a:focus-visible,
.ll-group-tabs a.is-active {
    color: #fff;
    background: var(--ll-blue);
}

.ll-group-tabs a:focus-visible {
    outline: 3px solid #ffd56e;
    outline-offset: -4px;
}

.ll-offer-groups {
    display: grid;
    gap: 34px;
    margin-top: 28px;
}

.ll-plan-group {
    min-width: 0;
    padding: 30px;
    border: 1px solid #d5e7fb;
    border-radius: 8px;
    background: #eaf4ff;
    scroll-margin-top: 88px;
}

.ll-plan-group:target {
    border-color: #7eb8ff;
    box-shadow: 0 0 0 3px rgba(20, 119, 255, .10);
}

.ll-plan-group-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 24px;
}

.ll-plan-group-title {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.ll-offer-number {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 5px;
    color: #fff;
    background: var(--ll-blue);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 14px;
    font-weight: 800;
}

.ll-plan-group-title p {
    margin: 0 0 3px;
    color: #2365a9;
    font-size: 10px;
    font-weight: 800;
}

.ll-plan-group-title h3 {
    margin: 0;
    overflow-wrap: anywhere;
    color: #0758c9;
    font-size: 28px;
    font-weight: 750;
    line-height: 1.25;
}

.ll-plan-group-note {
    max-width: 690px;
    margin: 0;
    color: #456786;
    font-size: 14px;
    line-height: 1.7;
    text-align: right;
}

.ll-plan-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
}

.ll-plan-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 2px solid var(--ll-blue);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(27, 94, 166, .09);
    transition: box-shadow .2s ease, transform .2s ease;
}

.ll-plan-card:hover {
    box-shadow: 0 18px 38px rgba(27, 94, 166, .16);
    transform: translateY(-3px);
}

.ll-plan-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 88px;
    padding: 17px 20px;
    color: #fff;
    background: var(--ll-blue);
}

.ll-plan-card-head div {
    min-width: 0;
}

.ll-plan-card-head span {
    display: block;
    margin-bottom: 4px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.ll-plan-card-head h4 {
    margin: 0;
    overflow-wrap: anywhere;
    color: #fff;
    font-size: 18px;
    font-weight: 650;
    line-height: 1.35;
}

.ll-plan-card-head h4 small {
    color: rgba(255, 255, 255, .82);
    font-size: .72em;
    font-weight: 600;
}

.ll-plan-card-head > i {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, .92);
    font-size: 18px;
}

.ll-plan-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 20px;
}

.ll-plan-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 24px;
    margin-bottom: 16px;
}

.ll-product-tag,
.ll-product-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    margin: 0;
    padding: 2px 8px;
    border-radius: 3px;
    color: #2565ab;
    background: #eaf3ff;
    font-size: 11px;
    font-weight: 700;
}

.ll-product-badge {
    color: #c64054;
    background: #fff0f2;
}

.ll-plan-specs {
    display: grid;
    gap: 9px;
    margin: 0;
}

.ll-plan-specs > div {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    min-height: 46px;
    padding: 12px 13px;
    background: #f6f9fc;
}

.ll-plan-specs dt,
.ll-plan-specs dd {
    margin: 0;
}

.ll-plan-specs dt {
    color: #566d86;
    font-size: 12px;
}

.ll-plan-specs dd {
    overflow-wrap: break-word;
    word-break: normal;
    color: #263c55;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.65;
}

.ll-plan-price {
    margin-top: auto;
    padding-top: 24px;
}

.ll-plan-price > span {
    display: inline-block;
    margin-right: 8px;
    color: #d63b5b;
    font-size: 13px;
    font-weight: 800;
}

.ll-plan-price del {
    color: #91a0b1;
    font-size: 11px;
}

.ll-plan-price > div {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-top: 4px;
}

.ll-plan-price strong {
    color: #d63b5b;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 27px;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.ll-plan-price small {
    color: #788b9f;
    font-size: 12px;
}

.ll-plan-actions {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 54px;
    border-top: 1px solid #b8d8ff;
}

.ll-plan-actions > a,
.ll-plan-actions > button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 54px;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 0;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
    text-align: center;
}

.ll-plan-contact {
    color: var(--ll-blue) !important;
    background: #fff;
}

.ll-plan-contact:hover {
    background: #f1f7ff;
}

.ll-buy-link {
    gap: 7px;
    color: #fff !important;
    background: var(--ll-blue);
    cursor: pointer;
    transition: background-color .2s ease;
}

.ll-buy-link:hover {
    background: var(--ll-blue-dark);
}

.ll-plan-actions .ll-buy-link.is-disabled {
    color: #7f8d9b !important;
    background: #e5ebf1;
    cursor: not-allowed;
    pointer-events: none;
}

.ll-empty-state {
    margin: 25px 0 0;
    padding: 32px;
    border: 1px dashed #bed0e3;
    color: #7890a8;
    background: #fff;
    text-align: center;
}

.ll-benefits {
    color: #dcebf7;
    background: var(--ll-navy);
}

.ll-heading-light h2 {
    color: #f5fbff;
}

.ll-heading-light > p:not(.ll-kicker) {
    color: #adc4db;
}

.ll-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 50px;
    margin-top: 51px;
    border-top: 1px solid rgba(167, 211, 241, .17);
}

.ll-benefit-grid article {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 17px;
    min-height: 148px;
    padding: 27px 0 23px;
    border-bottom: 1px solid rgba(167, 211, 241, .17);
}

.ll-benefit-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(100, 210, 255, .36);
    border-radius: 5px;
    color: #79dcff;
    background: rgba(20, 119, 255, .13);
    font-size: 18px;
}

.ll-benefit-grid h3 {
    margin: 1px 0 7px;
    color: #f2faff;
    font-size: 17px;
    line-height: 1.4;
}

.ll-benefit-grid p {
    margin: 0;
    color: #a8bfd5;
    font-size: 13px;
    line-height: 1.75;
}

.ll-rules {
    background: #fff;
}

.ll-rules-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(450px, 1.15fr);
    align-items: center;
    gap: 96px;
}

.ll-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 27px;
    color: var(--ll-blue);
    font-size: 14px;
    font-weight: 750;
}

.ll-text-link i {
    transition: transform .2s ease;
}

.ll-text-link:hover i {
    transform: translateX(4px);
}

.ll-rule-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--ll-line);
}

.ll-rule-list li {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    min-height: 71px;
    border-bottom: 1px solid var(--ll-line);
    color: #405873;
    font-size: 14px;
    line-height: 1.7;
}

.ll-rule-list b {
    color: var(--ll-blue);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 13px;
}

.ll-contact {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: #0a2b50;
}

.ll-contact::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 45%;
    content: "";
    opacity: .55;
    background-image: linear-gradient(135deg, transparent 48%, rgba(95, 207, 255, .14) 48.2%, transparent 48.5%), linear-gradient(45deg, transparent 55%, rgba(95, 207, 255, .1) 55.2%, transparent 55.5%);
    background-size: 180px 180px;
    pointer-events: none;
}

.ll-contact-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 44px;
    min-height: 250px;
}

.ll-contact h2 {
    margin: 12px 0 10px;
    color: #f7fcff;
    font-size: 32px;
    line-height: 1.3;
}

.ll-contact p:not(.ll-kicker) {
    max-width: 620px;
    margin: 0;
    color: #b9d1e6;
    font-size: 14px;
    line-height: 1.8;
}

.ll-contact-actions {
    flex: 0 0 auto;
}

.ll-contact .ll-button-ghost {
    border-color: rgba(209, 232, 248, .35);
}

@keyframes ll-rise {
    from { opacity: 0; transform: translate3d(0, 16px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes ll-live-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(102, 224, 178, .52); }
    70% { box-shadow: 0 0 0 7px rgba(102, 224, 178, 0); }
}

@keyframes ll-packet-travel {
    0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.65); }
    12%, 78% { opacity: 1; }
    100% { opacity: 0; transform: translate3d(235px, -25px, 0) scale(1.05); }
}

@media (max-width: 1180px) {
    .ll-hero-grid { gap: 44px; grid-template-columns: minmax(0, 1fr) minmax(420px, .87fr); }
    .ll-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ll-rules-grid { gap: 52px; }
}

@media (max-width: 980px) {
    .ll-hero-grid { grid-template-columns: 1fr; gap: 45px; padding-top: 62px; padding-bottom: 68px; }
    .ll-hero-copy { max-width: 760px; }
    .ll-hero-console { width: min(680px, 100%); margin: 0 auto; }
    .ll-rules-grid { grid-template-columns: 1fr; gap: 48px; }
    .ll-section { padding: 82px 0; }
}

@media (max-width: 680px) {
    .ll-shell { width: calc(100% - 32px); }
    .ll-hero { min-height: 0; }
    .ll-hero-grid { min-height: 0; padding-top: 46px; padding-bottom: 52px; }
    .ll-hero h1 { margin-top: 21px; font-size: 46px; }
    .ll-hero-lead { font-size: 15px; line-height: 1.8; }
    .ll-hero-actions { align-items: stretch; flex-direction: column; gap: 9px; }
    .ll-hero-actions .ll-button { width: 100%; }
    .ll-hero-meta { flex-direction: column; gap: 8px; }
    .ll-hero-console { padding: 15px; }
    .ll-console-head { align-items: flex-start; flex-direction: column; gap: 4px; }
    .ll-route-map { height: 215px; }
    .ll-route-node { font-size: 10px; }
    .ll-route-node i { width: 30px; height: 30px; font-size: 12px; }
    .ll-node-hk { left: 1%; }
    .ll-node-sg { left: 23%; }
    .ll-node-jp { left: 46%; }
    .ll-node-us { right: 0; }
    .ll-console-feature { align-items: flex-start; flex-direction: column; gap: 9px; }
    .ll-console-foot { align-items: flex-start; flex-direction: column; gap: 7px; }
    .ll-subnav-inner { gap: 0; overflow-x: auto; scrollbar-width: none; }
    .ll-subnav-inner::-webkit-scrollbar { display: none; }
    .ll-subnav a { flex: 0 0 auto; margin-right: 26px; }
    .ll-countdown { display: none; }
    .ll-proof-grid { grid-template-columns: repeat(2, 1fr); min-height: 0; }
    .ll-proof-grid > div { min-height: 82px; }
    .ll-proof-grid > div:nth-child(3) { border-left: 1px solid #e3ebf3; }
    .ll-proof-grid strong { font-size: 23px; }
    .ll-proof-grid span { font-size: 11px; }
    .ll-section { padding: 70px 0; }
    .ll-section-heading h2 { font-size: 31px; }
    .ll-offer-toolbar { align-items: flex-start; flex-direction: column; gap: 13px; margin-top: 31px; }
    .ll-filter-result { margin: 0 0 4px; }
    .ll-filter-list button { min-height: 42px; padding: 0 11px; }
    .ll-group-tabs { margin-top: 30px; }
    .ll-group-tabs a { flex-basis: 190px; min-height: 52px; font-size: 13px; }
    .ll-plan-group { padding: 20px 15px; }
    .ll-plan-group-head { align-items: flex-start; flex-direction: column; gap: 10px; }
    .ll-plan-group-title { align-items: flex-start; }
    .ll-plan-group-title h3 { font-size: 23px; }
    .ll-plan-group-note { max-width: none; text-align: left; }
    .ll-plan-grid { grid-template-columns: 1fr; }
    .ll-plan-card-head { min-height: 78px; padding: 15px 16px; }
    .ll-plan-card-body { padding: 16px; }
    .ll-plan-price strong { font-size: 24px; }
    .ll-plan-actions { grid-template-columns: 40% 60%; }
    .ll-benefit-grid { grid-template-columns: 1fr; margin-top: 37px; }
    .ll-benefit-grid article { min-height: 0; padding: 21px 0; }
    .ll-rules-grid { gap: 35px; }
    .ll-rule-list li { grid-template-columns: 36px minmax(0, 1fr); gap: 10px; min-height: 76px; font-size: 13px; }
    .ll-contact-inner { align-items: flex-start; flex-direction: column; justify-content: center; gap: 28px; min-height: 340px; }
    .ll-contact h2 { font-size: 29px; }
    .ll-contact-actions { width: 100%; flex-direction: column; }
    .ll-contact-actions .ll-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .ll-activity *,
    .ll-activity *::before,
    .ll-activity *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Product matrix and balance checkout redesign. Keep this block last so the
   detail view can evolve without changing the activity index styles above. */
.ll-activity-detail {
    --ll-ink: #16253d;
    --ll-text: #52657d;
    --ll-muted: #5a6e85;
    --ll-line: #dce6f1;
    --ll-soft: #f4f8fc;
    --ll-surface: #ffffff;
    --ll-blue: #1769e8;
    --ll-blue-dark: #0e55c7;
    --ll-coral: #e65345;
    --ll-green: #16805b;
    background: var(--ll-soft);
    color: var(--ll-text);
    overflow: visible;
}

.ll-activity-detail [hidden] { display: none !important; }
.ll-activity-detail .ll-shell { width: min(1280px, calc(100% - 40px)); }
.ll-activity-detail .ll-activity-hero {
    min-height: 0;
    color: var(--ll-ink);
    background: #fff;
    border-bottom: 1px solid var(--ll-line);
}
.ll-activity-detail .ll-activity-hero::before,
.ll-activity-detail .ll-activity-hero::after { display: none; }
.ll-activity-detail .ll-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, .58fr);
    gap: clamp(32px, 6vw, 92px);
    align-items: center;
    min-height: 344px;
    padding-top: 54px;
    padding-bottom: 54px;
}
.ll-activity-detail .ll-hero-copy { max-width: 760px; animation: none; }
.ll-activity-detail .ll-hero-topline { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.ll-activity-detail .ll-campaign-mark {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ll-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}
.ll-activity-detail .ll-campaign-mark i { color: var(--ll-coral); }
.ll-activity-detail .ll-lifecycle { display: inline-flex; align-items: center; gap: 7px; color: var(--ll-green); font-size: 12px; }
.ll-activity-detail .ll-lifecycle i { color: currentColor; }
.ll-activity-detail .ll-lifecycle-scheduled { color: #a46600; }
.ll-activity-detail .ll-lifecycle-ended,
.ll-activity-detail .ll-lifecycle-offline { color: #68788b; }
.ll-activity-detail .ll-hero h1 {
    max-width: 720px;
    margin: 18px 0 12px;
    color: var(--ll-ink);
    font-size: clamp(36px, 4.5vw, 58px);
    font-weight: 760;
    line-height: 1.12;
    overflow-wrap: anywhere;
}
.ll-activity-detail .ll-hero-lead { max-width: 690px; margin: 0; color: #596d84; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.ll-activity-detail .ll-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.ll-activity-detail .ll-button { min-height: 44px; padding: 0 18px; border-radius: 4px; font-size: 14px; }
.ll-activity-detail .ll-button-primary { color: #fff; background: var(--ll-blue); box-shadow: 0 8px 18px rgba(23, 105, 232, .18); }
.ll-activity-detail .ll-button-primary:hover { background: var(--ll-blue-dark); }
.ll-activity-detail .ll-button-ghost { border-color: #b6c9df; color: var(--ll-blue) !important; background: #fff; }
.ll-activity-detail .ll-button-ghost:hover { border-color: var(--ll-blue); background: #f3f8ff; }
.ll-activity-detail .ll-hero-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px; color: var(--ll-muted); font-size: 12px; }
.ll-activity-detail .ll-hero-meta span { display: inline-flex; align-items: center; gap: 7px; }
.ll-activity-detail .ll-hero-meta i { color: var(--ll-blue); }
.ll-activity-detail .ll-hero-summary { padding: 24px; border: 1px solid #d8e4f0; border-radius: 6px; background: #f8fbff; box-shadow: 0 14px 30px rgba(31, 67, 104, .06); }
.ll-activity-detail .ll-summary-heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--ll-line); color: var(--ll-blue); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.ll-activity-detail .ll-summary-heading i { font-size: 17px; }
.ll-activity-detail .ll-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.ll-activity-detail .ll-summary-grid > div { min-height: 75px; padding: 15px 12px 12px 0; border-bottom: 1px solid var(--ll-line); }
.ll-activity-detail .ll-summary-grid > div:nth-child(odd) { border-right: 1px solid var(--ll-line); }
.ll-activity-detail .ll-summary-grid > div:nth-child(even) { padding-left: 14px; }
.ll-activity-detail .ll-summary-grid strong,
.ll-activity-detail .ll-summary-grid span { display: block; }
.ll-activity-detail .ll-summary-grid strong { color: var(--ll-ink); font-size: 17px; line-height: 1.35; overflow-wrap: anywhere; }
.ll-activity-detail .ll-summary-grid span { margin-top: 5px; color: var(--ll-muted); font-size: 11px; line-height: 1.45; }
.ll-activity-detail .ll-summary-foot { display: flex; gap: 8px; align-items: flex-start; padding-top: 17px; color: var(--ll-muted); font-size: 11px; line-height: 1.5; }
.ll-activity-detail .ll-summary-foot i { flex: 0 0 auto; margin-top: 2px; color: var(--ll-green); }

.ll-activity-detail .ll-subnav { position: sticky; top: 0; z-index: 30; background: rgba(255, 255, 255, .97); }
.ll-activity-detail .ll-subnav-inner { min-height: 56px; gap: 28px; }
.ll-activity-detail .ll-subnav a { min-height: 56px; font-size: 13px; }
.ll-activity-detail .ll-subnav a.is-current { color: var(--ll-blue); }
.ll-activity-detail .ll-subnav a.is-current::after { background: var(--ll-blue); }
.ll-activity-detail .ll-countdown { color: var(--ll-muted); }
.ll-activity-detail .ll-countdown strong { color: var(--ll-blue); }
.ll-activity-detail .ll-state-banner { border-bottom-color: #eadcae; }

.ll-activity-detail .ll-section { padding: 70px 0; scroll-margin-top: 70px; }
.ll-activity-detail .ll-contact { scroll-margin-top: 70px; }
.ll-activity-detail .ll-offers { background: var(--ll-soft); }
.ll-activity-detail .ll-offers-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; max-width: none; }
.ll-activity-detail .ll-offers-heading > p { max-width: 480px; margin: 0; color: var(--ll-muted); font-size: 14px; line-height: 1.7; text-align: right; }
.ll-activity-detail .ll-section-heading h2 { margin: 10px 0 0; color: var(--ll-ink); font-size: clamp(28px, 3.2vw, 40px); line-height: 1.25; }
.ll-activity-detail .ll-kicker { color: var(--ll-blue); font-size: 11px; letter-spacing: .08em; }
.ll-activity-detail .ll-group-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; overflow: visible; border: 0; background: transparent; }
.ll-activity-detail .ll-group-tabs a { display: inline-flex; flex: 0 1 auto; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 15px; border: 1px solid #cbd9e8; border-radius: 4px; color: #56708d; background: #fff; font-size: 13px; }
.ll-activity-detail .ll-group-tabs a span { color: #8ca0b6; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; }
.ll-activity-detail .ll-group-tabs a:hover,
.ll-activity-detail .ll-group-tabs a:focus-visible,
.ll-activity-detail .ll-group-tabs a.is-active { border-color: var(--ll-blue); color: var(--ll-blue); background: #eef5ff; }
.ll-activity-detail .ll-offer-groups { display: grid; gap: 42px; margin-top: 34px; }
.ll-activity-detail .ll-plan-group { padding: 0 0 38px; border: 0; border-bottom: 1px solid var(--ll-line); border-radius: 0; background: transparent; scroll-margin-top: 78px; }
.ll-activity-detail .ll-plan-group:target { border-color: var(--ll-line); box-shadow: none; }
.ll-activity-detail .ll-plan-group-head { align-items: center; margin-bottom: 18px; }
.ll-activity-detail .ll-plan-group-title { gap: 12px; }
.ll-activity-detail .ll-offer-number { flex-basis: 36px; width: 36px; height: 36px; border-radius: 4px; color: #fff; background: var(--ll-blue); font-size: 12px; }
.ll-activity-detail .ll-plan-group-title p { margin-bottom: 2px; color: var(--ll-blue); font-size: 10px; }
.ll-activity-detail .ll-plan-group-title h3 { color: var(--ll-ink); font-size: 23px; line-height: 1.3; }
.ll-activity-detail .ll-plan-group-note { max-width: 570px; color: var(--ll-muted); font-size: 13px; }
.ll-activity-detail .ll-plan-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ll-activity-detail .ll-plan-card { border: 1px solid #d6e2ee; border-top: 3px solid var(--ll-blue); border-radius: 5px; background: var(--ll-surface); box-shadow: 0 8px 22px rgba(31, 67, 104, .06); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ll-activity-detail .ll-plan-card:hover { border-color: #8ebcf3; border-top-color: var(--ll-blue); box-shadow: 0 15px 30px rgba(31, 67, 104, .12); transform: translateY(-2px); }
.ll-activity-detail .ll-plan-card-head { min-height: 104px; padding: 17px 18px 15px; color: var(--ll-ink); border-bottom: 1px solid var(--ll-line); background: #f8fbff; }
.ll-activity-detail .ll-card-title-wrap { min-width: 0; }
.ll-activity-detail .ll-card-title-wrap p { margin: 0 0 5px; color: var(--ll-blue); font-size: 11px; font-weight: 800; }
.ll-activity-detail .ll-plan-card-head h4 { margin: 0; color: var(--ll-ink); font-size: 18px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.ll-activity-detail .ll-card-catalog { display: block; margin-top: 7px; color: var(--ll-muted); font-size: 11px; overflow-wrap: anywhere; }
.ll-activity-detail .ll-plan-card-head .ll-product-badge { flex: 0 0 auto; align-self: flex-start; min-height: 24px; padding: 3px 7px; border: 1px solid #ffd4cc; border-radius: 3px; color: var(--ll-coral); background: #fff5f2; font-size: 11px; white-space: nowrap; }
.ll-activity-detail .ll-plan-card-head .ll-product-badge i { margin-right: 4px; }
.ll-activity-detail .ll-plan-card-body { padding: 15px 17px 18px; }
.ll-activity-detail .ll-card-association { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-height: 27px; margin-bottom: 11px; color: var(--ll-muted); font-size: 11px; }
.ll-activity-detail .ll-card-association strong { color: #62768e; font-size: 12px; font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.ll-activity-detail .ll-plan-specs { display: grid; gap: 4px; margin: 0; }
.ll-activity-detail .ll-plan-specs > div { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: start; gap: 9px; min-height: 38px; padding: 8px 9px; background: #f7faff; }
.ll-activity-detail .ll-plan-specs dt { display: inline-flex; align-items: center; gap: 6px; color: #50657c; font-size: 11px; }
.ll-activity-detail .ll-plan-specs dt i { width: 12px; color: var(--ll-blue); text-align: center; }
.ll-activity-detail .ll-plan-specs dd { color: #263c55; font-size: 12px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.ll-activity-detail .ll-plan-price { margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--ll-line); }
.ll-activity-detail .ll-price-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--ll-coral); font-size: 12px; font-weight: 800; }
.ll-activity-detail .ll-price-label span { color: var(--ll-green); font-size: 11px; font-weight: 700; }
.ll-activity-detail .ll-price-main { display: flex; align-items: baseline; gap: 6px; margin-top: 3px; }
.ll-activity-detail .ll-price-main strong { color: var(--ll-coral); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 27px; font-variant-numeric: tabular-nums; line-height: 1.2; }
.ll-activity-detail .ll-price-main small { color: var(--ll-muted); font-size: 11px; }
.ll-activity-detail .ll-price-original { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-top: 4px; color: var(--ll-muted); font-size: 11px; }
.ll-activity-detail .ll-price-original del:empty { display: none; }
.ll-activity-detail .ll-price-original span { color: #5f738b; }
.ll-activity-detail .ll-plan-actions { grid-template-columns: 42% 58%; min-height: 52px; border-top: 1px solid var(--ll-line); }
.ll-activity-detail .ll-plan-actions > a,
.ll-activity-detail .ll-plan-actions > button { min-height: 52px; padding: 10px 9px; font-size: 12px; }
.ll-activity-detail .ll-plan-contact { color: var(--ll-blue) !important; background: #fff; }
.ll-activity-detail .ll-plan-contact i { margin-right: 4px; }
.ll-activity-detail .ll-plan-contact:hover { background: #f3f8ff; }
.ll-activity-detail .ll-buy-link { gap: 6px; color: #fff !important; background: var(--ll-blue); }
.ll-activity-detail .ll-buy-link:hover { background: var(--ll-blue-dark); }
.ll-activity-detail .ll-buy-link.is-disabled,
.ll-activity-detail .ll-plan-actions .ll-buy-link.is-disabled { color: #7f8d9b !important; background: #e8eef4; cursor: not-allowed; pointer-events: none; }
.ll-activity-detail .ll-empty-state { margin-top: 28px; border-color: #cbd9e8; background: #fff; }

/* Checkout dialog */
.ll-activity-detail .ll-purchase-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; }
.ll-activity-detail .ll-purchase-modal::before { position: absolute; inset: 0; content: ""; background: rgba(11, 27, 51, .58); backdrop-filter: blur(2px); }
.ll-activity-detail .ll-modal-backdrop { position: absolute; inset: 0; cursor: default; }
.ll-activity-detail .ll-modal-dialog { position: relative; display: flex; flex-direction: column; width: min(620px, 100%); max-height: min(820px, 92dvh); overflow: hidden; border: 1px solid #d6e1ed; border-radius: 8px; background: #fff; box-shadow: 0 28px 80px rgba(7, 24, 51, .3); animation: ll-modal-in .2s ease both; }
.ll-activity-detail .ll-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 25px 18px; border-bottom: 1px solid var(--ll-line); background: #fbfdff; }
.ll-activity-detail .ll-modal-header h2 { margin: 7px 0 4px; color: var(--ll-ink); font-size: 23px; line-height: 1.3; overflow-wrap: anywhere; }
.ll-activity-detail .ll-modal-subtitle { margin: 0; color: var(--ll-muted); font-size: 12px; line-height: 1.5; }
.ll-activity-detail .ll-modal-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; margin: -5px -7px 0 0; border: 1px solid transparent; border-radius: 4px; color: #5d7188; background: transparent; cursor: pointer; }
.ll-activity-detail .ll-modal-close:hover { color: var(--ll-ink); background: #edf3f9; }
.ll-activity-detail .ll-modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.ll-activity-detail .ll-purchase-form { padding: 20px 25px 24px; }
.ll-activity-detail .ll-modal-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; padding-bottom: 14px; border-bottom: 1px solid var(--ll-line); }
.ll-activity-detail .ll-modal-overview > div { min-height: 52px; padding: 8px 0; }
.ll-activity-detail .ll-modal-overview span,
.ll-activity-detail .ll-modal-overview strong { display: block; }
.ll-activity-detail .ll-modal-overview span { color: var(--ll-muted); font-size: 11px; }
.ll-activity-detail .ll-modal-overview strong { margin-top: 4px; color: var(--ll-ink); font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.ll-activity-detail .ll-overview-wide { grid-column: 1 / -1; }
.ll-activity-detail .ll-modal-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-top: 17px; }
.ll-activity-detail .ll-modal-dynamic-options { display: contents; }
.ll-activity-detail .ll-modal-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.ll-activity-detail .ll-modal-fieldset legend { margin-bottom: 8px; color: var(--ll-ink); font-size: 13px; font-weight: 700; }
.ll-activity-detail .ll-field-label { display: block; margin-bottom: 5px; color: var(--ll-muted); font-size: 11px; }
.ll-activity-detail .ll-modal-fieldset select { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid #cbd9e8; border-radius: 4px; color: #2f455e; background: #fff; font-size: 13px; }
.ll-activity-detail .ll-modal-fieldset select:hover { border-color: #91baf0; }
.ll-activity-detail .ll-modal-fieldset input[type="number"] { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid #cbd9e8; border-radius: 4px; color: #2f455e; background: #fff; font-size: 13px; }
.ll-activity-detail .ll-modal-fieldset input[type="number"]:hover { border-color: #91baf0; }
.ll-activity-detail .ll-option-output { display: block; margin-top: 5px; color: var(--ll-blue); font-size: 11px; font-variant-numeric: tabular-nums; }
.ll-activity-detail .ll-cycle-fieldset { margin-top: 21px; }
.ll-activity-detail .ll-cycle-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ll-activity-detail .ll-cycle-option { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 52px; padding: 6px 7px; border: 1px solid #cbd9e8; border-radius: 4px; color: #5b7088; background: #fff; cursor: pointer; font-size: 13px; line-height: 1.25; }
.ll-activity-detail .ll-cycle-option small { margin-top: 3px; color: var(--ll-green); font-size: 10px; }
.ll-activity-detail .ll-cycle-option small.is-renewal-catalog { color: var(--ll-muted); }
.ll-activity-detail .ll-cycle-option:hover,
.ll-activity-detail .ll-cycle-option:focus-visible,
.ll-activity-detail .ll-cycle-option.is-selected { border-color: var(--ll-blue); color: var(--ll-blue); background: #eef5ff; }
.ll-activity-detail .ll-field-help { margin: 8px 0 0; color: var(--ll-muted); font-size: 11px; line-height: 1.5; }
.ll-activity-detail .ll-price-summary { margin-top: 21px; padding: 16px 17px; border: 1px solid #d7e3ef; border-radius: 5px; background: #f8fbff; }
.ll-activity-detail .ll-summary-price-row { display: flex; align-items: baseline; gap: 8px; }
.ll-activity-detail .ll-summary-price-row span { color: var(--ll-coral); font-size: 13px; font-weight: 800; }
.ll-activity-detail .ll-summary-price-row strong { color: var(--ll-coral); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 30px; font-variant-numeric: tabular-nums; line-height: 1.15; }
.ll-activity-detail .ll-summary-price-row small { color: var(--ll-muted); font-size: 12px; }
.ll-activity-detail .ll-summary-original-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; margin-top: 7px; color: var(--ll-muted); font-size: 12px; }
.ll-activity-detail .ll-savings { color: var(--ll-green); font-weight: 700; }
.ll-activity-detail .ll-balance-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ll-line); color: var(--ll-muted); font-size: 12px; }
.ll-activity-detail .ll-balance-row strong { color: var(--ll-ink); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 14px; font-variant-numeric: tabular-nums; }
.ll-activity-detail .ll-balance-shortfall { color: var(--ll-coral); font-weight: 700; }
.ll-activity-detail .ll-balance-row a { margin-left: auto; color: var(--ll-blue); font-weight: 700; text-decoration: underline; }
.ll-activity-detail .ll-modal-status { min-height: 20px; margin-top: 13px; color: var(--ll-muted); font-size: 12px; line-height: 1.5; }
.ll-activity-detail .ll-modal-status.is-error,
.ll-activity-detail .ll-modal-error { color: #b13d37; }
.ll-activity-detail .ll-modal-status.is-success { color: var(--ll-green); }
.ll-activity-detail .ll-modal-error { margin-top: 6px; padding: 10px 11px; border: 1px solid #f1c8c2; border-radius: 4px; background: #fff6f4; font-size: 12px; line-height: 1.5; }
.ll-activity-detail .ll-modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 17px; }
.ll-activity-detail .ll-modal-actions button,
.ll-activity-detail .ll-modal-login,
.ll-activity-detail .ll-modal-retry,
.ll-activity-detail .ll-success-actions a,
.ll-activity-detail .ll-success-actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 17px; border: 1px solid #cbd9e8; border-radius: 4px; color: #5b7088; background: #fff; cursor: pointer; font-size: 13px; font-weight: 700; text-decoration: none; }
.ll-activity-detail .ll-modal-actions .ll-modal-submit { gap: 7px; border-color: var(--ll-blue); color: #fff; background: var(--ll-blue); }
.ll-activity-detail .ll-modal-actions .ll-modal-submit:hover { background: var(--ll-blue-dark); }
.ll-activity-detail .ll-modal-actions button:disabled { cursor: wait; opacity: .55; }
.ll-activity-detail .ll-modal-cancel:hover,
.ll-activity-detail .ll-success-actions button:hover,
.ll-activity-detail .ll-modal-retry:hover { border-color: #91baf0; color: var(--ll-blue); background: #f3f8ff; }
.ll-activity-detail .ll-modal-panel { padding: 42px 25px 48px; text-align: center; }
.ll-activity-detail .ll-modal-panel > i { color: var(--ll-blue); font-size: 34px; }
.ll-activity-detail .ll-modal-panel h3 { margin: 15px 0 7px; color: var(--ll-ink); font-size: 20px; }
.ll-activity-detail .ll-modal-panel p { margin: 0 auto 22px; max-width: 360px; color: var(--ll-muted); font-size: 13px; line-height: 1.7; }
.ll-activity-detail .ll-modal-login { border-color: var(--ll-blue); color: #fff; background: var(--ll-blue); }
.ll-activity-detail .ll-modal-login:hover { background: var(--ll-blue-dark); }
.ll-activity-detail .ll-modal-loading-panel { padding-top: 68px; padding-bottom: 68px; }
.ll-activity-detail .ll-loading-spinner { display: inline-block; width: 28px; height: 28px; border: 3px solid #d7e6fa; border-top-color: var(--ll-blue); border-radius: 50%; animation: ll-spin .75s linear infinite; }
.ll-activity-detail .ll-loading-spinner + p { margin-top: 14px; }
.ll-activity-detail .ll-success-icon { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto; border-radius: 50%; color: #fff; background: var(--ll-green); font-size: 22px; }
.ll-activity-detail .ll-success-actions { display: flex; justify-content: center; gap: 9px; }
.ll-activity-detail .ll-success-actions a { border-color: var(--ll-blue); color: #fff; background: var(--ll-blue); }
.ll-activity-detail .ll-success-actions a:hover { background: var(--ll-blue-dark); }

.ll-activity-detail button:focus-visible,
.ll-activity-detail a:focus-visible,
.ll-activity-detail select:focus-visible,
.ll-activity-detail input:focus-visible { outline: 3px solid rgba(23, 105, 232, .35); outline-offset: 2px; }
@keyframes ll-modal-in { from { opacity: 0; transform: translateY(10px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes ll-spin { to { transform: rotate(360deg); } }

@media (max-width: 1040px) {
    .ll-activity-detail .ll-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr); gap: 34px; }
    .ll-activity-detail .ll-hero h1 { font-size: 44px; }
    .ll-activity-detail .ll-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .ll-activity-detail .ll-shell { width: calc(100% - 32px); }
    .ll-activity-detail .ll-hero-grid { display: block; min-height: 0; padding-top: 38px; padding-bottom: 36px; }
    .ll-activity-detail .ll-hero h1 { margin-top: 15px; font-size: 38px; }
    .ll-activity-detail .ll-hero-lead { font-size: 15px; }
    .ll-activity-detail .ll-hero-summary { margin-top: 30px; }
    .ll-activity-detail .ll-subnav-inner { gap: 21px; overflow-x: auto; scrollbar-width: none; }
    .ll-activity-detail .ll-subnav-inner::-webkit-scrollbar { display: none; }
    .ll-activity-detail .ll-subnav a { flex: 0 0 auto; }
    .ll-activity-detail .ll-countdown { display: none; }
    .ll-activity-detail .ll-section { padding: 54px 0; }
    .ll-activity-detail .ll-offers-heading { display: block; }
    .ll-activity-detail .ll-offers-heading > p { margin-top: 12px; text-align: left; }
    .ll-activity-detail .ll-plan-group-head { align-items: flex-start; flex-direction: column; gap: 9px; }
    .ll-activity-detail .ll-plan-group-note { text-align: left; }
    .ll-activity-detail .ll-plan-grid { grid-template-columns: 1fr; }
    .ll-activity-detail .ll-purchase-modal { align-items: end; padding: 0; }
    .ll-activity-detail .ll-modal-dialog { width: 100%; max-height: min(94dvh, 760px); border-right: 0; border-bottom: 0; border-left: 0; border-radius: 14px 14px 0 0; animation-name: ll-sheet-in; }
    .ll-activity-detail .ll-modal-header { padding: 18px 18px 15px; }
    .ll-activity-detail .ll-purchase-form { padding: 17px 18px calc(20px + env(safe-area-inset-bottom)); }
    .ll-activity-detail .ll-modal-options { grid-template-columns: 1fr; }
    .ll-activity-detail .ll-modal-actions { position: sticky; bottom: 0; margin: 17px -18px -20px; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--ll-line); background: rgba(255, 255, 255, .97); }
    .ll-activity-detail .ll-modal-actions button { flex: 1 1 0; }
    .ll-activity-detail .ll-modal-panel { padding: 38px 18px calc(42px + env(safe-area-inset-bottom)); }
}
@media (max-width: 430px) {
    .ll-activity-detail .ll-hero h1 { font-size: 34px; }
    .ll-activity-detail .ll-hero-actions { flex-direction: column; align-items: stretch; }
    .ll-activity-detail .ll-hero-actions .ll-button { width: 100%; }
    .ll-activity-detail .ll-summary-grid strong { font-size: 15px; }
    .ll-activity-detail .ll-cycle-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ll-activity-detail .ll-modal-overview { grid-template-columns: 1fr; }
    .ll-activity-detail .ll-overview-wide { grid-column: auto; }
}
@keyframes ll-sheet-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
    .ll-activity-detail .ll-modal-dialog,
    .ll-activity-detail .ll-loading-spinner { animation: none; }
    .ll-activity-detail .ll-plan-card { transition: none; }
    .ll-activity-detail .ll-plan-card:hover { transform: none; }
}
