/*
Theme Name: PLANET-MC
Author: Твое Имя
Description: Чистый перенос шаблона Planet-MC
Version: 1.0
*/

:root{
      --bg:#f8fafc;
      --card:#ffffff;
      --text:#0f172a;
      --muted:#64748b;
      --muted2:#94a3b8;

      --line:#e2e8f0;
      --soft:#f1f5f9;

      --accent:#10b981;
      --accent2:#059669;
      --accentSoft: rgba(16,185,129,.08);

      --promo:#ef4444;

      --r:16px;
      --shadowSm:0 2px 8px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.06);

      /* контрастные счётчики/бейджи */
      --count-bg:#0f172a;
      --count-text:#ffffff;
      --count-border:rgba(15,23,42,.14);

      --badge-bg: rgba(16,185,129,.14);
      --badge-text: var(--accent2);
      --badge-border: rgba(16,185,129,.28);

      --thumb-w: 140px;
    }

    html[data-theme="dark"]{
      --bg:#0a0e15;
      --card:#141922;
      --text:#f1f5f9;
      --muted:#cbd5e1;
      --muted2:#94a3b8;

      --line:#1e293b;
      --soft:#0f1419;

      --accent:#34d399;
      --accent2:#10b981;
      --accentSoft: rgba(52,211,153,.12);

      --promo:#f87171;

      --shadowSm:0 4px 16px rgba(0,0,0,.24), 0 2px 6px rgba(0,0,0,.16);

      --count-bg:#e2e8f0;
      --count-text:#0a0e15;
      --count-border:rgba(226,232,240,.18);

      --badge-bg: rgba(52,211,153,.16);
      --badge-text: #a7f3d0;
      --badge-border: rgba(52,211,153,.30);
    }

    *{box-sizing:border-box}
    html,body{height:100%}

    body{
      margin:0;
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
      background:var(--bg);
      color:var(--text);
      line-height:1.5;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      transition: background-color 0.3s ease, color 0.3s ease;
    }

    a{color:inherit; text-decoration:none}
    button{font:inherit}

    :focus-visible{outline:3px solid rgba(16,185,129,.45);outline-offset:2px;border-radius:12px}

    .wrap{
      width:min(1320px, calc(100% - 32px));
      margin:0 auto;
      padding:20px 0 32px;
    }

    .app{
      display:grid;
      grid-template-columns: 280px 1fr;
      gap:20px;
      align-items:start;
    }
    @media (max-width: 980px){
      .app{grid-template-columns: 1fr}
    }

    /* ===== Sidebar ===== */
    .sidebar{
      border:1px solid var(--line);
      border-radius:var(--r);
      background:var(--card);
      overflow:hidden;
      position:sticky;
      top:20px;
      box-shadow: var(--shadowSm);
      transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    }
    @media (max-width: 980px){
      .sidebar{position:static}
    }

    .sb-head{
      padding:14px;
      background: var(--card);
      border-bottom:1px solid var(--line);
      transition: background-color 0.3s ease, border-color 0.3s ease;
    }

    .logo-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }

    .logo-text{
      font-size:20px;
      font-weight:900;
      letter-spacing:-0.5px;
      background: linear-gradient(135deg, var(--accent) 0%, var(--accent2) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      white-space:nowrap;
    }

    .tools{
      display:flex;
      align-items:center;
      gap:8px;
      flex:0 0 auto;
      margin-left:auto;
    }

    .lang{
      display:flex;
      align-items:center;
      gap:6px;
      padding:6px 10px;
      border:1px solid var(--line);
      border-radius:999px;
      background:var(--card);
      flex:0 0 auto;
      transition: all 0.2s ease;
    }
    .lang:hover{
      border-color:var(--accent);
      background:var(--soft);
    }
    .lang .tag{
      font-size:11px;
      color:var(--muted2);
      font-weight:700;
      white-space:nowrap;
    }
    .lang select{
      border:0;
      outline:none;
      background:transparent;
      font-size:12px;
      color:var(--text);
      font-weight:700;
      cursor:pointer;
    }

    .theme-toggle{
      width:36px;
      height:36px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:999px;
      border:1px solid var(--line);
      background:var(--soft);
      cursor:pointer;
      user-select:none;
      transition: all 0.2s ease;
    }
    .theme-toggle:hover{
      border-color:var(--accent);
      background:var(--card);
      transform:rotate(15deg);
    }
    .theme-toggle svg{
      width:18px;
      height:18px;
      display:block;
      transition: opacity 0.2s ease;
      color:var(--text);
      filter: drop-shadow(0 1px 1px rgba(0,0,0,.35));
    }
    html[data-theme="dark"] .theme-toggle{
      background:#0f1419;
    }
    html[data-theme="dark"] .theme-toggle svg{
      color:#ffffff;
      filter: drop-shadow(0 1px 2px rgba(0,0,0,.8));
    }
    .theme-toggle .sun{display:none}
    html[data-theme="dark"] .theme-toggle .moon{display:none}
    html[data-theme="dark"] .theme-toggle .sun{display:block}

    .sb-body{padding:10px}
    .menu{
      display:flex;
      flex-direction:column;
      gap:4px;
    }
    .menu a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:10px 12px;
      border-radius:12px;
      border:1px solid transparent;
      background:transparent;
      transition:all .2s ease;
      font-size:13.5px;
      font-weight:500;
    }
    .menu a:hover{
      background:var(--soft);
      border-color: var(--line);
      transform:translateX(2px);
    }
    .menu a.is-cta{
      border:1px solid var(--line);
      background:var(--accentSoft);
      font-weight:700;
      color:var(--accent2);
    }
    .menu a.is-cta:hover{
      border-color: var(--accent);
      background:var(--accentSoft);
    }
    .menu .count{
      font-size:11px;
      background:var(--count-bg);
      color:var(--count-text);
      padding:3px 8px;
      border-radius:999px;
      font-weight:800;
      border:1px solid var(--count-border);
      flex:0 0 auto;
    }

    .sb-mobile{display:none}
    @media (max-width: 980px){
      .sb-desktop{display:none}
      .sb-mobile{display:block}
    }
    details.sb-mobile{
      border-top: 1px solid var(--line);
      background:var(--card);
    }
    details.sb-mobile summary{
      list-style:none;
      cursor:pointer;
      padding:12px 14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      font-weight:700;
      font-size:13px;
      color:var(--text);
      -webkit-tap-highlight-color: transparent;
    }
    details.sb-mobile summary::-webkit-details-marker{display:none}
    .burger{
      width:36px;
      height:32px;
      border-radius:10px;
      border:1px solid var(--line);
      background:var(--soft);
      display:inline-flex;
      align-items:center;
      justify-content:center;
    }
    .burger span{
      display:block;
      width:16px;
      height:2px;
      background:var(--text);
      position:relative;
      border-radius:2px;
    }
    .burger span:before,.burger span:after{
      content:"";
      position:absolute;
      left:0;
      width:16px;
      height:2px;
      background:var(--text);
      border-radius:2px;
    }
    .burger span:before{top:-5px}
    .burger span:after{top:5px}

    /* ===== Main ===== */
    .main{min-width:0}

    .hero{
      border:1px solid var(--line);
      border-radius:var(--r);
      padding:24px 20px;
      background: var(--card);
      box-shadow: var(--shadowSm);
      overflow:hidden;
      transition: all 0.3s ease;
      position:relative;
    }
    .hero::after{
      content:"";
      position:absolute;right:-80px;top:-80px;
      width:220px;height:220px;border-radius:50%;
      background: radial-gradient(circle, var(--accentSoft) 0%, transparent 65%);
      pointer-events:none;
    }
    .hero h1{
      margin:0 0 10px;
      font-size: clamp(20px, 2.5vw, 32px);
      font-weight:800;
      letter-spacing:-0.5px;
      line-height:1.2;
      position:relative;
    }
    .hero p{
      margin:0;
      color:var(--muted);
      font-size:14px;
      max-width: 80ch;
      line-height:1.6;
      position:relative;
    }

    .block{
      margin-top:20px;
      border:1px solid var(--line);
      border-radius:var(--r);
      background:var(--card);
      overflow:hidden;
      box-shadow: var(--shadowSm);
      transition: all 0.3s ease;
    }
    .block__head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:14px 16px;
      border-bottom:1px solid var(--line);
      background: var(--card);
      transition: all 0.3s ease;
    }
    .block__head h2{
      margin:0;
      font-size:16px;
      font-weight:800;
      letter-spacing:-0.2px;
    }

    .head-link{
      font-size:12.5px;
      font-weight:800;
      color:var(--accent2);
      padding:6px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:var(--soft);
      transition:all .2s ease;
      white-space:nowrap;
    }
    .head-link:hover{
      transform:translateY(-1px);
      border-color:var(--accent);
      background:var(--accentSoft);
    }

    /* ===== Категории как меню ===== */
    .cats{
      padding:14px 16px 16px;
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap:10px;
    }
    @media (max-width: 980px){
      .cats{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    .cat-item{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;

      padding:12px 14px;
      min-height:44px;

      border-radius:14px;
      border:1px solid var(--line);
      background:var(--soft);

      transition: all .2s ease;
      -webkit-tap-highlight-color: transparent;
    }
    .cat-item:hover{
      border-color: var(--accent);
      background: var(--card);
      transform: translateY(-2px);
      box-shadow: 0 10px 24px rgba(0,0,0,.10);
    }

    .cat-title{
      font-weight:800;
      font-size:14px;
      letter-spacing:-0.2px;
    }

    .cat-count{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height:26px;
      min-width:34px;
      padding:0 10px;
      border-radius:999px;
      font-size:12px;
      font-weight:900;
      background: var(--count-bg);
      color: var(--count-text);
      border:1px solid var(--count-border);
      flex:0 0 auto;
    }

    /* ===== Релизы ===== */
    .versions{
      padding:14px 16px 16px;
    }
    .versions-grid{
      display:grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap:12px;
    }
    @media (max-width:520px){
      .versions{padding:12px}
      .versions-grid{gap:10px}
    }
    .ver-card{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:12px 12px;
      border-radius:14px;
      border:1px solid var(--line);
      background:
        linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,0)) ,
        var(--soft);
      box-shadow: 0 8px 18px rgba(15,23,42,.06);
      transition: all .2s ease;
      position:relative;
      overflow:hidden;
      -webkit-tap-highlight-color: transparent;
    }
    html[data-theme="dark"] .ver-card{
      background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0)),
        rgba(255,255,255,.02);
      box-shadow: 0 10px 26px rgba(0,0,0,.28);
    }
    .ver-card::after{
      content:"";
      position:absolute;
      inset:auto -60px -60px auto;
      width:160px;height:160px;border-radius:50%;
      background: radial-gradient(circle, var(--accentSoft) 0%, transparent 65%);
      opacity:.9;
      pointer-events:none;
    }
    .ver-num{
      font-size:18px;
      font-weight:900;
      letter-spacing:-.3px;
    }
    .ver-badge{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      height:24px;
      padding:0 10px;
      border-radius:999px;
      font-size:11px;
      font-weight:900;
      letter-spacing:.2px;
      text-transform:uppercase;
      background:var(--badge-bg);
      color:var(--badge-text);
      border:1px solid var(--badge-border);
      flex:0 0 auto;
    }
    .ver-card:hover{
      transform:translateY(-2px);
      border-color: var(--accent);
      box-shadow: 0 12px 28px rgba(16,185,129,.12);
      background: var(--card);
    }
    .ver-card.is-latest{
      border:2px solid var(--accent);
      background: var(--card);
    }
    .ver-card.is-latest .ver-badge{
      background: linear-gradient(135deg, var(--accent) 0%, var(--accent2) 100%);
      color:#fff;
      border-color: transparent;
    }

    /* ===== Feed ===== */
    .feed{
      padding:12px;
      display:flex;
      flex-direction:column;
      gap:12px;
    }

    .post{
      border:1px solid var(--line);
      border-radius:14px;
      background:var(--card);
      overflow:hidden;
      transition:all .2s ease;
    }
    .post:hover{
      transform:translateY(-2px);
      border-color: var(--accent);
      box-shadow: 0 8px 24px rgba(0,0,0,.1);
    }
    .post-row{
      display:grid;
      grid-template-columns: var(--thumb-w) 1fr;
      gap:0;
      padding:0;
      min-height:90px;
      align-items:stretch;
    }
    @media (max-width: 520px){
      :root{ --thumb-w: 110px; }
      .post-row{min-height:85px}
    }

    .thumb{
      width:100%;
      height:100%;
      position:relative;
      overflow:hidden;
      background: #00000010;
    }
    .thumb::after{
      content:"";
      position:absolute;inset:0;
      background:linear-gradient(90deg, rgba(0,0,0,.15), rgba(0,0,0,0) 70%);
      pointer-events:none;
    }
    .thumb img{width:100%;height:100%;object-fit:cover;display:block}
    html[data-theme="dark"] .thumb img{filter:brightness(.85)}

    .pinfo{
      padding:12px 14px;
      min-width:0;
      display:flex;
      flex-direction:column;
      justify-content:center;
      background:var(--card);
      transition: background-color 0.3s ease;
    }
    .ptitle{
      margin:0 0 8px;
      font-size:14.5px;
      font-weight:700;
      line-height:1.3;
      letter-spacing:-0.2px;
    }
    .psub{
      display:flex;
      flex-wrap:wrap;
      gap:7px;
      align-items:center;
      color:var(--muted);
      font-size:12px;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      height:22px;
      padding:0 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:var(--soft);
      color:var(--muted);
      font-weight:700;
      font-size:11px;
      white-space:nowrap;
      transition: all 0.2s ease;
    }
    .pill.is-accent{
      border-color: var(--accent);
      background:var(--accentSoft);
      color:var(--accent2);
      font-weight:800;
    }
    .dot{opacity:.5}

    .post.is-ad{border:2px solid var(--promo)}
    .post.is-ad:hover{box-shadow: 0 8px 24px rgba(239,68,68,.2)}

    /* last "more" post button */
    .post.more{
      border-style:dashed;
    }
    .post.more .post-row{
      grid-template-columns: 1fr;
      min-height:72px;
    }
    .post.more .pinfo{
      padding:14px 16px;
      display:flex;
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
      gap:12px;
    }
    .post.more .more-title{
      margin:0;
      font-size:14px;
      font-weight:900;
      letter-spacing:-0.2px;
    }
    .arrow{
      width:36px;height:36px;
      border-radius:999px;
      border:1px solid var(--line);
      background:var(--card);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      transition:all .2s ease;
    }
    .post.more:hover .arrow{
      border-color:var(--accent);
      background:var(--soft);
      transform:translateX(2px);
    }
    .arrow svg{width:18px;height:18px;display:block}

    .footer{
      margin-top:24px;
      color:var(--muted2);
      font-size:12px;
      border-top:1px solid var(--line);
      padding-top:20px;
      display:flex;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      transition: all 0.3s ease;
    }
    .footer a{
      transition: color 0.2s ease;
      text-decoration:underline;
      text-underline-offset:3px;
    }
    .footer a:hover{color:var(--accent)}

    @media (max-width: 520px){
      .wrap{width:calc(100% - 24px)}
      .hero{padding:20px 16px}
    }

    @media (prefers-reduced-motion: reduce){
      *,*::before,*::after{transition-duration:.01ms!important;scroll-behavior:auto!important}
    }
    /* FIX: карточка "Посмотреть все посты" без миниатюры */
