:root {
    --bg-main: #01030a;
    --bg-soft: #050818;
    --bg-soft-2: #070b1f;
    --text-main: #e5e7eb;
    --text-soft: #9ca3af;
    --accent-green: #22c55e;
    --accent-blue: #38bdf8;
    --accent-purple: #6366f1;
    --border-soft: rgba(99,102,241,0.22);
    --r-xl: 24px;
    --r-lg: 18px;
    --t-fast: .26s ease;
    --t-med: .45s cubic-bezier(.33,.02,.11,.99);
    --glow-soft: 0 0 38px rgba(56,189,248,.18);
    --glow-strong: 0 18px 70px rgba(15,23,42,.9);
}

* { box-sizing: border-box; }

body {
    margin:0;
    min-height:100vh;
    background: radial-gradient(ellipse at top,#020817 0,#030712 50%,#020817 100%);
    color:var(--text-main);
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;
    overflow-x:hidden;
    transition:background-color var(--t-med),color var(--t-med);
    font-size: 150%; /* базовое +50% для всего текста без явного font-size */
}

.bg-orbit {
    position:fixed;
    inset:-40vh -40vw;
    pointer-events:none;
    z-index:-2;
    background:
            radial-gradient(circle at 0% 0%, rgba(56,189,248,.08), transparent 60%),
            radial-gradient(circle at 100% 0%, rgba(34,197,94,.04), transparent 60%),
            radial-gradient(circle at 0% 100%, rgba(99,102,241,.06), transparent 60%),
            radial-gradient(circle at 100% 100%, rgba(56,189,248,.03), transparent 60%);
    mix-blend-mode:screen;
    animation:orbitMove 42s linear infinite alternate;
}
@keyframes orbitMove {
    0%{transform:translate3d(0,0,0) scale(1);}
    50%{transform:translate3d(-40px,30px,0) scale(1.04);}
    100%{transform:translate3d(40px,-30px,0) scale(1.02);}
}

.bg-noise {
    position:fixed;
    inset:-20px;
    pointer-events:none;
    z-index:-1;
    opacity:.04;
    background-image:url("https://grainy-gradients.vercel.app/noise.svg");
    mix-blend-mode:soft-light;
}

/* Loader */
.page-loader {
    position:fixed; inset:0; z-index:80;
    display:grid; place-items:center;
    background:radial-gradient(circle at top,#020817,#000);
}
.page-loader__core {
    width:170px; padding:16px 12px;
    border-radius:22px;
    border:1px solid rgba(148,163,253,.24);
    background:radial-gradient(circle at top,rgba(56,189,248,.18),transparent 75%),rgba(3,6,15,.98);
    box-shadow:var(--glow-strong);
    display:flex; flex-direction:column; gap:6px;
    align-items:center;
}
.page-loader__logo {
    width:32px; height:32px;
    border-radius:14px;
    background:conic-gradient(from 220deg, var(--accent-green),var(--accent-blue),var(--accent-purple),var(--accent-green));
    display:flex; align-items:center; justify-content:center;
    color:#020817;
    font-size:18px; /* было 12px */
    font-weight:800;
    box-shadow:0 0 26px rgba(56,189,248,.6);
}
.page-loader__text {
    font-size:14px; /* было 9px */
    color:#9ca3af;
    text-transform:uppercase;
    letter-spacing:.14em;
}
.page-loader__bar {
    width:100%;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,transparent,rgba(56,189,248,.9),transparent);
    animation:loaderFlow 1.15s ease-in-out infinite;
    filter:blur(.2px);
}
@keyframes loaderFlow {
    0%{transform:translateX(-35%) scaleX(.7);opacity:.4;}
    50%{transform:translateX(10%) scaleX(1.1);opacity:1;}
    100%{transform:translateX(35%) scaleX(.7);opacity:.4;}
}
.page-loader.hide { animation:loaderHide .55s ease forwards; }
@keyframes loaderHide { to { opacity:0; visibility:hidden; } }

.glass-card {
    border-radius:var(--r-xl);
    border:1px solid rgba(148,163,253,.16);
    background:
            radial-gradient(circle at top left,rgba(56,189,248,.09),transparent 70%),
            radial-gradient(circle at bottom right,rgba(34,197,94,.06),transparent 70%),
            rgba(4,7,17,.98);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    box-shadow:var(--glow-soft);
}

.chip {
    border-radius:999px;
    padding:4px 10px;
    border:1px solid rgba(148,163,253,.26);
    font-size:14px; /* было 9px */
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--text-soft);
    background:radial-gradient(circle at top,rgba(15,23,42,.96),rgba(2,6,23,1));
    backdrop-filter:blur(10px);
}

