/* ============ Exsellent RP — общий CSS (дизайн-система) ============ */

  :root{
    --bg:#1a1327;--bg-2:#201829;--panel:#241a31;--panel-2:#2e2242;
    --line:rgba(182,146,212,.16);--line-hi:rgba(182,146,212,.34);
    --plum:#ab68cf;--plum-deep:#834aa6;--plum-soft:#d0a8e6;--plum-br:#cc5df5;
    --green:#5fd193;--red:#ec6470;
    --text:#f0eaf4;--muted:#ac9db8;--faint:#786a84;
    --btn:linear-gradient(135deg,#b06ad2,#834aa6);
    --radius:16px;--radius-sm:12px;--ease:cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Montserrat',system-ui,sans-serif;background:var(--bg);color:var(--text);
    line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
  a{color:inherit;text-decoration:none}
  main{flex:1}
  .bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
    radial-gradient(90% 60% at 78% -5%,rgba(140,80,180,.24),transparent 55%),
    radial-gradient(70% 50% at 0% 100%,rgba(110,65,145,.16),transparent 60%),var(--bg);}
  .bg::after{content:"";position:absolute;inset:0;opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
  .wrap{width:min(1160px,92vw);margin-inline:auto}
  h1,h2,h3,h4{letter-spacing:0;line-height:1.05}
  .btn{cursor:pointer;border:none;font-family:inherit;font-weight:700;font-size:14px;display:inline-flex;
    align-items:center;justify-content:center;gap:9px;border-radius:var(--radius-sm);padding:13px 24px;transition:.22s var(--ease)}
  .btn-fill{background:var(--btn);color:#fff}
  .btn-fill:hover{filter:brightness(1.08);transform:translateY(-1px)}
  .btn-outline{background:transparent;color:var(--plum-soft);border:1px solid var(--plum-deep)}
  .btn-outline:hover{border-color:var(--plum);color:#fff;background:rgba(140,80,180,.16)}
  .btn-lg{padding:15px 30px;font-size:15px}
  .btn-block{width:100%}
  header{position:sticky;top:0;z-index:50;background:rgba(26,19,39,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
  .brand{display:flex;align-items:center;gap:12px}
  .brand-mark{height:32px;width:auto;display:block}
  .brand-txt{line-height:1.05}
  .brand-txt b{display:block;color:var(--plum-br);font-weight:800;font-size:17px;letter-spacing:.01em}
  .brand-txt small{display:block;color:var(--faint);font-weight:600;font-size:10px;letter-spacing:.26em;text-transform:uppercase;margin-top:1px}
  .menu{display:flex;gap:4px}
  .menu a{padding:9px 15px;border-radius:9px;font-size:14px;font-weight:600;color:var(--muted);transition:.2s}
  .menu a:hover{color:var(--text)}.menu a.active{color:var(--text)}
  .menu a.active::after{content:"";display:block;height:2px;margin-top:5px;background:var(--plum);border-radius:2px}
  .burger{display:none;background:none;border:1px solid var(--line);width:42px;height:42px;border-radius:10px;color:var(--text);font-size:19px;cursor:pointer}
  .page-head{text-align:center;padding:54px 0 6px}
  .page-title{font-weight:800;text-transform:uppercase;font-size:clamp(30px,5vw,54px)}
  .title-bar{display:block;width:66px;height:3px;border-radius:3px;background:var(--btn);margin:16px auto 0}
  .page-head p{color:var(--muted);margin-top:14px;max-width:52ch;margin-inline:auto}
  .card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
  .field{margin-bottom:18px}
  .field label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
  .field label i{width:16px;height:2px;background:var(--plum);border-radius:2px}
  .input,.select{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:13px 15px;color:var(--text);font-family:inherit;font-size:14px;transition:.2s}
  .input:focus,.select:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 3px rgba(171,104,207,.15)}
  .input::placeholder{color:var(--faint)}
  footer{border-top:1px solid var(--line);padding:52px 0 30px;margin-top:60px}
  .foot-top{display:grid;grid-template-columns:1.4fr 2fr;gap:40px;padding-bottom:32px;border-bottom:1px solid var(--line)}
  .foot-brand .brand{margin-bottom:14px}
  .foot-tag{color:var(--muted);font-size:14px;max-width:42ch;margin:0 0 18px}
  .socials{display:flex;gap:9px}
  .socials a{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);transition:.2s}
  .socials a:hover{color:var(--text);border-color:var(--line-hi);background:var(--panel-2)}
  .foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .foot-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);margin-bottom:12px;font-weight:700}
  .foot-col a{display:block;color:var(--muted);font-size:14px;padding:6px 0;transition:.2s}
  .foot-col a:hover{color:var(--text)}
  .foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;color:var(--faint);font-size:12.5px}
  .reveal{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .reveal.from-left{transform:translateX(-40px)}.reveal.from-right{transform:translateX(40px)}
  .reveal.is-visible{opacity:1;transform:none}
  @media (max-width:900px){
    .menu,.nav .btn-fill{display:none}.burger{display:grid;place-items:center}
    .foot-top{grid-template-columns:1fr;gap:28px}.foot-cols{grid-template-columns:repeat(2,1fr)}
    .reveal.from-left,.reveal.from-right{transform:translateY(30px)}
    .reveal.from-left.is-visible,.reveal.from-right.is-visible{transform:none}
  }
  .btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--plum-soft);outline-offset:2px}
  @media (prefers-reduced-motion:reduce){*{transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* ============ Главная (index) ============ */

  :root{
    --bg:        #1a1327;
    --bg-2:      #201829;
    --panel:     #241a31;
    --panel-2:   #2e2242;
    --line:      rgba(182,146,212,.16);
    --line-hi:   rgba(182,146,212,.34);

    --plum:      #ab68cf;
    --plum-deep: #834aa6;
    --plum-soft: #d0a8e6;

    --green:     #5fd193;
    --red:       #ec6470;
    --teal:      #35c4c4;

    --text:      #f0eaf4;
    --muted:     #ac9db8;
    --faint:     #786a84;

    --btn: linear-gradient(135deg,#b06ad2,#834aa6);
    --radius: 16px;
    --radius-sm: 12px;
    --ease: cubic-bezier(.22,.61,.36,1);
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Montserrat',system-ui,sans-serif;background:var(--bg);color:var(--text);
    line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}

  .bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
    radial-gradient(90% 60% at 78% -5%, rgba(140,80,180,.24), transparent 55%),
    radial-gradient(70% 50% at 0% 100%, rgba(110,65,145,.16), transparent 60%),
    var(--bg);}
  .bg::after{content:"";position:absolute;inset:0;opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

  .wrap{width:min(1160px,92vw);margin-inline:auto}

  .kicker{font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--plum-soft);
    text-transform:uppercase;display:inline-flex;align-items:center;gap:9px}
  .kicker .bar{width:22px;height:1px;background:var(--plum-soft);opacity:.6}
  .live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}

  h1,h2,h3{letter-spacing:0;line-height:1.02}

  .btn{cursor:pointer;border:none;font-family:inherit;font-weight:700;font-size:14px;
    display:inline-flex;align-items:center;gap:9px;border-radius:var(--radius-sm);
    padding:13px 24px;transition:.22s var(--ease)}
  .btn-fill{background:var(--btn);color:#fff}
  .btn-fill:hover{filter:brightness(1.08);transform:translateY(-1px)}
  .btn-outline{background:transparent;color:var(--plum-soft);border:1px solid var(--plum-deep)}
  .btn-outline:hover{border-color:var(--plum);color:#fff;background:rgba(140,80,180,.16)}
  .btn-lg{padding:15px 30px;font-size:15px}

  /* navbar */
  header{position:sticky;top:0;z-index:50;background:rgba(26,19,39,.82);
    backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
  .brand{display:flex;align-items:center;gap:12px}
  .logo{width:36px;height:36px;border-radius:9px;background:var(--btn);
    display:grid;place-items:center;position:relative}
  .logo::after{content:"";width:15px;height:15px;background:#fff;opacity:.95;
    clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%)}
  .brand b{font-weight:800;font-size:17px;letter-spacing:.02em}
  .brand small{display:block;font-size:9px;font-weight:600;letter-spacing:.32em;color:var(--faint);margin-top:-1px}
  .brand-mark{height:32px;width:auto;display:block}
  .brand-txt{line-height:1.05}
  .brand-txt b{display:block;color:#cc5df5;font-weight:800;font-size:17px;font-style:normal;letter-spacing:.01em}
  .brand-txt small{display:block;color:var(--faint);font-weight:600;font-size:10px;letter-spacing:.26em;font-style:normal;text-transform:uppercase;margin-top:1px}
  /* footer */
  .foot-top{display:grid;grid-template-columns:1.4fr 2fr;gap:40px;padding-bottom:32px;border-bottom:1px solid var(--line)}
  .foot-brand .brand{margin-bottom:14px}
  .foot-tag{color:var(--muted);font-size:14px;max-width:42ch;margin:0 0 18px}
  .foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .foot-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);margin-bottom:12px;font-weight:700}
  .foot-col a{display:block;color:var(--muted);font-size:14px;padding:6px 0;transition:.2s var(--ease)}
  .foot-col a:hover{color:var(--text)}
  .foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;color:var(--faint);font-size:12.5px}
  @media (max-width:760px){
    .foot-top{grid-template-columns:1fr;gap:28px}
    .foot-cols{grid-template-columns:repeat(2,1fr)}
  }
  .brand-logo{height:34px;width:auto;display:block}
  .menu{display:flex;gap:4px}
  .menu a{padding:9px 15px;border-radius:9px;font-size:14px;font-weight:600;color:var(--muted);transition:.2s var(--ease)}
  .menu a:hover{color:var(--text)}
  .menu a.active{color:var(--text)}
  .menu a.active::after{content:"";display:block;height:2px;margin-top:5px;background:var(--plum);border-radius:2px}
  .burger{display:none;background:none;border:1px solid var(--line);width:42px;height:42px;
    border-radius:10px;color:var(--text);font-size:19px;cursor:pointer}

  /* hero */
  .hero{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center;padding:80px 0 56px}
  .hero h1{font-weight:800;font-size:clamp(40px,6vw,80px);text-transform:uppercase;margin:14px 0 6px}
  .hero h1 .accent{color:var(--plum-soft)}
  .hero .sub{font-weight:700;font-size:clamp(15px,1.6vw,20px);letter-spacing:.22em;
    color:var(--muted);text-transform:uppercase}
  .hero p.lead{color:var(--muted);font-size:16.5px;max-width:46ch;margin:18px 0 30px}
  .cta{display:flex;gap:13px;flex-wrap:wrap}

  .render{position:relative;border:1px solid var(--line);border-radius:var(--radius);
    background:radial-gradient(75% 60% at 50% 15%, rgba(140,80,180,.36), transparent 62%),
      linear-gradient(180deg,var(--panel-2),var(--panel));
    aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden}
  .render .slot{text-align:center;color:var(--faint);padding:28px}
  .render .slot .mk{width:56px;height:56px;margin:0 auto 14px;border-radius:14px;border:1px solid var(--line-hi);
    display:grid;place-items:center;color:var(--plum-soft)}
  .render .slot b{display:block;color:var(--muted);font-weight:700;margin-bottom:4px}
  .render .slot span{font-size:13px}

  /* cast — рендеры персонажей с ховер-подписями */
  .cast{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:0;min-height:440px}
  .cast .glow{position:absolute;z-index:0;width:82%;height:74%;left:50%;top:46%;transform:translate(-50%,-50%);
    border-radius:50%;background:radial-gradient(closest-side,rgba(140,80,180,.26),transparent 70%);filter:blur(30px)}
  .figwrap{position:relative;z-index:1;flex:0 0 auto;cursor:pointer;transition:opacity .28s var(--ease),filter .28s var(--ease)}
  .figwrap .fig{height:clamp(280px,42vw,450px);width:auto;max-width:none;display:block;transition:transform .28s var(--ease)}
  .figlabel{position:absolute;left:50%;top:45%;transform:translate(-50%,10px);z-index:3;white-space:nowrap;
    font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--plum-soft);
    background:rgba(20,14,30,.6);backdrop-filter:blur(8px);border:1px solid var(--line-hi);
    padding:9px 16px;border-radius:9px;box-shadow:0 10px 26px -12px rgba(0,0,0,.75);
    opacity:0;pointer-events:none;transition:opacity .28s var(--ease),transform .28s var(--ease)}
  .figwrap:hover .fig{transform:scale(1.015)}
  .figwrap:hover .figlabel{opacity:1;transform:translate(-50%,-50%)}
  .cast:hover .figwrap:not(:hover){opacity:.45;filter:saturate(.5) brightness(.7)}

  /* Diamond RP + состав */
  .trust{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);
    padding:24px 26px;position:relative;overflow:hidden}
  .trust-head{display:flex;align-items:center;gap:20px;margin-bottom:20px}
  .trust .gem{flex:none;width:52px;height:52px;border-radius:13px;border:1px solid var(--line-hi);
    background:radial-gradient(120% 120% at 30% 20%, rgba(208,168,230,.25), transparent 60%);
    display:grid;place-items:center;color:var(--plum-soft)}
  .trust .t-title{font-weight:700;font-size:18px}
  .trust .t-text{color:var(--muted);font-size:14.5px;margin-top:2px;max-width:74ch}

  .roster{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
  .member{display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);
    transition:.2s var(--ease)}
  .member:hover{border-color:var(--line-hi)}
  .member .nick{font-weight:700;font-size:14.5px}
  .tagpill{font-size:11px;font-weight:700;letter-spacing:.04em;padding:5px 11px;
    border-radius:100px;white-space:nowrap}
  .tagpill.green{color:var(--green);background:rgba(95,209,147,.13);border:1px solid rgba(95,209,147,.42)}
  .tagpill.red{color:var(--red);background:rgba(236,100,112,.13);border:1px solid rgba(236,100,112,.42)}
  .tagpill.teal{color:var(--teal);background:rgba(53,196,196,.13);border:1px solid rgba(53,196,196,.42)}

  /* секции */
  .section{padding:60px 0}
  .head{margin-bottom:32px}
  .head h2{font-weight:800;text-transform:uppercase;font-size:clamp(28px,4vw,46px);margin:14px 0 6px}
  .head p{color:var(--muted);max-width:48ch}

  /* один сервер */
  .server{display:grid;grid-template-columns:1.1fr 1fr auto;gap:32px;align-items:center;
    border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);
    padding:26px 30px;transition:.22s var(--ease)}
  .server:hover{border-color:var(--line-hi)}
  .s-id{display:flex;align-items:center;gap:14px}
  .s-id .badge{width:46px;height:46px;border-radius:12px;background:var(--panel-2);
    border:1px solid var(--line);display:grid;place-items:center;font-weight:800;font-size:18px;color:var(--plum-soft)}
  .s-name{font-weight:700;font-size:19px;display:flex;align-items:center;gap:10px}
  .s-sub{font-size:13px;color:var(--faint);margin-top:2px}
  .s-slots .l{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:8px}
  .s-slots .l b{color:var(--text);font-weight:700}
  .track{height:8px;border-radius:100px;background:rgba(255,255,255,.08);overflow:hidden}
  .fill{height:100%;background:var(--btn);border-radius:100px}
  .s-meta{display:flex;gap:24px;margin-top:14px;font-size:13px;color:var(--muted)}
  .s-meta b{font-weight:700}
  .s-meta .ping b{color:var(--text)}
  .s-meta .u b{color:var(--text)}

  /* как играть */
  .steps{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
  .step{background:var(--panel);padding:30px 26px;transition:background .22s var(--ease)}
  .step:hover{background:var(--panel-2)}
  .step .no{font-weight:800;font-size:38px;color:var(--plum-deep);line-height:1;
    display:flex;align-items:baseline;gap:10px}
  .step .no em{font-style:normal;font-weight:700;font-size:11px;letter-spacing:.14em;
    color:var(--faint);text-transform:uppercase}
  .step h3{font-weight:700;font-size:19px;margin:18px 0 8px}
  .step p{color:var(--muted);font-size:14.5px;margin-bottom:20px}
  .step .btn{width:100%;justify-content:center}
  .step .dl-alt{display:block;margin-top:10px;text-align:center;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
  .step .dl-alt:hover{color:var(--text)}
  .step .dl-alt[hidden]{display:none}

  footer{border-top:1px solid var(--line);padding:52px 0 30px;margin-top:40px}
  .foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
  .foot .cr{color:var(--faint);font-size:13px}
  .socials{display:flex;gap:9px}
  .socials a{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);
    display:grid;place-items:center;color:var(--muted);transition:.2s var(--ease)}
  .socials a:hover{color:var(--text);border-color:var(--line-hi);background:var(--panel-2)}

  /* scroll reveal */
  .reveal{opacity:0;transform:translateY(32px);
    transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .reveal.from-left{transform:translateX(-40px)}
  .reveal.from-right{transform:translateX(40px)}
  .reveal.is-visible{opacity:1;transform:none}

  @media (max-width:900px){
    .menu,.nav .btn-fill{display:none}
    .burger{display:grid;place-items:center}
    .hero{grid-template-columns:1fr;gap:36px;padding:52px 0 32px}
    .render{max-width:400px;margin-inline:auto;aspect-ratio:1/1}
    .cast{min-height:340px;gap:0}
    .figlabel{opacity:1;transform:translate(-50%,-50%);font-size:11px;letter-spacing:.12em;padding:7px 12px}
    .figwrap:hover .fig{transform:none}
    .cast:hover .figwrap:not(:hover){opacity:1;filter:none}
    .reveal.from-left,.reveal.from-right{transform:translateY(32px)}
    .reveal.from-left.is-visible,.reveal.from-right.is-visible{transform:none}
    .trust-head{flex-wrap:wrap}
    .roster{grid-template-columns:1fr}
    .server{grid-template-columns:1fr;gap:22px}
    .steps{grid-template-columns:1fr}
  }
  @media (max-width:520px){.cta{flex-direction:column}.cta .btn{width:100%;justify-content:center}}

  .btn:focus-visible,a:focus-visible{outline:2px solid var(--plum-soft);outline-offset:3px}
  @media (prefers-reduced-motion:reduce){
    *{transition:none!important;scroll-behavior:auto}
    .reveal{opacity:1!important;transform:none!important}
  }

  /* server-panel (один сервер) */
  .server-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}
  .sp-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 30px;border-bottom:1px solid var(--line)}
  .sp-id{display:flex;align-items:center;gap:16px}
  .sp-badge{width:54px;height:54px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line-hi);display:grid;place-items:center;font-weight:800;font-size:20px;color:var(--plum-soft)}
  .sp-id h3{font-weight:800;text-transform:uppercase;font-size:22px}
  .sp-tag{font-size:13px;color:var(--faint)}
  .sp-online{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green);background:rgba(95,209,147,.12);border:1px solid rgba(95,209,147,.4);padding:8px 14px;border-radius:100px;white-space:nowrap}
  .sp-bar{padding:24px 30px;border-bottom:1px solid var(--line)}
  .sp-bar-l{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:10px}
  .sp-bar-l b{color:var(--text)}
  .sp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
  .sp-stat{background:var(--panel);padding:24px 20px;text-align:center}
  .sp-stat .n{font-weight:800;font-size:26px}
  .sp-stat .l{font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
  .sp-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 30px;flex-wrap:wrap}
  .sp-ip{font-size:14px;color:var(--muted)}
  .sp-ip b{color:var(--text);font-weight:700;margin:0 8px}
  .ip-copy{background:var(--panel-2);border:1px solid var(--line);color:var(--plum-soft);font-family:inherit;font-weight:600;font-size:12px;padding:8px 13px;border-radius:8px;cursor:pointer;transition:.2s}
  .ip-copy:hover{border-color:var(--line-hi);color:#fff}
  @media (max-width:760px){.sp-stats{grid-template-columns:repeat(2,1fr)}.sp-head{flex-wrap:wrap}.sp-foot{flex-direction:column;align-items:stretch}.sp-foot .btn{width:100%}.sp-ip{text-align:center}}

  /* предстартовая панель */
  .sp-soon{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--plum-soft);background:rgba(171,104,207,.14);border:1px solid var(--line-hi);padding:8px 14px;border-radius:100px;white-space:nowrap}
  .sp-launch{padding:44px 30px;text-align:center}
  .sl-label{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--faint);margin-bottom:22px}
  .countdown{display:flex;align-items:flex-start;justify-content:center;gap:16px;margin-bottom:32px}
  .cd{display:flex;flex-direction:column;align-items:center;min-width:80px}
  .cd-n{font-weight:800;font-size:clamp(34px,6vw,58px);line-height:1;color:var(--plum-soft);font-variant-numeric:tabular-nums}
  .cd-l{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-top:9px}
  .cd-sep{font-weight:800;font-size:clamp(26px,4.5vw,44px);color:var(--plum-deep);line-height:1.3}
  .sl-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .sp-live-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}
  /* новости */
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .news-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.28s var(--ease)}
  .news-card:hover{transform:translateY(-5px);border-color:var(--line-hi)}
  .news-img{aspect-ratio:16/9;background:var(--panel-2);border-bottom:1px solid var(--line);overflow:hidden}
  .news-img img{display:block;width:100%;height:100%;object-fit:cover}
  .news-body{padding:20px 22px;display:flex;flex-direction:column;flex:1}
  .news-date{font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
  .news-text{color:var(--muted);font-size:14px;margin-bottom:16px;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
  .news-more{color:var(--plum-soft);font-weight:700;font-size:13px}.news-more:hover{color:#fff}
  .news-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:44px;border:1px dashed var(--line);border-radius:var(--radius)}
  .news-skel{height:280px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(100deg,var(--panel),var(--panel-2),var(--panel));background-size:200% 100%;animation:sk 1.4s linear infinite}
  @keyframes sk{to{background-position:-200% 0}}
  @media(max-width:900px){.news-grid{grid-template-columns:1fr}.countdown{gap:8px}.cd{min-width:62px}.cd-sep{display:none}}


/* ============ Донат ============ */


  .donate-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;margin-top:26px;align-items:center}
  .calc{display:flex;gap:26px;margin:4px 0 22px}
  .calc .c .k{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}
  .calc .c .v{font-weight:800;font-size:18px;color:var(--plum-soft)}
  .donate-fig{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:440px}
  .donate-fig .glow{position:absolute;z-index:0;width:78%;height:72%;left:50%;top:46%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(140,80,180,.28),transparent 70%);filter:blur(30px)}
  .donate-fig img{position:relative;z-index:1;height:clamp(360px,42vw,540px);width:auto}
  .packages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .pack{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;transition:.28s var(--ease)}
  .pack:hover{transform:translateY(-6px);border-color:var(--line-hi)}
  .pack.popular{border-color:var(--plum-deep)}
  .pack-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--btn);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;border-radius:100px}
  .pack-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
  .pack-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:700}
  .price-pill{background:rgba(95,209,147,.14);border:1px solid rgba(95,209,147,.4);color:var(--green);font-weight:800;font-size:13px;padding:5px 12px;border-radius:100px}
  .pack h3{font-weight:800;text-transform:uppercase;font-size:22px;margin-bottom:18px}
  .pack-list{list-style:none;margin:0 0 22px}
  .pack-list li{color:var(--muted);font-size:14px;padding:9px 0;border-bottom:1px solid var(--line);display:flex;gap:11px;align-items:center}
  .pack-list li::before{content:"◆";color:var(--plum-soft);font-size:10px}
  @media (max-width:900px){.donate-grid{grid-template-columns:1fr}.donate-fig{order:-1;min-height:320px}.packages{grid-template-columns:1fr}}


