:root{--bg:#100e0c;--bg2:#17140f;--card:#1d1915;--card-hover:#241f19;--line:#332c22;--ink:#f1ead9;
    --ink-dim:#9d9282;--gold:#e8b34a;--gold-deep:#a9791f;--silver:#c3c9d2;--silver-deep:#6f7681;--flame:#e0452b;--ok:#57b661;}
  *{box-sizing:border-box}html,body{margin:0}
  body{background:radial-gradient(1100px 500px at 80% -10%,#241d13 0%,transparent 60%),radial-gradient(900px 500px at -10% 110%,#1a1712 0%,transparent 55%),var(--bg);
    color:var(--ink);font-family:"Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased;padding:0 0 64px}
  .wrap{max-width:1200px;margin:0 auto;padding:0 18px}
  header{padding:34px 0 20px;border-bottom:1px solid var(--line);margin-bottom:22px}
  .eyebrow{font-family:"Oswald";letter-spacing:.32em;text-transform:uppercase;font-size:12px;color:var(--gold);font-weight:600}
  h1{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:clamp(30px,6vw,52px);line-height:.98;margin:8px 0 4px}
  h1 .yr{color:var(--flame)}
  .sub{color:var(--ink-dim);font-size:14.5px;max-width:640px}
  .total{display:flex;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}
  .total .bar{flex:1;min-width:220px;height:10px;background:#000;border:1px solid var(--line);border-radius:20px;overflow:hidden}
  .total .fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold-deep),var(--gold));transition:width .5s cubic-bezier(.2,.7,.2,1)}
  .total .count{font-family:"Oswald";font-size:20px;font-weight:700;white-space:nowrap}
  .total .count b{color:var(--gold)}
  .controls{display:flex;gap:10px;margin:22px 0 6px;flex-wrap:wrap;align-items:center}
  .search{flex:1;min-width:200px;position:relative}
  .search input{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--ink);padding:11px 14px 11px 38px;border-radius:10px;font-size:14.5px;font-family:inherit}
  .search input::placeholder{color:var(--ink-dim)}
  .search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.5}
  .toggle{display:inline-flex;align-items:center;gap:8px;background:var(--bg2);border:1px solid var(--line);color:var(--ink);padding:10px 14px;border-radius:10px;cursor:pointer;font-size:13.5px;font-family:"Oswald";text-transform:uppercase;letter-spacing:.06em;user-select:none}
  .toggle.active{border-color:var(--gold);color:var(--gold)}
  .toggle .dot{width:9px;height:9px;border-radius:50%;background:#444;transition:.2s}
  .toggle.active .dot{background:var(--gold)}
  .reset{background:none;border:1px solid var(--line);color:var(--ink-dim);padding:10px 14px;border-radius:10px;cursor:pointer;font-size:13px;font-family:"Oswald";text-transform:uppercase;letter-spacing:.06em}
  .reset:hover{color:var(--flame);border-color:var(--flame)}
  section{margin-top:34px;scroll-margin-top:12px}
  .shead{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line);cursor:pointer}
  .shead h2{font-family:"Oswald";text-transform:uppercase;font-weight:700;font-size:clamp(19px,3.4vw,26px);margin:0}
  .emblem{width:22px;height:22px;border-radius:50%;flex:none;display:inline-grid;place-items:center;font-size:11px;border:2px solid var(--gold);color:var(--gold);box-shadow:0 0 0 2px #000 inset}
  .th .emblem{border-color:var(--silver);color:var(--silver)}
  .th h2 .kind{color:var(--silver)}.super h2 .kind{color:var(--gold)}
  .gallery{margin-left:auto;font-family:"Oswald";text-transform:uppercase;letter-spacing:.08em;font-size:12px;text-decoration:none;color:var(--ink-dim);border:1px solid var(--line);padding:4px 10px;border-radius:20px;white-space:nowrap}
  .gallery:hover{color:var(--gold);border-color:var(--gold-deep)}
  .sprog{margin-left:8px;font-family:"Oswald";font-size:15px;color:var(--ink-dim);display:flex;align-items:center;gap:10px}
  .sprog .mini{width:90px;height:7px;background:#000;border:1px solid var(--line);border-radius:20px;overflow:hidden}
  .sprog .mini i{display:block;height:100%;width:0;transition:width .4s}
  .super .sprog .mini i{background:var(--gold)}.th .sprog .mini i{background:var(--silver)}
  .chev{transition:transform .25s;opacity:.6}.collapsed .chev{transform:rotate(-90deg)}.collapsed .grid{display:none}
  .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-top:18px}
  .card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;position:relative;transition:transform .16s,border-color .16s,background .16s;display:flex;flex-direction:column}
  .card:hover{background:var(--card-hover);border-color:#4a3f30;transform:translateY(-3px)}
  .mix{position:absolute;top:8px;left:8px;z-index:2;font-family:"Oswald";font-weight:700;font-size:12px;background:rgba(0,0,0,.72);border:1px solid var(--line);padding:2px 8px;border-radius:20px}
  .super .mix{color:var(--gold);border-color:var(--gold-deep)}.th .mix{color:var(--silver);border-color:var(--silver-deep)}
  .imgbox{aspect-ratio:3/4;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#151210 0 10px,#181410 10px 20px);padding:6px 6px 0;position:relative;overflow:hidden}
  .imgbox[role="button"]{cursor:zoom-in}
  .imgbox:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
  .imgbox img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.5))}
  .imgbox .ph{color:var(--ink-dim);font-size:12px;text-align:center;padding:14px;font-family:"Oswald";text-transform:uppercase;letter-spacing:.08em}
  .nphoto{position:absolute;right:8px;bottom:8px;font-family:"Oswald";font-size:10.5px;letter-spacing:.08em;color:var(--ink-dim);background:rgba(0,0,0,.65);border:1px solid var(--line);padding:1px 7px;border-radius:20px}
  .meta{padding:10px 11px 12px}
  .nm{font-family:"Oswald";font-weight:600;font-size:15.5px;line-height:1.14}
  .ser{color:var(--ink-dim);font-size:13px;margin-top:3px;line-height:1.25}
  .mfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}
  .num{color:var(--ink-dim);font-size:12.5px;font-family:"Oswald";white-space:nowrap}.num b{color:var(--ink)}
  .collect{font-family:"Oswald";text-transform:uppercase;letter-spacing:.05em;font-size:12px;line-height:1;white-space:nowrap;cursor:pointer;background:var(--bg2);border:1px solid var(--line);color:var(--ink-dim);padding:6px 11px;border-radius:8px;transition:border-color .15s,color .15s,background .15s}
  .collect:hover{border-color:var(--ok);color:var(--ok)}
  .collect:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  .card.got .collect{background:var(--ok);border-color:var(--ok);color:#0d0d0d;font-weight:600}
  .card.got .imgbox img{filter:grayscale(.15) brightness(.62)}.card.got{border-color:var(--ok)}
  .stamp{position:absolute;top:8px;right:8px;z-index:3;width:0;height:0;opacity:0;transition:.2s}
  .card.got .stamp{width:34px;height:34px;opacity:1;background:var(--ok);border-radius:50%;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.5)}
  .card.upcoming .imgbox::after{content:"скоро";position:absolute;bottom:10px;left:10px;font-family:"Oswald";font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--flame);background:rgba(0,0,0,.7);padding:2px 6px;border-radius:4px;border:1px solid var(--flame)}
  .hidden{display:none!important}
  .credit{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-dim);font-size:12.5px}
  .credit a{color:var(--gold);text-decoration:none}
  /* lightbox */
  .lb{position:fixed;inset:0;z-index:9999;background:rgba(6,5,4,.95);backdrop-filter:blur(6px);display:none;place-items:center;padding:20px}
  .lb.open{display:grid}
  .lb-fig{max-width:min(94vw,900px);max-height:94vh;display:flex;flex-direction:column;align-items:center;gap:14px;margin:0}
  .lb-stage{position:relative;display:grid;place-items:center;max-height:66vh}
  .lb-img{max-width:100%;max-height:66vh;object-fit:contain;border-radius:8px;filter:drop-shadow(0 24px 50px rgba(0,0,0,.7));animation:pop .22s cubic-bezier(.2,.8,.25,1);cursor:zoom-in}
  .lb-img.zoomed{cursor:zoom-out;max-height:none;max-width:none;transform-origin:center}
  .lb.zoommode{overflow:auto;place-items:start center}
  @keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
  .lb-thumbs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
  .lb-thumbs button{width:52px;height:52px;padding:2px;border-radius:8px;background:#0d0b09;border:1px solid var(--line);cursor:pointer;display:grid;place-items:center;overflow:hidden}
  .lb-thumbs img{max-width:100%;max-height:100%;object-fit:contain}
  .lb-thumbs button.on{border-color:var(--gold)}
  .lb-meta{text-align:center;max-width:560px}
  .lb-mix{font-family:"Oswald";font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
  .lb.th-kind .lb-mix{color:var(--silver)}
  .lb-name{font-family:"Oswald";font-weight:700;text-transform:uppercase;font-size:clamp(19px,4vw,28px);margin:6px 0 4px;line-height:1.05}
  .lb-sub{color:var(--ink-dim);font-size:13.5px}
  .lb-actions{display:flex;gap:10px;margin-top:13px;flex-wrap:wrap;justify-content:center}
  .lb-btn{font-family:"Oswald";text-transform:uppercase;letter-spacing:.07em;font-size:13px;cursor:pointer;background:var(--bg2);border:1px solid var(--line);color:var(--ink);padding:9px 16px;border-radius:10px;text-decoration:none;display:inline-block}
  .lb-btn:hover{border-color:var(--gold);color:var(--gold)}
  .lb-btn.on{background:var(--ok);border-color:var(--ok);color:#0d0d0d;font-weight:600}
  .lb-close,.lb-nav{position:fixed;z-index:3;background:rgba(0,0,0,.55);border:1px solid var(--line);color:var(--ink);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
  .lb-close{top:18px;right:18px}
  .lb-nav:hover,.lb-close:hover{border-color:var(--gold);color:var(--gold)}
  .lb-prev{left:18px;top:50%;transform:translateY(-50%)}
  .lb-next{right:18px;top:50%;transform:translateY(-50%)}
  @media (max-width:560px){.lb-prev{left:8px}.lb-next{right:8px}.lb-img{max-height:50vh}.lb-stage{max-height:50vh}}
  @media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
  @media (max-width:520px){.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:11px}}

  /* --- состояние загрузки и ошибок --- */
  .loading,.errbox{color:var(--ink-dim);font-family:"Oswald";text-transform:uppercase;letter-spacing:.1em;
    font-size:14px;padding:40px 0;text-align:center}
  .errbox{color:var(--flame);text-transform:none;letter-spacing:0;font-family:"Inter";line-height:1.6}
  .errbox code{background:#000;border:1px solid var(--line);padding:2px 7px;border-radius:5px;color:var(--gold);
    font-size:13px;display:inline-block;margin-top:6px}
  /* плавное проявление фото по мере загрузки с диска */
  .imgbox img{opacity:0;transition:opacity .25s}
  .imgbox img.ready{opacity:1}