.btn-primary {
    border-radius:999px;
    padding:8px 20px;
    font-size:15px; /* было 10px */
    font-weight:700;
    background:linear-gradient(90deg,var(--accent-green),var(--accent-blue));
    color:#020817;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    box-shadow:0 14px 40px rgba(34,197,94,.35);
    transition:all var(--t-fast);
    cursor:pointer;
    border:none;
}
.btn-primary span.icon {
    font-size:17px; /* было 11px */
}
.btn-primary:hover {
    transform:translateY(-1px);
    box-shadow:0 0 40px rgba(56,189,248,.35);
}

.btn-ghost {
    border-radius:999px;
    padding:8px 16px;
    font-size:14px; /* было 9px */
    border:1px solid rgba(148,163,253,.38);
    background:radial-gradient(circle at top,rgba(3,7,18,.96),rgba(1,4,12,1));
    color:var(--text-soft);
    display:inline-flex;
    align-items:center;
    gap:6px;
    transition:all var(--t-fast);
    cursor:pointer;
}
.btn-ghost:hover {
    border-color:var(--accent-green);
    color:var(--accent-green);
    box-shadow:var(--glow-soft);
    transform:translateY(-1px);
}

.btn-outline {
    border-radius:999px !important;
    padding:8px 20px;
    font-size:15px;
    font-weight:700;
    background:transparent;
    color:var(--accent-green);
    border:1px solid var(--accent-green);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    transition:all var(--t-fast);
    cursor:pointer;
    box-shadow:none;
    outline:none;
}
.btn-outline span.icon {
    font-size:17px;
}
.btn-outline:hover {
    background:transparent;
    border-color:var(--accent-green);
    box-shadow:none;
    transform:translateY(-1px);
}
.btn-outline:focus-visible {
    outline:none;
    box-shadow:none;
}

.task-card {
    padding:12px 14px;
    border-radius:var(--r-lg);
    border:1px solid rgba(148,163,253,.16);
    background:
            radial-gradient(circle at top left,rgba(56,189,248,.04),transparent 80%),
            radial-gradient(circle at bottom right,rgba(34,197,94,.04),transparent 80%),
            rgba(4,7,16,.98);
    box-shadow:0 16px 42px rgba(3,7,18,.86);
    position:relative;
    overflow:hidden;
    transition:all .35s cubic-bezier(.33,.02,.11,.99);
}
.task-card::before{
    content:"";
    position:absolute;
    inset:-40%;
    background:
            radial-gradient(circle at 0 0,rgba(56,189,248,.05),transparent 70%),
            radial-gradient(circle at 100% 100%,rgba(34,197,94,.05),transparent 70%);
    opacity:0;
    transform:translate3d(-14px,12px,0);
    transition:all .4s ease;
    pointer-events:none;
}
.task-card:hover {
    transform:translateY(-4px) scale(1.01);
    border-color:rgba(56,189,248,.46);
    box-shadow:0 22px 70px rgba(3,7,18,.96);
}
.task-card:hover::before{
    opacity:1;
    transform:translate3d(0,0,0);
}
.task-card-pinned {
    border-left:3px solid rgba(251,191,36,.7);
    box-shadow:0 16px 42px rgba(3,7,18,.86), 0 0 0 1px rgba(251,191,36,.08);
}

.tasks-pagination-wrapper {
    margin-top:1rem;
    padding:1rem 1.25rem;
}

.animate-fade-in {
    animation:notifyFadeIn .25s ease;
}
@keyframes notifyFadeIn {
    from { opacity:0; transform:translateX(12px); }
    to { opacity:1; transform:translateX(0); }
}

.nav-link {
    position:relative;
    padding-bottom:2px;
    font-size:15px; /* было 10px */
    color:var(--text-soft);
    transition:color var(--t-fast);
}
.nav-link::after {
    content:"";
    position:absolute;
    left:0; bottom:-4px;
    width:0; height:1px;
    background:linear-gradient(90deg,var(--accent-green),var(--accent-blue));
    border-radius:999px;
    transition:width var(--t-fast);
}
.nav-link:hover {
    color:var(--accent-green);
}
.nav-link:hover::after {
    width:100%;
}

.page-root {
    opacity:0;
    transform:translateY(16px);
    transition:opacity var(--t-med),transform var(--t-med);
}
.page-root.active {
    opacity:1;
    transform:translateY(0);
}
.page-root.hidden {
    display:none;
}

