/* ===== TronFarm — white/red SaaS theme ===== */
:root{
  --red:#e1102b; --red2:#ff3b54; --crimson:#b00c22; --red-soft:#ffe4e8;
  --bg:#fbfbfe; --ink:#15141c; --txt:#15141c; --muted:#6c6b7a;
  --card:#ffffff; --line:rgba(20,18,40,.08);
  --glass:rgba(255,255,255,.72);
  --shadow:0 10px 34px rgba(40,12,30,.10);
  --shadow-lg:0 24px 60px rgba(40,12,30,.16);
  --gold:#e8a83a; --silver:#9aa3b8; --bronze:#c87b3e;
  --ok:#16a34a; --warn:#d98613;
  --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter",-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--txt);background:var(--bg);min-height:100vh;overflow-x:clip;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
em{font-style:normal}

/* ===== graphic animated background ===== */
#bg-canvas{position:fixed;inset:0;z-index:-1;opacity:.5;pointer-events:none}
.aurora{
  position:fixed;inset:-25%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(38% 38% at 15% 12%, rgba(225,16,43,.16), transparent 60%),
    radial-gradient(42% 42% at 85% 8%, rgba(255,59,84,.13), transparent 60%),
    radial-gradient(45% 45% at 75% 92%, rgba(225,16,43,.10), transparent 60%),
    radial-gradient(40% 40% at 10% 85%, rgba(255,120,140,.10), transparent 60%);
  filter:blur(20px);animation:auroraMove 20s ease-in-out infinite alternate;
  /* promote to its own GPU layer so the expensive 20px blur is cached and only the
     transform animates each frame — otherwise the whole blurred surface repaints on scroll (jank) */
  will-change:transform;transform:translateZ(0);backface-visibility:hidden}
@keyframes auroraMove{from{transform:translate(0,0) scale(1)}to{transform:translate(-3%,2%) scale(1.06)}}
body::before{ /* soft base wash */
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,#ffffff 0%,#fff5f6 45%,#fbfbfe 100%);
}
body::after{ /* subtle grid */
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(225,16,43,.04) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(225,16,43,.04) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(80% 60% at 50% 30%,#000,transparent 85%);
  mask-image:radial-gradient(80% 60% at 50% 30%,#000,transparent 85%);
}
.view,.admin-wrap,.admin-gate{position:relative;z-index:2}
.view{display:none}
.view.active{display:block;animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* entrance animation (safe: always ends visible, never depends on JS) */
.reveal-on{animation:rise .6s ease both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.reveal,.reveal.in{opacity:1;transform:none}

/* glass card */
.glass{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}

/* ===== NAV ===== */
.nav{position:sticky;top:0;z-index:60;padding:14px 0;
  background:rgba(255,255,255,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)}
.nav-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-.2px}
.brand.center{justify-content:center}
.brand-logo{width:30px;height:30px;flex-shrink:0;filter:drop-shadow(0 4px 10px rgba(225,16,43,.4))}
.brand-text b,.brand b{color:var(--red)}
.nav-links{display:flex;gap:6px;margin-left:14px;align-items:center}
.nav-link{color:var(--ink);font-size:14.5px;font-weight:600;padding:9px 14px;border-radius:10px;transition:.2s;
  background:none;border:none;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}
.nav-link:hover{background:var(--red-soft);color:var(--crimson)}
.nav-link .caret{width:14px;height:14px;transition:transform .25s}
.nav-actions{margin-left:auto;display:flex;gap:10px;align-items:center}
.nav-actions .btn{white-space:nowrap}
.nav-burger{display:none;width:42px;height:42px;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:11px;cursor:pointer;color:var(--ink);flex-shrink:0}
.nav-burger svg{width:20px;height:20px}

/* ===== MEGA MENU ===== */
.nav-item{position:relative}
.mega{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(10px);
  width:620px;max-width:90vw;padding:18px;display:grid;grid-template-columns:1.5fr 1fr;gap:16px;
  background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;transition:.28s cubic-bezier(.2,.8,.2,1);z-index:70}
.nav-item:hover .mega,.nav-item.open .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-item:hover .caret,.nav-item.open .caret{transform:rotate(180deg)}
.mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px} /* hover bridge */
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mega-link{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:13px;transition:.18s}
.mega-link:hover{background:var(--red-soft)}
.mega-ico{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;
  background:linear-gradient(135deg,var(--red),var(--crimson));color:#fff;box-shadow:0 6px 16px rgba(225,16,43,.32)}
.mega-ico svg{width:20px;height:20px}
.mega-link b{font-size:14px;display:block}
.mega-link small{color:var(--muted);font-size:12px;line-height:1.4;display:block;margin-top:2px}
.mega-feature{background:linear-gradient(160deg,#fff0f2,#ffe1e6);border:1px solid var(--red-soft);border-radius:15px;padding:18px;display:flex;flex-direction:column;justify-content:center}
.mega-feature .mf-num{font-size:30px;font-weight:800;color:var(--crimson);line-height:1}
.mega-feature p{font-size:13px;color:var(--muted);margin:8px 0 14px;line-height:1.5}

/* ===== BUTTONS ===== */
.btn{font:inherit;font-weight:700;font-size:14px;cursor:pointer;border:none;padding:11px 20px;border-radius:12px;
  transition:transform .15s,box-shadow .25s,background .2s;color:#fff;display:inline-flex;align-items:center;gap:8px;justify-content:center;position:relative;overflow:hidden}
.btn:active{transform:scale(.97)}
.btn-primary{background:linear-gradient(135deg,var(--red),var(--crimson));box-shadow:0 10px 24px rgba(225,16,43,.30)}
.btn-primary:hover{box-shadow:0 14px 32px rgba(225,16,43,.45);transform:translateY(-1px)}
.btn-primary::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(0) skewX(-18deg);transition:transform .6s}
.btn-primary:hover::after{transform:translateX(433%) skewX(-18deg)}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow)}
.btn-ghost:hover{background:var(--red-soft);color:var(--crimson);border-color:var(--red-soft)}
.btn-lg{padding:15px 28px;font-size:16px;border-radius:14px}
.btn-block{width:100%}
.arrow{transition:.2s}.btn:hover .arrow{transform:translateX(4px)}

/* ===== HERO ===== */
.hero{max-width:1180px;margin:0 auto;padding:74px 24px 36px;display:grid;grid-template-columns:1.12fr .88fr;gap:46px;align-items:center}
.hero-left{display:flex;flex-direction:column;align-items:flex-start}
.hero-badge{background:#fff;border:1px solid var(--red-soft);color:var(--crimson);padding:8px 16px;border-radius:999px;
  font-size:13px;font-weight:700;margin-bottom:22px;box-shadow:var(--shadow)}
.hero-badge b{color:var(--ink)}
.hero-title{font-size:52px;line-height:1.05;font-weight:800;letter-spacing:-1.2px;text-align:left}
.grad{background:linear-gradient(120deg,var(--red),#ff5a72,var(--crimson));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{margin-top:18px;color:var(--muted);font-size:18px;max-width:520px;line-height:1.6}
.hero-cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.hero-card{padding:26px;width:100%}
.hc-top{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:8px}
.hc-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.hc-balance{font-size:36px;font-weight:800;margin:12px 0 14px}
.hc-balance em{color:var(--red);font-size:20px}
.hc-bar{height:8px;background:var(--red-soft);border-radius:99px;overflow:hidden}
.hc-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--red2))}
.hc-row{display:flex;justify-content:space-between;margin-top:16px}
.hc-row small{display:block;color:var(--muted);font-size:12px}
.hc-row b{font-size:15px}
.hero-art{display:flex;justify-content:center;align-items:center}
.hero-art svg{width:100%;max-width:480px;height:auto;animation:floatArt 5s ease-in-out infinite alternate}
@keyframes floatArt{from{transform:translateY(0)}to{transform:translateY(-12px)}}

/* ===== STATS ===== */
.stats{max-width:1180px;margin:36px auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{padding:30px 22px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;position:relative;overflow:hidden;transition:.25s}
.stat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--crimson))}
.stat:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.stat-ico{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--red),var(--crimson));color:#fff;box-shadow:0 10px 20px rgba(225,16,43,.30);margin-bottom:10px;transition:.25s}
.stat-ico svg{width:27px;height:27px}
.stat:hover .stat-ico{transform:scale(1.08) rotate(-4deg)}
.stat b{display:block;font-size:34px;font-weight:800;color:var(--crimson);line-height:1.1}
.stat small{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.2px}

