:root{
    --bg:#08080e; --bg2:#0e0e18; --bg3:#141420;
    --surf:#1a1a28; --surf2:#202032;
    --bdr:rgba(120,120,200,0.12); --bdr2:rgba(120,120,200,0.2);
    --txt:#eeeef8; --sub:#8888aa; --acc:#7c6aff; --acc2:#a894ff;
    --glow:rgba(124,106,255,0.18); --grn:#22d9a0; --red:#ff4f72;
    --fh:'Unbounded',sans-serif; --fb:'Geologica',sans-serif; --r:14px;
  }
  [data-theme=light]{
    --bg:#f0f0f8; --bg2:#e8e8f4; --bg3:#dfdff0;
    --surf:#ffffff; --surf2:#f4f4fc;
    --bdr:rgba(80,80,160,0.1); --bdr2:rgba(80,80,160,0.2);
    --txt:#0d0d20; --sub:#5a5a80; --acc:#5b48e8; --acc2:#7c6aff;
    --glow:rgba(91,72,232,0.12);
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;font-size:16px}
  body{font-family:var(--fb);background:var(--bg);color:var(--txt);line-height:1.6;overflow-x:hidden;transition:background .3s,color .3s}
  a{color:inherit;text-decoration:none}
  button{font-family:var(--fb);cursor:pointer;border:none;outline:none;transition:all .2s}
  input{font-family:var(--fb);outline:none}
  ::-webkit-scrollbar{width:5px}
  ::-webkit-scrollbar-track{background:var(--bg)}
  ::-webkit-scrollbar-thumb{background:var(--bdr2);border-radius:3px}
  
  body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
  }
  
  /* NAV & GENERIC */
  nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:0 48px;height:64px;display:flex;align-items:center;justify-content:space-between;background:rgba(8,8,14,0.75);backdrop-filter:blur(24px);border-bottom:1px solid var(--bdr);}
  [data-theme=light] nav{background:rgba(240,240,248,0.8)}
  .logo{display:flex;align-items:center;gap:10px;cursor:pointer}
  .logo-shield{width:30px;height:30px}
  .logo-text{font-family:var(--fh);font-size:17px;font-weight:900;letter-spacing:-0.5px}
  .nav-c{display:flex;align-items:center;gap:10px}
  .theme-btn{width:34px;height:34px;border-radius:8px;background:var(--surf);border:1px solid var(--bdr);color:var(--sub);font-size:15px;display:flex;align-items:center;justify-content:center}
  .btn-nav{padding:8px 20px;border-radius:9px;font-size:13px;font-weight:600}
  .btn-nav-ghost{background:transparent;color:var(--sub);border:1px solid var(--bdr)}
  .btn-nav-fill{background:var(--acc);color:#fff}
  
  /* TARIFFS (Used in both) */
  .tariff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:52px}
  .tcard{background:var(--surf);border:1px solid var(--bdr);border-radius:18px;padding:36px 28px;position:relative;transition:all .3s;cursor:pointer;}
  .tcard:hover{transform:translateY(-4px);border-color:var(--bdr2);box-shadow:0 0 48px var(--glow)}
  .tcard.hot{border-color:var(--acc);background:linear-gradient(135deg,rgba(124,106,255,.07),var(--surf))}
  .tcard.hot::before{content:'ХИТ';position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--acc);color:#fff;font-size:9px;font-weight:900;padding:4px 12px;border-radius:100px;}
  .t-icon{font-size:28px;margin-bottom:14px}
  .t-name{font-family:var(--fh);font-size:15px;font-weight:700;margin-bottom:14px}
  .t-price{font-family:var(--fh);font-size:34px;font-weight:900;color:var(--acc2);line-height:1}
  .t-per{font-size:12px;color:var(--sub);margin-top:4px;margin-bottom:20px}
  .t-old{font-size:13px;color:var(--sub);text-decoration:line-through;margin-bottom:2px}
  .t-feats{list-style:none;margin-bottom:24px}
  .t-feats li{font-size:13px;color:var(--sub);padding:5px 0;border-bottom:1px solid var(--bdr);display:flex;gap:7px}
  .t-feats li::before{content:'✓';color:var(--grn);font-weight:700;flex-shrink:0}
  .t-btn{width:100%;padding:13px;border-radius:10px;font-size:13px;font-weight:700;background:var(--acc);color:#fff;transition:all .2s;}
  .tcard:not(.hot) .t-btn{background:transparent;border:1px solid var(--bdr);color:var(--txt)}
  
  /* MODALS & FORMS */
  .overlay{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.75);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s;}
  .overlay.on{opacity:1;pointer-events:all}
  .modal{background:var(--bg3);border:1px solid var(--bdr);border-radius:20px;padding:36px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;transform:translateY(16px);transition:transform .3s;position:relative;}
  .overlay.on .modal{transform:translateY(0)}
  .m-x{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:7px;background:var(--surf);border:1px solid var(--bdr);color:var(--sub);display:flex;align-items:center;justify-content:center;}
  .m-title{font-family:var(--fh);font-size:22px;font-weight:900;margin-bottom:6px}
  .m-sub{font-size:13px;color:var(--sub);margin-bottom:28px}
  .atabs{display:flex;background:var(--surf);border-radius:10px;padding:3px;border:1px solid var(--bdr);margin-bottom:24px}
  .atab{flex:1;padding:9px;border-radius:8px;font-size:13px;font-weight:700;background:transparent;color:var(--sub);}
  .atab.on{background:var(--acc);color:#fff}
  .fg{margin-bottom:16px}
  .fl{display:block;font-size:11px;font-weight:700;color:var(--sub);margin-bottom:7px}
  .fi{width:100%;padding:11px 14px;background:var(--surf);border:1px solid var(--bdr);border-radius:10px;color:var(--txt);font-size:14px;}
  .btn-full{width:100%;padding:13px;border-radius:10px;font-size:14px;font-weight:700;background:var(--acc);color:#fff;margin-top:6px}
  .fdiv{display:flex;align-items:center;gap:14px;margin:20px 0;font-size:12px;color:var(--sub)}
  .fdiv::before,.fdiv::after{content:'';flex:1;height:1px;background:var(--bdr)}
  .ferr{font-size:12px;color:var(--red);margin-top:6px;display:none}
  .ferr.on{display:block}
  .form-note{font-size:11px;color:var(--sub);line-height:1.6;margin:12px 0}
  .form-link{text-align:center;font-size:13px;color:var(--sub);margin-top:14px}
  .form-link a{color:var(--acc2);cursor:pointer;font-weight:600}
  
  /* TOAST & LOADER */
  .toast{position:fixed;bottom:28px;right:28px;z-index:9999;background:var(--surf2);border:1px solid var(--acc);border-radius:12px;padding:13px 18px;font-size:13px;font-weight:600;color:var(--acc2);transform:translateY(80px);opacity:0;transition:all .3s;}
  .toast.on{transform:translateY(0);opacity:1}
  .spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite;margin-right:6px}
  @keyframes sp{to{transform:rotate(360deg)}}
  .loading-overlay{position:fixed;inset:0;background:var(--bg);z-index:9000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;}
  .loading-overlay.gone{display:none}
  .loading-logo{font-family:var(--fh);font-size:32px;font-weight:900;color:var(--acc2)}
  
  /* PMETHODS (Used in modals) */
  .pmethods{display:flex;flex-direction:column;gap:10px;margin-top:20px}
  .pm{padding:15px 16px;border-radius:12px;background:var(--surf);border:1px solid var(--bdr);display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
  .pm-l{display:flex;align-items:center;gap:11px}
  .pm-ico{font-size:20px;width:36px;text-align:center}
  .pm-name{font-size:14px;font-weight:700}
  .pm-hint{font-size:12px;color:var(--sub)}
  .pm-badge{font-size:10px;background:rgba(124,106,255,.15);color:var(--acc2);padding:3px 10px;border-radius:100px}
  .pay-frame{display:none;margin-top:16px}
  .pay-frame.on{display:block}
  .pay-sum{background:var(--surf);border-radius:12px;padding:14px 18px;border:1px solid var(--bdr);margin-bottom:16px;}
  .pay-sum-l{font-size:12px;color:var(--sub);margin-bottom:3px}
  .pay-sum-v{font-family:var(--fh);font-size:26px;font-weight:900;color:var(--acc2)}
  /* loading state */
  .loading-overlay {
    position: fixed; inset: 0; background: var(--bg); z-index: 9000;
    display: flex; align-items: center; justify-content: center; flex-direction: column;
    transition: opacity 0.4s ease, visibility 0.4s;
  }
  .loading-overlay.gone {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .loading-logo {
    font-family: var(--fh); font-size: 32px; font-weight: 900; color: var(--acc2);
    margin-bottom: 4px;
  }
  
  /* Анимированный прогресс-бар */
  .loading-progress {
    width: 160px;
    height: 4px;
    background: var(--surf2);
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    margin-bottom: 8px;
  }
  .loading-bar {
    position: absolute;
    top: 0;
    left: -50%;
    height: 100%;
    width: 50%;
    background: linear-gradient(90deg, transparent, var(--acc), var(--grn), transparent);
    border-radius: 4px;
    animation: load-sweep 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  }
  
  /* Пульсирующий текст */
  .loading-text {
    font-size: 12px;
    color: var(--sub);
    letter-spacing: 1px;
    text-transform: uppercase;
    animation: pulse-txt 1.5s infinite ease-in-out;
  }
  
  /* Анимации */
  @keyframes load-sweep {
    0% { left: -50%; }
    100% { left: 100%; }
  }
  @keyframes pulse-txt {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
  }
  @media(max-width:880px){ nav{padding:0 20px} }
  /* Кнопка поддержки */
  .support-fab {
    position: fixed; bottom: 24px; right: 24px; z-index: 8000;
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--acc); color: #fff; font-size: 24px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 12px var(--glow); transition: transform 0.2s;
  }
  .support-fab:hover { transform: scale(1.08); }
  textarea.fi { resize: vertical; min-height: 80px; font-family: inherit; }