.fade-in-up {
    opacity:0;
    transform:translateY(18px);
    transition:opacity var(--t-med),transform var(--t-med);
}
.fade-in-up.visible {
    opacity:1;
    transform:translateY(0);
}

.balance-pill {
    border-radius:999px;
    padding:6px 14px;
    display:flex;
    align-items:center;
    gap:10px;
    background:
            radial-gradient(circle at top,rgba(56,189,248,.18),transparent 85%),
            rgba(3,7,18,.98);
    border:1px solid rgba(148,163,253,.36);
    box-shadow:0 10px 30px rgba(15,23,42,.8);
    font-size:14px; /* было 9px */
}
.balance-label {
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:11px; /* было 7px */
    color:#6b7280;
}
.balance-value {
    font-weight:600;
    color:var(--accent-green);
}

/* Live payouts */
.payouts-wrapper {
    position:relative;
    overflow:hidden;
}
.payout-row {
    display:grid;
    grid-template-columns:1.3fr 1fr 0.9fr 1.4fr 0.8fr auto;
    gap:10px;
    align-items:center;
    font-size:14px; /* было 9px */
    padding:9px 11px;
    border-radius:16px;
    border:1px solid rgba(148,163,253,.18);
    background:radial-gradient(circle at top left,rgba(56,189,248,.03),transparent 85%),rgba(2,5,14,.98);
    margin-bottom:6px;
    opacity:0;
    transform:translateY(8px);
    transition:all .4s ease;
}
.payout-row.show {
    opacity:1;
    transform:translateY(0);
}
.payout-method {
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--text-soft);
}
.payout-dot {
    width:7px;
    height:7px;
    border-radius:999px;
    background:var(--accent-green);
    box-shadow:0 0 14px rgba(34,197,94,.8);
}
.payout-amount {
    color:var(--accent-green);
    font-weight:600;
}

.modal-backdrop {
    position:fixed;
    inset:0;
    background:radial-gradient(circle at top,rgba(7,11,25,.98),rgba(0,0,0,.98));
    backdrop-filter:blur(26px);
    -webkit-backdrop-filter:blur(26px);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:70;
    opacity:0;
    transition:opacity var(--t-med);
}
.modal-backdrop.active {
    display:flex;
    opacity:1;
}
.modal-card {
    width:100%;
    max-width:480px;
    padding:20px 18px 16px;
    border-radius:24px;
    border:1px solid rgba(148,163,253,.3);
    background:
            radial-gradient(circle at top left,rgba(56,189,248,.15),transparent 80%),
            radial-gradient(circle at bottom right,rgba(99,102,241,.12),transparent 80%),
            rgba(2,5,15,.98);
    box-shadow:var(--glow-strong);
    position:relative;
    overflow:hidden;
}
.modal-title {
    font-size:20px; /* было 13px */
    font-weight:600;
    color:#e5e7eb;
    margin-bottom:4px;
}
.modal-sub {
    font-size:14px; /* было 9px */
    color:#9ca3af;
    margin-bottom:8px;
}
.modal-close {
    position:absolute;
    top:10px;
    right:10px;
    width:22px;
    height:22px;
    border-radius:999px;
    font-size:18px; /* было 12px */
    border:1px solid rgba(148,163,253,.4);
    color:#9ca3af;
    background:rgba(0,0,0,.8);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:all var(--t-fast);
}
.modal-close:hover {
    color:var(--accent-green);
    border-color:var(--accent-green);
    box-shadow:var(--glow-soft);
}

.input-shell {
    border-radius:16px;
    border:1px solid rgba(148,163,253,.28);
    padding:7px 10px 6px;
    display:flex;
    flex-direction:column;
    gap:2px;
    background:radial-gradient(circle at top,rgba(15,23,42,.98),rgba(2,6,23,1));
    transition:all var(--t-fast);
}
.input-shell label{
    font-size:12px; /* было 8px */
    color:#6b7280;
    text-transform:uppercase;
    letter-spacing:.14em;
}
.input-shell input,
.input-shell select {
    background:transparent!important;
    border:none!important;
    outline:none!important;
    font-size:15px; /* было 10px */
    color:var(--text-main);
}
.input-shell:focus-within {
    border-color:var(--accent-green);
    box-shadow:var(--glow-soft);
}
.input-shell.has-error {
    border-color:#ef4444;
    box-shadow:0 0 0 1px rgba(239,68,68,.3);
}

