:root {
    --bg: #060b12;
    --bg-2: #0a111b;
    --panel: rgba(15, 25, 39, .88);
    --panel-2: #101b2a;
    --line: rgba(159, 190, 255, .13);
    --text: #edf5ff;
    --muted: #8ea0b8;
    --accent: #64ddff;
    --accent-2: #5a6cff;
    --violet: #a855f7;
    --success: #41e19b;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; overflow-x: hidden; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: #a8efff; }
main { min-height: 80vh; }
.site-noise { position: fixed; inset: 0; pointer-events: none; opacity: .025; z-index: 99; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.storm-nav { padding: 13px 0; background: rgba(4, 9, 15, .72); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.06); }
.navbar-brand { font-weight: 900; letter-spacing: .06em; }
.brand-accent { color: var(--accent); }
.nav-link { color: #c5d1df !important; font-weight: 600; font-size: .94rem; }
.nav-link:hover { color: #fff !important; }
.btn { border-radius: 12px; font-weight: 800; letter-spacing: .01em; transition: .25s ease; }
.btn-storm { color: #041019; border: 0; background: linear-gradient(135deg, var(--accent), #7b8cff 62%, #bd6eff); box-shadow: 0 10px 32px rgba(84, 135, 255, .23); }
.btn-storm:hover { color: #041019; transform: translateY(-2px); box-shadow: 0 15px 38px rgba(84, 135, 255, .38); }
.btn-ghost { color: #e8f4ff; background: rgba(255,255,255,.035); border: 1px solid rgba(172, 200, 255, .2); }
.btn-ghost:hover { color: white; border-color: rgba(100, 221, 255, .55); background: rgba(100, 221, 255, .07); }
.hero-section { position: relative; min-height: 100vh; overflow: hidden; background: radial-gradient(circle at 79% 42%, rgba(50, 98, 214, .22), transparent 31%), linear-gradient(180deg, #07111d 0%, #060b12 100%); }
.hero-section::before { content:""; position:absolute; inset:0; opacity:.17; background-image: linear-gradient(rgba(102,153,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(102,153,255,.12) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.hero-section::after { content:""; position:absolute; left:-10%; right:-10%; bottom:-120px; height:260px; background:var(--bg); border-radius:50% 50% 0 0; filter:blur(20px); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .42; }
.hero-orb-one { width: 300px; height: 300px; right: 12%; top: 22%; background: rgba(81, 110, 255, .18); box-shadow: 0 0 120px 70px rgba(70, 101, 255, .13); }
.hero-orb-two { width: 180px; height: 180px; right: 30%; bottom: 13%; background: rgba(168, 85, 247, .11); box-shadow: 0 0 100px 60px rgba(168, 85, 247, .12); }
.eyebrow { display:flex; align-items:center; gap:10px; font-weight:900; font-size:.78rem; letter-spacing:.22em; color:var(--accent); }
.eyebrow span { width:34px; height:2px; background:linear-gradient(90deg,var(--accent),transparent); }
.fw-black { font-weight: 950; }
.hero-title { letter-spacing: -.055em; line-height: .95; max-width: 800px; text-shadow: 0 0 60px rgba(100,221,255,.08); }
.hero-title span { background: linear-gradient(90deg, #71e8ff, #7d8cff, #c167ff); -webkit-background-clip:text; color:transparent; }
.hero-lead { max-width: 690px; color: #a8b8ca; font-size: 1.22rem; line-height: 1.75; }
.hero-meta { display:flex; flex-wrap:wrap; gap:34px; }
.hero-meta div { display:flex; flex-direction:column; border-left:1px solid rgba(255,255,255,.13); padding-left:16px; }
.hero-meta small { color:var(--muted); }
.hero-meta strong { margin-top:3px; }
.server-core-wrap { height:560px; position:relative; display:grid; place-items:center; }
.server-core { width:230px; height:230px; border-radius:48%; display:grid; place-items:center; background: radial-gradient(circle, rgba(75,126,255,.22), rgba(7,16,28,.7)); border:1px solid rgba(118,211,255,.35); box-shadow: inset 0 0 70px rgba(89,100,255,.19), 0 0 90px rgba(73,125,255,.16); animation: float 5s ease-in-out infinite; }
.server-core img { width:150px; filter: drop-shadow(0 0 22px rgba(96, 221, 255, .4)); }
.orbit { position:absolute; border:1px solid rgba(111,167,255,.21); border-radius:50%; animation:spin 16s linear infinite; }
.orbit-one { width:370px; height:370px; }
.orbit-two { width:470px; height:470px; animation-duration:25s; animation-direction:reverse; }
.orbit span { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--accent); top:-6px; left:50%; box-shadow:0 0 18px var(--accent); }
.status-card { position:absolute; bottom:70px; right:5px; display:flex; gap:12px; align-items:center; padding:14px 18px; }
.glass-card { background:rgba(15,25,39,.65); border:1px solid rgba(159,190,255,.15); backdrop-filter:blur(15px); border-radius:16px; }
.status-dot { width:11px; height:11px; border-radius:50%; }
.status-dot.online { background:var(--success); box-shadow:0 0 14px var(--success); }
.status-dot.offline { background:#ff647c; box-shadow:0 0 14px #ff647c; }
.status-card small,.status-card strong { display:block; }
.status-card small { color:var(--muted); font-size:.72rem; }
.stats-strip { position:relative; z-index:2; margin-top:-35px; }
.stats-strip .container { background:rgba(12,21,33,.94); border:1px solid var(--line); border-radius:20px; box-shadow:0 24px 60px rgba(0,0,0,.25); overflow:hidden; }
.stat-cell { padding:28px 12px; border-right:1px solid var(--line); }
.stat-cell:last-child { border-right:0; }
.stat-cell span { display:block; font-size:1.5rem; font-weight:900; }
.stat-cell small { color:var(--muted); }
.section-space { padding:100px 0; }
.section-heading { max-width:740px; }
.section-heading h2,.cta-card h2 { font-size:clamp(2rem,4vw,3.5rem); font-weight:900; letter-spacing:-.04em; margin:16px 0; }
.section-heading p,.cta-card p { color:var(--muted); font-size:1.08rem; }
.feature-card { position:relative; padding:34px 28px; border-radius:20px; background:linear-gradient(145deg,rgba(18,30,47,.9),rgba(10,18,29,.9)); border:1px solid var(--line); overflow:hidden; transition:.3s ease; }
.feature-card::after { content:""; position:absolute; width:90px; height:90px; border-radius:50%; right:-35px; top:-35px; background:var(--accent-2); filter:blur(40px); opacity:.12; }
.feature-card:hover { transform:translateY(-7px); border-color:rgba(100,221,255,.35); }
.feature-number { display:block; color:var(--accent); font-weight:900; letter-spacing:.15em; margin-bottom:32px; }
.feature-card h3 { font-size:1.2rem; font-weight:800; }
.feature-card p { color:var(--muted); margin:0; line-height:1.7; }
.section-dark { background:linear-gradient(180deg,rgba(10,17,27,.6),rgba(9,15,24,.95)); border-top:1px solid rgba(255,255,255,.04); border-bottom:1px solid rgba(255,255,255,.04); }
.steps-list { margin-top:28px; }
.step-item { display:flex; gap:20px; margin-bottom:24px; }
.step-item b { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--accent); background:rgba(100,221,255,.08); border:1px solid rgba(100,221,255,.2); }
.step-item h3 { font-size:1.15rem; margin:0 0 5px; }
.step-item p { margin:0; color:var(--muted); }
.panel-card { background:linear-gradient(145deg,rgba(17,28,43,.96),rgba(9,16,26,.96)); border:1px solid var(--line); border-radius:20px; box-shadow:0 20px 55px rgba(0,0,0,.18); }
.soft-badge { padding:7px 10px; font-size:.7rem; color:var(--accent); background:rgba(100,221,255,.08); border:1px solid rgba(100,221,255,.17); border-radius:9px; font-weight:800; }
.ranking-item { display:flex; gap:15px; align-items:center; padding:15px 0; border-bottom:1px solid var(--line); }
.ranking-item:last-child { border-bottom:0; }
.ranking-item .rank { color:var(--accent); font-weight:900; width:35px; }
.ranking-item small { display:block; color:var(--muted); }
.ranking-item b { font-size:.9rem; }
.cta-card { padding:75px 30px; border-radius:28px; border:1px solid rgba(114,193,255,.2); background:radial-gradient(circle at 50% 0%,rgba(81,101,255,.2),transparent 48%),linear-gradient(145deg,#111d2c,#09111b); }
.cta-card p { max-width:620px; margin:0 auto 28px; }
.site-footer { border-top:1px solid rgba(255,255,255,.06); background:#04080d; }
.footer-link { color:var(--muted); margin-left:22px; }
.flash-stack { position:fixed; top:88px; left:50%; transform:translateX(-50%); z-index:1050; max-width:720px; }
.auth-section { min-height:100vh; display:flex; align-items:center; background:radial-gradient(circle at 20% 20%,rgba(68,95,215,.18),transparent 30%),radial-gradient(circle at 80% 70%,rgba(168,85,247,.1),transparent 28%); }
.auth-shell { max-width:1060px; display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:rgba(10,17,27,.94); box-shadow:0 30px 80px rgba(0,0,0,.35); }
.auth-shell-small { max-width:540px; display:block; }
.auth-copy { padding:55px; align-items:flex-end; background:radial-gradient(circle at 40% 20%,rgba(100,221,255,.18),transparent 32%),linear-gradient(145deg,#0e2235,#0a1220); border-right:1px solid var(--line); }
.auth-copy h1 { font-size:2.8rem; font-weight:900; letter-spacing:-.05em; margin:16px 0; }
.auth-copy p { color:var(--muted); }
.auth-form-wrap { padding:50px; }
.form-control,.form-select,.input-group-text { color:#eef6ff; background:#09131f; border:1px solid rgba(143,174,223,.17); border-radius:12px; }
.form-control:focus,.form-select:focus { color:#fff; background:#0a1623; border-color:rgba(100,221,255,.55); box-shadow:0 0 0 .2rem rgba(100,221,255,.08); }
.form-control::placeholder { color:#61758d; }
.form-select option { background:#0a1420; }
.form-label { font-weight:700; color:#cdd9e8; }
.form-text { color:#6e829a; }
.form-check-input { background-color:#09131f; border-color:rgba(143,174,223,.3); }
.form-check-input:checked { background-color:#657bff; border-color:#657bff; }
.inner-hero { padding:155px 0 80px; background:radial-gradient(circle at 78% 15%,rgba(75,102,255,.17),transparent 28%),linear-gradient(180deg,#091522,#070c13); border-bottom:1px solid rgba(255,255,255,.05); }
.inner-hero h1 { font-size:clamp(2.5rem,6vw,5rem); font-weight:950; letter-spacing:-.055em; margin:12px 0; }
.inner-hero p { color:var(--muted); max-width:700px; font-size:1.08rem; }
.dashboard-head { padding:155px 0 105px; background:radial-gradient(circle at 80% 20%,rgba(81,102,255,.18),transparent 32%),linear-gradient(180deg,#091624,#07101a); }
.dashboard-head h1 { font-size:clamp(2.4rem,5vw,4.4rem); font-weight:900; letter-spacing:-.05em; margin:10px 0; }
.dashboard-head p { color:var(--muted); margin:0; }
.dashboard-section { background:#070c13; }
.dashboard-overlap { transform:translateY(-48px); margin-bottom:-28px; }
.metric-card { height:100%; padding:26px; border-radius:18px; background:linear-gradient(145deg,#111e2d,#0a131f); border:1px solid var(--line); box-shadow:0 18px 40px rgba(0,0,0,.2); }
.metric-card small,.metric-card span { display:block; color:var(--muted); }
.metric-card strong { display:block; font-size:2rem; margin:8px 0 2px; }
.character-grid { display:grid; gap:14px; }
.character-card { display:flex; align-items:center; gap:18px; padding:18px; background:rgba(255,255,255,.022); border:1px solid var(--line); border-radius:16px; }
.character-avatar { flex:0 0 54px; width:54px; height:54px; display:grid; place-items:center; border-radius:15px; color:#06111a; font-weight:950; font-size:1.25rem; background:linear-gradient(135deg,var(--accent),#8e78ff); }
.character-card h3 { font-size:1.08rem; margin:0; }
.character-card p { color:var(--muted); margin:2px 0 8px; }
.character-meta { display:flex; flex-wrap:wrap; gap:12px; font-size:.8rem; color:#bdc9d7; }
.empty-state { padding:45px 20px; border:1px dashed rgba(143,174,223,.19); border-radius:16px; text-align:center; color:var(--muted); }
.empty-state h3 { color:#fff; }
.table { --bs-table-bg:transparent; --bs-table-border-color:rgba(159,190,255,.1); --bs-table-color:#cfdbea; }
.race-picker { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.race-option input,.payment-methods input { position:absolute; opacity:0; pointer-events:none; }
.race-option span { display:flex; flex-direction:column; min-height:88px; justify-content:center; padding:14px; background:#0a1420; border:1px solid var(--line); border-radius:14px; cursor:pointer; transition:.2s; }
.race-option small { color:var(--muted); margin-top:4px; }
.race-option input:checked + span { border-color:var(--accent); box-shadow:0 0 0 2px rgba(100,221,255,.08); background:rgba(100,221,255,.07); }
.quick-amounts { display:flex; flex-wrap:wrap; gap:8px; }
.quick-amounts button { color:#cbd7e4; background:#0a1420; border:1px solid var(--line); border-radius:10px; padding:9px 13px; }
.quick-amounts button:hover { color:#fff; border-color:var(--accent); }
.payment-methods { display:grid; gap:10px; }
.payment-methods label span { display:block; padding:15px 17px; background:#0a1420; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.payment-methods input:checked + span { border-color:var(--accent); background:rgba(100,221,255,.06); }
.donation-summary { top:110px; }
.donation-summary > strong { display:block; font-size:3.4rem; margin-top:15px; line-height:1; background:linear-gradient(90deg,var(--accent),#a177ff); -webkit-background-clip:text; color:transparent; }
.donation-summary > span { color:var(--muted); }
.payment-card { max-width:620px; }
.payment-icon { width:66px; height:66px; margin:0 auto 18px; display:grid; place-items:center; border-radius:50%; color:#052216; background:var(--success); font-size:1.7rem; font-weight:900; box-shadow:0 0 28px rgba(65,225,155,.2); }
.payment-lines { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 0; }
.payment-lines div { display:flex; justify-content:space-between; gap:20px; padding:10px 0; text-align:left; }
.payment-lines span { color:var(--muted); }
.balance-callout { display:flex; justify-content:space-between; gap:15px; padding:18px; border-radius:14px; background:rgba(100,221,255,.06); border:1px solid rgba(100,221,255,.17); }
.content-card { max-width:900px; margin:auto; }
.content-card h2 { font-size:1.35rem; margin-top:28px; }
.content-card h2:first-child { margin-top:0; }
.content-card p { color:var(--muted); line-height:1.8; }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes float { 0%,100% { transform:translateY(-8px); } 50% { transform:translateY(12px); } }
@media (max-width: 991.98px) {
    .storm-nav .navbar-collapse { padding:18px 0; }
    .hero-title { font-size:clamp(3.6rem,12vw,6rem); }
    .auth-shell { display:block; }
    .race-picker { grid-template-columns:repeat(2,1fr); }
    .stat-cell:nth-child(2) { border-right:0; }
    .stat-cell:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}
@media (max-width: 767.98px) {
    .section-space { padding:72px 0; }
    .hero-section .min-vh-100 { min-height:900px !important; }
    .hero-title { font-size:3.45rem; }
    .hero-lead { font-size:1.05rem; }
    .hero-meta { gap:18px; }
    .stats-strip { margin-top:-22px; }
    .stat-cell { padding:21px 8px; }
    .stat-cell span { font-size:1.18rem; }
    .auth-form-wrap { padding:32px 22px; }
    .inner-hero { padding:130px 0 62px; }
    .dashboard-head { padding:130px 0 90px; }
    .character-card { align-items:flex-start; }
    .race-picker { grid-template-columns:1fr; }
    .footer-link { display:inline-block; margin:12px 16px 0 0; }
}

/* L2STORM cinematic theme */
:root {
    --bg: #04080d;
    --bg-2: #08111a;
    --panel: rgba(10, 18, 27, .92);
    --panel-2: #0c1722;
    --line: rgba(173, 213, 236, .14);
    --text: #f2f7fa;
    --muted: #91a3af;
    --accent: #78dcff;
    --accent-2: #4c91ba;
    --violet: #8899ff;
    --gold: #d6b675;
    --success: #4ce3a1;
}
body { background: #04080d; }
.storm-nav { background: rgba(3, 8, 13, .78); border-bottom-color: rgba(202, 231, 246, .08); }
.brand-word { font-weight: 950; letter-spacing: .08em; color: #edf7fc; }
.brand-word span { color: var(--accent); }
.nav-link { text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; }
.nav-link-muted { opacity: .65; }
.btn { border-radius: 6px; text-transform: uppercase; letter-spacing: .07em; font-size: .84rem; }
.btn-storm { color: #041019; background: linear-gradient(135deg, #bceeff 0%, #74ceec 44%, #5898bf 100%); box-shadow: 0 12px 35px rgba(70, 157, 204, .22); }
.btn-storm:hover { color: #02080c; box-shadow: 0 16px 44px rgba(76, 180, 228, .34); }
.btn-ghost { border-radius: 6px; background: rgba(5, 12, 19, .48); border-color: rgba(175, 218, 239, .22); }

.l2-hero { position: relative; min-height: 100vh; overflow: hidden; background: #050a0f url('../img/hero-bg.svg') center center / cover no-repeat; }
.l2-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,7,11,.93) 0%, rgba(3,8,13,.72) 44%, rgba(3,8,13,.12) 78%), linear-gradient(180deg, rgba(2,5,8,.1) 55%, #04080d 100%); }
.l2-hero::after { content: ""; position: absolute; inset: 0; opacity: .08; background-image: linear-gradient(rgba(146,210,239,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(146,210,239,.12) 1px, transparent 1px); background-size: 90px 90px; mask-image: linear-gradient(to right, #000, transparent 80%); }
.hero-lightning { position: absolute; width: 680px; height: 680px; right: 2%; top: 2%; border-radius: 50%; background: rgba(105, 198, 242, .08); filter: blur(90px); animation: stormPulse 5s ease-in-out infinite; }
.hero-copy { position: relative; z-index: 2; padding-top: 80px; }
.hero-logo-line img { width: 78px; height: 78px; filter: drop-shadow(0 0 30px rgba(120,220,255,.45)); }
.l2-hero h1 { margin: 17px 0 0; font-size: clamp(4.7rem, 11vw, 9rem); line-height: .8; font-weight: 950; letter-spacing: -.075em; color: #f4f8fa; text-shadow: 0 15px 60px rgba(0,0,0,.7); }
.l2-hero h1 span { color: transparent; -webkit-text-stroke: 1px rgba(170, 228, 251, .75); text-shadow: 0 0 38px rgba(105, 203, 244, .2); }
.hero-slogan { margin: 24px 0 0; color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2.4vw, 1.75rem); letter-spacing: .08em; }
.l2-hero .hero-lead { max-width: 650px; font-size: 1.08rem; color: #a9b8c1; }
.hero-server-line { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-server-line > div { position: relative; min-width: 126px; padding: 13px 16px 13px 29px; background: rgba(5, 12, 19, .56); border: 1px solid rgba(164, 216, 241, .14); backdrop-filter: blur(10px); }
.hero-server-line > div.server-meta { padding-left: 16px; }
.hero-server-line small, .hero-server-line strong { display: block; }
.hero-server-line small { color: #7f929f; font-size: .7rem; text-transform: uppercase; letter-spacing: .09em; }
.hero-server-line strong { color: #ecf8fd; font-size: .88rem; margin-top: 2px; }
.hero-server-line .status-dot { position: absolute; left: 12px; top: 18px; width: 8px; height: 8px; }
.hero-scroll { position: absolute; z-index: 3; left: 50%; bottom: 32px; width: 28px; height: 48px; border: 1px solid rgba(185, 227, 246, .25); border-radius: 20px; transform: translateX(-50%); }
.hero-scroll span { position: absolute; left: 50%; top: 10px; width: 4px; height: 8px; border-radius: 4px; background: var(--accent); transform: translateX(-50%); animation: scrollHint 1.8s infinite; }
.l2-stats { z-index: 4; }
.l2-stats .container { border-radius: 3px; background: rgba(8, 17, 26, .96); }
.stat-cell { position: relative; }
.stat-cell span { color: #e9f7fd; }
.stat-cell small { text-transform: uppercase; font-size: .7rem; letter-spacing: .1em; }

.portal-section { background: radial-gradient(circle at 50% 10%, rgba(36, 93, 122, .14), transparent 40%), #04080d; }
.portal-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.portal-card { position: relative; grid-column: span 2; min-height: 300px; padding: 34px 30px; overflow: hidden; color: var(--text); border: 1px solid var(--line); background: linear-gradient(145deg, rgba(13,25,37,.94), rgba(6,12,18,.97)); transition: .32s ease; }
.portal-card::before { content: ""; position: absolute; inset: auto -55px -80px auto; width: 190px; height: 190px; border-radius: 50%; background: rgba(88, 169, 212, .12); filter: blur(25px); }
.portal-card::after { content: ""; position: absolute; left: 0; top: 0; width: 2px; height: 0; background: linear-gradient(var(--accent), transparent); transition: height .35s ease; }
.portal-card:hover { color: #fff; transform: translateY(-7px); border-color: rgba(120, 220, 255, .38); box-shadow: 0 22px 60px rgba(0,0,0,.3); }
.portal-card:hover::after { height: 100%; }
.portal-main { grid-column: span 3; }
.portal-download { grid-column: span 3; background: linear-gradient(145deg, rgba(16,43,57,.96), rgba(6,15,22,.97)); }
.portal-index { position: absolute; right: 22px; top: 18px; color: rgba(203, 234, 247, .18); font-size: 2rem; font-weight: 950; }
.portal-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 38px; border: 1px solid rgba(122, 217, 255, .24); color: var(--accent); font-size: 1.25rem; transform: rotate(45deg); }
.portal-icon::first-letter { transform: rotate(-45deg); }
.portal-card h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; letter-spacing: .02em; }
.portal-card p { max-width: 380px; color: var(--muted); line-height: 1.7; }
.portal-card b { position: absolute; left: 30px; bottom: 30px; color: #c2eafa; text-transform: uppercase; font-size: .72rem; letter-spacing: .08em; }
.start-section { background: linear-gradient(180deg, #06101a 0%, #04080d 100%); border-top: 1px solid rgba(255,255,255,.04); }
.rating-card { border-radius: 4px; }
.cta-card { border-radius: 4px; background: linear-gradient(rgba(6,15,22,.76), rgba(4,9,14,.92)), url('../img/hero-bg.svg') center 58% / cover no-repeat; }
.cta-card h2 { font-family: Georgia, "Times New Roman", serif; }

.description-hero, .download-hero { background: linear-gradient(90deg, rgba(3,8,13,.91), rgba(3,8,13,.38)), url('../img/hero-bg.svg') center 36% / cover no-repeat; }
.description-content { min-height: 420px; color: #c4d1d8; line-height: 1.9; white-space: normal; }
.download-card { max-width: 920px; border-radius: 4px; position: relative; overflow: hidden; }
.download-card::before { content: ""; position: absolute; width: 300px; height: 300px; top: -160px; right: -120px; border-radius: 50%; background: rgba(83, 184, 227, .13); filter: blur(30px); }
.download-card p { max-width: 600px; }
.download-emblem { width: 76px; height: 76px; display: grid; place-items: center; margin: 0 auto 24px; color: var(--accent); border: 1px solid rgba(120,220,255,.3); background: rgba(85, 179, 220, .08); font-size: 2rem; transform: rotate(45deg); }
.download-emblem::first-letter { transform: rotate(-45deg); }
.download-steps { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.download-steps div { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 26px 10px 0; text-align: center; }
.download-steps b { color: var(--accent); }
.download-steps span { color: var(--muted); }
.admin-content-form textarea { min-height: 320px; resize: vertical; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 8px; }

@keyframes stormPulse { 0%, 100% { opacity: .45; transform: scale(.92); } 50% { opacity: 1; transform: scale(1.08); } }
@keyframes scrollHint { 0% { opacity: 0; transform: translate(-50%, 0); } 35% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, 17px); } }

@media (max-width: 1199.98px) {
    .storm-nav .navbar-collapse { margin-top: 14px; padding: 18px; background: rgba(4,10,16,.98); border: 1px solid var(--line); }
    .portal-card { grid-column: span 3; }
}
@media (max-width: 991.98px) {
    .l2-hero::before { background: linear-gradient(90deg, rgba(3,7,11,.93), rgba(3,8,13,.68)), linear-gradient(180deg, transparent 55%, #04080d 100%); }
    .portal-grid { grid-template-columns: repeat(2, 1fr); }
    .portal-card, .portal-main, .portal-download { grid-column: span 1; }
    .portal-card:last-child { grid-column: span 2; }
}
@media (max-width: 767.98px) {
    .l2-hero { min-height: 920px; background-position: 62% center; }
    .l2-hero h1 { font-size: clamp(4.2rem, 23vw, 6.4rem); }
    .hero-slogan { font-size: 1rem; }
    .hero-server-line > div { min-width: calc(50% - 7px); }
    .hero-scroll { display: none; }
    .portal-grid { grid-template-columns: 1fr; }
    .portal-card, .portal-main, .portal-download, .portal-card:last-child { grid-column: span 1; min-height: 280px; }
    .download-steps { grid-template-columns: 1fr; }
    .download-steps div { border-bottom: 1px solid var(--line); padding: 20px 10px; }
    .download-steps div:last-child { border-bottom: 0; }
}
@media (max-width: 420px) {
    .l2-hero h1 { font-size: 4rem; }
    .hero-logo-line img { width: 62px; height: 62px; }
    .hero-server-line { gap: 8px; }
    .hero-server-line > div { min-width: 100%; }
}

/* Player account */
.account-head { padding-bottom: 120px; }
.account-section { min-height: 620px; }
.account-sidebar { position: sticky; top: 105px; }
.account-user { display: flex; align-items: center; gap: 13px; border-bottom: 1px solid var(--line); }
.account-user strong, .account-user small { display: block; }
.account-user small { margin-top: 2px; color: var(--muted); font-size: .76rem; }
.account-avatar { flex: 0 0 46px; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; color: #041019; font-size: 1.05rem; font-weight: 950; background: linear-gradient(135deg, #bceeff, #659fca); box-shadow: 0 8px 24px rgba(83, 173, 220, .16); }
.account-menu { display: grid; gap: 5px; }
.account-menu a { display: block; padding: 13px 14px; color: #d6e2e9; border: 1px solid transparent; border-radius: 9px; transition: .2s ease; }
.account-menu a span, .account-menu a small { display: block; }
.account-menu a span { font-weight: 800; }
.account-menu a small { margin-top: 2px; color: #738996; font-size: .72rem; }
.account-menu a:hover { color: #fff; background: rgba(120, 220, 255, .045); }
.account-menu a.active { color: #fff; border-color: rgba(120, 220, 255, .2); background: linear-gradient(90deg, rgba(120, 220, 255, .11), rgba(120, 220, 255, .025)); }
.account-menu a.active small { color: #9bbac9; }
.account-logout { display: block; margin-top: 12px; padding: 13px 14px; color: #e18a98; border-top: 1px solid var(--line); font-size: .82rem; font-weight: 800; }
.account-logout:hover { color: #ffb2be; }
.account-status { align-self: flex-start; padding: 8px 12px; color: #73e5b0; background: rgba(76, 227, 161, .08); border: 1px solid rgba(76, 227, 161, .2); border-radius: 999px; font-size: .76rem; font-weight: 800; }
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.profile-grid > div { padding: 20px; background: rgba(255, 255, 255, .022); border: 1px solid var(--line); border-radius: 13px; }
.profile-grid small, .profile-grid strong { display: block; }
.profile-grid small { margin-bottom: 7px; color: var(--muted); }
.profile-grid strong { overflow-wrap: anywhere; font-size: 1.04rem; }
.account-form { max-width: 690px; }
.settings-check { display: flex; align-items: flex-start; gap: 13px; padding: 17px; background: rgba(255, 255, 255, .022); border: 1px solid var(--line); border-radius: 12px; }
.settings-check .form-check-input { flex: 0 0 auto; margin-top: 4px; }
.settings-check label { cursor: pointer; }
.settings-check strong, .settings-check small { display: block; }
.settings-check small { margin-top: 3px; color: var(--muted); }
.payment-methods-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-methods-two label span { min-height: 128px; display: flex; flex-direction: column; justify-content: center; }
.payment-methods-two label span b { margin-bottom: 9px; color: var(--accent); font-size: 1.5rem; }
.payment-methods-two label span strong { color: #edf6fa; }
.payment-methods-two label span small { margin-top: 5px; color: var(--muted); }
.donation-summary-new { top: 105px; }
.order-total { display: flex; justify-content: space-between; align-items: center; margin: 26px 0 20px; padding: 17px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.order-total span { color: var(--muted); }
.order-total b { font-size: 1.5rem; }
.payment-instruction { margin-bottom: 20px; padding: 18px; text-align: left; background: rgba(120, 220, 255, .06); border: 1px solid rgba(120, 220, 255, .18); border-radius: 12px; }
.payment-instruction small, .payment-instruction strong { display: block; }
.payment-instruction small { margin-bottom: 8px; color: var(--muted); }
.payment-instruction strong { overflow-wrap: anywhere; }

@media (max-width: 991.98px) {
    .account-sidebar { position: static; }
    .account-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .account-logout { border-top: 0; }
}
@media (max-width: 575.98px) {
    .profile-grid, .payment-methods-two, .account-menu { grid-template-columns: 1fr; }
    .payment-methods-two label span { min-height: 104px; }
    .account-head { padding-bottom: 100px; }
}

/* USDT payment flow */
.payment-card-wide { max-width: 720px; }
.usdt-payment-box { padding: 22px; border: 1px solid rgba(100, 221, 255, .22); border-radius: 16px; background: linear-gradient(145deg, rgba(25, 54, 67, .42), rgba(8, 18, 29, .75)); }
.usdt-amount-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.usdt-amount-row span { color: var(--muted); }
.usdt-amount-row strong { color: var(--success); font-size: 1.45rem; }
.wallet-label { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.wallet-label span { color: var(--muted); }
.wallet-copy-row { display: flex; align-items: stretch; gap: 10px; }
.wallet-copy-row code { flex: 1; min-width: 0; display: flex; align-items: center; padding: 14px 15px; overflow-wrap: anywhere; color: #dff9ff; background: #07111b; border: 1px solid rgba(143, 174, 223, .2); border-radius: 11px; font-size: .92rem; }
.usdt-warning { margin-top: 16px; padding: 13px 15px; color: #e9cc83; background: rgba(241, 190, 71, .065); border-left: 3px solid #e7b84f; font-size: .86rem; line-height: 1.55; }
.payment-method-disabled { opacity: .48; }
.payment-method-disabled span { cursor: not-allowed !important; }
.payment-methods label span em { margin-top: 8px; color: #ff9daa; font-size: .72rem; font-style: normal; }
.admin-wallet { display: inline-block; max-width: 260px; overflow-wrap: anywhere; color: #bfefff; font-size: .76rem; }
.admin-review-panel { border-color: rgba(241, 190, 71, .2); }
.admin-payment-form textarea { resize: vertical; }

@media (max-width: 575.98px) {
    .wallet-copy-row, .usdt-amount-row { align-items: stretch; flex-direction: column; }
    .wallet-copy-row .btn { width: 100%; }
    .usdt-amount-row strong { font-size: 1.25rem; }
}
