/* roulang page: index */
:root {
            --ink: #0c1022;
            --ink-soft: #151c38;
            --navy: #111a42;
            --navy-deep: #090d22;
            --violet: #2c1764;
            --cyan: #18e3ff;
            --cyan-soft: #83f5ff;
            --lime: #ceff37;
            --pink: #ff4da0;
            --white: #f7fbff;
            --muted: #a7b4d3;
            --muted-dark: #64718e;
            --line: rgba(135, 170, 255, .19);
            --line-strong: rgba(24, 227, 255, .52);
            --paper: #f3f6ff;
            --paper-2: #e9effd;
            --radius-xl: 30px;
            --radius-lg: 22px;
            --radius-md: 15px;
            --radius-sm: 10px;
            --shadow-lg: 0 28px 70px rgba(4, 9, 31, .32);
            --shadow-neon: 0 0 0 1px rgba(24,227,255,.18), 0 0 30px rgba(24,227,255,.16);
            --font-display: "Arial", "Helvetica Neue", sans-serif;
            --font-body: "Arial", "Helvetica Neue", sans-serif;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            min-width: 320px;
            color: var(--white);
            background: var(--navy-deep);
            font-family: var(--font-body);
            font-size: 16px;
            line-height: 1.62;
            overflow-x: hidden;
        }
        body::before {
            content: "";
            position: fixed;
            z-index: -2;
            inset: 0;
            background:
                radial-gradient(circle at 8% 18%, rgba(47, 28, 133, .54), transparent 30%),
                radial-gradient(circle at 91% 9%, rgba(0, 205, 255, .11), transparent 23%),
                linear-gradient(180deg, #10163a 0%, #080d22 51%, #0b1028 100%);
        }
        body::after {
            content: "";
            position: fixed;
            z-index: -1;
            inset: 0;
            opacity: .22;
            pointer-events: none;
            background-image:
                linear-gradient(rgba(107, 191, 255, .16) 1px, transparent 1px),
                linear-gradient(90deg, rgba(107, 191, 255, .16) 1px, transparent 1px);
            background-size: 54px 54px;
            mask-image: linear-gradient(to bottom, black, transparent 70%);
        }
        a {
            color: inherit;
            text-decoration: none;
            transition: color .22s ease, opacity .22s ease, transform .22s ease, border-color .22s ease, background .22s ease;
        }
        a:hover { color: var(--cyan-soft); }
        img { max-width: 100%; height: auto; display: block; }
        button, input, textarea { font: inherit; }
        button { cursor: pointer; }
        :focus-visible {
            outline: 3px solid var(--lime);
            outline-offset: 3px;
        }
        .container {
            width: min(1180px, calc(100% - 48px));
            margin-inline: auto;
        }
        .section {
            position: relative;
            padding: 96px 0;
        }
        .section--compact { padding: 72px 0; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin: 0 0 13px;
            color: var(--cyan-soft);
            font-size: .76rem;
            line-height: 1.2;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }
        .eyebrow::before {
            content: "";
            display: inline-block;
            width: 22px;
            height: 2px;
            background: var(--lime);
            box-shadow: 0 0 10px var(--lime);
        }
        h1, h2, h3, p { margin-top: 0; }
        h1, h2, h3 {
            color: var(--white);
            font-family: var(--font-display);
            line-height: 1.12;
            letter-spacing: -.035em;
        }
        h1 {
            max-width: 960px;
            margin: 0 auto 20px;
            font-size: clamp(2.3rem, 5vw, 4.65rem);
            font-weight: 800;
        }
        h2 {
            margin-bottom: 16px;
            font-size: clamp(1.75rem, 3vw, 2.75rem);
            font-weight: 800;
        }
        h3 {
            margin-bottom: 10px;
            font-size: 1.18rem;
            font-weight: 750;
        }
        p { color: var(--muted); }
        .section-intro {
            max-width: 655px;
            margin-bottom: 0;
            font-size: 1.03rem;
        }
        .section-heading {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 38px;
        }
        .section-heading .section-intro { max-width: 570px; }
        .text-cyan { color: var(--cyan); }
        .text-lime { color: var(--lime); }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 100;
            border-bottom: 1px solid rgba(151, 173, 255, .12);
            background: rgba(9, 13, 34, .8);
            backdrop-filter: blur(18px);
        }
        .topbar {
            display: flex;
            align-items: center;
            min-height: 76px;
            gap: 22px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            flex: 0 0 auto;
            min-width: 210px;
            font-family: var(--font-display);
            color: var(--white);
            font-weight: 800;
            letter-spacing: -.03em;
            line-height: 1.05;
        }
        .brand:hover { color: var(--white); }
        .brand-mark {
            display: grid;
            place-items: center;
            width: 36px;
            height: 36px;
            flex: 0 0 36px;
            border: 1px solid var(--cyan);
            border-radius: 11px;
            color: var(--navy-deep);
            background: linear-gradient(135deg, var(--cyan), var(--lime));
            box-shadow: 0 0 18px rgba(24, 227, 255, .35);
            font-size: 1rem;
        }
        .brand-copy {
            font-size: .9rem;
            max-width: 185px;
        }
        .primary-nav {
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 1;
            gap: 5px;
        }
        .primary-nav a {
            position: relative;
            padding: 10px 12px;
            color: #c4cde7;
            font-size: .875rem;
            font-weight: 700;
            white-space: nowrap;
        }
        .primary-nav a::after {
            content: "";
            position: absolute;
            right: 12px;
            bottom: 4px;
            left: 12px;
            height: 2px;
            border-radius: 5px;
            background: var(--cyan);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .2s ease;
        }
        .primary-nav a:hover,
        .primary-nav a.active { color: var(--white); }
        .primary-nav a:hover::after,
        .primary-nav a.active::after { transform: scaleX(1); }
        .header-actions {
            display: flex;
            align-items: center;
            gap: 9px;
            margin-left: auto;
        }
        .header-link {
            padding: 9px 8px;
            color: #c4cde7;
            font-size: .83rem;
            font-weight: 700;
            white-space: nowrap;
        }
        .header-link:hover { color: var(--cyan); }
        .menu-toggle {
            display: none;
            width: 40px;
            height: 40px;
            padding: 0;
            border: 1px solid var(--line);
            border-radius: 10px;
            color: var(--white);
            background: rgba(255,255,255,.04);
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 46px;
            padding: 11px 18px;
            border: 1px solid transparent;
            border-radius: 12px;
            font-weight: 800;
            font-size: .88rem;
            line-height: 1.2;
            transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
        }
        .btn:hover { transform: translateY(-2px); }
        .btn:active { transform: translateY(1px) scale(.98); }
        .btn-primary {
            color: #081024;
            background: linear-gradient(115deg, var(--lime), #b8f52e 48%, var(--cyan));
            box-shadow: 0 10px 25px rgba(121, 237, 95, .19);
        }
        .btn-primary:hover {
            color: #030812;
            box-shadow: 0 14px 30px rgba(24, 227, 255, .30);
        }
        .btn-outline {
            color: var(--white);
            border-color: rgba(24, 227, 255, .45);
            background: rgba(8, 16, 44, .42);
        }
        .btn-outline:hover {
            color: var(--white);
            border-color: var(--cyan);
            background: rgba(24, 227, 255, .12);
            box-shadow: 0 0 0 4px rgba(24,227,255,.08);
        }
        .btn-small {
            min-height: 40px;
            padding: 9px 13px;
            border-radius: 10px;
            font-size: .8rem;
        }

        .hero {
            position: relative;
            isolation: isolate;
            padding: 72px 0 52px;
            overflow: hidden;
            background:
                linear-gradient(180deg, rgba(9, 13, 34, .38), rgba(9, 13, 34, .84)),
                url('/assets/images/backpic/back-1.jpg') center / cover no-repeat;
        }
        .hero::before {
            content: "";
            position: absolute;
            z-index: -1;
            inset: 0;
            background:
                radial-gradient(circle at 50% 30%, rgba(41, 71, 207, .42), transparent 31%),
                linear-gradient(90deg, rgba(4, 8, 28, .78), rgba(28, 17, 83, .14), rgba(4, 8, 28, .74));
        }
        .hero::after {
            content: "";
            position: absolute;
            z-index: -1;
            width: 560px;
            height: 560px;
            top: -285px;
            left: calc(50% - 280px);
            border: 1px solid rgba(24, 227, 255, .18);
            border-radius: 50%;
            box-shadow: 0 0 0 48px rgba(24, 227, 255, .025), 0 0 0 96px rgba(24, 227, 255, .025);
        }
        .hero-inner {
            position: relative;
            text-align: center;
        }
        .hero .eyebrow { justify-content: center; }
        .hero-lead {
            max-width: 790px;
            margin: 0 auto;
            color: #d3ddf8;
            font-size: clamp(1rem, 1.5vw, 1.14rem);
            line-height: 1.7;
        }
        .hero-actions {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 12px;
            margin: 29px 0 42px;
        }
        .hero-dashboard {
            display: grid;
            grid-template-columns: 1.05fr 1.4fr 1.05fr;
            gap: 14px;
            max-width: 1000px;
            margin: 0 auto;
            text-align: left;
        }
        .hero-stat,
        .hero-tier,
        .hero-signal {
            min-height: 132px;
            padding: 22px;
            border: 1px solid rgba(142, 187, 255, .25);
            border-radius: var(--radius-lg);
            background: linear-gradient(140deg, rgba(20, 31, 77, .82), rgba(8, 13, 37, .76));
            box-shadow: 0 14px 35px rgba(1, 4, 21, .22);
        }
        .stat-label {
            display: block;
            margin-bottom: 8px;
            color: #aebbd9;
            font-size: .74rem;
            font-weight: 800;
            letter-spacing: .07em;
            text-transform: uppercase;
        }
        .stat-number {
            display: block;
            color: var(--white);
            font-family: var(--font-display);
            font-size: 2.15rem;
            font-weight: 800;
            line-height: 1;
        }
        .stat-number em {
            color: var(--lime);
            font-size: 1rem;
            font-style: normal;
        }
        .hero-stat p,
        .hero-signal p {
            margin: 8px 0 0;
            color: #9fafd2;
            font-size: .81rem;
            line-height: 1.45;
        }
        .hero-tier {
            position: relative;
            overflow: hidden;
            border-color: rgba(24,227,255,.42);
        }
        .hero-tier::before {
            content: "";
            position: absolute;
            right: -18px;
            bottom: -32px;
            width: 118px;
            height: 118px;
            border: 16px solid rgba(206,255,55,.12);
            border-radius: 50%;
        }
        .tier-topline {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            position: relative;
        }
        .tier-topline strong { font-size: .98rem; }
        .mini-badge {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 5px 8px;
            border-radius: 50px;
            color: #0a1025;
            background: var(--lime);
            font-size: .68rem;
            font-weight: 900;
            letter-spacing: .03em;
        }
        .micro-progress {
            height: 8px;
            margin: 20px 0 9px;
            overflow: hidden;
            border-radius: 10px;
            background: rgba(255,255,255,.1);
        }
        .micro-progress span {
            display: block;
            width: 72%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, var(--cyan), var(--lime));
            box-shadow: 0 0 14px var(--cyan);
        }
        .tier-foot {
            position: relative;
            display: flex;
            justify-content: space-between;
            color: #c9d4eb;
            font-size: .76rem;
        }
        .signal-line {
            display: flex;
            gap: 8px;
            align-items: center;
        }
        .live-dot {
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--lime);
            box-shadow: 0 0 0 0 rgba(206,255,55,.65);
            animation: pulse-dot 1.8s infinite;
        }
        @keyframes pulse-dot {
            70% { box-shadow: 0 0 0 9px rgba(206,255,55,0); }
            100% { box-shadow: 0 0 0 0 rgba(206,255,55,0); }
        }

        .progress-section {
            overflow: hidden;
            background: linear-gradient(125deg, #131f56, #1e1761 53%, #101b4c);
        }
        .progress-section::before {
            content: "";
            position: absolute;
            inset: 0;
            opacity: .25;
            background: url('/assets/images/backpic/back-2.jpg') center / cover no-repeat;
            mix-blend-mode: screen;
        }
        .progress-grid {
            position: relative;
            display: grid;
            grid-template-columns: .82fr 1.18fr;
            align-items: center;
            gap: clamp(36px, 7vw, 105px);
        }
        .progress-ring-wrap {
            position: relative;
            display: grid;
            place-items: center;
            width: min(100%, 350px);
            aspect-ratio: 1;
            margin-inline: auto;
        }
        .progress-ring {
            width: 100%;
            height: 100%;
            transform: rotate(-90deg);
            filter: drop-shadow(0 0 22px rgba(24,227,255,.22));
        }
        .ring-track {
            fill: none;
            stroke: rgba(255,255,255,.10);
            stroke-width: 12;
        }
        .ring-value {
            fill: none;
            stroke: url(#progressGradient);
            stroke-width: 12;
            stroke-linecap: round;
            stroke-dasharray: 578;
            stroke-dashoffset: 162;
        }
        .ring-copy {
            position: absolute;
            text-align: center;
        }
        .ring-copy strong {
            display: block;
            color: var(--white);
            font-size: 4rem;
            line-height: .95;
            letter-spacing: -.07em;
        }
        .ring-copy span {
            display: block;
            margin-top: 8px;
            color: var(--cyan-soft);
            font-size: .78rem;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
        }
        .goal-content .section-intro {
            max-width: 620px;
            margin-bottom: 27px;
            color: #c1cde9;
        }
        .goal-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 13px;
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .goal-list li {
            display: flex;
            gap: 11px;
            align-items: flex-start;
            padding: 14px 14px;
            border-left: 2px solid var(--cyan);
            background: rgba(7, 13, 39, .28);
            color: #d6def2;
            font-size: .9rem;
            line-height: 1.45;
        }
        .goal-list i { color: var(--lime); margin-top: 3px; }
        .progress-note {
            margin-top: 19px;
            color: #aebdda;
            font-size: .83rem;
        }

        .tiers-section { background: var(--paper); color: var(--ink); }
        .tiers-section h2,
        .tiers-section h3 { color: var(--ink); }
        .tiers-section .eyebrow { color: #227288; }
        .tiers-section .section-intro { color: var(--muted-dark); }
        .tiers-section .eyebrow::before { background: #123a8f; box-shadow: none; }
        .tier-layout {
            display: grid;
            grid-template-columns: .9fr 1.6fr;
            gap: 36px;
            align-items: start;
        }
        .tier-feature {
            position: sticky;
            top: 102px;
            padding: 28px;
            overflow: hidden;
            border-radius: var(--radius-xl);
            color: var(--white);
            background:
                linear-gradient(160deg, rgba(9,20,59,.27), rgba(9,14,37,.92)),
                url('/assets/images/coverpic/cover-2.jpg') center / cover no-repeat;
            min-height: 360px;
            box-shadow: 0 22px 50px rgba(24, 35, 87, .18);
        }
        .tier-feature::after {
            content: "";
            position: absolute;
            inset: auto -38px -48px auto;
            width: 190px;
            height: 190px;
            border: 28px solid rgba(24,227,255,.16);
            border-radius: 50%;
        }
        .tier-feature > * { position: relative; z-index: 1; }
        .tier-feature h3 { max-width: 260px; color: var(--white); font-size: 1.72rem; }
        .tier-feature p { max-width: 270px; color: #d9e7ff; font-size: .92rem; }
        .feature-code {
            display: inline-block;
            margin-top: 78px;
            color: var(--lime);
            font-size: .76rem;
            font-weight: 900;
            letter-spacing: .11em;
        }
        .tier-cards {
            display: grid;
            gap: 13px;
        }
        .tier-card {
            display: grid;
            grid-template-columns: 62px minmax(0, 1fr) auto;
            align-items: center;
            gap: 18px;
            padding: 18px 20px;
            border: 1px solid #d7e0f7;
            border-radius: 17px;
            background: #fff;
            box-shadow: 0 7px 18px rgba(27, 42, 94, .05);
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
        }
        .tier-card:hover {
            transform: translateX(5px);
            border-color: #88cde4;
            box-shadow: 0 16px 27px rgba(27, 42, 94, .12);
        }
        .tier-icon {
            display: grid;
            place-items: center;
            width: 55px;
            height: 55px;
            border-radius: 17px;
            color: #0c2159;
            background: linear-gradient(135deg, #c9f9ff, #dbff94);
            font-size: 1.32rem;
        }
        .tier-card p {
            max-width: 440px;
            margin: 0;
            color: #62708c;
            font-size: .89rem;
            line-height: 1.5;
        }
        .tier-level {
            min-width: 82px;
            color: #1c2860;
            font-size: .74rem;
            font-weight: 900;
            letter-spacing: .05em;
            text-align: right;
            text-transform: uppercase;
        }

        .wall-section {
            background:
                radial-gradient(circle at 90% 20%, rgba(255,77,160,.15), transparent 22%),
                linear-gradient(180deg, #0b1029, #111946);
        }
        .wall-layout {
            display: grid;
            grid-template-columns: 1.15fr .85fr;
            gap: 28px;
            align-items: end;
        }
        .wall-title p { max-width: 610px; }
        .supporter-stream {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 13px;
        }
        .supporter {
            min-height: 145px;
            padding: 18px;
            border: 1px solid rgba(157,177,255,.19);
            border-radius: 18px;
            background: rgba(255,255,255,.045);
            transition: transform .2s ease, border-color .2s ease, background .2s ease;
        }
        .supporter:hover {
            transform: translateY(-4px);
            border-color: rgba(24,227,255,.62);
            background: rgba(24,227,255,.08);
        }
        .supporter:nth-child(2) { transform: translateY(-19px); }
        .supporter:nth-child(2):hover { transform: translateY(-23px); }
        .supporter-head {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 12px;
        }
        .avatar {
            display: grid;
            place-items: center;
            width: 33px;
            height: 33px;
            border-radius: 50%;
            color: #0b1337;
            background: linear-gradient(135deg, var(--cyan), var(--lime));
            font-size: .73rem;
            font-weight: 900;
        }
        .supporter strong {
            display: block;
            color: var(--white);
            font-size: .85rem;
            line-height: 1.2;
        }
        .supporter small {
            display: block;
            margin-top: 2px;
            color: #96a5cd;
            font-size: .72rem;
        }
        .supporter p {
            margin: 0;
            color: #c2cce4;
            font-size: .84rem;
            line-height: 1.48;
        }
        .wall-side {
            padding: 31px;
            border: 1px solid rgba(24,227,255,.28);
            border-radius: var(--radius-xl);
            background: linear-gradient(145deg, rgba(21,38,93,.9), rgba(13,17,51,.88));
            box-shadow: var(--shadow-neon);
        }
        .wall-side h3 { font-size: 1.5rem; }
        .wall-side p { color: #b7c5e4; }
        .criteria {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 20px 0 24px;
        }
        .criteria span {
            padding: 6px 10px;
            border: 1px solid rgba(206,255,55,.25);
            border-radius: 99px;
            color: #e7ffd2;
            background: rgba(206,255,55,.07);
            font-size: .75rem;
            font-weight: 700;
        }

        .game-strip-section {
            padding-bottom: 84px;
            background: #111946;
        }
        .game-strip-header {
            display: grid;
            grid-template-columns: 1fr .82fr;
            gap: 38px;
            align-items: end;
            margin-bottom: 30px;
        }
        .game-strip-header .section-intro { margin: 0; }
        .game-rail {
            display: grid;
            grid-auto-flow: column;
            grid-auto-columns: minmax(225px, 1fr);
            gap: 15px;
            overflow-x: auto;
            padding: 5px 3px 18px;
            scrollbar-width: thin;
            scrollbar-color: var(--cyan) rgba(255,255,255,.08);
        }
        .game-rail::-webkit-scrollbar { height: 7px; }
        .game-rail::-webkit-scrollbar-thumb { border-radius: 10px; background: var(--cyan); }
        .game-card {
            position: relative;
            min-height: 268px;
            overflow: hidden;
            border: 1px solid rgba(95,177,255,.33);
            border-radius: 20px;
            background: #15215a;
            box-shadow: 0 15px 31px rgba(1,5,24,.22);
            transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
        }
        .game-card:hover {
            z-index: 2;
            transform: translateY(-8px) scale(1.02);
            border-color: var(--cyan);
            box-shadow: 0 0 22px rgba(24,227,255,.22), 0 22px 35px rgba(1,5,24,.3);
        }
        .game-card img {
            width: 100%;
            height: 268px;
            object-fit: cover;
            transition: transform .35s ease;
        }
        .game-card:hover img { transform: scale(1.08); }
        .game-overlay {
            position: absolute;
            inset: 0;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 18px;
            background: linear-gradient(180deg, transparent 25%, rgba(6,9,30,.92) 100%);
        }
        .game-status {
            position: absolute;
            top: 14px;
            right: 14px;
            padding: 5px 8px;
            border: 1px solid rgba(255,255,255,.28);
            border-radius: 6px;
            color: #071021;
            background: var(--lime);
            font-size: .67rem;
            font-weight: 900;
        }
        .game-card h3 { margin-bottom: 5px; font-size: 1.14rem; }
        .game-card p { margin: 0; color: #d3ddf4; font-size: .8rem; line-height: 1.42; }
        .game-card .game-arrow {
            position: absolute;
            top: 18px;
            left: 18px;
            opacity: 0;
            color: var(--cyan);
            transition: opacity .2s ease;
        }
        .game-card:hover .game-arrow { opacity: 1; }

        .updates-section {
            color: var(--ink);
            background: var(--paper);
        }
        .updates-section h2,
        .updates-section h3 { color: var(--ink); }
        .updates-section .eyebrow { color: #167187; }
        .updates-section .eyebrow::before { background: #123a8f; box-shadow: none; }
        .updates-section .section-intro { color: var(--muted-dark); }
        .updates-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr);
            gap: 45px;
            align-items: start;
        }
        .updates-list {
            border-top: 1px solid #d5def1;
        }
        .update-item {
            display: grid;
            grid-template-columns: 94px minmax(0, 1fr) 27px;
            gap: 17px;
            align-items: center;
            padding: 20px 0;
            border-bottom: 1px solid #d5def1;
        }
        .update-date {
            color: #456282;
            font-size: .74rem;
            font-weight: 800;
            line-height: 1.35;
        }
        .update-date span {
            display: block;
            color: #162866;
            font-size: .91rem;
        }
        .update-main a {
            display: inline-block;
            margin-bottom: 5px;
            color: #121d4a;
            font-size: 1.05rem;
            font-weight: 800;
            line-height: 1.35;
        }
        .update-main a:hover { color: #005ee8; }
        .update-main p {
            margin: 0;
            color: #66728e;
            font-size: .86rem;
            line-height: 1.48;
        }
        .update-arrow { color: #2560c4; font-size: 1rem; }
        .empty-updates {
            padding: 30px 0;
            color: #5e6a86;
            font-weight: 700;
        }
        .update-aside {
            padding: 27px;
            border-radius: var(--radius-xl);
            color: var(--white);
            background:
                linear-gradient(160deg, rgba(12,23,70,.74), rgba(9,13,34,.95)),
                url('/assets/images/coverpic/cover-6.jpg') center / cover no-repeat;
            box-shadow: 0 18px 35px rgba(32,42,92,.16);
        }
        .update-aside h3 { color: var(--white); font-size: 1.55rem; }
        .update-aside p { color: #c9d7ee; font-size: .91rem; }
        .aside-points {
            margin: 20px 0 25px;
            padding: 0;
            list-style: none;
        }
        .aside-points li {
            display: flex;
            gap: 10px;
            margin-bottom: 11px;
            color: #e6edfc;
            font-size: .86rem;
            line-height: 1.42;
        }
        .aside-points i { color: var(--lime); margin-top: 3px; }

        .faq-section {
            background: linear-gradient(150deg, #09102c, #141644 54%, #151264);
        }
        .faq-layout {
            display: grid;
            grid-template-columns: .72fr 1.28fr;
            gap: 66px;
            align-items: start;
        }
        .faq-side {
            position: sticky;
            top: 104px;
        }
        .faq-side p { max-width: 390px; }
        .faq-list { border-top: 1px solid rgba(167,190,255,.22); }
        .faq-list details {
            border-bottom: 1px solid rgba(167,190,255,.22);
        }
        .faq-list summary {
            position: relative;
            padding: 21px 42px 21px 0;
            color: var(--white);
            cursor: pointer;
            font-size: 1.03rem;
            font-weight: 800;
            line-height: 1.4;
            list-style: none;
        }
        .faq-list summary::-webkit-details-marker { display: none; }
        .faq-list summary::after {
            content: "+";
            position: absolute;
            top: 17px;
            right: 4px;
            color: var(--cyan);
            font-size: 1.6rem;
            font-weight: 400;
            transition: transform .2s ease;
        }
        .faq-list details[open] summary::after { transform: rotate(45deg); color: var(--lime); }
        .faq-answer {
            max-width: 690px;
            padding: 0 35px 21px 0;
            color: #bcc9e4;
            font-size: .92rem;
        }
        .faq-answer p { margin: 0; color: inherit; }

        .cta-section {
            padding: 94px 0;
            text-align: center;
            background:
                linear-gradient(135deg, rgba(19, 17, 86, .88), rgba(5, 33, 67, .9)),
                url('/assets/images/backpic/back-3.jpg') center / cover no-repeat;
        }
        .cta-box {
            max-width: 800px;
            margin: 0 auto;
        }
        .cta-box .eyebrow { justify-content: center; }
        .cta-box p {
            max-width: 650px;
            margin: 0 auto 27px;
            color: #c9d5ee;
            font-size: 1.03rem;
        }
        .cta-actions {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 12px;
        }
        .trust-strip {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1px;
            max-width: 960px;
            margin: 45px auto 0;
            overflow: hidden;
            border: 1px solid rgba(183,220,255,.19);
            border-radius: 16px;
            background: rgba(255,255,255,.12);
        }
        .trust-item {
            padding: 16px 13px;
            background: rgba(4, 12, 38, .54);
            color: #d9e6f7;
            font-size: .79rem;
            font-weight: 700;
        }
        .trust-item i {
            display: block;
            margin-bottom: 7px;
            color: var(--lime);
            font-size: 1.05rem;
        }

        .site-footer {
            padding: 58px 0 23px;
            border-top: 1px solid rgba(153,177,255,.16);
            background: #070b1d;
        }
        .footer-grid {
            display: grid;
            grid-template-columns: 1.35fr .8fr .8fr;
            gap: 50px;
            padding-bottom: 41px;
        }
        .footer-brand .brand {
            margin-bottom: 17px;
        }
        .footer-brand p {
            max-width: 400px;
            margin-bottom: 0;
            color: #9dacca;
            font-size: .87rem;
        }
        .footer-title {
            margin: 4px 0 15px;
            color: #eaf1ff;
            font-size: .83rem;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }
        .footer-links {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .footer-links li { margin-bottom: 10px; }
        .footer-links a {
            color: #a6b4d0;
            font-size: .87rem;
        }
        .footer-links a:hover { color: var(--cyan); }
        .footer-note {
            padding: 17px;
            border: 1px solid rgba(24,227,255,.16);
            border-radius: 15px;
            background: rgba(24,227,255,.04);
        }
        .footer-note p {
            margin: 0;
            color: #a9b7d0;
            font-size: .81rem;
            line-height: 1.55;
        }
        .footer-bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding-top: 22px;
            border-top: 1px solid rgba(153,177,255,.12);
            color: #71809f;
            font-size: .76rem;
        }
        .footer-bottom a { color: #8c9bbb; }
        .footer-bottom a:hover { color: var(--cyan); }

        .support-fab {
            position: fixed;
            z-index: 120;
            left: 16px;
            bottom: 96px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 56px;
            height: 56px;
            border: 1px solid transparent;
            border-radius: 17px;
            color: var(--cyan);
            background:
                linear-gradient(#0a1028, #0a1028) padding-box,
                linear-gradient(135deg, var(--cyan), var(--lime), var(--pink)) border-box;
            box-shadow: 0 0 18px rgba(24,227,255,.45), inset 0 0 15px rgba(24,227,255,.07);
            opacity: .72;
            animation: fab-breathe 2.2s ease-in-out infinite;
        }
        .support-fab::after {
            content: "Mới";
            position: absolute;
            top: -8px;
            right: -9px;
            padding: 2px 5px;
            border-radius: 4px;
            color: #fff;
            background: var(--pink);
            box-shadow: 0 0 9px rgba(255,77,160,.75);
            font-size: .57rem;
            font-weight: 900;
            text-transform: uppercase;
        }
        .support-fab i { font-size: 1.35rem; }
        .support-fab:hover {
            color: var(--lime);
            opacity: 1;
            transform: scale(1.1);
            box-shadow: 0 0 30px rgba(24,227,255,.72), inset 0 0 20px rgba(206,255,55,.10);
        }
        .support-fab:hover i { animation: flicker .45s linear; }
        .support-fab:active { transform: scale(.94); }
        @keyframes fab-breathe {
            50% { opacity: 1; box-shadow: 0 0 25px rgba(24,227,255,.6), inset 0 0 15px rgba(24,227,255,.09); }
        }
        @keyframes flicker {
            0%, 100% { opacity: 1; }
            24%, 57% { opacity: .25; }
            40%, 72% { opacity: .9; }
        }

        @media (max-width: 1024px) {
            .topbar { gap: 12px; }
            .brand { min-width: 177px; }
            .brand-copy { font-size: .79rem; }
            .primary-nav { gap: 0; }
            .primary-nav a { padding-inline: 8px; font-size: .8rem; }
            .hero-dashboard { grid-template-columns: 1fr 1.2fr 1fr; }
            .wall-layout, .faq-layout { gap: 35px; }
            .footer-grid { gap: 28px; }
        }
        @media (max-width: 800px) {
            .container { width: min(100% - 32px, 1180px); }
            .section { padding: 72px 0; }
            .site-header { position: relative; }
            .topbar { min-height: 67px; }
            .brand { min-width: 0; }
            .brand-copy { max-width: 160px; }
            .menu-toggle { display: inline-grid; place-items: center; }
            .primary-nav {
                display: none;
                position: absolute;
                top: 67px;
                right: 0;
                left: 0;
                flex-direction: column;
                align-items: stretch;
                padding: 12px 16px 17px;
                border-bottom: 1px solid var(--line);
                background: rgba(9,13,34,.98);
                box-shadow: 0 18px 35px rgba(0,0,0,.3);
            }
            .primary-nav.is-open { display: flex; }
            .primary-nav a { padding: 12px 7px; font-size: .92rem; }
            .primary-nav a::after { right: auto; left: 7px; width: 32px; }
            .header-actions { gap: 4px; }
            .header-link { display: none; }
            .header-actions .btn { min-height: 38px; padding: 8px 10px; font-size: .73rem; }
            .section-heading, .game-strip-header { display: block; }
            .section-heading .section-intro, .game-strip-header .section-intro { margin-top: 14px; }
            .hero { padding-top: 55px; }
            .hero-dashboard { grid-template-columns: 1fr 1fr; }
            .hero-tier { grid-column: 1 / -1; }
            .progress-grid, .tier-layout, .wall-layout, .updates-grid, .faq-layout { grid-template-columns: 1fr; }
            .progress-ring-wrap { width: 285px; }
            .goal-content { max-width: 650px; margin: 0 auto; }
            .tier-feature { position: relative; top: auto; min-height: 275px; }
            .feature-code { margin-top: 36px; }
            .wall-side { margin-top: 20px; }
            .faq-side { position: relative; top: auto; }
            .footer-grid { grid-template-columns: 1.2fr 1fr; }
            .footer-brand { grid-column: 1 / -1; }
        }
        @media (max-width: 520px) {
            body { font-size: 15px; }
            .container { width: min(100% - 28px, 1180px); }
            .section { padding: 59px 0; }
            h1 { font-size: 2.25rem; }
            h2 { font-size: 1.72rem; }
            .brand-mark { width: 33px; height: 33px; flex-basis: 33px; }
            .brand-copy { max-width: 125px; font-size: .72rem; }
            .header-actions .btn { padding: 8px 9px; }
            .menu-toggle { width: 37px; height: 37px; }
            .hero { padding: 45px 0 34px; }
            .hero-lead { font-size: .95rem; }
            .hero-actions { margin: 24px 0 28px; }
            .hero-actions .btn { width: 100%; }
            .hero-dashboard { grid-template-columns: 1fr; }
            .hero-tier { grid-column: auto; }
            .hero-stat, .hero-tier, .hero-signal { min-height: 112px; padding: 18px; }
            .goal-list { grid-template-columns: 1fr; }
            .progress-ring-wrap { width: 245px; }
            .ring-copy strong { font-size: 3.35rem; }
            .tier-card { grid-template-columns: 49px 1fr; gap: 13px; padding: 16px; }
            .tier-icon { width: 47px; height: 47px; border-radius: 13px; }
            .tier-level { grid-column: 2; text-align: left; }
            .supporter-stream { grid-template-columns: 1fr; }
            .supporter:nth-child(2), .supporter:nth-child(2):hover { transform: none; }
            .wall-side { padding: 23px; }
            .game-rail { grid-auto-columns: 76%; }
            .updates-grid { gap: 28px; }
            .update-item { grid-template-columns: 63px minmax(0, 1fr) 18px; gap: 11px; }
            .update-date { font-size: .67rem; }
            .update-date span { font-size: .8rem; }
            .update-main a { font-size: .95rem; }
            .update-aside { padding: 23px; }
            .faq-layout { gap: 25px; }
            .faq-list summary { font-size: .94rem; }
            .trust-strip { grid-template-columns: 1fr 1fr; }
            .footer-grid { grid-template-columns: 1fr; gap: 26px; }
            .footer-brand { grid-column: auto; }
            .footer-bottom { flex-direction: column; align-items: flex-start; }
            .support-fab { left: 14px; bottom: 20px; width: 52px; height: 52px; }
        }

/* roulang page: article */
:root {
            --ink: #0c1022;
            --ink-soft: #151c38;
            --navy: #111a42;
            --navy-deep: #090d22;
            --violet: #2c1764;
            --cyan: #18e3ff;
            --cyan-soft: #83f5ff;
            --lime: #ceff37;
            --pink: #ff4da0;
            --white: #f7fbff;
            --muted: #a7b4d3;
            --muted-dark: #64718e;
            --line: rgba(135, 170, 255, .19);
            --line-strong: rgba(24, 227, 255, .52);
            --paper: #f3f6ff;
            --paper-2: #e9effd;
            --radius-xl: 30px;
            --radius-lg: 22px;
            --radius-md: 15px;
            --radius-sm: 10px;
            --shadow-lg: 0 28px 70px rgba(4, 9, 31, .32);
            --shadow-neon: 0 0 0 1px rgba(24,227,255,.18), 0 0 30px rgba(24,227,255,.16);
            --font-display: Arial, "Helvetica Neue", sans-serif;
            --font-body: Arial, "Helvetica Neue", sans-serif;
        }

        html {
            scroll-behavior: smooth;
        }

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            min-width: 320px;
            color: var(--white);
            background: var(--navy-deep);
            font-family: var(--font-body);
            font-size: 16px;
            line-height: 1.62;
            overflow-x: hidden;
        }

        body::before {
            content: "";
            position: fixed;
            z-index: -2;
            inset: 0;
            background:
                radial-gradient(circle at 8% 18%, rgba(47, 28, 133, .54), transparent 30%),
                radial-gradient(circle at 91% 9%, rgba(0, 205, 255, .11), transparent 23%),
                linear-gradient(180deg, #10163a 0%, #080d22 51%, #0b1028 100%);
        }

        body::after {
            content: "";
            position: fixed;
            z-index: -1;
            inset: 0;
            opacity: .22;
            pointer-events: none;
            background-image:
                linear-gradient(rgba(107, 191, 255, .16) 1px, transparent 1px),
                linear-gradient(90deg, rgba(107, 191, 255, .16) 1px, transparent 1px);
            background-size: 54px 54px;
            mask-image: linear-gradient(to bottom, black, transparent 70%);
        }

        h1, h2, h3, h4, p {
            margin-top: 0;
        }

        h1, h2, h3, h4 {
            color: var(--white);
            font-family: var(--font-display);
            line-height: 1.12;
            letter-spacing: -.035em;
        }

        h1 {
            margin-bottom: 20px;
            font-size: clamp(2.25rem, 5vw, 4.5rem);
            font-weight: 900;
        }

        h2 {
            margin-bottom: 16px;
            font-size: clamp(1.85rem, 3vw, 3rem);
            font-weight: 850;
        }

        h3 {
            margin-bottom: 10px;
            font-size: 1.26rem;
        }

        p {
            color: var(--muted);
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: color .22s ease, opacity .22s ease, transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
        }

        a:hover {
            color: var(--cyan-soft);
        }

        img {
            display: block;
            max-width: 100%;
            height: auto;
        }

        button, input, textarea {
            font: inherit;
        }

        button {
            cursor: pointer;
        }

        :focus-visible {
            outline: 3px solid var(--lime);
            outline-offset: 3px;
        }

        .container {
            width: min(1180px, calc(100% - 48px));
            margin-inline: auto;
        }

        .section {
            position: relative;
            padding: 94px 0;
        }

        .section--compact {
            padding: 66px 0;
        }

        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin: 0 0 14px;
            color: var(--cyan-soft);
            font-size: .76rem;
            line-height: 1.2;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }

        .eyebrow::before {
            content: "";
            display: inline-block;
            width: 22px;
            height: 2px;
            border-radius: 5px;
            background: var(--lime);
            box-shadow: 0 0 10px var(--lime);
        }

        .section-heading {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 38px;
        }

        .section-heading .section-intro {
            max-width: 570px;
        }

        .section-intro {
            max-width: 680px;
            margin-bottom: 0;
            font-size: 1.04rem;
        }

        .text-cyan {
            color: var(--cyan);
        }

        .text-lime {
            color: var(--lime);
        }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 100;
            border-bottom: 1px solid rgba(151, 173, 255, .12);
            background: rgba(9, 13, 34, .82);
            backdrop-filter: blur(18px);
        }

        .topbar {
            display: flex;
            align-items: center;
            min-height: 76px;
            gap: 22px;
        }

        .brand {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            flex: 0 0 auto;
            min-width: 210px;
            color: var(--white);
            font-family: var(--font-display);
            font-weight: 800;
            letter-spacing: -.03em;
            line-height: 1.05;
        }

        .brand:hover {
            color: var(--white);
        }

        .brand-mark {
            display: grid;
            place-items: center;
            width: 36px;
            height: 36px;
            flex: 0 0 36px;
            border: 1px solid var(--cyan);
            border-radius: 11px;
            color: var(--navy-deep);
            background: linear-gradient(135deg, var(--cyan), var(--lime));
            box-shadow: 0 0 18px rgba(24, 227, 255, .35);
            font-size: 1rem;
        }

        .brand-copy {
            max-width: 185px;
            font-size: .9rem;
        }

        .primary-nav {
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 1;
            gap: 5px;
        }

        .primary-nav a {
            position: relative;
            padding: 10px 12px;
            color: #c4cde7;
            font-size: .875rem;
            font-weight: 700;
            white-space: nowrap;
        }

        .primary-nav a::after {
            content: "";
            position: absolute;
            right: 12px;
            bottom: 4px;
            left: 12px;
            height: 2px;
            border-radius: 5px;
            background: var(--cyan);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .2s ease;
        }

        .primary-nav a:hover,
        .primary-nav a.active {
            color: var(--white);
        }

        .primary-nav a:hover::after,
        .primary-nav a.active::after {
            transform: scaleX(1);
        }

        .header-actions {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 9px;
            flex: 0 0 auto;
        }

        .action-link {
            padding: 10px 7px;
            color: var(--muted);
            font-size: .83rem;
            font-weight: 800;
            white-space: nowrap;
        }

        .action-link:hover {
            color: var(--white);
        }

        .button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 46px;
            padding: 11px 18px;
            border: 1px solid transparent;
            border-radius: 12px;
            color: var(--navy-deep);
            background: linear-gradient(120deg, var(--cyan), #72f4ff 52%, var(--lime));
            box-shadow: 0 9px 22px rgba(24, 227, 255, .18);
            font-size: .9rem;
            font-weight: 850;
            line-height: 1.2;
        }

        .button:hover {
            color: var(--navy-deep);
            transform: translateY(-2px);
            box-shadow: 0 13px 28px rgba(24, 227, 255, .3);
        }

        .button:active {
            transform: translateY(1px);
        }

        .button--outline {
            color: var(--cyan-soft);
            border-color: var(--line-strong);
            background: rgba(17, 26, 66, .55);
            box-shadow: none;
        }

        .button--outline:hover {
            color: var(--white);
            border-color: var(--cyan);
            background: rgba(24, 227, 255, .1);
        }

        .button--small {
            min-height: 40px;
            padding: 9px 14px;
            font-size: .82rem;
        }

        .menu-toggle {
            display: none;
            width: 44px;
            height: 42px;
            border: 1px solid var(--line);
            border-radius: 11px;
            color: var(--cyan);
            background: rgba(21, 28, 56, .86);
        }

        .page-banner {
            position: relative;
            isolation: isolate;
            overflow: hidden;
            padding: 92px 0 82px;
            background:
                linear-gradient(90deg, rgba(8, 13, 34, .96) 0%, rgba(8, 13, 34, .78) 48%, rgba(8, 13, 34, .66) 100%),
                url("/assets/images/backpic/back-2.jpg") center/cover no-repeat;
            border-bottom: 1px solid rgba(24, 227, 255, .16);
        }

        .page-banner::after {
            content: "";
            position: absolute;
            z-index: -1;
            width: 420px;
            height: 420px;
            right: 7%;
            top: -190px;
            border: 1px solid rgba(24, 227, 255, .22);
            border-radius: 50%;
            box-shadow: 0 0 0 35px rgba(24, 227, 255, .035), 0 0 0 70px rgba(24, 227, 255, .025);
        }

        .banner-content {
            max-width: 790px;
        }

        .breadcrumb {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 24px;
            color: var(--muted);
            font-size: .85rem;
        }

        .breadcrumb i {
            color: var(--cyan);
            font-size: .68rem;
        }

        .banner-content h1 {
            max-width: 880px;
            font-size: clamp(2.15rem, 4.6vw, 4rem);
        }

        .banner-content > p {
            max-width: 730px;
            margin-bottom: 25px;
            color: #d0d9f0;
            font-size: 1.08rem;
        }

        .article-meta {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 12px 20px;
            color: var(--muted);
            font-size: .86rem;
        }

        .meta-item {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .meta-item i {
            color: var(--cyan);
        }

        .category-badge,
        .data-badge,
        .trust-badge {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            border: 1px solid rgba(24, 227, 255, .32);
            border-radius: 999px;
            color: var(--cyan-soft);
            background: rgba(24, 227, 255, .08);
            font-size: .75rem;
            font-weight: 800;
            line-height: 1;
        }

        .category-badge {
            padding: 8px 12px;
        }

        .article-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 300px;
            align-items: start;
            gap: 54px;
        }

        .article-main {
            min-width: 0;
        }

        .article-lead {
            margin-bottom: 27px;
            color: #dbe4fa;
            font-size: 1.14rem;
            line-height: 1.72;
        }

        .article-cover {
            position: relative;
            overflow: hidden;
            margin: 0 0 34px;
            border: 1px solid var(--line);
            border-radius: var(--radius-xl);
            background: var(--ink-soft);
            box-shadow: var(--shadow-lg);
        }

        .article-cover img {
            width: 100%;
            min-height: 310px;
            object-fit: cover;
            opacity: .9;
        }

        .article-cover::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(145deg, rgba(24, 227, 255, .1), transparent 48%, rgba(44, 23, 100, .36));
            pointer-events: none;
        }

        .article-content {
            color: #cbd6ee;
            font-size: 1.02rem;
        }

        .article-content h2,
        .article-content h3,
        .article-content h4 {
            margin-top: 35px;
            margin-bottom: 14px;
        }

        .article-content h2 {
            font-size: clamp(1.55rem, 2.8vw, 2.2rem);
        }

        .article-content h3 {
            color: var(--cyan-soft);
            font-size: 1.35rem;
        }

        .article-content p {
            margin-bottom: 18px;
            color: #cbd6ee;
        }

        .article-content ul,
        .article-content ol {
            margin: 0 0 22px 20px;
            color: #cbd6ee;
        }

        .article-content li {
            margin-bottom: 9px;
            padding-left: 5px;
        }

        .article-content li::marker {
            color: var(--cyan);
        }

        .article-content strong {
            color: var(--white);
        }

        .article-content a {
            color: var(--cyan-soft);
            text-decoration: underline;
            text-decoration-color: rgba(24, 227, 255, .45);
            text-underline-offset: 3px;
        }

        .article-content blockquote {
            margin: 28px 0;
            padding: 20px 23px;
            border-left: 3px solid var(--lime);
            border-radius: 0 var(--radius-md) var(--radius-md) 0;
            color: #edf7ff;
            background: rgba(24, 227, 255, .07);
            box-shadow: inset 0 0 35px rgba(24, 227, 255, .04);
        }

        .article-aside {
            position: sticky;
            top: 104px;
        }

        .aside-box {
            margin-bottom: 18px;
            padding: 23px;
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            background: linear-gradient(145deg, rgba(21, 28, 56, .94), rgba(13, 18, 46, .84));
            box-shadow: 0 18px 44px rgba(3, 7, 25, .22);
        }

        .aside-box h3 {
            margin-bottom: 17px;
            font-size: 1.08rem;
        }

        .aside-list {
            display: grid;
            gap: 12px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .aside-list li {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            color: var(--muted);
            font-size: .91rem;
        }

        .aside-list i {
            margin-top: 5px;
            color: var(--lime);
            font-size: .75rem;
        }

        .score-line {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 15px;
            margin-bottom: 11px;
            color: var(--muted);
            font-size: .83rem;
        }

        .score-line strong {
            color: var(--white);
            font-size: 1rem;
        }

        .progress-track {
            height: 8px;
            overflow: hidden;
            border-radius: 99px;
            background: rgba(167, 180, 211, .16);
        }

        .progress-track span {
            display: block;
            width: 92%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, var(--cyan), var(--lime));
            box-shadow: 0 0 12px rgba(24, 227, 255, .55);
        }

        .quick-summary {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
            margin: 0 0 36px;
        }

        .summary-item {
            padding: 18px 19px;
            border-top: 2px solid var(--cyan);
            border-radius: 0 0 var(--radius-md) var(--radius-md);
            background: rgba(21, 28, 56, .72);
        }

        .summary-item strong {
            display: block;
            margin-bottom: 4px;
            color: var(--white);
            font-size: 1.45rem;
            line-height: 1.2;
        }

        .summary-item span {
            color: var(--muted);
            font-size: .8rem;
        }

        .article-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            margin-top: 43px;
            padding-top: 24px;
            border-top: 1px solid var(--line);
        }

        .article-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .data-badge {
            padding: 8px 11px;
            color: #d8faff;
            border-color: var(--line);
            background: rgba(255, 255, 255, .045);
        }

        .reading-note {
            padding: 22px 0 0;
            border-top: 1px solid var(--line);
            color: var(--muted-dark);
            font-size: .86rem;
        }

        .related-section {
            border-top: 1px solid rgba(135, 170, 255, .1);
            background: linear-gradient(180deg, rgba(21, 28, 56, .28), transparent);
        }

        .related-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
        }

        .related-card {
            position: relative;
            display: flex;
            flex-direction: column;
            min-height: 245px;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            background: var(--ink-soft);
            transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
        }

        .related-card:hover {
            transform: translateY(-6px);
            border-color: var(--line-strong);
            box-shadow: var(--shadow-neon);
        }

        .related-card-image {
            height: 112px;
            overflow: hidden;
        }

        .related-card-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .4s ease;
        }

        .related-card:hover .related-card-image img {
            transform: scale(1.06);
        }

        .related-card-body {
            display: flex;
            flex: 1;
            flex-direction: column;
            padding: 17px 18px 19px;
        }

        .related-card-body h3 {
            margin-bottom: 8px;
            font-size: 1.05rem;
        }

        .related-card-body p {
            margin-bottom: 12px;
            font-size: .87rem;
            line-height: 1.5;
        }

        .related-card-link {
            margin-top: auto;
            color: var(--cyan-soft);
            font-size: .82rem;
            font-weight: 800;
        }

        .responsible-strip {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 25px;
            padding: 25px 29px;
            border: 1px solid rgba(206, 255, 55, .25);
            border-radius: var(--radius-lg);
            background: linear-gradient(105deg, rgba(206, 255, 55, .08), rgba(24, 227, 255, .06));
        }

        .responsible-strip h3 {
            margin-bottom: 6px;
            font-size: 1.15rem;
        }

        .responsible-strip p {
            margin: 0;
            font-size: .9rem;
        }

        .responsible-strip .button {
            flex: 0 0 auto;
        }

        .not-found {
            max-width: 720px;
            margin: 0 auto;
            padding: 70px 35px;
            text-align: center;
            border: 1px solid var(--line);
            border-radius: var(--radius-xl);
            background: rgba(21, 28, 56, .75);
            box-shadow: var(--shadow-lg);
        }

        .not-found i {
            display: block;
            margin-bottom: 20px;
            color: var(--cyan);
            font-size: 2.4rem;
        }

        .not-found p {
            margin-bottom: 23px;
        }

        .site-footer {
            padding: 67px 0 25px;
            border-top: 1px solid rgba(135, 170, 255, .16);
            background: #080c20;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.45fr .7fr 1fr;
            gap: 60px;
            padding-bottom: 48px;
        }

        .footer-brand .brand {
            margin-bottom: 18px;
        }

        .footer-brand p {
            max-width: 410px;
            margin: 0;
            font-size: .9rem;
        }

        .footer-title {
            margin: 0 0 16px;
            color: var(--white);
            font-size: .88rem;
            font-weight: 850;
        }

        .footer-links {
            display: grid;
            gap: 9px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .footer-links a {
            color: var(--muted);
            font-size: .87rem;
        }

        .footer-links a:hover {
            color: var(--cyan-soft);
            padding-left: 3px;
        }

        .footer-note {
            max-width: 370px;
            padding: 15px 17px;
            border-left: 2px solid var(--lime);
            background: rgba(206, 255, 55, .045);
        }

        .footer-note p {
            margin: 0;
            color: var(--muted);
            font-size: .83rem;
        }

        .footer-bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            padding-top: 22px;
            border-top: 1px solid rgba(135, 170, 255, .12);
            color: var(--muted-dark);
            font-size: .78rem;
        }

        .footer-bottom a {
            color: var(--muted);
            font-weight: 700;
        }

        .footer-bottom a:hover {
            color: var(--cyan-soft);
        }

        .fab-support {
            position: fixed;
            left: 16px;
            bottom: 96px;
            z-index: 50;
            display: grid;
            place-items: center;
            width: 54px;
            height: 54px;
            border: 1px solid var(--cyan);
            border-radius: 17px;
            color: var(--cyan);
            background: rgba(8, 13, 34, .88);
            box-shadow: 0 0 16px rgba(0, 240, 255, .38);
            opacity: .75;
            transition: transform .25s ease, opacity .25s ease, box-shadow .25s ease, color .25s ease;
        }

        .fab-support::before {
            content: "";
            position: absolute;
            inset: -4px;
            border: 1px solid rgba(206, 255, 55, .45);
            border-radius: 20px;
            animation: fabPulse 2.8s ease-in-out infinite;
        }

        .fab-support:hover {
            color: var(--lime);
            opacity: 1;
            transform: scale(1.1);
            box-shadow: 0 0 28px rgba(24, 227, 255, .68);
        }

        .fab-support i {
            font-size: 1.15rem;
            transition: transform .45s ease;
        }

        .fab-support:hover i {
            transform: rotate(360deg);
        }

        .fab-dot {
            position: absolute;
            top: 2px;
            right: 2px;
            width: 9px;
            height: 9px;
            border: 2px solid var(--navy-deep);
            border-radius: 50%;
            background: var(--pink);
            animation: dotBlink 1.5s ease-in-out infinite;
        }

        @keyframes fabPulse {
            0%, 100% { opacity: .35; transform: scale(.94); }
            50% { opacity: .9; transform: scale(1.04); }
        }

        @keyframes dotBlink {
            0%, 100% { opacity: 1; }
            50% { opacity: .35; }
        }

        @media (max-width: 1024px) {
            .topbar {
                gap: 13px;
            }

            .brand {
                min-width: 185px;
            }

            .primary-nav a {
                padding-inline: 8px;
                font-size: .8rem;
            }

            .article-layout {
                grid-template-columns: minmax(0, 1fr) 270px;
                gap: 34px;
            }

            .footer-grid {
                gap: 35px;
            }
        }

        @media (max-width: 768px) {
            .container {
                width: min(100% - 34px, 620px);
            }

            .topbar {
                position: relative;
                min-height: 70px;
                flex-wrap: wrap;
                padding: 12px 0;
            }

            .brand {
                min-width: 0;
                flex: 1;
            }

            .header-actions {
                margin-left: auto;
                gap: 4px;
            }

            .action-link {
                padding: 9px 4px;
                font-size: .76rem;
            }

            .header-actions .button {
                min-height: 38px;
                padding: 8px 11px;
                font-size: .76rem;
            }

            .menu-toggle {
                display: block;
            }

            .primary-nav {
                display: none;
                order: 5;
                width: 100%;
                flex: 0 0 100%;
                align-items: stretch;
                flex-direction: column;
                gap: 0;
                padding: 8px 0 4px;
                border-top: 1px solid var(--line);
            }

            .primary-nav.is-open {
                display: flex;
            }

            .primary-nav a {
                padding: 12px 8px;
                border-bottom: 1px solid rgba(135, 170, 255, .08);
            }

            .primary-nav a::after {
                right: 8px;
                bottom: 0;
                left: 8px;
            }

            .page-banner {
                padding: 67px 0 60px;
            }

            .section {
                padding: 68px 0;
            }

            .section-heading {
                display: block;
                margin-bottom: 27px;
            }

            .section-heading h2 {
                margin-bottom: 12px;
            }

            .article-layout {
                display: block;
            }

            .article-aside {
                position: static;
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 15px;
                margin-top: 40px;
            }

            .aside-box {
                margin-bottom: 0;
            }

            .quick-summary {
                gap: 9px;
            }

            .summary-item {
                padding: 15px 13px;
            }

            .summary-item strong {
                font-size: 1.2rem;
            }

            .related-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .footer-grid {
                grid-template-columns: 1fr 1fr;
                gap: 32px;
            }

            .footer-brand {
                grid-column: 1 / -1;
            }

            .responsible-strip {
                align-items: flex-start;
                flex-direction: column;
            }
        }

        @media (max-width: 520px) {
            .container {
                width: min(100% - 28px, 480px);
            }

            .brand-copy {
                max-width: 145px;
                font-size: .78rem;
            }

            .brand-mark {
                width: 32px;
                height: 32px;
                flex-basis: 32px;
            }

            .header-actions .action-link {
                display: none;
            }

            .header-actions .button {
                padding-inline: 10px;
            }

            .menu-toggle {
                width: 40px;
                height: 38px;
            }

            .page-banner {
                padding: 52px 0 48px;
            }

            .banner-content h1 {
                font-size: 2.08rem;
            }

            .banner-content > p {
                font-size: .98rem;
            }

            .article-meta {
                align-items: flex-start;
                flex-direction: column;
                gap: 9px;
            }

            .article-cover img {
                min-height: 220px;
            }

            .quick-summary {
                grid-template-columns: 1fr;
            }

            .article-content {
                font-size: .98rem;
            }

            .article-footer {
                align-items: flex-start;
                flex-direction: column;
            }

            .article-aside {
                display: block;
            }

            .aside-box {
                margin-bottom: 15px;
            }

            .related-grid {
                grid-template-columns: 1fr;
            }

            .footer-grid {
                grid-template-columns: 1fr;
                gap: 28px;
            }

            .footer-brand {
                grid-column: auto;
            }

            .footer-bottom {
                align-items: flex-start;
                flex-direction: column;
                gap: 10px;
            }

            .fab-support {
                left: 13px;
                bottom: 76px;
            }
        }

/* roulang page: category1 */
:root {
            --ink: #0c1022;
            --ink-soft: #151c38;
            --navy: #111a42;
            --navy-deep: #090d22;
            --violet: #2c1764;
            --cyan: #18e3ff;
            --cyan-soft: #83f5ff;
            --lime: #ceff37;
            --pink: #ff4da0;
            --white: #f7fbff;
            --muted: #a7b4d3;
            --muted-dark: #64718e;
            --line: rgba(135, 170, 255, .19);
            --line-strong: rgba(24, 227, 255, .52);
            --paper: #f3f6ff;
            --paper-2: #e9effd;
            --radius-xl: 30px;
            --radius-lg: 22px;
            --radius-md: 15px;
            --radius-sm: 10px;
            --shadow-lg: 0 28px 70px rgba(4, 9, 31, .32);
            --shadow-neon: 0 0 0 1px rgba(24,227,255,.18), 0 0 30px rgba(24,227,255,.16);
            --font-display: Arial, "Helvetica Neue", sans-serif;
            --font-body: Arial, "Helvetica Neue", sans-serif;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            min-width: 320px;
            color: var(--white);
            background: var(--navy-deep);
            font-family: var(--font-body);
            font-size: 16px;
            line-height: 1.62;
            overflow-x: hidden;
        }
        body::before {
            content: "";
            position: fixed;
            z-index: -2;
            inset: 0;
            background:
                radial-gradient(circle at 8% 18%, rgba(47, 28, 133, .54), transparent 30%),
                radial-gradient(circle at 91% 9%, rgba(0, 205, 255, .11), transparent 23%),
                linear-gradient(180deg, #10163a 0%, #080d22 51%, #0b1028 100%);
        }
        body::after {
            content: "";
            position: fixed;
            z-index: -1;
            inset: 0;
            opacity: .22;
            pointer-events: none;
            background-image:
                linear-gradient(rgba(107, 191, 255, .16) 1px, transparent 1px),
                linear-gradient(90deg, rgba(107, 191, 255, .16) 1px, transparent 1px);
            background-size: 54px 54px;
            mask-image: linear-gradient(to bottom, black, transparent 70%);
        }
        a {
            color: inherit;
            text-decoration: none;
            transition: color .22s ease, opacity .22s ease, transform .22s ease, border-color .22s ease, background .22s ease;
        }
        a:hover { color: var(--cyan-soft); }
        img { max-width: 100%; height: auto; display: block; }
        button, input, textarea { font: inherit; }
        button { cursor: pointer; }
        :focus-visible {
            outline: 3px solid var(--lime);
            outline-offset: 3px;
        }

        .container {
            width: min(1180px, calc(100% - 48px));
            margin-inline: auto;
        }
        .section {
            position: relative;
            padding: 96px 0;
        }
        .section--compact { padding: 72px 0; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin: 0 0 13px;
            color: var(--cyan-soft);
            font-size: .76rem;
            line-height: 1.2;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }
        .eyebrow::before {
            content: "";
            display: inline-block;
            width: 22px;
            height: 2px;
            background: var(--lime);
            box-shadow: 0 0 10px var(--lime);
        }
        .section-intro {
            max-width: 655px;
            margin: 0;
            color: var(--muted);
            font-size: 1.03rem;
        }
        .section-heading {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 38px;
        }
        .section-heading .section-intro { max-width: 570px; }
        .text-cyan { color: var(--cyan); }
        .text-lime { color: var(--lime); }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 100;
            border-bottom: 1px solid rgba(151, 173, 255, .12);
            background: rgba(9, 13, 34, .8);
            backdrop-filter: blur(18px);
        }
        .topbar {
            display: flex;
            align-items: center;
            min-height: 76px;
            gap: 22px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            flex: 0 0 auto;
            min-width: 210px;
            font-family: var(--font-display);
            color: var(--white);
            font-weight: 800;
            letter-spacing: -.03em;
            line-height: 1.05;
        }
        .brand:hover { color: var(--white); }
        .brand-mark {
            display: grid;
            place-items: center;
            width: 36px;
            height: 36px;
            flex: 0 0 36px;
            border: 1px solid var(--cyan);
            border-radius: 11px;
            color: var(--navy-deep);
            background: linear-gradient(135deg, var(--cyan), var(--lime));
            box-shadow: 0 0 18px rgba(24, 227, 255, .35);
            font-size: 1rem;
        }
        .brand-copy {
            font-size: .9rem;
            max-width: 185px;
        }
        .primary-nav {
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 1;
            gap: 5px;
        }
        .primary-nav a {
            position: relative;
            padding: 10px 12px;
            color: #c4cde7;
            font-size: .875rem;
            font-weight: 700;
            white-space: nowrap;
        }
        .primary-nav a::after {
            content: "";
            position: absolute;
            right: 12px;
            bottom: 4px;
            left: 12px;
            height: 2px;
            border-radius: 5px;
            background: var(--cyan);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .2s ease;
        }
        .primary-nav a:hover,
        .primary-nav a.active { color: var(--white); }
        .primary-nav a:hover::after,
        .primary-nav a.active::after { transform: scaleX(1); }
        .header-actions {
            display: flex;
            align-items: center;
            gap: 8px;
            flex: 0 0 auto;
        }
        .header-login {
            padding: 9px 10px;
            color: var(--muted);
            font-size: .85rem;
            font-weight: 700;
        }
        .header-login:hover { color: var(--white); }
        .header-cta,
        .button-main,
        .button-alt {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            border: 0;
            font-weight: 800;
            letter-spacing: -.01em;
            transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
        }
        .header-cta {
            min-height: 39px;
            padding: 8px 14px;
            border-radius: 10px;
            color: var(--navy-deep);
            background: linear-gradient(135deg, var(--lime), #e8ff8b);
            box-shadow: 0 8px 22px rgba(206, 255, 55, .18);
            font-size: .82rem;
        }
        .header-cta:hover,
        .button-main:hover {
            color: var(--navy-deep);
            transform: translateY(-2px);
            box-shadow: 0 13px 28px rgba(24, 227, 255, .2);
        }

        .category-hero {
            position: relative;
            isolation: isolate;
            min-height: 578px;
            display: flex;
            align-items: center;
            padding: 72px 0 80px;
            overflow: hidden;
            background-image:
                linear-gradient(90deg, rgba(8, 13, 34, .95) 0%, rgba(8, 13, 34, .77) 45%, rgba(9, 13, 34, .45) 100%),
                url('/assets/images/backpic/back-2.jpg');
            background-size: cover;
            background-position: center;
            border-bottom: 1px solid var(--line);
        }
        .category-hero::after {
            content: "";
            position: absolute;
            z-index: -1;
            width: 500px;
            height: 500px;
            right: -120px;
            top: 20px;
            border: 1px solid rgba(24, 227, 255, .22);
            border-radius: 50%;
            box-shadow: inset 0 0 80px rgba(24, 227, 255, .08), 0 0 110px rgba(120, 57, 255, .17);
        }
        .hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr);
            align-items: center;
            gap: 62px;
        }
        .breadcrumbs {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 9px;
            margin: 0 0 22px;
            color: #bdc9ec;
            font-size: .84rem;
        }
        .breadcrumbs i { color: var(--cyan); font-size: .65rem; }
        .breadcrumbs a:hover { color: var(--cyan); }
        .hero-title {
            max-width: 720px;
            margin: 0;
            color: var(--white);
            font-size: clamp(2.35rem, 5vw, 4.4rem);
            font-weight: 900;
            letter-spacing: -.06em;
            line-height: 1.03;
        }
        .hero-text {
            max-width: 650px;
            margin: 22px 0 25px;
            color: #c4cde7;
            font-size: 1.08rem;
        }
        .hero-points {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 11px 18px;
            max-width: 650px;
            padding: 0;
            margin: 0 0 30px;
            list-style: none;
        }
        .hero-points li {
            display: flex;
            align-items: flex-start;
            gap: 9px;
            color: #e0e7ff;
            font-size: .93rem;
            font-weight: 700;
        }
        .hero-points i {
            display: grid;
            place-items: center;
            width: 19px;
            height: 19px;
            margin-top: 3px;
            flex: 0 0 19px;
            border-radius: 50%;
            color: var(--navy-deep);
            background: var(--lime);
            font-size: .62rem;
        }
        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }
        .button-main,
        .button-alt {
            min-height: 50px;
            padding: 0 20px;
            border-radius: 12px;
        }
        .button-main {
            color: var(--navy-deep);
            background: linear-gradient(135deg, var(--cyan), var(--lime));
            box-shadow: 0 12px 28px rgba(24, 227, 255, .18);
        }
        .button-alt {
            border: 1px solid rgba(154, 183, 255, .4);
            color: var(--white);
            background: rgba(14, 22, 61, .46);
        }
        .button-alt:hover {
            color: var(--white);
            border-color: var(--cyan);
            background: rgba(24, 227, 255, .1);
            transform: translateY(-2px);
        }
        .trust-line {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            margin-top: 30px;
            color: var(--muted);
            font-size: .8rem;
            font-weight: 700;
        }
        .trust-line span {
            display: inline-flex;
            align-items: center;
            gap: 7px;
        }
        .trust-line i { color: var(--cyan); }

        .hero-panel {
            position: relative;
            padding: 27px;
            border: 1px solid rgba(126, 163, 255, .25);
            border-radius: var(--radius-xl);
            background: linear-gradient(150deg, rgba(28, 39, 93, .88), rgba(10, 14, 41, .88));
            box-shadow: var(--shadow-lg), var(--shadow-neon);
            overflow: hidden;
        }
        .hero-panel::before {
            content: "";
            position: absolute;
            width: 190px;
            height: 190px;
            right: -70px;
            top: -70px;
            border-radius: 50%;
            background: rgba(24, 227, 255, .12);
            filter: blur(4px);
        }
        .panel-label {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding-bottom: 15px;
            border-bottom: 1px solid var(--line);
            color: var(--cyan-soft);
            font-size: .78rem;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
        }
        .pulse-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--lime);
            box-shadow: 0 0 0 0 rgba(206,255,55,.55);
            animation: pulseDot 1.8s infinite;
        }
        @keyframes pulseDot {
            70% { box-shadow: 0 0 0 8px rgba(206,255,55,0); }
            100% { box-shadow: 0 0 0 0 rgba(206,255,55,0); }
        }
        .panel-list { margin-top: 12px; }
        .panel-game {
            display: flex;
            align-items: center;
            gap: 13px;
            padding: 14px 0;
            border-bottom: 1px solid rgba(135, 170, 255, .13);
        }
        .panel-game:last-child { border-bottom: 0; }
        .game-number {
            display: grid;
            place-items: center;
            width: 33px;
            height: 33px;
            flex: 0 0 33px;
            border-radius: 10px;
            color: var(--cyan);
            background: rgba(24, 227, 255, .09);
            font-size: .8rem;
            font-weight: 900;
        }
        .panel-game strong {
            display: block;
            color: var(--white);
            font-size: .94rem;
            line-height: 1.3;
        }
        .panel-game small {
            display: block;
            margin-top: 2px;
            color: var(--muted);
            font-size: .76rem;
        }
        .free-badge {
            margin-left: auto;
            padding: 4px 8px;
            border: 1px solid rgba(206, 255, 55, .38);
            border-radius: 99px;
            color: var(--lime);
            font-size: .65rem;
            font-weight: 900;
            letter-spacing: .05em;
        }

        .quick-stats {
            position: relative;
            z-index: 3;
            margin-top: -34px;
        }
        .stats-shell {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            background: rgba(17, 26, 66, .9);
            box-shadow: var(--shadow-lg);
            overflow: hidden;
        }
        .stat-item {
            padding: 20px 24px;
            border-right: 1px solid var(--line);
        }
        .stat-item:last-child { border-right: 0; }
        .stat-value {
            display: block;
            color: var(--lime);
            font-size: 1.35rem;
            font-weight: 900;
            letter-spacing: -.04em;
            line-height: 1.15;
        }
        .stat-label {
            display: block;
            margin-top: 5px;
            color: var(--muted);
            font-size: .79rem;
            font-weight: 700;
        }

        .content-dark {
            background: linear-gradient(180deg, rgba(13, 20, 53, .65), rgba(9, 13, 34, .2));
        }
        h2, h3, p { margin-top: 0; }
        h2 {
            margin-bottom: 14px;
            color: var(--white);
            font-size: clamp(1.8rem, 3vw, 2.75rem);
            font-weight: 900;
            letter-spacing: -.045em;
            line-height: 1.14;
        }
        h3 {
            margin-bottom: 8px;
            color: var(--white);
            font-size: 1.08rem;
            font-weight: 800;
            line-height: 1.3;
        }

        .game-showcase {
            display: grid;
            grid-template-columns: 1.08fr .92fr;
            gap: 24px;
        }
        .featured-game {
            position: relative;
            min-height: 432px;
            display: flex;
            align-items: end;
            padding: 32px;
            border: 1px solid rgba(24, 227, 255, .28);
            border-radius: var(--radius-xl);
            overflow: hidden;
            background: #121a46;
            box-shadow: var(--shadow-neon);
        }
        .featured-game img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: .68;
            transition: transform .55s ease;
        }
        .featured-game:hover img { transform: scale(1.06); }
        .featured-game::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(0deg, rgba(7, 10, 29, .98) 0%, rgba(8, 13, 34, .25) 75%);
        }
        .featured-copy { position: relative; z-index: 1; max-width: 500px; }
        .game-tag,
        .mini-tag {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 9px;
            border-radius: 99px;
            color: var(--navy-deep);
            background: var(--lime);
            font-size: .68rem;
            font-weight: 900;
            letter-spacing: .06em;
            text-transform: uppercase;
        }
        .featured-copy h3 {
            margin: 12px 0 8px;
            font-size: 1.65rem;
        }
        .featured-copy p { margin-bottom: 0; color: #cbd5f0; }
        .mini-games {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 18px;
        }
        .mini-game {
            position: relative;
            min-height: 207px;
            display: flex;
            align-items: end;
            padding: 17px;
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            overflow: hidden;
            background: var(--ink-soft);
            transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
        }
        .mini-game:hover {
            border-color: var(--line-strong);
            box-shadow: var(--shadow-neon);
            transform: translateY(-5px);
        }
        .mini-game img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: .55;
            transition: transform .35s ease;
        }
        .mini-game:hover img { transform: scale(1.07); }
        .mini-game::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(0deg, rgba(8, 12, 34, .95), rgba(10, 15, 43, .08));
        }
        .mini-copy { position: relative; z-index: 1; }
        .mini-copy h3 { margin: 8px 0 3px; font-size: 1rem; }
        .mini-copy p { margin: 0; color: #c5d0ed; font-size: .79rem; line-height: 1.45; }
        .mini-tag {
            padding: 4px 7px;
            color: var(--cyan-soft);
            background: rgba(24, 227, 255, .14);
            font-size: .59rem;
        }

        .benefit-layout {
            display: grid;
            grid-template-columns: .84fr 1.16fr;
            gap: 72px;
            align-items: start;
        }
        .benefit-lead {
            position: sticky;
            top: 104px;
        }
        .benefit-lead .section-intro { margin-bottom: 25px; }
        .rule-note {
            padding: 17px 18px;
            border-left: 3px solid var(--lime);
            color: #d9e2fb;
            background: rgba(206, 255, 55, .06);
            font-size: .9rem;
        }
        .benefit-list { border-top: 1px solid var(--line); }
        .benefit-item {
            display: grid;
            grid-template-columns: 50px 1fr;
            gap: 18px;
            padding: 24px 0;
            border-bottom: 1px solid var(--line);
        }
        .benefit-icon {
            display: grid;
            place-items: center;
            width: 46px;
            height: 46px;
            border: 1px solid rgba(24, 227, 255, .32);
            border-radius: 14px;
            color: var(--cyan);
            background: rgba(24, 227, 255, .08);
            font-size: 1.15rem;
        }
        .benefit-item p { margin: 0; color: var(--muted); font-size: .95rem; }

        .scene-section { padding-bottom: 88px; }
        .scene-grid {
            display: grid;
            grid-template-columns: 1.18fr .82fr;
            gap: 24px;
            align-items: stretch;
        }
        .scene-image {
            position: relative;
            min-height: 425px;
            border-radius: var(--radius-xl);
            overflow: hidden;
            background: var(--ink-soft);
        }
        .scene-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .scene-image::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgba(9, 13, 34, .2), rgba(9, 13, 34, .8));
        }
        .scene-image-label {
            position: absolute;
            z-index: 1;
            right: 26px;
            bottom: 24px;
            max-width: 255px;
            padding: 15px;
            border: 1px solid rgba(24, 227, 255, .35);
            border-radius: 15px;
            background: rgba(9, 13, 34, .8);
            backdrop-filter: blur(8px);
        }
        .scene-image-label strong { display: block; color: var(--cyan-soft); font-size: .88rem; }
        .scene-image-label span { display: block; margin-top: 3px; color: var(--muted); font-size: .77rem; }
        .scene-copy {
            padding: 30px;
            border: 1px solid var(--line);
            border-radius: var(--radius-xl);
            background: linear-gradient(145deg, rgba(29, 38, 92, .77), rgba(13, 18, 47, .86));
        }
        .scene-copy h2 { font-size: 2rem; }
        .scene-list {
            display: grid;
            gap: 17px;
            margin: 25px 0 0;
            padding: 0;
            list-style: none;
        }
        .scene-list li {
            position: relative;
            padding: 0 0 17px 26px;
            border-bottom: 1px solid var(--line);
            color: #d4ddf5;
            font-size: .93rem;
        }
        .scene-list li:last-child { padding-bottom: 0; border: 0; }
        .scene-list li::before {
            content: "\f111";
            position: absolute;
            left: 0;
            top: 2px;
            color: var(--pink);
            font-family: "Font Awesome 6 Free";
            font-size: .61rem;
            font-weight: 900;
        }
        .scene-list strong { color: var(--white); }

        .steps-wrap {
            border-top: 1px solid var(--line);
            border-bottom: 1px solid var(--line);
        }
        .steps-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
        }
        .step {
            position: relative;
            min-height: 235px;
            padding: 30px 27px 28px;
            border-right: 1px solid var(--line);
        }
        .step:last-child { border-right: 0; }
        .step-no {
            display: block;
            margin-bottom: 30px;
            color: var(--cyan);
            font-size: .78rem;
            font-weight: 900;
            letter-spacing: .1em;
        }
        .step h3 { font-size: 1.02rem; }
        .step p { margin: 0; color: var(--muted); font-size: .89rem; }

        .guide-banner {
            display: grid;
            grid-template-columns: .78fr 1.22fr;
            gap: 45px;
            align-items: center;
            margin-top: 78px;
            padding: 38px;
            border: 1px solid rgba(206, 255, 55, .32);
            border-radius: var(--radius-xl);
            background:
                radial-gradient(circle at 12% 12%, rgba(206, 255, 55, .14), transparent 30%),
                linear-gradient(125deg, #182152, #101637);
        }
        .guide-badge {
            display: flex;
            align-items: center;
            gap: 16px;
            color: var(--white);
        }
        .guide-badge i {
            display: grid;
            place-items: center;
            width: 61px;
            height: 61px;
            flex: 0 0 61px;
            border-radius: 18px;
            color: var(--navy-deep);
            background: var(--lime);
            font-size: 1.55rem;
        }
        .guide-badge strong { display: block; font-size: 1.1rem; line-height: 1.25; }
        .guide-badge span { display: block; margin-top: 5px; color: var(--muted); font-size: .85rem; }
        .guide-content p { margin: 0 0 16px; color: #d3ddf8; }

        .faq-grid {
            display: grid;
            grid-template-columns: .78fr 1.22fr;
            gap: 72px;
            align-items: start;
        }
        .faq-side p { color: var(--muted); }
        .faq-side .button-alt { margin-top: 13px; }
        .accordion {
            margin: 0;
            background: transparent;
        }
        .accordion-item {
            margin-bottom: 12px;
            border: 1px solid var(--line);
            border-radius: var(--radius-md);
            overflow: hidden;
            background: rgba(19, 28, 68, .64);
        }
        .accordion-title {
            position: relative;
            display: block;
            padding: 19px 52px 19px 20px;
            border: 0;
            color: var(--white);
            background: transparent;
            font-size: .97rem;
            font-weight: 800;
            line-height: 1.4;
        }
        .accordion-title:hover,
        .accordion-title:focus { color: var(--cyan-soft); background: rgba(24, 227, 255, .055); }
        .accordion-title::before {
            right: 20px;
            margin-top: -10px;
            color: var(--cyan);
            font-size: 1.35rem;
            font-weight: 400;
        }
        .accordion-content {
            padding: 0 20px 20px;
            border: 0;
            color: var(--muted);
            background: transparent;
            font-size: .93rem;
            line-height: 1.65;
        }
        .accordion-item.is-active {
            border-color: rgba(24, 227, 255, .44);
            box-shadow: 0 0 0 1px rgba(24, 227, 255, .08);
        }

        .final-cta { padding: 26px 0 96px; }
        .cta-shell {
            position: relative;
            padding: 58px min(7vw, 80px);
            border: 1px solid rgba(24, 227, 255, .35);
            border-radius: var(--radius-xl);
            text-align: center;
            overflow: hidden;
            background:
                linear-gradient(120deg, rgba(36, 23, 100, .97), rgba(13, 37, 79, .96)),
                url('/assets/images/backpic/back-3.jpg') center / cover;
            box-shadow: var(--shadow-lg);
        }
        .cta-shell::before,
        .cta-shell::after {
            content: "";
            position: absolute;
            border: 1px solid rgba(24, 227, 255, .25);
            border-radius: 50%;
            pointer-events: none;
        }
        .cta-shell::before { width: 300px; height: 300px; top: -180px; left: -80px; }
        .cta-shell::after { width: 240px; height: 240px; bottom: -150px; right: -30px; }
        .cta-shell > * { position: relative; z-index: 1; }
        .cta-shell h2 { max-width: 720px; margin: 0 auto 14px; }
        .cta-shell p { max-width: 650px; margin: 0 auto 25px; color: #cbd7f7; }
        .cta-shell .hero-actions { justify-content: center; }

        .site-footer {
            padding: 65px 0 24px;
            border-top: 1px solid var(--line);
            background: rgba(6, 9, 25, .78);
        }
        .footer-grid {
            display: grid;
            grid-template-columns: 1.2fr .72fr 1fr;
            gap: 60px;
            padding-bottom: 48px;
        }
        .footer-brand .brand { margin-bottom: 18px; }
        .footer-brand p,
        .footer-note p {
            max-width: 420px;
            margin: 0;
            color: var(--muted);
            font-size: .88rem;
        }
        .footer-title {
            margin: 4px 0 15px;
            color: var(--white);
            font-size: .83rem;
            font-weight: 900;
            letter-spacing: .06em;
            text-transform: uppercase;
        }
        .footer-links {
            display: grid;
            gap: 9px;
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .footer-links a {
            color: var(--muted);
            font-size: .88rem;
        }
        .footer-links a:hover { color: var(--cyan); padding-left: 3px; }
        .footer-note {
            padding: 15px;
            border-left: 2px solid var(--cyan);
            background: rgba(24, 227, 255, .05);
        }
        .footer-bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding-top: 22px;
            border-top: 1px solid var(--line);
            color: #8491b3;
            font-size: .78rem;
        }
        .footer-bottom a {
            color: var(--cyan-soft);
            font-weight: 700;
            white-space: nowrap;
        }

        .support-fab {
            position: fixed;
            left: 16px;
            bottom: 96px;
            z-index: 90;
            display: grid;
            place-items: center;
            width: 56px;
            height: 56px;
            border: 1px solid transparent;
            border-radius: 17px;
            color: var(--cyan);
            background:
                linear-gradient(rgba(7, 11, 31, .88), rgba(7, 11, 31, .88)) padding-box,
                linear-gradient(135deg, var(--cyan), var(--lime)) border-box;
            box-shadow: 0 0 16px rgba(24, 227, 255, .42);
            opacity: .72;
            animation: fabFloat 3.5s ease-in-out infinite;
        }
        .support-fab::after {
            content: "Mới";
            position: absolute;
            top: -8px;
            right: -10px;
            padding: 2px 5px;
            border-radius: 4px;
            color: var(--white);
            background: var(--pink);
            font-size: .57rem;
            font-weight: 900;
            letter-spacing: .03em;
            animation: neonBlink 1.2s steps(2, start) infinite;
        }
        .support-fab i {
            font-size: 1.35rem;
            text-shadow: 0 0 10px var(--cyan);
        }
        .support-fab:hover {
            color: var(--lime);
            opacity: 1;
            box-shadow: 0 0 28px rgba(24, 227, 255, .75);
            transform: scale(1.1);
            animation: none;
        }
        .support-fab:hover i { animation: flicker .4s linear; }
        .support-fab:active { transform: scale(.95); }
        @keyframes fabFloat {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-7px); }
        }
        @keyframes neonBlink {
            50% { opacity: .35; }
        }
        @keyframes flicker {
            0%, 100% { opacity: 1; }
            25% { opacity: .2; }
            50% { opacity: 1; }
            75% { opacity: .35; }
        }

        @media screen and (max-width: 1080px) {
            .topbar { gap: 13px; }
            .brand { min-width: 176px; }
            .primary-nav a { padding-inline: 8px; font-size: .81rem; }
            .hero-grid { gap: 34px; }
            .benefit-layout, .faq-grid { gap: 40px; }
        }
        @media screen and (max-width: 840px) {
            .topbar {
                flex-wrap: wrap;
                gap: 0;
                padding: 10px 0;
            }
            .brand { min-width: 0; }
            .header-actions { margin-left: auto; }
            .primary-nav {
                order: 3;
                width: 100%;
                justify-content: flex-start;
                gap: 4px;
                overflow-x: auto;
                padding-top: 6px;
                scrollbar-width: none;
            }
            .primary-nav::-webkit-scrollbar { display: none; }
            .primary-nav a { flex: 0 0 auto; }
            .category-hero { min-height: auto; padding: 58px 0 70px; }
            .hero-grid,
            .game-showcase,
            .benefit-layout,
            .scene-grid,
            .faq-grid,
            .guide-banner {
                grid-template-columns: 1fr;
            }
            .hero-panel { max-width: 600px; }
            .benefit-lead { position: static; }
            .scene-image { min-height: 350px; }
            .steps-grid { grid-template-columns: repeat(2, 1fr); }
            .step:nth-child(2) { border-right: 0; }
            .step:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
            .footer-grid { grid-template-columns: 1.1fr .9fr; gap: 38px; }
            .footer-grid > :last-child { grid-column: span 2; }
        }
        @media screen and (max-width: 640px) {
            .container { width: min(100% - 32px, 1180px); }
            .section { padding: 68px 0; }
            .section--compact { padding: 55px 0; }
            .header-login { display: none; }
            .header-cta { padding: 8px 11px; font-size: .76rem; }
            .brand-copy { font-size: .82rem; }
            .category-hero { padding: 43px 0 62px; }
            .hero-title { font-size: 2.35rem; }
            .hero-text { font-size: 1rem; }
            .hero-points { grid-template-columns: 1fr; }
            .hero-actions { display: grid; grid-template-columns: 1fr; }
            .button-main, .button-alt { width: 100%; }
            .hero-panel { padding: 20px; }
            .quick-stats { margin-top: -20px; }
            .stats-shell { grid-template-columns: repeat(2, 1fr); }
            .stat-item { padding: 17px; border-bottom: 1px solid var(--line); }
            .stat-item:nth-child(2) { border-right: 0; }
            .stat-item:nth-child(n+3) { border-bottom: 0; }
            .section-heading { display: block; margin-bottom: 28px; }
            .section-heading .section-intro { margin-top: 12px; }
            .featured-game { min-height: 350px; padding: 23px; }
            .mini-games { gap: 13px; }
            .mini-game { min-height: 185px; padding: 14px; }
            .mini-copy h3 { font-size: .91rem; }
            .mini-copy p { font-size: .72rem; }
            .scene-image { min-height: 290px; }
            .scene-copy { padding: 23px; }
            .steps-grid { grid-template-columns: 1fr; }
            .step, .step:nth-child(2) {
                min-height: 0;
                padding: 24px 2px;
                border-right: 0;
                border-bottom: 1px solid var(--line);
            }
            .step:last-child { border-bottom: 0; }
            .step-no { margin-bottom: 12px; }
            .guide-banner { gap: 25px; margin-top: 55px; padding: 26px 21px; }
            .faq-grid { gap: 29px; }
            .cta-shell { padding: 44px 22px; }
            .footer-grid { grid-template-columns: 1fr; gap: 31px; padding-bottom: 33px; }
            .footer-grid > :last-child { grid-column: auto; }
            .footer-bottom { display: grid; gap: 10px; }
            .support-fab { bottom: 78px; }
        }
        @media screen and (max-width: 380px) {
            .header-cta { font-size: 0; width: 38px; padding: 0; }
            .header-cta i { font-size: .82rem; }
            .hero-title { font-size: 2.05rem; }
            .mini-games { grid-template-columns: 1fr; }
        }

/* roulang page: category3 */
:root {
            --ink: #0c1022;
            --ink-soft: #151c38;
            --navy: #111a42;
            --navy-deep: #090d22;
            --violet: #2c1764;
            --cyan: #18e3ff;
            --cyan-soft: #83f5ff;
            --lime: #ceff37;
            --pink: #ff4da0;
            --white: #f7fbff;
            --muted: #a7b4d3;
            --muted-dark: #64718e;
            --line: rgba(135, 170, 255, .19);
            --line-strong: rgba(24, 227, 255, .52);
            --paper: #f3f6ff;
            --paper-2: #e9effd;
            --radius-xl: 30px;
            --radius-lg: 22px;
            --radius-md: 15px;
            --radius-sm: 10px;
            --shadow-lg: 0 28px 70px rgba(4, 9, 31, .32);
            --shadow-neon: 0 0 0 1px rgba(24,227,255,.18), 0 0 30px rgba(24,227,255,.16);
            --font-display: Arial, "Helvetica Neue", sans-serif;
            --font-body: Arial, "Helvetica Neue", sans-serif;
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            margin: 0;
            min-width: 320px;
            color: var(--white);
            background: var(--navy-deep);
            font-family: var(--font-body);
            font-size: 16px;
            line-height: 1.62;
            overflow-x: hidden;
        }
        body::before {
            content: "";
            position: fixed;
            z-index: -2;
            inset: 0;
            background:
                radial-gradient(circle at 8% 18%, rgba(47, 28, 133, .54), transparent 30%),
                radial-gradient(circle at 91% 9%, rgba(0, 205, 255, .11), transparent 23%),
                linear-gradient(180deg, #10163a 0%, #080d22 51%, #0b1028 100%);
        }
        body::after {
            content: "";
            position: fixed;
            z-index: -1;
            inset: 0;
            opacity: .22;
            pointer-events: none;
            background-image:
                linear-gradient(rgba(107, 191, 255, .16) 1px, transparent 1px),
                linear-gradient(90deg, rgba(107, 191, 255, .16) 1px, transparent 1px);
            background-size: 54px 54px;
            mask-image: linear-gradient(to bottom, black, transparent 70%);
        }
        a {
            color: inherit;
            text-decoration: none;
            transition: color .22s ease, opacity .22s ease, transform .22s ease, border-color .22s ease, background .22s ease;
        }
        a:hover { color: var(--cyan-soft); }
        img { max-width: 100%; height: auto; display: block; }
        button, input, textarea { font: inherit; }
        button { cursor: pointer; }
        h1, h2, h3, p { margin-top: 0; }
        h1, h2, h3 {
            color: var(--white);
            font-family: var(--font-display);
            letter-spacing: -.035em;
            line-height: 1.14;
        }
        h1 { font-size: clamp(2.15rem, 4.7vw, 4.35rem); }
        h2 { font-size: clamp(1.75rem, 3vw, 2.8rem); }
        h3 { font-size: 1.16rem; }
        :focus-visible {
            outline: 3px solid var(--lime);
            outline-offset: 4px;
        }
        .container {
            width: min(1180px, calc(100% - 48px));
            margin-inline: auto;
        }
        .section {
            position: relative;
            padding: 94px 0;
        }
        .section--compact { padding: 70px 0; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin: 0 0 13px;
            color: var(--cyan-soft);
            font-size: .76rem;
            line-height: 1.2;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }
        .eyebrow::before {
            content: "";
            display: inline-block;
            width: 22px;
            height: 2px;
            background: var(--lime);
            box-shadow: 0 0 10px var(--lime);
        }
        .section-heading {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 38px;
        }
        .section-heading > div { max-width: 670px; }
        .section-intro {
            margin-bottom: 0;
            color: var(--muted);
            font-size: 1.03rem;
        }
        .text-cyan { color: var(--cyan); }
        .text-lime { color: var(--lime); }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 100;
            border-bottom: 1px solid rgba(151, 173, 255, .12);
            background: rgba(9, 13, 34, .84);
            backdrop-filter: blur(18px);
        }
        .topbar {
            display: flex;
            align-items: center;
            min-height: 76px;
            gap: 22px;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            flex: 0 0 auto;
            min-width: 210px;
            color: var(--white);
            font-family: var(--font-display);
            font-weight: 800;
            letter-spacing: -.03em;
            line-height: 1.05;
        }
        .brand:hover { color: var(--white); }
        .brand-mark {
            display: grid;
            place-items: center;
            width: 36px;
            height: 36px;
            flex: 0 0 36px;
            border: 1px solid var(--cyan);
            border-radius: 11px;
            color: var(--navy-deep);
            background: linear-gradient(135deg, var(--cyan), var(--lime));
            box-shadow: 0 0 18px rgba(24, 227, 255, .35);
            font-size: 1rem;
        }
        .brand-copy {
            max-width: 185px;
            font-size: .9rem;
        }
        .primary-nav {
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 1;
            gap: 5px;
        }
        .primary-nav a {
            position: relative;
            padding: 10px 12px;
            color: #c4cde7;
            font-size: .875rem;
            font-weight: 700;
            white-space: nowrap;
        }
        .primary-nav a::after {
            content: "";
            position: absolute;
            right: 12px;
            bottom: 4px;
            left: 12px;
            height: 2px;
            border-radius: 5px;
            background: var(--cyan);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .2s ease;
        }
        .primary-nav a:hover,
        .primary-nav a.active { color: var(--white); }
        .primary-nav a:hover::after,
        .primary-nav a.active::after { transform: scaleX(1); }
        .header-actions {
            display: flex;
            align-items: center;
            gap: 10px;
            flex: 0 0 auto;
        }
        .header-login {
            padding: 9px 7px;
            color: var(--muted);
            font-size: .86rem;
            font-weight: 700;
        }
        .header-login:hover { color: var(--white); }
        .header-register {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 10px 14px;
            border: 1px solid rgba(206,255,55,.72);
            border-radius: 10px;
            color: var(--navy-deep);
            background: var(--lime);
            box-shadow: 0 7px 18px rgba(206,255,55,.14);
            font-size: .82rem;
            font-weight: 800;
        }
        .header-register:hover {
            color: var(--navy-deep);
            background: #ddff73;
            transform: translateY(-1px);
        }
        .nav-toggle {
            display: none;
            width: 40px;
            height: 40px;
            border: 1px solid var(--line);
            border-radius: 10px;
            color: var(--white);
            background: rgba(255,255,255,.04);
        }

        .page-hero {
            position: relative;
            min-height: 590px;
            overflow: hidden;
            border-bottom: 1px solid var(--line);
            background:
                linear-gradient(90deg, rgba(8,13,34,.96) 2%, rgba(8,13,34,.78) 47%, rgba(8,13,34,.43) 100%),
                url("/assets/images/backpic/back-3.jpg") center/cover no-repeat;
        }
        .page-hero::after {
            content: "";
            position: absolute;
            inset: auto 4% 6% auto;
            width: 280px;
            height: 280px;
            border: 1px solid rgba(24,227,255,.28);
            border-radius: 50%;
            box-shadow: 0 0 0 22px rgba(24,227,255,.04), 0 0 90px rgba(24,227,255,.12);
        }
        .hero-grid {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
            align-items: center;
            gap: 58px;
            min-height: 590px;
            padding: 74px 0;
        }
        .hero-copy { max-width: 710px; }
        .hero-copy h1 { margin-bottom: 22px; }
        .hero-lead {
            max-width: 660px;
            margin-bottom: 28px;
            color: #d2dcf6;
            font-size: 1.1rem;
        }
        .hero-brandline {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 18px;
            color: var(--cyan-soft);
            font-size: .86rem;
            font-weight: 800;
        }
        .hero-brandline i { color: var(--lime); }
        .button-row {
            display: flex;
            flex-wrap: wrap;
            gap: 13px;
            margin-top: 28px;
        }
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 48px;
            padding: 12px 19px;
            border: 1px solid transparent;
            border-radius: 12px;
            font-size: .92rem;
            font-weight: 800;
            line-height: 1.1;
        }
        .btn-primary {
            color: var(--navy-deep);
            background: linear-gradient(135deg, var(--cyan), #9bf8ff);
            box-shadow: 0 14px 28px rgba(24,227,255,.17);
        }
        .btn-primary:hover {
            color: var(--navy-deep);
            transform: translateY(-2px);
            box-shadow: 0 18px 34px rgba(24,227,255,.28);
        }
        .btn-secondary {
            border-color: rgba(131,245,255,.38);
            color: var(--white);
            background: rgba(11,18,52,.48);
        }
        .btn-secondary:hover {
            color: var(--white);
            border-color: var(--cyan);
            background: rgba(24,227,255,.11);
        }
        .hero-points {
            display: grid;
            gap: 14px;
            padding: 0;
            margin: 0;
            list-style: none;
        }
        .hero-points li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            color: #cdd7f0;
            font-size: .94rem;
        }
        .hero-points i {
            display: grid;
            place-items: center;
            width: 23px;
            height: 23px;
            flex: 0 0 23px;
            margin-top: 2px;
            border-radius: 50%;
            color: var(--navy-deep);
            background: var(--lime);
            font-size: .68rem;
        }
        .balance-panel {
            position: relative;
            padding: 30px;
            border: 1px solid rgba(24,227,255,.42);
            border-radius: var(--radius-xl);
            background: linear-gradient(145deg, rgba(25,35,85,.91), rgba(12,16,46,.88));
            box-shadow: var(--shadow-neon), var(--shadow-lg);
        }
        .balance-panel::before {
            content: "";
            position: absolute;
            top: -1px;
            right: 29px;
            width: 82px;
            height: 3px;
            border-radius: 0 0 8px 8px;
            background: var(--lime);
            box-shadow: 0 0 18px var(--lime);
        }
        .panel-label {
            margin-bottom: 20px;
            color: var(--cyan-soft);
            font-size: .74rem;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }
        .time-display {
            display: flex;
            align-items: baseline;
            gap: 8px;
            padding-bottom: 21px;
            border-bottom: 1px solid var(--line);
        }
        .time-display strong {
            color: var(--white);
            font-size: clamp(2.6rem, 5vw, 4rem);
            line-height: 1;
            letter-spacing: -.07em;
        }
        .time-display span {
            color: var(--muted);
            font-weight: 700;
        }
        .panel-rule {
            display: flex;
            gap: 12px;
            padding: 18px 0;
            border-bottom: 1px solid var(--line);
        }
        .panel-rule:last-child {
            padding-bottom: 0;
            border-bottom: 0;
        }
        .rule-icon {
            display: grid;
            place-items: center;
            width: 34px;
            height: 34px;
            flex: 0 0 34px;
            border-radius: 10px;
            color: var(--cyan);
            background: rgba(24,227,255,.09);
        }
        .panel-rule b {
            display: block;
            color: var(--white);
            font-size: .91rem;
        }
        .panel-rule span {
            display: block;
            color: var(--muted);
            font-size: .82rem;
        }

        .trust-strip {
            border-top: 1px solid var(--line);
            border-bottom: 1px solid var(--line);
            background: rgba(13,21,57,.62);
        }
        .trust-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
        }
        .trust-item {
            display: flex;
            align-items: center;
            gap: 15px;
            min-height: 108px;
            padding: 20px 28px;
            border-right: 1px solid var(--line);
        }
        .trust-item:first-child { border-left: 1px solid var(--line); }
        .trust-icon {
            display: grid;
            place-items: center;
            width: 42px;
            height: 42px;
            flex: 0 0 42px;
            border-radius: 50%;
            color: var(--lime);
            background: rgba(206,255,55,.08);
            font-size: 1.06rem;
        }
        .trust-item strong {
            display: block;
            color: var(--white);
            font-size: .94rem;
        }
        .trust-item span {
            display: block;
            color: var(--muted);
            font-size: .82rem;
        }

        .habit-layout {
            display: grid;
            grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
            gap: 70px;
            align-items: start;
        }
        .sticky-copy {
            position: sticky;
            top: 112px;
        }
        .feature-image {
            position: relative;
            overflow: hidden;
            margin-top: 28px;
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
        }
        .feature-image img {
            width: 100%;
            height: 235px;
            object-fit: cover;
            opacity: .78;
        }
        .feature-image::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, transparent 32%, rgba(9,13,34,.78));
        }
        .feature-image span {
            position: absolute;
            z-index: 1;
            right: 18px;
            bottom: 14px;
            left: 18px;
            color: var(--white);
            font-size: .86rem;
            font-weight: 700;
        }
        .habit-list {
            border-top: 1px solid var(--line);
        }
        .habit-row {
            display: grid;
            grid-template-columns: 58px 1fr;
            gap: 22px;
            padding: 27px 0;
            border-bottom: 1px solid var(--line);
        }
        .habit-number {
            display: grid;
            place-items: center;
            width: 49px;
            height: 49px;
            border: 1px solid rgba(24,227,255,.35);
            border-radius: 15px;
            color: var(--cyan);
            background: rgba(24,227,255,.05);
            font-size: .93rem;
            font-weight: 800;
        }
        .habit-row h3 { margin-bottom: 8px; }
        .habit-row p {
            margin-bottom: 0;
            color: var(--muted);
        }

        .scenario-section {
            overflow: hidden;
            background: linear-gradient(115deg, rgba(44,23,100,.55), rgba(14,23,62,.32));
        }
        .scenario-grid {
            display: grid;
            grid-template-columns: 1.13fr .87fr;
            gap: 54px;
            align-items: center;
        }
        .scenario-stack {
            display: grid;
            gap: 13px;
        }
        .scenario-card {
            display: grid;
            grid-template-columns: 45px 1fr auto;
            align-items: center;
            gap: 15px;
            padding: 19px 18px;
            border: 1px solid var(--line);
            border-radius: var(--radius-md);
            background: rgba(7,12,34,.43);
            transition: transform .22s ease, border-color .22s ease, background .22s ease;
        }
        .scenario-card:hover {
            border-color: rgba(24,227,255,.62);
            background: rgba(24,227,255,.08);
            transform: translateX(5px);
        }
        .scenario-card i {
            display: grid;
            place-items: center;
            width: 43px;
            height: 43px;
            border-radius: 13px;
            color: var(--lime);
            background: rgba(206,255,55,.09);
        }
        .scenario-card strong {
            display: block;
            color: var(--white);
            font-size: .96rem;
        }
        .scenario-card span {
            display: block;
            color: var(--muted);
            font-size: .84rem;
        }
        .scenario-card .fa-arrow-right {
            width: auto;
            height: auto;
            color: var(--cyan);
            background: transparent;
        }
        .scenario-visual {
            position: relative;
            min-height: 420px;
            overflow: hidden;
            border-radius: var(--radius-xl);
            background: #10183c;
            box-shadow: var(--shadow-lg);
        }
        .scenario-visual img {
            width: 100%;
            height: 420px;
            object-fit: cover;
            opacity: .78;
        }
        .scenario-visual::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(12,16,45,.06), rgba(11,16,50,.93));
        }
        .visual-note {
            position: absolute;
            z-index: 1;
            right: 26px;
            bottom: 27px;
            left: 26px;
            padding: 18px;
            border: 1px solid rgba(255,255,255,.16);
            border-radius: var(--radius-md);
            background: rgba(10,14,37,.72);
            backdrop-filter: blur(12px);
        }
        .visual-note b {
            display: block;
            margin-bottom: 3px;
            color: var(--cyan-soft);
        }
        .visual-note span {
            color: #d4ddf4;
            font-size: .86rem;
        }

        .check-section { background: rgba(4,8,26,.28); }
        .check-grid {
            display: grid;
            grid-template-columns: .94fr 1.06fr;
            gap: 60px;
            align-items: center;
        }
        .check-grid h2 { margin-bottom: 18px; }
        .check-grid p { color: var(--muted); }
        .checklist {
            margin: 25px 0 0;
            padding: 0;
            list-style: none;
        }
        .checklist li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            margin-bottom: 14px;
            color: #d4ddf3;
        }
        .checklist li i {
            margin-top: 4px;
            color: var(--lime);
        }
        .boundary-card {
            position: relative;
            overflow: hidden;
            padding: 36px;
            border: 1px solid rgba(255,77,160,.32);
            border-radius: var(--radius-xl);
            background:
                linear-gradient(150deg, rgba(255,77,160,.12), transparent 48%),
                linear-gradient(150deg, rgba(27,21,69,.94), rgba(10,15,41,.96));
        }
        .boundary-card::before {
            content: "PAUSE";
            position: absolute;
            top: -19px;
            right: 14px;
            color: rgba(255,255,255,.045);
            font-size: 6rem;
            font-weight: 900;
            letter-spacing: -.12em;
        }
        .boundary-card h3 {
            position: relative;
            margin-bottom: 20px;
            font-size: 1.4rem;
        }
        .signal-list {
            position: relative;
            display: grid;
            gap: 12px;
        }
        .signal {
            display: flex;
            gap: 12px;
            align-items: flex-start;
            padding: 13px 0;
            border-bottom: 1px solid rgba(255,255,255,.1);
            color: #d4ddf3;
            font-size: .92rem;
        }
        .signal:last-child { border-bottom: 0; }
        .signal i {
            margin-top: 4px;
            color: var(--pink);
        }

        .guide-wrap {
            display: grid;
            grid-template-columns: 270px 1fr;
            gap: 48px;
            align-items: start;
        }
        .guide-aside {
            padding-top: 9px;
        }
        .guide-aside p { color: var(--muted); }
        .guide-aside .badge-line { margin-top: 22px; }
        .badge-line {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 11px;
            border: 1px solid rgba(206,255,55,.28);
            border-radius: 100px;
            color: var(--lime);
            background: rgba(206,255,55,.06);
            font-size: .76rem;
            font-weight: 800;
        }
        .guide-steps {
            position: relative;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 0;
        }
        .guide-step {
            position: relative;
            min-height: 210px;
            padding: 19px 21px;
            border-top: 1px solid var(--line-strong);
            border-right: 1px solid var(--line);
        }
        .guide-step:first-child { border-left: 1px solid var(--line); }
        .guide-step::before {
            content: "";
            position: absolute;
            top: -4px;
            left: 20px;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--lime);
            box-shadow: 0 0 15px var(--lime);
        }
        .guide-step b {
            display: block;
            margin-bottom: 20px;
            color: var(--cyan);
            font-size: .75rem;
            letter-spacing: .1em;
        }
        .guide-step h3 { margin-bottom: 9px; }
        .guide-step p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: .89rem;
        }

        .faq-layout {
            display: grid;
            grid-template-columns: .72fr 1.28fr;
            gap: 68px;
            align-items: start;
        }
        .faq-intro {
            position: sticky;
            top: 112px;
        }
        .faq-intro p { color: var(--muted); }
        .faq-list { border-top: 1px solid var(--line); }
        .faq-item {
            border-bottom: 1px solid var(--line);
        }
        .faq-question {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            padding: 21px 2px;
            border: 0;
            color: var(--white);
            background: transparent;
            text-align: left;
            font-size: 1rem;
            font-weight: 800;
        }
        .faq-question:hover { color: var(--cyan-soft); }
        .faq-question i {
            margin-left: 18px;
            color: var(--cyan);
            transition: transform .22s ease;
        }
        .faq-question[aria-expanded="true"] i { transform: rotate(45deg); }
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            color: var(--muted);
            transition: max-height .3s ease, padding .3s ease;
        }
        .faq-answer p {
            margin: 0;
            padding: 0 30px 0 2px;
        }
        .faq-answer.open {
            max-height: 180px;
            padding-bottom: 19px;
        }

        .final-cta {
            position: relative;
            overflow: hidden;
            padding: 78px 0;
            text-align: center;
            background:
                linear-gradient(110deg, rgba(44,23,100,.92), rgba(16,24,66,.78)),
                url("/assets/images/backpic/back-1.jpg") center/cover no-repeat;
        }
        .final-cta::before,
        .final-cta::after {
            content: "";
            position: absolute;
            border: 1px solid rgba(24,227,255,.2);
            border-radius: 50%;
        }
        .final-cta::before {
            top: -130px;
            left: 8%;
            width: 280px;
            height: 280px;
        }
        .final-cta::after {
            right: 6%;
            bottom: -160px;
            width: 350px;
            height: 350px;
        }
        .cta-inner {
            position: relative;
            z-index: 1;
            max-width: 760px;
            margin: 0 auto;
        }
        .cta-inner h2 { margin-bottom: 15px; }
        .cta-inner p {
            margin-bottom: 0;
            color: #d3dcf5;
        }
        .cta-inner .button-row { justify-content: center; }

        .site-footer {
            padding: 68px 0 22px;
            border-top: 1px solid var(--line);
            background: rgba(5,9,26,.88);
        }
        .footer-grid {
            display: grid;
            grid-template-columns: 1.35fr .75fr 1fr;
            gap: 64px;
            padding-bottom: 48px;
        }
        .footer-brand .brand { margin-bottom: 20px; }
        .footer-brand p,
        .footer-note p {
            max-width: 440px;
            margin-bottom: 0;
            color: var(--muted);
            font-size: .9rem;
        }
        .footer-title {
            margin-bottom: 17px;
            color: var(--white);
            font-size: .86rem;
            font-weight: 800;
        }
        .footer-links {
            display: grid;
            gap: 9px;
            padding: 0;
            margin: 0;
            list-style: none;
        }
        .footer-links a {
            color: var(--muted);
            font-size: .88rem;
        }
        .footer-links a:hover { color: var(--cyan-soft); }
        .footer-note {
            padding-left: 18px;
            border-left: 2px solid var(--lime);
        }
        .footer-bottom {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            padding-top: 20px;
            border-top: 1px solid var(--line);
            color: var(--muted-dark);
            font-size: .78rem;
        }
        .footer-bottom a { color: var(--muted); }
        .footer-bottom a:hover { color: var(--cyan); }

        .fab-support {
            position: fixed;
            z-index: 50;
            left: 16px;
            bottom: 96px;
            display: inline-flex;
            align-items: center;
            gap: 9px;
            min-height: 50px;
            padding: 11px 15px;
            border: 1px solid transparent;
            border-radius: 100px;
            color: var(--white);
            background:
                linear-gradient(rgba(8,13,34,.94), rgba(8,13,34,.94)) padding-box,
                linear-gradient(120deg, var(--pink), var(--cyan), var(--lime)) border-box;
            box-shadow: 0 0 19px rgba(24,227,255,.34);
            opacity: .72;
            font-size: .8rem;
            font-weight: 800;
            animation: fabBreath 3.8s ease-in-out infinite;
        }
        .fab-support i { color: var(--cyan); transition: transform .35s ease; }
        .fab-support:hover {
            color: var(--white);
            opacity: 1;
            transform: scale(1.08);
            box-shadow: 0 0 32px rgba(24,227,255,.62);
        }
        .fab-support:hover i { transform: rotate(360deg); }
        .fab-dot {
            position: absolute;
            top: 2px;
            right: 3px;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--pink);
            box-shadow: 0 0 10px var(--pink);
            animation: blink 1.7s infinite;
        }
        @keyframes fabBreath {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-5px); }
        }
        @keyframes blink {
            0%, 100% { opacity: 1; }
            50% { opacity: .35; }
        }

        @media (max-width: 1024px) {
            .topbar { gap: 12px; }
            .brand { min-width: 190px; }
            .primary-nav a { padding-inline: 8px; font-size: .8rem; }
            .hero-grid { gap: 35px; }
            .habit-layout,
            .scenario-grid,
            .check-grid { gap: 38px; }
            .guide-wrap { gap: 30px; }
            .guide-step { padding-inline: 15px; }
        }
        @media (max-width: 768px) {
            .container { width: min(100% - 34px, 620px); }
            .section { padding: 70px 0; }
            .topbar { min-height: 68px; }
            .brand { min-width: 0; flex: 1; }
            .brand-copy { font-size: .78rem; max-width: 150px; }
            .primary-nav {
                position: absolute;
                top: calc(100% + 1px);
                right: 17px;
                left: 17px;
                display: none;
                flex-direction: column;
                align-items: stretch;
                gap: 0;
                padding: 8px;
                border: 1px solid var(--line);
                border-radius: 16px;
                background: rgba(10,15,40,.98);
                box-shadow: var(--shadow-lg);
            }
            .primary-nav.is-open { display: flex; }
            .primary-nav a { padding: 13px 14px; }
            .primary-nav a::after {
                right: 14px;
                bottom: 7px;
                left: 14px;
            }
            .nav-toggle {
                display: inline-grid;
                place-items: center;
                flex: 0 0 40px;
            }
            .header-actions { gap: 5px; }
            .header-login { padding-inline: 5px; font-size: .76rem; }
            .header-register { padding: 9px 10px; font-size: .73rem; }
            .hero-grid,
            .habit-layout,
            .scenario-grid,
            .check-grid,
            .faq-layout,
            .guide-wrap {
                grid-template-columns: 1fr;
            }
            .page-hero,
            .hero-grid { min-height: auto; }
            .hero-grid { padding: 76px 0 68px; }
            .balance-panel { max-width: 520px; }
            .sticky-copy,
            .faq-intro { position: static; }
            .scenario-visual { min-height: 330px; }
            .scenario-visual img { height: 330px; }
            .guide-steps { grid-template-columns: repeat(2, 1fr); }
            .guide-step:nth-child(3) { border-left: 1px solid var(--line); }
            .trust-grid { grid-template-columns: 1fr; }
            .trust-item,
            .trust-item:first-child { border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
            .trust-item:last-child { border-bottom: 0; }
            .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
            .footer-brand { grid-column: 1 / -1; }
        }
        @media (max-width: 520px) {
            body { font-size: 15px; }
            .container { width: min(100% - 28px, 470px); }
            h1 { font-size: clamp(2rem, 11vw, 3rem); }
            h2 { font-size: 1.85rem; }
            .section-heading { display: block; margin-bottom: 28px; }
            .section-heading .section-intro { margin-top: 13px; }
            .hero-grid { padding-top: 58px; }
            .hero-lead { font-size: 1rem; }
            .button-row,
            .button-row .btn { width: 100%; }
            .button-row .btn { min-height: 50px; }
            .balance-panel { padding: 23px 20px; border-radius: 22px; }
            .time-display strong { font-size: 3rem; }
            .habit-row { grid-template-columns: 43px 1fr; gap: 14px; padding: 22px 0; }
            .habit-number { width: 40px; height: 40px; border-radius: 12px; }
            .scenario-card { grid-template-columns: 40px 1fr 16px; gap: 11px; padding: 15px 12px; }
            .scenario-card i { width: 38px; height: 38px; }
            .boundary-card { padding: 25px 20px; }
            .guide-steps { grid-template-columns: 1fr; }
            .guide-step,
            .guide-step:nth-child(3) {
                min-height: auto;
                padding: 20px 17px 24px;
                border-left: 1px solid var(--line);
            }
            .guide-step:last-child { border-bottom: 1px solid var(--line); }
            .footer-grid { grid-template-columns: 1fr; gap: 28px; }
            .footer-brand { grid-column: auto; }
            .footer-bottom { align-items: flex-start; flex-direction: column; }
            .fab-support {
                left: 14px;
                bottom: 76px;
                min-width: 50px;
                justify-content: center;
                padding: 13px;
            }
            .fab-support span:not(.fab-dot) { display: none; }
        }

/* roulang page: category2 */
:root {
            --ink: #0c1022;
            --ink-soft: #151c38;
            --navy: #111a42;
            --navy-deep: #090d22;
            --violet: #2c1764;
            --cyan: #18e3ff;
            --cyan-soft: #83f5ff;
            --lime: #ceff37;
            --pink: #ff4da0;
            --white: #f7fbff;
            --muted: #a7b4d3;
            --muted-dark: #64718e;
            --line: rgba(135, 170, 255, .19);
            --line-strong: rgba(24, 227, 255, .52);
            --paper: #f3f6ff;
            --paper-2: #e9effd;
            --radius-xl: 30px;
            --radius-lg: 22px;
            --radius-md: 15px;
            --radius-sm: 10px;
            --shadow-lg: 0 28px 70px rgba(4, 9, 31, .32);
            --shadow-neon: 0 0 0 1px rgba(24,227,255,.18), 0 0 30px rgba(24,227,255,.16);
            --font-display: "Arial", "Helvetica Neue", sans-serif;
            --font-body: "Arial", "Helvetica Neue", sans-serif;
        }

        * {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            margin: 0;
            min-width: 320px;
            color: var(--white);
            background: var(--navy-deep);
            font-family: var(--font-body);
            font-size: 16px;
            line-height: 1.62;
            overflow-x: hidden;
        }

        body::before {
            content: "";
            position: fixed;
            z-index: -2;
            inset: 0;
            background:
                radial-gradient(circle at 8% 18%, rgba(47, 28, 133, .54), transparent 30%),
                radial-gradient(circle at 91% 9%, rgba(0, 205, 255, .11), transparent 23%),
                linear-gradient(180deg, #10163a 0%, #080d22 51%, #0b1028 100%);
        }

        body::after {
            content: "";
            position: fixed;
            z-index: -1;
            inset: 0;
            opacity: .22;
            pointer-events: none;
            background-image:
                linear-gradient(rgba(107, 191, 255, .16) 1px, transparent 1px),
                linear-gradient(90deg, rgba(107, 191, 255, .16) 1px, transparent 1px);
            background-size: 54px 54px;
            mask-image: linear-gradient(to bottom, black, transparent 70%);
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: color .22s ease, opacity .22s ease, transform .22s ease, border-color .22s ease, background .22s ease;
        }

        a:hover {
            color: var(--cyan-soft);
        }

        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        button,
        input,
        textarea {
            font: inherit;
        }

        button {
            cursor: pointer;
        }

        :focus-visible {
            outline: 3px solid var(--lime);
            outline-offset: 3px;
        }

        .container {
            width: min(1180px, calc(100% - 48px));
            margin-inline: auto;
        }

        .grid-container {
            max-width: 1180px;
            padding-inline: 24px;
        }

        .section {
            position: relative;
            padding: 96px 0;
        }

        .section--compact {
            padding: 72px 0;
        }

        .section--paper {
            color: var(--ink);
            background: linear-gradient(135deg, rgba(243,246,255,.98), rgba(233,239,253,.96));
        }

        .section--paper::before {
            content: "";
            position: absolute;
            inset: 0;
            opacity: .35;
            pointer-events: none;
            background-image: linear-gradient(135deg, rgba(44,23,100,.06) 25%, transparent 25%, transparent 50%, rgba(24,227,255,.05) 50%, rgba(24,227,255,.05) 75%, transparent 75%);
            background-size: 52px 52px;
        }

        .section--paper > .container {
            position: relative;
            z-index: 1;
        }

        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            margin: 0 0 13px;
            color: var(--cyan-soft);
            font-size: .76rem;
            line-height: 1.2;
            font-weight: 800;
            letter-spacing: .1em;
            text-transform: uppercase;
        }

        .eyebrow::before {
            content: "";
            display: inline-block;
            width: 22px;
            height: 2px;
            background: var(--lime);
            box-shadow: 0 0 10px var(--lime);
        }

        .section-heading {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 38px;
        }

        .section-heading .section-intro {
            max-width: 570px;
        }

        .section-intro {
            max-width: 655px;
            margin: 0;
            color: var(--muted);
            font-size: 1.03rem;
        }

        .section--paper .section-intro {
            color: #586682;
        }

        h1,
        h2,
        h3,
        p {
            margin-top: 0;
        }

        h1,
        h2,
        h3 {
            color: var(--white);
            font-family: var(--font-display);
            letter-spacing: -.045em;
            line-height: 1.08;
        }

        h1 {
            max-width: 790px;
            margin-bottom: 22px;
            font-size: clamp(2.5rem, 5.5vw, 5.35rem);
        }

        h2 {
            margin-bottom: 15px;
            font-size: clamp(2rem, 3.4vw, 3.5rem);
        }

        h3 {
            margin-bottom: 10px;
            font-size: 1.28rem;
            letter-spacing: -.025em;
        }

        .section--paper h2,
        .section--paper h3 {
            color: var(--ink);
        }

        .text-cyan {
            color: var(--cyan);
        }

        .text-lime {
            color: var(--lime);
        }

        .muted {
            color: var(--muted);
        }

        .site-header {
            position: sticky;
            top: 0;
            z-index: 100;
            border-bottom: 1px solid rgba(151, 173, 255, .12);
            background: rgba(9, 13, 34, .84);
            backdrop-filter: blur(18px);
        }

        .topbar {
            display: flex;
            align-items: center;
            min-height: 76px;
            gap: 22px;
        }

        .brand {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            flex: 0 0 auto;
            min-width: 210px;
            color: var(--white);
            font-family: var(--font-display);
            font-weight: 800;
            letter-spacing: -.03em;
            line-height: 1.05;
        }

        .brand:hover {
            color: var(--white);
        }

        .brand-mark {
            display: grid;
            place-items: center;
            width: 36px;
            height: 36px;
            flex: 0 0 36px;
            border: 1px solid var(--cyan);
            border-radius: 11px;
            color: var(--navy-deep);
            background: linear-gradient(135deg, var(--cyan), var(--lime));
            box-shadow: 0 0 18px rgba(24, 227, 255, .35);
            font-size: 1rem;
        }

        .brand-copy {
            max-width: 185px;
            font-size: .9rem;
        }

        .primary-nav {
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 1;
            gap: 5px;
        }

        .primary-nav a {
            position: relative;
            padding: 10px 12px;
            color: #c4cde7;
            font-size: .875rem;
            font-weight: 700;
            white-space: nowrap;
        }

        .primary-nav a::after {
            content: "";
            position: absolute;
            right: 12px;
            bottom: 4px;
            left: 12px;
            height: 2px;
            border-radius: 5px;
            background: var(--cyan);
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .2s ease;
        }

        .primary-nav a:hover,
        .primary-nav a.active {
            color: var(--white);
        }

        .primary-nav a:hover::after,
        .primary-nav a.active::after {
            transform: scaleX(1);
        }

        .header-actions {
            display: flex;
            align-items: center;
            gap: 9px;
            flex: 0 0 auto;
        }

        .header-link {
            padding: 9px 10px;
            color: #dce5ff;
            font-size: .82rem;
            font-weight: 800;
            white-space: nowrap;
        }

        .header-link:hover {
            color: var(--cyan);
        }

        .nav-toggle {
            display: none;
            width: 42px;
            height: 42px;
            border: 1px solid var(--line);
            border-radius: 12px;
            color: var(--white);
            background: rgba(21, 28, 56, .8);
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            min-height: 47px;
            padding: 12px 20px;
            border: 1px solid transparent;
            border-radius: 13px;
            font-size: .88rem;
            font-weight: 800;
            line-height: 1.1;
            transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
        }

        .btn:hover {
            color: var(--navy-deep);
            transform: translateY(-3px);
        }

        .btn:active {
            transform: translateY(1px) scale(.98);
        }

        .btn--lime {
            color: var(--navy-deep);
            background: var(--lime);
            box-shadow: 0 10px 26px rgba(206,255,55,.2);
        }

        .btn--lime:hover {
            background: #e1ff83;
            box-shadow: 0 14px 34px rgba(206,255,55,.32);
        }

        .btn--cyan {
            color: var(--navy-deep);
            background: var(--cyan);
            box-shadow: 0 12px 30px rgba(24,227,255,.2);
        }

        .btn--cyan:hover {
            background: var(--cyan-soft);
            box-shadow: 0 14px 38px rgba(24,227,255,.34);
        }

        .btn--ghost {
            color: var(--white);
            border-color: var(--line-strong);
            background: rgba(15, 22, 55, .5);
        }

        .btn--ghost:hover {
            color: var(--white);
            border-color: var(--cyan);
            background: rgba(24,227,255,.12);
            box-shadow: 0 0 25px rgba(24,227,255,.18);
        }

        .page-hero {
            position: relative;
            isolation: isolate;
            min-height: 680px;
            padding: 94px 0 82px;
            background-image: linear-gradient(90deg, rgba(9,13,34,.96) 0%, rgba(9,13,34,.8) 43%, rgba(9,13,34,.46) 100%), url("/assets/images/backpic/back-2.jpg");
            background-position: center;
            background-size: cover;
        }

        .page-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            background: linear-gradient(125deg, rgba(44,23,100,.6), transparent 47%, rgba(24,227,255,.09));
        }

        .hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.16fr) minmax(340px, .84fr);
            align-items: center;
            gap: 76px;
        }

        .hero-kicker {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 23px;
            padding: 8px 12px;
            border: 1px solid rgba(24,227,255,.35);
            border-radius: 999px;
            color: var(--cyan-soft);
            background: rgba(11, 18, 50, .7);
            font-size: .76rem;
            font-weight: 800;
            letter-spacing: .09em;
            text-transform: uppercase;
        }

        .hero-kicker i {
            color: var(--lime);
        }

        .hero-copy p {
            max-width: 675px;
            margin-bottom: 27px;
            color: #c8d3ef;
            font-size: 1.08rem;
        }

        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 27px;
        }

        .hero-note {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            max-width: 570px;
            color: #9daaca;
            font-size: .85rem;
        }

        .hero-note i {
            padding-top: 4px;
            color: var(--cyan);
        }

        .hero-panel {
            position: relative;
            overflow: hidden;
            padding: 27px;
            border: 1px solid rgba(24,227,255,.39);
            border-radius: var(--radius-xl);
            background: linear-gradient(145deg, rgba(17,26,66,.92), rgba(16,16,50,.82));
            box-shadow: var(--shadow-lg), var(--shadow-neon);
        }

        .hero-panel::after {
            content: "";
            position: absolute;
            top: -90px;
            right: -70px;
            width: 190px;
            height: 190px;
            border-radius: 50%;
            background: rgba(206,255,55,.14);
            filter: blur(4px);
        }

        .panel-top,
        .group-top {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            margin-bottom: 22px;
        }

        .panel-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: #d7e2ff;
            font-size: .8rem;
            font-weight: 800;
        }

        .pulse-dot {
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--lime);
            box-shadow: 0 0 0 5px rgba(206,255,55,.1), 0 0 16px var(--lime);
            animation: pulse 1.8s infinite;
        }

        .panel-badge,
        .small-badge {
            display: inline-flex;
            align-items: center;
            min-height: 26px;
            padding: 4px 9px;
            border: 1px solid rgba(206,255,55,.34);
            border-radius: 999px;
            color: var(--lime);
            background: rgba(206,255,55,.09);
            font-size: .72rem;
            font-weight: 800;
        }

        .hero-panel h2 {
            position: relative;
            z-index: 1;
            max-width: 310px;
            margin-bottom: 12px;
            font-size: 1.85rem;
        }

        .hero-panel p {
            position: relative;
            z-index: 1;
            margin-bottom: 22px;
            color: var(--muted);
            font-size: .92rem;
        }

        .meter-label {
            display: flex;
            justify-content: space-between;
            gap: 14px;
            margin-bottom: 9px;
            color: #d8e4ff;
            font-size: .78rem;
            font-weight: 800;
        }

        .meter {
            height: 10px;
            overflow: hidden;
            margin-bottom: 20px;
            border-radius: 999px;
            background: rgba(167,180,211,.15);
        }

        .meter span {
            display: block;
            width: 60%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, var(--cyan), var(--lime));
            box-shadow: 0 0 16px rgba(24,227,255,.45);
        }

        .check-list {
            position: relative;
            z-index: 1;
            display: grid;
            gap: 11px;
            margin: 0 0 24px;
            padding: 0;
            list-style: none;
        }

        .check-list li {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            color: #ccd7f0;
            font-size: .88rem;
        }

        .check-list i {
            margin-top: 5px;
            color: var(--cyan);
            font-size: .78rem;
        }

        .panel-actions {
            position: relative;
            z-index: 1;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 9px;
        }

        .panel-actions .btn {
            min-height: 43px;
            padding-inline: 11px;
            font-size: .78rem;
        }

        .trust-row {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 32px;
        }

        .trust-chip {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 11px;
            border: 1px solid var(--line);
            border-radius: 10px;
            color: #cbd6ef;
            background: rgba(16, 23, 58, .56);
            font-size: .78rem;
            font-weight: 700;
        }

        .trust-chip i {
            color: var(--lime);
        }

        .signal-layout {
            display: grid;
            grid-template-columns: .82fr 1.18fr;
            gap: 60px;
            align-items: start;
        }

        .signal-lead {
            padding-right: 20px;
        }

        .signal-lead h2 {
            max-width: 400px;
        }

        .signal-board {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1px;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            background: var(--line);
        }

        .signal-item {
            min-height: 178px;
            padding: 27px 25px;
            background: rgba(17,26,66,.88);
            transition: background .22s ease, transform .22s ease;
        }

        .signal-item:hover {
            z-index: 1;
            background: rgba(24, 43, 91, .96);
            transform: translateY(-3px);
        }

        .signal-number {
            display: block;
            margin-bottom: 17px;
            color: var(--cyan);
            font-size: .77rem;
            font-weight: 900;
            letter-spacing: .1em;
        }

        .signal-item h3 {
            color: var(--white);
            font-size: 1.08rem;
        }

        .signal-item p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: .88rem;
        }

        .split-layout {
            display: grid;
            grid-template-columns: minmax(320px, .86fr) minmax(0, 1.14fr);
            align-items: center;
            gap: 75px;
        }

        .image-frame {
            position: relative;
            overflow: hidden;
            border-radius: var(--radius-xl);
            box-shadow: 18px 24px 0 rgba(24,227,255,.08), var(--shadow-lg);
        }

        .image-frame::after {
            content: "";
            position: absolute;
            inset: 0;
            border: 1px solid rgba(255,255,255,.18);
            border-radius: inherit;
            pointer-events: none;
        }

        .image-frame img {
            width: 100%;
            min-height: 400px;
            object-fit: cover;
        }

        .image-caption {
            position: absolute;
            right: 18px;
            bottom: 17px;
            left: 18px;
            padding: 14px 16px;
            border: 1px solid rgba(255,255,255,.18);
            border-radius: 13px;
            color: var(--white);
            background: rgba(9,13,34,.74);
            backdrop-filter: blur(12px);
            font-size: .82rem;
            font-weight: 700;
        }

        .steps {
            display: grid;
            gap: 0;
            margin: 28px 0 28px;
        }

        .step {
            display: grid;
            grid-template-columns: 48px 1fr;
            gap: 16px;
            padding: 0 0 24px;
        }

        .step:last-child {
            padding-bottom: 0;
        }

        .step-index {
            position: relative;
            display: grid;
            place-items: center;
            width: 40px;
            height: 40px;
            border: 1px solid var(--cyan);
            border-radius: 13px;
            color: var(--navy-deep);
            background: var(--cyan);
            font-size: .85rem;
            font-weight: 900;
        }

        .step:not(:last-child) .step-index::after {
            content: "";
            position: absolute;
            top: 45px;
            left: 19px;
            width: 1px;
            height: 36px;
            background: linear-gradient(var(--cyan), transparent);
        }

        .step h3 {
            margin-bottom: 5px;
            color: var(--white);
            font-size: 1.05rem;
        }

        .step p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: .91rem;
        }

        .device-section {
            color: var(--ink);
            background: var(--paper);
        }

        .device-section .eyebrow {
            color: #3a49a4;
        }

        .device-section .eyebrow::before {
            background: var(--pink);
            box-shadow: none;
        }

        .device-layout {
            display: grid;
            grid-template-columns: .72fr 1.28fr;
            gap: 54px;
            align-items: start;
        }

        .device-intro {
            position: sticky;
            top: 112px;
        }

        .device-intro h2 {
            max-width: 380px;
        }

        .device-intro p {
            max-width: 390px;
            color: #5c6a87;
        }

        .device-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: 18px;
        }

        .device-card {
            padding: 25px;
            border: 1px solid rgba(12,16,34,.1);
            border-radius: var(--radius-lg);
            background: rgba(255,255,255,.82);
            box-shadow: 0 15px 35px rgba(38,56,112,.09);
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
        }

        .device-card:hover {
            transform: translateY(-5px);
            border-color: rgba(24,227,255,.7);
            box-shadow: 0 20px 42px rgba(38,56,112,.15);
        }

        .device-icon {
            display: grid;
            place-items: center;
            width: 45px;
            height: 45px;
            margin-bottom: 20px;
            border-radius: 14px;
            color: var(--white);
            background: linear-gradient(135deg, var(--violet), #4a35a5);
            box-shadow: 0 9px 20px rgba(44,23,100,.2);
        }

        .device-card p {
            min-height: 72px;
            margin-bottom: 18px;
            color: #66728b;
            font-size: .9rem;
        }

        .device-list {
            display: grid;
            gap: 10px;
            margin: 0;
            padding: 17px 0 0;
            border-top: 1px solid #dce3f3;
            list-style: none;
        }

        .device-list li {
            display: flex;
            gap: 9px;
            color: #29344e;
            font-size: .84rem;
            font-weight: 700;
        }

        .device-list i {
            margin-top: 5px;
            color: #4b44c9;
            font-size: .7rem;
        }

        .data-section {
            padding: 65px 0;
            background: rgba(11,17,43,.73);
            border-top: 1px solid rgba(135,170,255,.1);
            border-bottom: 1px solid rgba(135,170,255,.1);
        }

        .data-strip {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 0;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: var(--radius-lg);
            background: rgba(17,26,66,.66);
        }

        .data-point {
            padding: 25px 26px;
            border-right: 1px solid var(--line);
        }

        .data-point:last-child {
            border-right: 0;
        }

        .data-value {
            display: block;
            margin-bottom: 5px;
            color: var(--cyan);
            font-size: 1.65rem;
            font-weight: 900;
            letter-spacing: -.04em;
        }

        .data-label {
            color: var(--muted);
            font-size: .82rem;
        }

        .group-layout {
            display: grid;
            grid-template-columns: 1.05fr .95fr;
            gap: 60px;
            align-items: center;
        }

        .group-callout {
            position: relative;
            overflow: hidden;
            padding: 31px;
            border: 1px solid rgba(255,77,160,.38);
            border-radius: var(--radius-xl);
            background:
                radial-gradient(circle at 88% 12%, rgba(255,77,160,.22), transparent 28%),
                linear-gradient(145deg, rgba(44,23,100,.95), rgba(17,26,66,.9));
            box-shadow: var(--shadow-lg);
        }

        .group-callout::before {
            content: "✦";
            position: absolute;
            top: 17px;
            right: 27px;
            color: var(--pink);
            font-size: 2rem;
            opacity: .8;
        }

        .group-callout h3 {
            max-width: 400px;
            margin-bottom: 13px;
            font-size: 1.7rem;
        }

        .group-callout p {
            max-width: 530px;
            color: #c5cdeb;
            font-size: .94rem;
        }

        .group-meter {
            height: 9px;
            margin: 21px 0 11px;
            overflow: hidden;
            border-radius: 999px;
            background: rgba(255,255,255,.13);
        }

        .group-meter span {
            display: block;
            width: 60%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(90deg, var(--pink), var(--cyan));
        }

        .group-meta {
            display: flex;
            justify-content: space-between;
            color: #b9c6e7;
            font-size: .8rem;
            font-weight: 700;
        }

        .group-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 23px;
        }

        .flow-list {
            display: grid;
            gap: 22px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .flow-list li {
            display: grid;
            grid-template-columns: 39px 1fr;
            gap: 15px;
            align-items: start;
        }

        .flow-icon {
            display: grid;
            place-items: center;
            width: 39px;
            height: 39px;
            border: 1px solid rgba(24,227,255,.45);
            border-radius: 12px;
            color: var(--cyan);
            background: rgba(24,227,255,.08);
        }

        .flow-list h3 {
            margin-bottom: 4px;
            font-size: 1rem;
        }

        .flow-list p {
            margin-bottom: 0;
            color: var(--muted);
            font-size: .89rem;
        }

        .faq-layout {
            display: grid;
            grid-template-columns: .7fr 1.3fr;
            gap: 70px;
            align-items: start;
        }

        .faq-intro {
            position: sticky;
            top: 110px;
        }

        .faq-intro p {
            color: var(--muted);
        }

        .faq-list {
            display: grid;
            gap: 12px;
        }

        .faq-list details {
            border: 1px solid var(--line);
            border-radius: var(--radius-md);
            background: rgba(17,26,66,.74);
            transition: border-color .22s ease, background .22s ease;
        }

        .faq-list details[open] {
            border-color: var(--line-strong);
            background: rgba(22,34,82,.93);
        }

        .faq-list summary {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding: 20px 22px;
            color: var(--white);
            font-size: .98rem;
            font-weight: 800;
            list-style: none;
            cursor: pointer;
        }

        .faq-list summary::-webkit-details-marker {
            display: none;
        }

        .faq-list summary::after {
            content: "+";
            flex: 0 0 auto;
            color: var(--cyan);
            font-size: 1.35rem;
            font-weight: 400;
        }

        .faq-list details[open] summary::after {
            content: "−";
            color: var(--lime);
        }

        .faq-answer {
            padding: 0 22px 21px;
            color: var(--muted);
            font-size: .9rem;
        }

        .faq-answer p {
            margin-bottom: 0;
        }

        .cta-band {
            position: relative;
            overflow: hidden;
            padding: 60px 40px;
            border: 1px solid rgba(24,227,255,.4);
            border-radius: var(--radius-xl);
            text-align: center;
            background:
                radial-gradient(circle at 18% 40%, rgba(24,227,255,.2), transparent 28%),
                radial-gradient(circle at 84% 20%, rgba(255,77,160,.17), transparent 25%),
                linear-gradient(130deg, #151c38, #24155b);
            box-shadow: var(--shadow-lg);
        }

        .cta-band h2 {
            max-width: 760px;
            margin-inline: auto;
            font-size: clamp(2rem, 4vw, 3.6rem);
        }

        .cta-band p {
            max-width: 650px;
            margin: 0 auto 25px;
            color: #c3cdea;
        }

        .cta-actions {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 11px;
        }

        .site-footer {
            padding: 70px 0 23px;
            border-top: 1px solid rgba(135,170,255,.14);
            background: rgba(7, 11, 29, .92);
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.35fr .7fr 1fr;
            gap: 65px;
            padding-bottom: 48px;
        }

        .footer-brand .brand {
            margin-bottom: 20px;
        }

        .footer-brand p,
        .footer-note p {
            max-width: 380px;
            margin-bottom: 0;
            color: var(--muted);
            font-size: .87rem;
        }

        .footer-title {
            margin-bottom: 17px;
            color: var(--white);
            font-size: .8rem;
            font-weight: 900;
            letter-spacing: .1em;
            text-transform: uppercase;
        }

        .footer-links {
            display: grid;
            gap: 10px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .footer-links a {
            color: var(--muted);
            font-size: .88rem;
        }

        .footer-links a:hover {
            color: var(--cyan);
            padding-left: 4px;
        }

        .footer-note {
            padding-left: 18px;
            border-left: 2px solid var(--pink);
        }

        .footer-bottom {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            padding-top: 21px;
            border-top: 1px solid rgba(135,170,255,.13);
            color: var(--muted-dark);
            font-size: .78rem;
        }

        .footer-bottom a {
            color: #aebbd8;
            font-weight: 700;
        }

        .fab-support {
            position: fixed;
            left: 1rem;
            bottom: 6rem;
            z-index: 50;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            min-width: 56px;
            min-height: 52px;
            padding: 9px 15px;
            border: 1px solid transparent;
            border-radius: 999px;
            color: var(--cyan-soft);
            background: linear-gradient(var(--navy-deep), var(--navy-deep)) padding-box, linear-gradient(100deg, var(--cyan), var(--pink), var(--lime)) border-box;
            box-shadow: 0 0 15px rgba(0,240,255,.42);
            opacity: .72;
            font-size: .8rem;
            font-weight: 800;
            animation: float 3.4s ease-in-out infinite;
            transition: opacity .22s ease, transform .22s ease, box-shadow .22s ease;
        }

        .fab-support:hover {
            color: var(--white);
            opacity: 1;
            transform: scale(1.08);
            box-shadow: 0 0 27px rgba(0,240,255,.72);
        }

        .fab-support i {
            color: var(--cyan);
            font-size: 1.1rem;
            transition: transform .5s ease;
        }

        .fab-support:hover i {
            color: var(--lime);
            transform: rotate(360deg);
        }

        .fab-notice {
            position: absolute;
            top: -7px;
            right: 2px;
            padding: 2px 5px;
            border-radius: 5px;
            color: var(--navy-deep);
            background: var(--pink);
            font-size: .56rem;
            font-weight: 900;
            animation: blink 1.4s infinite;
        }

        @keyframes pulse {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: .45; transform: scale(.78); }
        }

        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-6px); }
        }

        @keyframes blink {
            0%, 45%, 100% { opacity: 1; }
            50%, 70% { opacity: .35; }
        }

        @media (max-width: 1100px) {
            .brand {
                min-width: 180px;
            }

            .primary-nav a {
                padding-inline: 8px;
                font-size: .8rem;
            }

            .hero-grid {
                gap: 42px;
            }

            .split-layout,
            .group-layout {
                gap: 45px;
            }
        }

        @media (max-width: 900px) {
            .topbar {
                gap: 12px;
            }

            .brand {
                min-width: 165px;
            }

            .brand-copy {
                font-size: .78rem;
            }

            .primary-nav {
                gap: 0;
            }

            .primary-nav a {
                padding-inline: 6px;
                font-size: .74rem;
            }

            .header-link {
                display: none;
            }

            .hero-grid,
            .signal-layout,
            .split-layout,
            .device-layout,
            .group-layout,
            .faq-layout {
                grid-template-columns: 1fr;
            }

            .page-hero {
                min-height: auto;
            }

            .signal-lead,
            .device-intro {
                padding-right: 0;
            }

            .device-intro,
            .faq-intro {
                position: static;
            }

            .device-intro p {
                max-width: 650px;
            }

            .footer-grid {
                gap: 35px;
            }
        }

        @media (max-width: 700px) {
            .container {
                width: min(100% - 32px, 620px);
            }

            .grid-container {
                padding-inline: 16px;
            }

            .topbar {
                min-height: 68px;
            }

            .brand {
                min-width: 0;
                flex: 1;
            }

            .primary-nav {
                position: absolute;
                top: 68px;
                right: 16px;
                left: 16px;
                display: none;
                flex-direction: column;
                align-items: stretch;
                padding: 10px;
                border: 1px solid var(--line);
                border-radius: 16px;
                background: rgba(9,13,34,.97);
                box-shadow: var(--shadow-lg);
            }

            .primary-nav.is-open {
                display: flex;
            }

            .primary-nav a {
                padding: 12px 14px;
                font-size: .86rem;
            }

            .primary-nav a::after {
                right: 14px;
                bottom: 7px;
                left: 14px;
            }

            .nav-toggle {
                display: block;
            }

            .header-actions {
                gap: 5px;
            }

            .header-actions .btn {
                min-height: 40px;
                padding: 9px 11px;
                font-size: .72rem;
            }

            .page-hero {
                padding: 68px 0 60px;
                background-position: 62% center;
            }

            h1 {
                font-size: clamp(2.25rem, 11vw, 3.5rem);
            }

            .section {
                padding: 70px 0;
            }

            .section--compact {
                padding: 54px 0;
            }

            .section-heading {
                display: block;
                margin-bottom: 27px;
            }

            .section-heading .section-intro {
                margin-top: 16px;
            }

            .signal-board,
            .device-grid,
            .data-strip {
                grid-template-columns: 1fr;
            }

            .signal-item {
                min-height: auto;
            }

            .data-point {
                border-right: 0;
                border-bottom: 1px solid var(--line);
            }

            .data-point:last-child {
                border-bottom: 0;
            }

            .image-frame img {
                min-height: 300px;
            }

            .cta-band {
                padding: 45px 22px;
            }

            .footer-grid {
                grid-template-columns: 1fr;
                gap: 32px;
                padding-bottom: 35px;
            }

            .footer-bottom {
                display: block;
            }

            .footer-bottom a {
                display: inline-block;
                margin-top: 12px;
            }
        }

        @media (max-width: 520px) {
            .hero-actions,
            .group-actions,
            .cta-actions {
                display: grid;
                grid-template-columns: 1fr;
            }

            .hero-actions .btn,
            .group-actions .btn,
            .cta-actions .btn {
                width: 100%;
            }

            .hero-panel,
            .group-callout {
                padding: 22px;
                border-radius: 22px;
            }

            .panel-actions {
                grid-template-columns: 1fr;
            }

            .trust-row {
                display: grid;
                grid-template-columns: 1fr 1fr;
            }

            .trust-chip {
                font-size: .7rem;
            }

            .step {
                grid-template-columns: 40px 1fr;
                gap: 12px;
            }

            .step-index {
                width: 36px;
                height: 36px;
            }

            .step:not(:last-child) .step-index::after {
                left: 17px;
            }

            .fab-support {
                left: 1rem;
                bottom: 5.3rem;
                padding-inline: 12px;
            }
        }