::-webkit-scrollbar { width:4px; height:4px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb {
    background:rgba(148,163,253,.28);
    border-radius:999px;
}

@media (max-width:768px){
    .glass-card{border-radius:18px;}
    .task-card{border-radius:16px;}
    .payout-row{
        grid-template-columns:1.3fr 0.9fr 0.9fr auto;
    }
    .payout-row span[data-col="hash"],
    .payout-row span[data-col="time"]{
        display:none;
    }
}

/* ОБЩИЙ КОНТЕЙНЕР */
.partners-marquee {
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
  padding: 20px 0 !important;
  display: flex !important;
}

/* ЗАТЕМНЕНИЕ ПО КРАЯМ (Эффект исчезновения) */
.partners-marquee::before,
.partners-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.partners-marquee::before {
  left: 0;
  background: linear-gradient(to right, rgba(8,14,28,1), rgba(8,14,28,0));
}
.partners-marquee::after {
  right: 0;
  background: linear-gradient(to left, rgba(8,14,28,1), rgba(8,14,28,0));
}

/* ТРЕК С ЛОГОТИПАМИ */
.partners-track {
  display: flex !important;
  align-items: center !important;
  gap: 40px !important; /* Расстояние между лого */
  width: max-content !important;
  animation: partnersScroll 30s linear infinite !important; /* Название анимации должно совпадать с @keyframes */
}

/* Остановка при наведении */
.partners-marquee:hover .partners-track {
  animation-play-state: paused !important;
}

/* ЭЛЕМЕНТ ЛОГОТИПА — фиксированный размер ячейки, карточка */
.partner-item {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 130px !important;
  height: 56px !important;
  min-width: 130px !important;
  min-height: 56px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  background: rgba(30, 41, 59, 0.75) !important;
  border: 1px solid rgba(148, 163, 184, 0.25) !important;
  transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
  position: relative !important;
}

.partner-item::before {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}

.partner-item:hover {
  background: rgba(51, 65, 85, 0.85) !important;
  border-color: rgba(52, 211, 153, 0.35) !important;
  box-shadow: 0 0 20px rgba(52, 211, 153, 0.08) !important;
}

.partner-item img {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
  max-width: 102px !important;
  max-height: 36px !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
  transition: opacity 0.25s ease !important;
  display: block !important;
}

.partner-item img:hover {
  opacity: 0.95;
}

/* АНИМАЦИЯ */
@keyframes partnersScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    /* Сдвиг ровно на 50%, так как контент продублирован в HTML */
    transform: translateX(-50%);
  }
}

/* МОБИЛЬНАЯ ВЕРСИЯ */
@media (max-width: 768px) {
  .partner-item {
    width: 100px !important;
    min-width: 100px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
  }
  .partner-item img {
    max-width: 80px !important;
    max-height: 28px !important;
  }
  .partners-track {
    gap: 16px !important;
  }
}

/* === Make btn-ghost (Save changes) красивой === */

/* 1) базовый вид */
.btn-ghost{
    position: relative;
    overflow: hidden;
    border-radius: 999px !important;

    font-weight: 800 !important;
    letter-spacing: .02em;

    /* градиентная кнопка вместо обычной ghost */
    color: #020817 !important;
    border: 1px solid rgba(148,163,253,.24) !important;

    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.35), transparent 55%),
        linear-gradient(90deg, var(--accent-green), var(--accent-blue)) !important;

    box-shadow:
        0 14px 40px rgba(34,197,94,.30),
        0 0 0 1px rgba(56,189,248,.22);

    transition:
        transform var(--t-fast),
        box-shadow var(--t-fast),
        filter var(--t-fast);
}

/* 2) эффект блика */
.btn-ghost::before{
    content:"";
    position:absolute;
    inset:-70%;
    background: radial-gradient(circle, rgba(255,255,255,.28), transparent 60%);
    transform: translateX(-45%) rotate(25deg);
    opacity: 0;
    transition: opacity .35s ease, transform .55s ease;
}

/* 3) hover */
.btn-ghost:hover{
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow:
        0 0 55px rgba(56,189,248,.25),
        0 18px 60px rgba(34,197,94,.32);
}

.btn-ghost:hover::before{
    opacity: 1;
    transform: translateX(25%) rotate(25deg);
}

/* 4) active */
.btn-ghost:active{
    transform: translateY(0px) scale(.98);
    box-shadow:
        0 0 30px rgba(56,189,248,.18),
        0 10px 32px rgba(34,197,94,.20);
}

/* 5) фокус для доступности */
.btn-ghost:focus-visible{
    outline: none;
    box-shadow:
        0 0 0 3px rgba(56,189,248,.35),
        0 0 0 1px rgba(34,197,94,.28),
        0 18px 60px rgba(34,197,94,.30);
}

/* Footer */
.footer-main .footer-link:active { color: var(--accent-blue); }