.post.more .post-row{ grid-template-columns: 1fr; }

.post.more .pinfo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.post.more .more-title{
  margin:0;
  font-weight:700;
}

.post.more .arrow{
  width:40px; height:40px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--soft);
  display:flex; align-items:center; justify-content:center;
  flex:0 0 auto;
}

.post.more .arrow svg{
  width:18px; height:18px;
  display:block;
}

/* Заглушка "пока нет постов" */
.post.empty{
  opacity:.88;
  border-style:dashed;
}
html{
  scroll-behavior: smooth;
}

/* Блоки категорий */
section.block[id^="cat-"]{
  scroll-margin-top: 16px;
  position: relative;
}

/* Временная подсветка */
section.block[id^="cat-"].is-highlight{
  border-color: var(--accent);
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
}

section.block[id^="cat-"].is-highlight::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius: var(--r);
  background: linear-gradient(135deg, var(--accentSoft), transparent 60%);
}

/* Активная категория в списке */
.cat-item.is-active,
.menu a.is-active{
  border-color: var(--accent);
  background: var(--accentSoft);
  color: var(--accent2);
  font-weight: 700;
}

/* Sticky-индикатор */
.category-indicator{
  position: sticky;
  top: 12px;
  z-index: 10;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--accent2);
  box-shadow: var(--shadowSm);
}
/* =========================
   Post title CAPS (nice)
   ========================= */