/* ============ Личный кабинет ============ */


  .cabinet{display:grid;grid-template-columns:300px 1fr;gap:22px;padding:40px 0}
  .cab-user{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-bottom:14px}
  .cab-avatar{width:48px;height:48px;border-radius:12px;background:var(--btn);display:grid;place-items:center;font-weight:800;color:#fff;flex:none}
  .cab-user .nm{font-weight:700}.cab-user .rl{font-size:12px;color:var(--faint)}
  .cab-menu{display:flex;flex-direction:column;gap:8px}
  .cab-menu button{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:15px 18px;color:var(--muted);font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;transition:.2s}
  .cab-menu button:hover{color:var(--text);border-color:var(--line-hi)}
  .cab-menu button.active{color:#fff;background:var(--btn);border-color:transparent}
  .cab-content{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:28px;min-height:420px}
  .cab-panel-head{display:inline-block;background:var(--btn);color:#fff;font-weight:800;text-transform:uppercase;padding:10px 22px;border-radius:10px;margin-bottom:24px;letter-spacing:.04em;font-size:15px}
  .tab{display:none}.tab.active{display:block;animation:fade .35s var(--ease)}
  @keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .stat-item{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
  .stat-item .k{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin-bottom:5px}
  .stat-item .v{font-weight:700;font-size:16px}.v.money{color:var(--green)}.v.accent{color:var(--plum-soft)}
  .skills{margin-top:26px}
  .skills h3{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);margin-bottom:16px}
  .skill{margin-bottom:14px}.skill .l{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:6px}.skill .l b{color:var(--text)}
  .track{height:8px;border-radius:100px;background:rgba(255,255,255,.08);overflow:hidden}.track .fill{height:100%;background:var(--btn);border-radius:100px}
  .tbl{width:100%;border-collapse:collapse}
  .tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:12px 14px;border-bottom:1px solid var(--line);font-weight:700}
  .tbl td{padding:15px 14px;border-bottom:1px solid var(--line);font-size:14px}.tbl td.money{color:var(--green);font-weight:700}
  .prop,.sec-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:12px}
  .prop .info h4,.sec-row .info h4{font-weight:700;font-size:15px}.prop .info p,.sec-row .info p{font-size:13px;color:var(--faint);max-width:52ch}
  .prop .right{display:flex;align-items:center;gap:16px}.prop .cost{color:var(--plum-soft);font-weight:800}
  .switch{position:relative;width:48px;height:27px;flex:none}
  .switch input{opacity:0;width:0;height:0}
  .switch .sl{position:absolute;inset:0;background:var(--panel);border:1px solid var(--line);border-radius:100px;cursor:pointer;transition:.2s}
  .switch .sl::before{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:var(--muted);transition:.2s}
  .switch input:checked+.sl{background:var(--btn);border-color:transparent}.switch input:checked+.sl::before{transform:translateX(21px);background:#fff}
  @media (max-width:900px){.cabinet{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.cab-menu{flex-direction:row;flex-wrap:wrap}.cab-menu button{flex:1 1 45%}.tbl{display:block;overflow-x:auto}}


/* ============ Авторизация ============ */


  .auth-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:40px 0 20px;min-height:70vh}
  .auth-visual{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:420px}
  .auth-visual .glow{position:absolute;z-index:0;width:80%;height:74%;left:50%;top:46%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(140,80,180,.3),transparent 70%);filter:blur(30px)}
  .auth-visual img{position:relative;z-index:1;height:clamp(320px,44vw,500px);width:auto}
  .auth-card{max-width:440px;width:100%;justify-self:start}
  .auth-card .page-title{text-align:left;font-size:clamp(26px,3.4vw,38px);margin-bottom:6px}
  .auth-card .sub{color:var(--muted);font-size:14px;margin-bottom:24px}
  .auth-links{margin-top:16px;text-align:center;color:var(--muted);font-size:13px}
  .auth-links a{color:var(--plum-soft);font-weight:600}.auth-links a:hover{color:#fff}
  @media (max-width:900px){.auth-wrap{grid-template-columns:1fr}.auth-visual{order:-1;min-height:300px}.auth-card{justify-self:center}}

/* ==== предстартовый блок: Скоро + ресурсы ==== */
.soon-badge{font-weight:800;text-transform:uppercase;font-size:clamp(40px,7vw,72px);line-height:1;
  letter-spacing:.02em;color:var(--plum-soft);margin-bottom:14px}
.resources-title{text-align:center;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  font-size:clamp(15px,1.9vw,19px);color:var(--text);margin:28px 0 18px}
.resources{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.res-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:12px;
  font-weight:700;font-size:14px;color:#fff;transition:transform .2s var(--ease),filter .2s var(--ease),box-shadow .2s var(--ease)}
.res-btn svg{width:20px;height:20px;flex:none}
.res-vk{background:#07f}
.res-tg{background:#29a9ea}
.res-ds{background:#5865f2}
.res-btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 12px 26px -10px rgba(0,0,0,.55)}
@media(max-width:520px){.resources{flex-direction:column}.res-btn{justify-content:center}}


.figwrap{text-decoration:none;color:inherit}
.socials a svg{width:20px;height:20px}

/* ===== Скроллбар ===== */
/* Chrome / Edge / Safari — через ::-webkit (без стандартных свойств,
   иначе Chrome 121+ игнорирует эти правила и не убирает стрелки) */
::-webkit-scrollbar{ width: 12px; height: 12px; }
::-webkit-scrollbar-track{ background: var(--bg-2); }
::-webkit-scrollbar-thumb{
  background: linear-gradient(var(--plum), var(--plum-deep));
  border: 3px solid var(--bg-2);
  border-radius: 100px;
}
::-webkit-scrollbar-thumb:hover{ background: linear-gradient(var(--plum-soft), var(--plum)); }
::-webkit-scrollbar-button{ display: none; }
::-webkit-scrollbar-corner{ background: var(--bg-2); }

/* Firefox — стандартные свойства только там, где нет ::-webkit (стрелок в FF нет) */
@supports not selector(::-webkit-scrollbar-thumb){
  html{ scrollbar-width: thin; scrollbar-color: var(--plum) var(--bg-2); }
}

.socials a img{width:22px;height:22px;object-fit:contain;display:block}
.res-btn img{width:20px;height:20px;object-fit:contain;display:block}
.res-vk img{width:24px;height:24px}                     
.res-tg img{width:17px;height:17px}                    
.socials a img[src*="telegram"]{width:18px;height:18px}


/* кнопка возврата наверх */
.to-top{
  position:fixed; right:24px; bottom:24px; z-index:60;
  width:52px; height:52px; border:none; border-radius:50%; cursor:pointer;
  display:grid; place-items:center; color:#fff;
  background:var(--btn);
  box-shadow:0 0 26px -2px rgba(171,104,207,.65), 0 8px 20px -6px rgba(0,0,0,.6);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;
}
.to-top.show{ opacity:1; visibility:visible; transform:none; }
.to-top:hover{ filter:brightness(1.08); transform:translateY(-2px); }
.to-top svg{ width:22px; height:22px; }

/* ===== Рендеры скинов: нельзя выделить и перетащить ===== */
img{
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
/* Картинка не принимает события мыши — перетащить нельзя ни в одном браузере,
   а клик проходит на родителя-ссылку (на главной — скролл к #how). */
.cast img,
.figwrap img,
.donate-fig img,
.auth-visual img{
  pointer-events: none;
}
.figwrap{ -webkit-tap-highlight-color: transparent; }
.figwrap:focus{ outline: none; }
.figwrap:focus-visible{ outline: 2px solid var(--plum-soft); outline-offset: 4px; }
/* ============================================================
   АДАПТИВ: мобильное меню + телефон
   ============================================================ */

/* Мобильное меню (выпадашка строится скриптом js/menu.js) */
.mnav{ display:none; }
@media (max-width:900px){
  .nav{ position:relative; }
  .mnav{
    position:absolute; top:calc(100% + 1px); left:0; right:0; z-index:55;
    display:flex; flex-direction:column; gap:6px; padding:14px;
    background:var(--panel); border-bottom:1px solid var(--line);
    box-shadow:0 24px 44px -22px rgba(0,0,0,.75);
    transform:translateY(-10px); opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
  }
  body.menu-open .mnav{ transform:none; opacity:1; visibility:visible; pointer-events:auto; }
  .mnav a{ padding:13px 14px; border-radius:10px; font-size:15px; font-weight:600; color:var(--muted); }
  .mnav a:hover, .mnav a:active{ background:var(--panel-2); color:var(--text); }
  .mnav a.active::after{ display:none; }
  .mnav .btn-fill{ display:flex; margin-top:6px; justify-content:center; color:#fff; }
  .burger.is-open{ background:var(--panel-2); border-color:var(--line-hi); }
  body.menu-open{ overflow:hidden; }
}

/* Телефоны */
@media (max-width:600px){
  .wrap{ width:90vw; }
  .hero{ padding:40px 0 24px; gap:26px; }
  .page-head{ padding:40px 0 4px; }
  .section{ padding:44px 0; }

  /* рендеры персонажей — компактнее, чтобы влезали вдвоём */
  .cast{ min-height:300px; }
  .cast .fig{ height:clamp(230px,58vw,300px); }
  .figlabel{ font-size:10px; letter-spacing:.1em; padding:6px 10px; }

  /* блок сервера / «Скоро» */
  .sp-head{ padding:18px 16px; }
  .sp-launch{ padding:30px 16px; }
  .soon-badge{ font-size:clamp(40px,13vw,54px); }
  .resources{ flex-direction:column; }
  .res-btn{ width:100%; justify-content:center; }
  .sp-foot{ padding:18px 16px; }

  /* донат */
  .donate-fig{ min-height:280px; }
  .donate-fig img{ height:clamp(300px,72vw,420px); }
  .pack{ padding:22px 20px; }
  .calc{ gap:18px; }

  /* личный кабинет */
  .cab-content{ padding:20px 16px; }
  .stat-grid{ grid-template-columns:1fr 1fr; }
  .cab-menu button{ flex:1 1 100%; }
  .prop, .sec-row{ flex-direction:column; align-items:flex-start; gap:12px; }
  .prop .right{ width:100%; justify-content:space-between; }

  /* авторизация */
  .auth-visual{ min-height:260px; }
  .auth-visual img{ height:clamp(240px,72vw,360px); }
  .auth-card{ padding:22px; }

  /* футер */
  .foot-cols{ grid-template-columns:1fr; gap:20px; }
  .foot-bottom{ flex-direction:column; gap:8px; text-align:center; }

  /* кнопка наверх / модалка видео */
  .to-top{ right:16px; bottom:16px; width:46px; height:46px; }
  .to-top svg{ width:20px; height:20px; }
  .video-modal{ padding:14px; }
}

/* Очень узкие экраны */
@media (max-width:380px){
  .cast .fig{ height:clamp(200px,54vw,260px); }
  .stat-grid{ grid-template-columns:1fr; }
}

/* ===== Модалка видео-обзора ===== */
.video-modal{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center; padding:24px;
  background:rgba(10,7,16,.72);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  opacity:0; visibility:hidden;
  transition:opacity .25s var(--ease), visibility .25s;
}
.video-modal.open{ opacity:1; visibility:visible; }
.video-frame{
  position:relative; width:min(920px,100%); aspect-ratio:16/9;
  transform:translateY(12px) scale(.98); transition:transform .25s var(--ease);
}
.video-modal.open .video-frame{ transform:none; }
.video-frame iframe{
  width:100%; height:100%; border:0; border-radius:14px; background:#000;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.8);
}
.video-close{
  position:absolute; top:-14px; right:-14px; width:40px; height:40px;
  border:none; border-radius:50%; cursor:pointer; font-size:22px; line-height:1;
  background:var(--btn); color:#fff; display:grid; place-items:center;
  box-shadow:0 6px 18px -4px rgba(0,0,0,.6);
}
@media (max-width:560px){ .video-close{ top:-46px; right:0; } }

/* ===== На мобильных убираем рендеры персонажей (скрываем рендеры на мобилке) ===== */
@media (max-width:900px){
  .cast,            /* главная: женский+мужской */
  .donate-fig,      /* донат: человек с сейфом */
  .auth-visual{     /* авторизация: персонаж */
    display:none !important;
  }
  /* подстраховка: если контейнер доната назван иначе — прячем сам рендер */
  .donate-grid img[alt="Персонаж"]{ display:none !important; }
  /* без рендера убираем лишнюю высоту у блоков */
  .auth-wrap{ min-height:auto; }
  .donate-grid{ grid-template-columns:1fr; }
}

/* ===== Юридические страницы (соглашение/политика) ===== */
.legal{ max-width:820px; margin:0 auto; padding:8px 0 24px; }
.legal h2{ font-size:20px; margin:28px 0 12px; color:var(--text); font-weight:800; }
.legal p, .legal li{ color:var(--muted); font-size:15px; line-height:1.75; }
.legal p{ margin-bottom:12px; }
.legal ul{ margin:0 0 14px; padding-left:20px; }
.legal li{ margin-bottom:8px; }
.legal li::marker{ color:var(--plum); }
.legal strong{ color:var(--text); }
.legal a{ color:var(--plum-soft); }
.legal a:hover{ color:#fff; }
.legal .upd{ color:var(--faint); font-size:13px; margin-bottom:24px; }

/* согласие на донат-странице */
.donate-agree{ font-size:12px; color:var(--faint); margin-top:14px; text-align:center; line-height:1.5; }
.donate-agree a{ color:var(--plum-soft); font-weight:600; }
.donate-agree a:hover{ color:#fff; }

/* ===== Логи (админ-панель БД) ===== */
.logs-gate{ display:flex; justify-content:center; padding:20px 0 40px; }
.logs-login{ max-width:460px; width:100%; }
.logs-login h3{ margin-bottom:6px; }
.logs-login .muted{ color:var(--muted); font-size:13px; margin-bottom:16px; }
.logs-msg{ color:var(--red); font-size:13px; margin-top:12px; min-height:16px; text-align:center; }

.logs-wrap{ display:grid; grid-template-columns:280px 1fr; gap:20px; padding-bottom:40px; align-items:start; }

.logs-side{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:14px; position:sticky; top:88px; }
.logs-badge{ margin-bottom:12px; font-size:12px; font-weight:700; }
.acc-full{ color:var(--green); } .acc-lim{ color:var(--plum-soft); }
.logs-search{ margin-bottom:12px; padding:9px 12px; }
.logs-tables{ display:flex; flex-direction:column; gap:3px; max-height:64vh; overflow:auto; }
.logs-tbtn{ display:flex; justify-content:space-between; align-items:center; gap:8px; text-align:left;
  padding:9px 12px; border-radius:10px; border:1px solid transparent; background:transparent;
  color:var(--muted); font-weight:600; font-size:13px; cursor:pointer; transition:.15s var(--ease); }
.logs-tbtn .tn{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.logs-tbtn .tc{ font-size:11px; opacity:.65; background:var(--panel-2); padding:1px 7px; border-radius:20px; }
.logs-tbtn:hover{ background:var(--panel-2); color:var(--text); }
.logs-tbtn.active{ background:var(--btn); color:#fff; }
.logs-tbtn.active .tc{ background:rgba(255,255,255,.2); color:#fff; }

.logs-main{ background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:18px; min-width:0; }
.logs-toolbar{ margin-bottom:14px; }
.lt-row1{ display:flex; align-items:baseline; gap:12px; margin-bottom:12px; }
.lt-row1 h3{ font-size:18px; font-weight:800; color:var(--plum-soft); }
.lt-count{ color:var(--muted); font-size:13px; }
.lt-row2{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.lt-row2 .input{ padding:9px 12px; height:auto; }
.lt-q{ flex:1 1 240px; min-width:180px; }
.lt-sel{ flex:0 0 auto; min-width:140px; }
.lt-fval{ flex:0 0 180px; }
.lt-per{ flex:0 0 84px; }
.lt-check{ display:flex; align-items:center; gap:6px; color:var(--muted); font-size:13px; font-weight:600; cursor:pointer; user-select:none; }
.lt-check input{ width:16px; height:16px; accent-color:var(--plum); }

.logs-table-scroll{ overflow:auto; max-height:66vh; border:1px solid var(--line); border-radius:12px; background:var(--bg-2); }
.logs-table-scroll .tbl{ margin:0; white-space:nowrap; font-size:12.5px; border-collapse:separate; border-spacing:0; width:100%; }
.logs-table-scroll .tbl th{ position:sticky; top:0; z-index:1; background:var(--panel-2); color:var(--text);
  font-weight:700; font-size:11.5px; text-transform:uppercase; letter-spacing:.03em; cursor:pointer;
  padding:11px 12px; border-bottom:1px solid var(--line-hi); user-select:none; white-space:nowrap; }
.logs-table-scroll .tbl th:hover{ color:var(--plum-soft); }
.lg-arrow{ color:var(--plum-br); font-size:10px; }
.logs-table-scroll .tbl td{ padding:9px 12px; border-bottom:1px solid var(--line); max-width:320px;
  overflow:hidden; text-overflow:ellipsis; color:var(--text); cursor:pointer; }
.logs-table-scroll .tbl tbody tr:nth-child(even){ background:rgba(182,146,212,.03); }
.logs-table-scroll .tbl tbody tr:hover{ background:rgba(182,146,212,.10); }
.logs-table-scroll .tbl td:hover{ color:var(--plum-soft); }
.lg-empty{ color:var(--muted); padding:24px; text-align:center; }

.logs-footer{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:14px; flex-wrap:wrap; }
.lt-hint{ color:var(--faint); font-size:12px; }
.logs-pager{ display:flex; align-items:center; gap:6px; }
.logs-pager .btn{ padding:6px 12px; min-width:40px; }
.logs-pager .btn:disabled{ opacity:.4; cursor:default; }
.pg-info{ color:var(--muted); font-size:13px; padding:0 8px; }

.lg-toast{ position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(12px);
  background:var(--panel-2); border:1px solid var(--line-hi); color:var(--text);
  padding:10px 18px; border-radius:12px; font-size:13px; font-weight:600; z-index:200;
  opacity:0; visibility:hidden; transition:.2s var(--ease); box-shadow:0 10px 30px -10px rgba(0,0,0,.7); }
.lg-toast.show{ opacity:1; visibility:visible; transform:translateX(-50%); }

@media (max-width:820px){
  .logs-wrap{ grid-template-columns:1fr; }
  .logs-side{ position:static; }
  .lt-fval,.lt-sel{ flex:1 1 140px; }
}

/* ===== Страница администраторов ===== */
.adm-period{ display:flex; gap:6px; }
.adm-period .btn{ padding:7px 14px; }
.adm-period .btn.active{ background:var(--btn); color:#fff; border-color:transparent; }
.adm-lvl{ display:inline-block; min-width:26px; text-align:center; padding:2px 8px; border-radius:20px;
  background:rgba(171,104,207,.18); border:1px solid var(--line-hi); color:var(--plum-soft); font-weight:700; font-size:12px; }
.adm-day{ text-align:center; }
.adm-dcell{ text-align:center; font-variant-numeric:tabular-nums; }
.adm-dcell.z{ color:var(--faint); }

/* ===== Карта недвижимости ===== */
.map-controls{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; width:min(100%, 80vh); margin:0 auto 14px; }
.seg{ display:flex; background:var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.seg button{ padding:9px 16px; border:none; background:transparent; color:var(--muted); font-weight:600; font-size:13px; cursor:pointer; transition:.15s var(--ease); }
.seg button:hover{ color:var(--text); }
.seg button.active{ background:var(--btn); color:#fff; }
#flt-status{ margin-left:auto; }
.map-legend{ display:flex; align-items:center; gap:16px; flex-basis:100%; justify-content:flex-end; color:var(--muted); font-size:13px; }
.map-legend span{ display:flex; align-items:center; gap:7px; }
.lg-dot{ width:12px; height:12px; border-radius:50%; display:inline-block; }
.lg-dot.free{ background:var(--green); } .lg-dot.owned{ background:var(--red); }
.map-count{ color:var(--faint); }

.map-viewport{ position:relative; width:min(100%, 80vh); aspect-ratio:1/1; margin:0 auto; overflow:hidden;
  border:1px solid var(--line-hi); border-radius:var(--radius); background:#0c1622; cursor:grab; touch-action:none; }
.map-viewport.grabbing{ cursor:grabbing; }
.map-inner{ position:absolute; inset:0; transform-origin:0 0; will-change:transform;
  background-size:100% 100%; background-position:center; background-repeat:no-repeat;
  background-color:#0c1622; image-rendering:auto; }
.map-grid{ position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(182,146,212,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(182,146,212,.08) 1px,transparent 1px);
  background-size:10% 10%; }
.map-markers{ position:absolute; inset:0; }
.map-canvas{ position:absolute; inset:0; pointer-events:none; z-index:2; }
.map-tip{ position:absolute; z-index:12; pointer-events:none; text-align:center; min-width:0; max-width:220px;
  background:rgba(20,14,30,.94); border:1px solid var(--line-hi); border-radius:9px; padding:5px 9px;
  box-shadow:0 8px 22px -12px rgba(0,0,0,.85); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.map-tip .tip-id{ font-weight:700; color:#fff; font-size:12px; line-height:1.2; white-space:normal; overflow-wrap:anywhere; }
.map-tip .tip-owner{ color:var(--muted); font-size:10.5px; margin-top:1px; }
.map-tip .tip-owner b{ color:var(--plum-soft); font-weight:700; }
.map-tip .tip-free{ color:var(--green); font-size:10.5px; margin-top:1px; font-weight:600; }


.mk{ position:absolute; width:10px; height:10px; padding:0; border:2px solid #fff; cursor:pointer;
  transform:translate(-50%,-50%) scale(var(--inv,1)); transform-origin:center; will-change:transform;
  box-shadow:0 2px 6px rgba(0,0,0,.5); }
.mk.free{ background:var(--green); } .mk.owned{ background:var(--red); }
.mk.house{ border-radius:4px; }            /* дом — квадрат */
.mk.business{ border-radius:50%; }          /* бизнес — круг */
.mk.has-icon{ width:17px; height:17px; background-color:transparent; border:none; box-shadow:none;
  background-size:contain; background-repeat:no-repeat; background-position:center;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.55)); }
.mk:hover{ width:14px; height:14px; z-index:5; }
.mk.has-icon:hover{ width:23px; height:23px; }

.map-zoom{ position:absolute; right:14px; bottom:14px; display:flex; flex-direction:column; gap:6px; z-index:10; }
.map-zoom button{ width:38px; height:38px; border:1px solid var(--line-hi); background:var(--panel);
  color:var(--text); font-size:18px; border-radius:10px; cursor:pointer; }
.map-zoom button:hover{ background:var(--panel-2); }

.map-pop{ position:absolute; left:14px; top:14px; z-index:11; width:240px; background:var(--panel);
  border:1px solid var(--line-hi); border-radius:14px; padding:14px; box-shadow:0 20px 50px -20px rgba(0,0,0,.8); }
.pop-h{ font-weight:800; margin-bottom:10px; padding-left:10px; border-left:3px solid var(--plum); }
.pop-h.owned{ border-color:var(--red); } .pop-h.free{ border-color:var(--green); }
.pop-row{ display:flex; justify-content:space-between; gap:10px; font-size:13px; padding:4px 0; color:var(--muted); }
.pop-row b{ color:var(--text); }
.c-red{ color:var(--red)!important; } .c-green{ color:var(--green)!important; }
.pop-close{ position:absolute; top:10px; right:10px; border:none; background:transparent; color:var(--muted); cursor:pointer; font-size:14px; }
.map-hint{ color:var(--faint); font-size:12px; width:min(100%, 80vh); margin:10px auto 0; }
.map-hint code{ background:var(--panel-2); padding:1px 6px; border-radius:6px; }

@media (max-width:600px){ .map-legend{ margin-left:0; width:100%; } }
@media (max-width:700px){
  /* фильтры карты в столбик на мобиле */
  .map-controls{ flex-direction:column; align-items:stretch; gap:8px; }
  #flt-status{ margin-left:0; }
  .map-controls .seg{ width:100%; }
  .map-controls .seg button{ flex:1; text-align:center; }
  .map-legend{ flex-basis:auto; justify-content:flex-start; gap:14px; }
}

/* ===== Промо-баннер карты на главной ===== */
.map-cta{ position:relative; display:block; overflow:hidden; text-decoration:none;
  border:1px solid var(--line-hi); border-radius:20px; min-height:340px;
  background:#0c1622 url('../assets/map/samap-cta.webp') center/cover no-repeat;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.7); transition:.25s var(--ease); }
.map-cta::before{ content:""; position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(120% 120% at 50% 30%, rgba(26,19,39,.35) 0%, rgba(26,19,39,.72) 55%, rgba(26,19,39,.92) 100%),
    linear-gradient(0deg, rgba(120,60,166,.28), rgba(0,0,0,0) 55%); }
.map-cta::after{ content:""; position:absolute; inset:0; z-index:1; opacity:.5; pointer-events:none;
  box-shadow:inset 0 0 120px -20px rgba(171,104,207,.55); }
.map-cta:hover{ border-color:var(--plum); transform:translateY(-3px); box-shadow:0 40px 90px -30px rgba(120,60,166,.6); }
.map-cta-inner{ position:relative; z-index:2; text-align:center; padding:64px 24px;
  display:flex; flex-direction:column; align-items:center; gap:14px; min-height:340px; justify-content:center; }
.map-cta-inner h2{ font-size:clamp(28px,4vw,46px); font-weight:800; letter-spacing:-.01em; }
.map-cta-inner p{ color:var(--muted); max-width:560px; line-height:1.6; }
.map-cta-inner .btn{ margin-top:8px; }
@media (max-width:600px){ .map-cta,.map-cta-inner{ min-height:280px; } .map-cta-inner{ padding:44px 18px; } }

/* ===== Тост "в разработке" ===== */
.soon-toast{ position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(14px);
  background:var(--panel-2); border:1px solid var(--line-hi); color:var(--text);
  padding:13px 20px; border-radius:14px; font-size:14px; z-index:200; max-width:90vw; text-align:center;
  box-shadow:0 16px 40px -16px rgba(0,0,0,.75); opacity:0; visibility:hidden;
  transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s; }
.soon-toast b{ color:var(--plum-soft); }
.soon-toast.show{ opacity:1; visibility:visible; transform:translateX(-50%); }

/* ============ Плашка «Лаунчер доступен» ============ */
.promo-bar{position:relative;background:var(--btn);color:#fff;font-size:14px;z-index:51}
.promo-link{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;
  padding:10px 48px;color:#fff;text-decoration:none;text-align:center}
.promo-link b{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.promo-link:hover b{text-decoration-thickness:2px}
.promo-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(255,255,255,.2);padding:3px 8px;border-radius:999px}
.promo-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;
  border:0;border-radius:50%;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer;opacity:.8}
.promo-close:hover{opacity:1;background:rgba(255,255,255,.15)}
.promo-short{display:none}
@media (max-width:600px){.promo-bar{font-size:13px}.promo-link{padding:9px 44px 9px 14px}.promo-tag,.promo-full{display:none}.promo-short{display:inline}}
/* якоря (#how и др.) не прячутся под липкой шапкой */
section[id]{scroll-margin-top:90px}

/* --- логотипы платёжных систем в подвале --- */
.foot-pay{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:22px;color:var(--faint);font-size:12.5px}
.foot-pay span{margin-right:6px}
.foot-pay img{height:28px;width:auto;border-radius:5px;display:block}
@media (max-width:760px){.foot-pay{justify-content:center}.foot-pay span{flex-basis:100%;text-align:center;margin:0 0 2px}}

/* --- контакт поддержки в подвале --- */
.foot-support{padding-top:22px;color:var(--muted);font-size:13.5px}
.foot-support a{color:var(--plum-soft);font-weight:600}
.foot-support a:hover{color:#fff}
.foot-support + .foot-pay{padding-top:12px}
@media (max-width:760px){.foot-support{text-align:center}}
/* онлайн: 2 колонки на телефоне */
@media (max-width:760px){.sp-live-stats{grid-template-columns:repeat(2,1fr)}}