/* ===== SECTIONS ===== */
.section{max-width:1180px;margin:0 auto;padding:64px 24px}
.section-title{font-size:38px;font-weight:800;text-align:center;letter-spacing:-.6px}
.section-sub{text-align:center;color:var(--muted);margin-top:10px;font-size:16px}
.honest-note{margin-top:28px;text-align:center;color:#0f7a37;font-size:14px;background:#eafaf0;border:1px solid #bfe9cf;padding:14px 18px;border-radius:13px}

.steps{margin-top:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{padding:30px;transition:.25s}
.step:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.step-num{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--red),var(--crimson));border-radius:13px;font-weight:800;color:#fff;margin-bottom:16px;box-shadow:0 8px 18px rgba(225,16,43,.34)}
.step h3{font-size:19px;margin-bottom:8px}
.step p{color:var(--muted);font-size:14px;line-height:1.55}

/* ===== DURATION TOGGLE ===== */
.dur-toggle{display:flex;gap:8px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.dur-toggle button{font:inherit;cursor:pointer;background:#fff;border:1px solid var(--line);color:var(--muted);
  padding:10px 18px;border-radius:12px;font-size:14px;font-weight:700;transition:.2s;display:flex;align-items:center;gap:7px;box-shadow:var(--shadow)}
.dur-toggle button:hover{color:var(--ink)}
.dur-toggle button.active{background:linear-gradient(135deg,var(--red),var(--crimson));color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(225,16,43,.32)}
.dur-toggle .off{font-size:11px;color:var(--ok);background:#eafaf0;padding:2px 7px;border-radius:6px}
.dur-toggle button.active .off{color:#fff;background:rgba(255,255,255,.22)}

/* ===== TIERS ===== */
.tiers{margin-top:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.tiers.compact{grid-template-columns:repeat(3,1fr)}
.tier-desc{color:var(--muted);font-size:12.5px;line-height:1.5;margin-bottom:14px}
.tier{padding:28px 24px;display:flex;flex-direction:column;position:relative;transition:.25s}
.tier:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.tier.featured{border-color:var(--red);box-shadow:0 0 0 2px rgba(225,16,43,.16),var(--shadow-lg)}
.tier-flag{position:absolute;top:-12px;right:20px;background:linear-gradient(135deg,var(--red),var(--crimson));color:#fff;padding:5px 13px;border-radius:9px;font-size:11px;font-weight:800;box-shadow:0 6px 14px rgba(225,16,43,.4)}
.tier-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.tier-ico{font-size:24px;width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#f1f1f7}
.tier.bronze .tier-ico{background:#f6ebe0}
.tier.silver .tier-ico{background:#eef1f6}
.tier.gold .tier-ico{background:#fbf2da}
.tier.platinum .tier-ico{background:#eef1f7}
.tier.diamond .tier-ico{background:#e3f4fd}
.tier.crown .tier-ico{background:#f3e8ff}
.tier.emperor .tier-ico{background:#e9e7ef}
.tier-head h3{font-size:18px}
.tier-price{font-size:34px;font-weight:800;margin-bottom:4px}
.tier-price em{font-size:16px;color:var(--red)}
.tier-term{font-size:12.5px;color:var(--muted);margin-bottom:16px}
.tier-term .td,.tier-term b{color:var(--ink);font-weight:700}
.tier-list{list-style:none;margin-bottom:20px;flex:1}
.tier-list li{padding:8px 0;color:var(--muted);font-size:14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.tier-list li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red);flex-shrink:0}
.tier-list li b{color:var(--ink)}
.tier-mini{color:var(--muted);font-size:12.5px;margin-bottom:16px}
.tier-mini .td{color:var(--ink);font-weight:700}

/* ===== TERMS ===== */
.terms{max-width:840px;margin:24px auto 0;padding:24px 28px;font-size:13px;color:var(--muted);line-height:1.7}
.terms h4{color:var(--ink);font-size:15px;margin-bottom:10px}
.terms b{color:var(--ink)}

/* ===== FAQ ===== */
.faq{margin-top:38px;display:flex;flex-direction:column;gap:12px;max-width:760px;margin-left:auto;margin-right:auto}
.faq details{padding:18px 24px;cursor:pointer}
.faq summary{font-weight:700;font-size:16px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--red);font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.6}

/* ===== FOOTER ===== */
.footer{text-align:center;padding:54px 24px;color:var(--muted);border-top:1px solid var(--line);margin-top:48px}
.footer .brand{justify-content:center;margin-bottom:8px}
.footer p{font-size:13px}

/* ===== DASHBOARD ===== */
.dash{max-width:1180px;margin:0 auto;padding:24px;display:grid;grid-template-columns:248px 1fr;gap:22px;min-height:100vh}
.dash-left{display:flex;flex-direction:column;gap:18px;align-self:start;position:sticky;top:24px;will-change:transform}
.dash-side{padding:22px;height:fit-content}
.pm-sky{padding:14px;display:none}
.dash-side .brand{margin-bottom:26px}
.dash-nav{display:flex;flex-direction:column;gap:5px;flex:1}
.dash-link{padding:12px 14px;border-radius:12px;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:11px}
.dash-link svg{width:19px;height:19px;flex-shrink:0}
.dash-link:hover{background:var(--red-soft);color:var(--crimson)}
.dash-link.active{background:linear-gradient(135deg,var(--red),var(--crimson));color:#fff;box-shadow:0 8px 18px rgba(225,16,43,.3)}
.logout{margin-top:20px}

.dash-main{min-width:0}
.dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.dash-top small{color:var(--muted);font-size:13px}
.dash-top h2{font-size:24px}
.dash-status{color:var(--muted);font-size:14px;text-align:right}
.badge{background:linear-gradient(135deg,var(--red),var(--crimson));padding:5px 14px;border-radius:99px;font-weight:700;font-size:13px;color:#fff}
.badge.bronze{background:linear-gradient(135deg,#e3a062,#b9692f)}
.badge.silver{background:linear-gradient(135deg,#bcc6da,#8a93a8)}
.badge.gold{background:linear-gradient(135deg,#f6cf6a,#d99a18);color:#3a2a05}
.badge.crown{background:linear-gradient(135deg,#a855f7,#7c3aed)}
.badge.emperor{background:linear-gradient(135deg,#2b2535,#111018);color:#ffcf5c}

.tab{display:none;animation:fade .35s ease}
.tab.active{display:block}
.dash-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.panel{padding:24px}
.panel-label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.dash-balance{font-size:44px;font-weight:800;margin-bottom:18px}
.dash-balance em{font-size:22px;color:var(--red)}
.mini-num{font-size:24px;font-weight:800}
.speed-row{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.chip{background:#f4f4f8;border:1px solid var(--line);padding:7px 13px;border-radius:99px;font-size:13px;color:var(--muted);font-weight:600}
.chip b{color:var(--ink)}
.farm-bar{height:9px;background:var(--red-soft);border-radius:99px;overflow:hidden;margin-top:16px}
.farm-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--red2));transition:width .4s linear}
.pm-box{margin-top:18px;margin-bottom:18px;display:none}
.pm-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);text-align:center;margin-bottom:6px}
.pm-img{display:flex;justify-content:center}
.pm-img a{display:block;line-height:0;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);max-width:100%}
.pm-img img{display:block;max-width:100%;height:auto}

/* offers / tasks */
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.offer{padding:18px 20px;display:flex;align-items:center;gap:14px;transition:.2s}
.offer:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.offer .o-ico{font-size:24px;width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--red-soft);flex-shrink:0}
.offer .o-body{flex:1;min-width:0}
.offer .o-title{font-weight:700;font-size:15px}
.offer .o-sub{color:var(--muted);font-size:12px;margin-top:3px}
.offer .o-reward{color:var(--ok);font-weight:800;font-size:14px;margin-bottom:0;text-align:right;white-space:nowrap}
.offer .o-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:56%;min-width:0}
.offer .o-right .btn{max-width:100%;white-space:normal;text-align:center;line-height:1.25;height:auto}

/* referral */
.ref-hero{padding:28px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
  background:linear-gradient(150deg,#fff,#fff3f4)}
.ref-hero h3{font-size:22px;margin-bottom:6px}
.ref-hero p{color:var(--muted);font-size:14px}
.ref-rate-big{text-align:center;flex-shrink:0}
.ref-rate-big b{font-size:46px;font-weight:800;color:var(--crimson);display:block;line-height:1}
.ref-rate-big small{color:var(--muted);font-size:12px}
.ref-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.ref-how{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.ref-how .panel{padding:22px}
.ref-how .h-ico{font-size:24px;margin-bottom:10px}
.ref-how h4{font-size:15px;margin-bottom:6px}
.ref-how p{color:var(--muted);font-size:13px;line-height:1.55}
.rate-row-me td{font-weight:700;color:var(--crimson)}
.rate-row-me td:first-child{box-shadow:inset 3px 0 0 var(--red)}

/* forms */
.form-row{margin:14px 0}
.form-row label{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}
.form-row input{width:100%;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:11px;color:var(--ink);font:inherit;font-size:15px;transition:.2s}
.form-row input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(225,16,43,.14)}
.hint{color:var(--muted);font-size:12px;margin-top:10px}
.hint.center{text-align:center}
.ref-box{display:flex;gap:10px;margin-top:8px}
.ref-box input{flex:1;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:11px;color:var(--ink);font:inherit}
.wallet-box{display:flex;gap:10px;align-items:center;background:#fff5f6;border:1px solid var(--red-soft);border-radius:12px;padding:10px 12px;margin-top:8px}
.wallet-box code{flex:1;font-size:13px;color:var(--crimson);word-break:break-all}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th,.tbl td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.tbl td code{font-size:11px;color:var(--crimson)}
.tbl td.muted{color:var(--muted)}
.tbl select{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;font-size:12px}
.tbl .btn{padding:7px 13px;font-size:12px}
.table-scroll{overflow-x:auto}
.full{margin-bottom:22px}
.st-pill{padding:4px 10px;border-radius:99px;font-size:11px;font-weight:700}
.st-pending{background:#fdf0db;color:var(--warn)}
.st-done,.st-active{background:#eafaf0;color:var(--ok)}
.st-frozen{background:#fdf0db;color:var(--warn)}
.st-expired{background:var(--red-soft);color:var(--crimson)}

/* vip meta */
.vip-meta{font-size:12px;color:var(--muted);margin-top:6px}
.vip-meta .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:5px}
.vip-meta .dot.frozen{background:var(--warn)}

/* ===== MODALS ===== */
.modal-overlay{position:fixed;inset:0;z-index:120;background:rgba(30,12,22,.45);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex;animation:fade .25s ease}
.modal{padding:34px;width:100%;max-width:430px;position:relative}
.modal-x{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer}
.modal .brand{margin-bottom:18px}
.modal-title{font-size:22px;text-align:center;margin-bottom:18px}
.pay-amount{text-align:center;color:var(--muted);margin-bottom:18px}
.pay-amount b{color:var(--ink);font-size:18px}
.pay-wallet small{color:var(--muted);font-size:13px}

/* ===== TOAST ===== */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(120px);
  background:#fff;border:1px solid var(--line);padding:14px 22px;border-radius:13px;z-index:200;font-size:14px;font-weight:600;
  box-shadow:var(--shadow-lg);transition:transform .35s cubic-bezier(.2,1.3,.4,1);max-width:90vw;color:var(--ink)}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.ok{border-color:#bfe9cf}
.toast b{color:var(--crimson)}

/* ===== ADMIN ===== */
.admin-gate{min-height:100vh;display:grid;place-items:center;padding:20px}
.admin-gate .modal{max-width:400px}
.gate-lock{font-size:32px;text-align:center;margin-bottom:6px}
.admin-wrap{display:none}
.admin-wrap.on{display:block}
.admin-shell{max-width:1280px;margin:0 auto;padding:24px;display:grid;grid-template-columns:236px 1fr;gap:22px}
/* main column must be allowed to shrink (default grid min-width:auto lets wide tables overflow to the right) */
.admin-shell>main,#ap{min-width:0;max-width:100%}
#ap .panel,#ap .kpi{max-width:100%;min-width:0}
.admin-side{padding:22px;height:fit-content;position:sticky;top:24px;will-change:transform}
.admin-side .brand{margin-bottom:8px}
.admin-tag{font-size:11px;color:var(--muted);background:transparent;border:1px solid var(--line);padding:3px 9px;border-radius:7px;display:inline-block;margin-bottom:22px;font-weight:700;letter-spacing:.5px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.kpi{padding:20px}
.kpi small{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.kpi b{display:block;font-size:28px;font-weight:800;margin-top:8px}
.kpi .delta{font-size:12px;color:var(--ok);font-weight:700}
.kpi .delta.down{color:var(--crimson)}
.rev-bars{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.rev-row{display:flex;align-items:center;gap:14px}
.rev-row .lbl{width:150px;font-size:14px;color:var(--muted)}
.rev-row .track{flex:1;height:12px;background:#eef0f5;border-radius:99px;overflow:hidden}
.rev-row .track span{display:block;height:100%;border-radius:99px}
.rev-row .val{width:130px;text-align:right;font-weight:700;font-size:14px}
.bar-ads span{background:linear-gradient(90deg,var(--red),var(--red2))}
.bar-cpa span{background:linear-gradient(90deg,#e8a83a,#f6cf6a)}
.bar-sub span{background:linear-gradient(90deg,#16a34a,#5fd08a)}
.apage{display:none}.apage.active{display:block;animation:fade .3s ease}

/* ===== ADMIN PRO ===== */
.admin-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.admin-head h2{font-size:24px}
.admin-head .sub{color:var(--muted);font-size:13px;margin-top:3px}
.dash-link svg{width:18px;height:18px;flex-shrink:0}
.kpi .ktop{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.kpi .ktop svg{width:15px;height:15px;color:var(--red)}
.kpi b{display:block;font-size:26px;font-weight:800;margin-top:10px}
.kpi .ksub{font-size:12px;color:var(--muted);margin-top:4px}
.kpi .ksub .up{color:var(--ok);font-weight:700}
.kpi .ksub .dn{color:var(--crimson);font-weight:700}

.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.toolbar input,.toolbar select{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:13px;background:#fff;color:var(--ink);transition:.15s}
.toolbar input:focus,.toolbar select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(225,16,43,.1)}
.toolbar input[type=search]{min-width:230px}
.toolbar .sp{flex:1}
.toolbar .count{font-size:13px;color:var(--muted)}

.tier-dot{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600}
.tier-dot i{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}
.dot-free{background:#9aa3b8}.dot-bronze{background:#c87b3e}.dot-silver{background:#9aa3b8}
.dot-gold{background:#e8a83a}.dot-platinum{background:#aab4c8}.dot-diamond{background:#3aa0e0}.dot-crown{background:#9333ea}.dot-emperor{background:#1b1b27}
.state-dot{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600}
.state-dot i{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.s-active i{background:var(--ok)}.s-frozen i{background:var(--warn)}.s-expired i{background:var(--red)}.s-active{color:var(--ok)}.s-frozen{color:var(--warn)}.s-expired{color:var(--crimson)}

.row-actions{display:flex;gap:6px}
/* action buttons in tight rows must not lift on hover (the 1px move makes the cursor lose :hover at the edge -> jitter) */
.row-actions .btn:hover,.pa-actions .btn:hover,.promo-actions .btn:hover,.row-actions .btn:active,.pa-actions .btn:active{transform:none}
/* offer-card buttons (cabinet checkout/participate live in .p-foot, not .promo-actions): same hover-lift jitter — kill the 1px move */
.promo .btn:hover,.promo .btn:active,.promo .p-foot .btn:hover,.promo .p-foot .btn:active{transform:none}
.ibtn{width:30px;height:30px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;color:var(--muted);transition:.15s}
.ibtn:hover{color:var(--crimson);border-color:#f3c2ca;background:#fff7f8}
.ibtn svg{width:15px;height:15px}
.ibtn.danger:hover{color:#c0182e}

.geo-list{display:flex;flex-direction:column;gap:12px}
.geo-row{display:flex;align-items:center;gap:12px}
.geo-row .gname{width:160px;font-size:13px;font-weight:600}
.geo-row .gname small{color:var(--muted);font-weight:400}
.geo-row .gtrack{flex:1;height:8px;background:#f0eef5;border-radius:99px;overflow:hidden}
.geo-row .gtrack span{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--red2))}
.geo-row .gval{width:54px;text-align:right;font-size:13px;color:var(--muted)}

.feed{display:flex;flex-direction:column}
.feed-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center}
.feed-row:last-child{border-bottom:none}
.feed-row .ft{color:var(--muted);width:96px;flex-shrink:0;font-size:12px}
.feed-row .fi{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#fff5f6;color:var(--red);flex-shrink:0}
.feed-row .fi svg{width:15px;height:15px}

.danger-zone{border:1px solid #f3c2ca;border-radius:14px;padding:20px;margin-top:18px;background:#fffafb}
.danger-zone h4{color:#c0182e;margin-bottom:6px;font-size:15px}
.danger-zone p{color:var(--muted);font-size:13px;margin-bottom:14px}
.danger-zone .btn{background:#fff;color:#c0182e;border:1px solid #f3c2ca;box-shadow:none;margin-right:8px}
.danger-zone .btn:hover{background:#fdeef0}

.nav-count{margin-left:auto;background:var(--red);color:#fff;font-size:11px;font-weight:800;min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:grid;place-items:center}
.dash-link span{flex:1}
.dash-link.active .nav-count{background:#fff;color:var(--crimson)}
.logout{display:flex;align-items:center;gap:8px;justify-content:center}.logout svg{width:16px;height:16px}
.gate-lock{width:36px;height:36px;margin:0 auto 8px;display:block;color:var(--red)}
.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-bottom:22px;align-items:start}
.ref-rate-list{display:flex;flex-direction:column;gap:0}
.geoflag{display:inline-block;width:18px;text-align:center;margin-right:4px}

/* ===== MARKETING PAGES ===== */
.nav-link.active{background:var(--red-soft);color:var(--crimson)}
.page-hero{max-width:880px;margin:0 auto;padding:74px 24px 6px;text-align:center}
.page-hero .eyebrow{color:var(--crimson);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px}
.page-hero h1{font-size:48px;font-weight:800;letter-spacing:-1px;line-height:1.05}
.page-hero p{margin:18px auto 0;color:var(--muted);font-size:18px;line-height:1.6;max-width:600px}

.home-feats{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.home-feat{padding:26px;transition:.25s;display:flex;flex-direction:column}
.home-feat:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.home-feat .hf-ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--red),var(--crimson));color:#fff;margin-bottom:14px}
.home-feat .hf-ico svg{width:22px;height:22px}
.home-feat h3{font-size:17px;margin-bottom:6px}
.home-feat p{color:var(--muted);font-size:13px;line-height:1.55;flex:1}
.home-feat a{color:var(--crimson);font-size:13px;font-weight:700;margin-top:12px}

.feature-rows{max-width:1000px;margin:46px auto 0;display:flex;flex-direction:column;gap:18px}
.feature-card{padding:34px;display:grid;grid-template-columns:60px 1fr;gap:22px;align-items:start}
.feature-card .fc-ico{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--red),var(--crimson));color:#fff}
.feature-card .fc-ico svg{width:28px;height:28px}
.feature-card h3{font-size:22px;margin-bottom:8px}
.feature-card p{color:var(--muted);line-height:1.6;font-size:15px}
.feature-card ul{margin-top:14px;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.feature-card li{font-size:13px;color:var(--crimson);border:1px solid var(--red-soft);padding:5px 12px;border-radius:99px}

.cta-band{max-width:1000px;margin:64px auto;padding:52px 30px;text-align:center;background:linear-gradient(150deg,#fff,#fff3f4);border:1px solid var(--red-soft);border-radius:24px}
.cta-band h2{font-size:32px;font-weight:800;letter-spacing:-.5px}
.cta-band p{color:var(--muted);margin:12px 0 24px;font-size:16px}

.foot-links{display:flex;gap:24px;justify-content:center;margin:14px 0;flex-wrap:wrap}
.foot-links a{color:var(--muted);font-size:14px}
.foot-links a:hover{color:var(--crimson)}

/* cabinet page top */
.cab-top{max-width:1180px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}
.cab-top .brand{font-size:19px}

/* ===== SUPER OFFERS ===== */
.promo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;align-items:stretch}
.promo{padding:0;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s;max-width:500px;width:100%;margin:0 auto;height:100%}
.promo:hover{box-shadow:var(--shadow-lg)}
.promo .p-img{width:100%;aspect-ratio:1/1;max-height:500px;background:linear-gradient(135deg,var(--red),var(--crimson));background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;display:grid;place-items:center;color:#fff}
.promo .p-img .p-disc{position:absolute;top:12px;left:12px;background:#fff;color:var(--crimson);font-weight:800;font-size:13px;padding:5px 12px;border-radius:99px;box-shadow:var(--shadow)}
.promo .p-img .p-ico{font-size:40px;opacity:.92}
.promo .p-body{padding:18px;display:flex;flex-direction:column;flex:1}
.promo h3{font-size:17px;margin-bottom:6px}
.promo .p-desc{color:var(--muted);font-size:13px;line-height:1.5;margin-bottom:12px;white-space:pre-line}
.promo .p-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.promo .p-foot .btn{width:100%}
.promo .p-foot .p-price{margin-bottom:0}
.promo-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.part-ok{color:var(--ok);font-weight:700;font-size:14px}
.part-pending{color:var(--warn);font-weight:700;font-size:14px}
.form-row textarea{width:100%;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:11px;color:var(--ink);font:inherit;font-size:15px;resize:vertical;min-height:90px}
.form-row textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(225,16,43,.14)}
.promo .p-until{font-size:12px;color:var(--muted);margin-bottom:12px}
.promo .p-price{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.promo .p-price .now{font-size:24px;font-weight:800}
.promo .p-price .now em{font-size:14px;color:var(--red)}
.promo .p-price .old{color:var(--muted);text-decoration:line-through;font-size:15px}
.promo-admin{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;flex-wrap:wrap}
.promo-admin .pa-thumb{width:50px;height:50px;border-radius:10px;background:linear-gradient(135deg,var(--red),var(--crimson));background-size:cover;background-position:center;flex-shrink:0}
.promo-admin .pa-body{flex:1;min-width:180px}
.promo-admin h4{font-size:14px;word-break:break-word}
.promo-admin .pa-meta{font-size:12px;color:var(--muted);margin-top:2px;word-break:break-word}
.promo-admin .pa-actions{display:flex;gap:8px;flex-wrap:wrap}
.promo-admin .pa-winner select{max-width:100%}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-grid .full{grid-column:1/-1}

/* ===== FROZEN BANNER + TICKETS ===== */
.frozen-bar{background:#fff7ed;border:1px solid #f3c98a;color:#92560a;padding:14px 18px;border-radius:14px;margin-bottom:18px;font-size:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;line-height:1.5}
.frozen-bar b{color:#7a4600}
.frozen-bar .btn{margin-left:auto}
.ticket-list{display:flex;flex-direction:column;gap:12px}
.ticket-item{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.ti-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}
.ti-top h4{font-size:15px}
.ti-meta{font-size:12px;color:var(--muted)}
.ti-status{font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px}
.ti-open{background:#eafaf0;color:var(--ok)}
.ti-closed{background:#f0eef5;color:var(--muted)}
.chat{display:flex;flex-direction:column;gap:10px;margin:14px 0;max-height:340px;overflow:auto}
.msg{padding:10px 14px;border-radius:13px;font-size:14px;max-width:80%;line-height:1.45}
.msg.user{align-self:flex-end;background:linear-gradient(135deg,var(--red),var(--crimson));color:#fff;border-bottom-right-radius:4px}
.msg.admin{align-self:flex-start;background:#f4f4f8;color:var(--ink);border-bottom-left-radius:4px}
.msg .m-ts{display:block;font-size:10px;opacity:.75;margin-top:4px}
.chat-form{display:flex;gap:10px}
.chat-form input{flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:11px;font:inherit;font-size:14px;background:#fff}
.chat-form input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(225,16,43,.12)}
.btn.danger{background:#fff;color:#c0182e;border:1px solid #f3c2ca;box-shadow:none}
.btn.danger:hover{background:#fdeef0}
/* notifications */
.notif-wrap{position:relative}
.notif-bell{position:relative;width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--ink)}
.notif-bell:hover{background:var(--red-soft);color:var(--crimson);border-color:var(--red-soft)}
.notif-bell svg{width:20px;height:20px}
.notif-count{position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:99px;display:none;place-items:center;padding:0 5px}
.notif-count.show{display:grid}
.notif-panel{position:absolute;right:0;top:52px;width:330px;max-width:86vw;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;display:none;z-index:50;max-height:380px;overflow:auto}
.notif-panel.open{display:block;animation:fade .18s ease}
.notif-head{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 10px}
.notif-item{padding:12px 10px;border-radius:10px;font-size:13px;line-height:1.5;border-bottom:1px solid var(--line)}
.notif-item:last-child{border-bottom:none}
.notif-item.unread{background:#fff5f6}
.notif-item .nt{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.notif-empty{padding:22px;text-align:center;color:var(--muted);font-size:13px}

/* ===== RESPONSIVE ===== */
@media(max-width:1080px){
  .stats,.kpis{grid-template-columns:repeat(2,1fr)}
  .tiers{grid-template-columns:repeat(2,1fr)}
  .home-feats{grid-template-columns:repeat(2,1fr)}
  .ref-stats{grid-template-columns:repeat(2,1fr)}
  .two-col{grid-template-columns:1fr}
}
@media(max-width:900px){
  .nav-burger{display:flex}
  .nav-links{position:fixed;top:72px;left:12px;right:12px;flex-direction:column;align-items:stretch;gap:4px;
    background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:12px;display:none;z-index:55;margin:0}
  .nav-links.open{display:flex;animation:fade .2s ease}
  /* mobile: Features is a collapsible accordion inside the burger menu */
  .nav-item .mega{display:none!important}
  .nav-item.open .mega{display:block!important;position:static;transform:none;opacity:1;visibility:visible;
    box-shadow:none;border:none;background:transparent;padding:4px 0 6px;margin:0;min-width:0;width:100%}
  .nav-item.open .mega-grid{grid-template-columns:1fr;gap:2px}
  .nav-item.open .mega-link{padding:10px 12px}
  .nav-item.open .mega-feature{display:none}
  .nav-link{width:100%}
  .hero{grid-template-columns:1fr;text-align:center;padding-top:54px;gap:30px}
  .hero-left{align-items:center}
  .hero-title{font-size:38px;text-align:center}
  .hero-cta{justify-content:center}
  .hero-card{max-width:420px;margin:0 auto}
  .page-hero h1{font-size:34px}
  .section-title{font-size:30px}
  .steps,.ref-how{grid-template-columns:1fr}
  .dash,.admin-shell{grid-template-columns:1fr}
  .dash-side,.admin-side,.dash-left{position:static}
  .dash-side .brand{margin-bottom:14px}
  .dash-nav{flex-direction:row;flex-wrap:wrap}
  .dash-nav .dash-link{flex:1 1 auto}
  .dash-grid,.offers{grid-template-columns:1fr}
  .logout{margin-top:0;width:auto}
  .dash-link span{flex:none}
  .feature-card{grid-template-columns:1fr;gap:14px;padding:24px}
  .feature-card .fc-ico{width:50px;height:50px}
  .ref-hero{flex-direction:column;text-align:center}
  .cab-top{flex-wrap:wrap;gap:10px}
}
@media(max-width:600px){
  .stats,.kpis,.tiers,.home-feats,.ref-stats{grid-template-columns:1fr}
  .nav-inner{padding:0 16px}
  .hero{padding:40px 18px 20px}
  .hero-title{font-size:30px}
  .hero-sub{font-size:16px}
  .hero-cta{flex-direction:column;width:100%}
  .hero-cta .btn{width:100%}
  .section{padding:44px 18px}
  .page-hero h1{font-size:28px}
  .dash{padding:14px}
  .admin-shell{padding:14px}
  .form-grid{grid-template-columns:1fr}
  .promo-admin .pa-actions,.promo-admin .pa-actions .btn{width:100%}
  .dash-balance{font-size:34px}
  .modal{padding:26px 20px}
  .cta-band{padding:34px 18px}
  .cta-band h2{font-size:24px}
  .nav-actions .btn{padding:8px 12px;font-size:12.5px}
  .brand-text{font-size:18px}
  .toolbar input[type=search]{min-width:0;flex:1}
}
/* compact header on phones so logo + lang(flags) + Log in + Start + burger never overflow */
@media(max-width:640px){
  .nav-inner{gap:8px;padding:0 12px}
  .nav-actions{gap:6px}
  .nav-actions .btn{padding:8px 11px;font-size:12.5px}
  .lang-trigger{height:38px;padding:0 8px;gap:5px}
  .lang-caret{width:13px;height:13px}
  .nav-burger{width:38px;height:38px}
  .nav-burger svg{width:18px;height:18px}
  .brand{font-size:17px;gap:7px}
  .brand-logo{width:26px;height:26px}
}
@media(max-width:380px){
  .nav-inner{gap:6px;padding:0 10px}
  .nav-actions{gap:5px}
  .nav-actions .btn{padding:7px 9px;font-size:12px}
  .lang-trigger{padding:0 7px}
}

/* ===== stable layout: always reserve scrollbar so switching cabinet tabs doesn't shift content ===== */
html{overflow-y:scroll}

/* gap between stacked full-width buttons in modals (e.g. Log in / Demo) so they don't touch */
.modal .btn-block + .btn-block{margin-top:10px}

/* ===== language switcher (flags dropdown) ===== */
.lang-switch{position:relative;display:inline-block}
.lang-trigger{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-weight:700;font-size:13px;cursor:pointer;box-shadow:var(--shadow);transition:.18s}
.lang-trigger:hover{border-color:var(--red-soft);background:var(--red-soft);color:var(--crimson)}
.lang-globe{width:18px;height:18px;color:var(--muted);flex-shrink:0}
.lang-trigger:hover .lang-globe{color:var(--crimson)}
.lang-flag{font-size:17px;line-height:1}
.lang-cur-name{letter-spacing:.4px}
.lang-caret{width:15px;height:15px;color:var(--muted);transition:transform .2s}
.lang-switch.open .lang-caret{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:212px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:7px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:.18s;z-index:200}
.lang-switch.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.lang-opt{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:600;border-radius:9px;cursor:pointer;text-align:left;transition:.14s}
.lang-opt:hover{background:var(--red-soft)}
.lang-opt.active{background:linear-gradient(135deg,rgba(225,16,43,.10),rgba(225,16,43,.04))}
.lang-opt .lang-flag{font-size:20px}
.lang-opt-name{flex:1}
.lang-opt-code{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.6px;border:1px solid var(--line);padding:2px 6px;border-radius:6px}
.lang-check{width:17px;height:17px;color:var(--crimson);opacity:0;flex-shrink:0}
.lang-opt.active .lang-check{opacity:1}
.lang-opt.active .lang-opt-code{display:none}
@media(max-width:560px){.lang-cur-name{display:none}.lang-trigger{padding:0 10px}}

/* ===== reduced-motion: kill continuous animations that cause scroll jank on weak hardware ===== */
@media(prefers-reduced-motion:reduce){
  .aurora{animation:none}
  #bg-canvas{display:none}
  .hero-art svg{animation:none}
  .view.active,.tab,.apage.active,.reveal-on,.modal-overlay.open,.nav-links.open,.notif-panel.open{animation:none}
  *{scroll-behavior:auto!important}
}