.ptitle.is-caps{
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 800;
}

/* =========================
   Meta row with icons
   ========================= */
.psub.meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  font-size:12.5px;
  color: var(--muted);
  line-height:1.2;
  margin-top:8px;
}

.meta-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.micon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.9;
  color: var(--muted2);
}

.micon svg{
  width:18px;
  height:18px;
  display:block;
}

.sep{
  width:1px;
  height:14px;
  background: var(--line);
  opacity:.8;
  border-radius:1px;
}

/* Ярлыки */
.pill.is-warn{
  border-color:#f59e0b;
  background: rgba(245,158,11,.12);
  color:#f59e0b;
}

/* =========================
   AdSense 468x60 skeleton
   ========================= */
.more-row{
  display:grid;
  grid-template-columns: 468px 1fr;
  gap:12px;
  align-items:stretch;
  border:1px dashed var(--line);
  border-radius:14px;
  padding:12px;
  background: var(--card);
}

/* контейнер рекламы */
.more-ad{
  position:relative;
  width:468px;
  height:60px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--line);
  background: var(--soft);
  display:flex;
  align-items:center;
  justify-content:center;
}

/* слот под код */
.more-ad .ad-slot{
  width:468px;
  height:60px;
  display:block;
}

/* shimmer / skeleton пока реклама не появилась */
.more-ad.is-loading::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.05) 0%,
    rgba(255,255,255,.14) 35%,
    rgba(255,255,255,.05) 70%
  );
  animation: pm_shimmer 1.2s linear infinite;
}

html[data-theme="dark"] .more-ad.is-loading::before{
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.03) 0%,
    rgba(255,255,255,.10) 35%,
    rgba(255,255,255,.03) 70%
  );
}

@keyframes pm_shimmer{
  0%{ transform: translateX(-60%); }
  100%{ transform: translateX(60%); }
}

/* =========================
   CTA button (wide, better)
   ========================= */
.more-btn.more-btn--wide{
  height:60px;
  width:100%;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(16,185,129,.18) 0%, rgba(16,185,129,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.more-btn.more-btn--wide:hover{
  transform: translateY(-1px);
  border-color: var(--accent);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}

.more-btn__text{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:2px;
}

.more-btn__title{
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:13px;
  color: var(--accent2);
  line-height:1.1;
}

.more-btn__sub{
  font-size:12px;
  color: var(--muted);
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.more-btn.more-btn--wide .arrow{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

html[data-theme="dark"] .more-btn.more-btn--wide .arrow{
  background: rgba(255,255,255,.06);
}

.more-btn.more-btn--wide:hover .arrow{
  transform: translateX(2px);
  border-color: var(--accent);
  background: var(--accentSoft);
}

.more-btn.more-btn--wide svg{
  width:18px;
  height:18px;
}

/* =========================
   Mobile
   ========================= */
@media (max-width: 640px){
  .more-row{
    grid-template-columns: 1fr;
  }
  .more-ad{
    width:100%;
  }
  .more-ad .ad-slot{
    width:100%;
  }
  .more-btn.more-btn--wide{
    height:auto;
    padding:12px 14px;
  }
  .more-btn__sub{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
}
/* если реклама не загрузилась — скрыть */
.more-ad.is-hidden{ display:none !important; }

/* если рекламы нет — кнопка занимает всю строку */
.more-row.is-adless{ grid-template-columns: 1fr; }
/* Рекламный пост: обводка всего блока */
a.feed.is-ad{
  border: 1px solid rgba(255, 184, 0, .55);
  box-shadow: 0 10px 26px rgba(255, 184, 0, .12);
  background: rgba(255, 184, 0, .06);
}

/* чтобы красиво смотрелось и не “ломало” сетку */
a.feed.is-ad .post-row{
  border-radius: 16px;
}
