/* ===== INV LOT — тираж призов ===============================
   Тёмная одноцветная среда, тёплые нейтралы, один акцент.
   Цифры везде моноширинные: язык терминала и лотерейного протокола.
   ============================================================ */
:root{
  --ground:#0c0a09;
  --panel:#161311;
  --panel-2:#1e1a17;
  --ink:#f7f4f0;
  --mute:#a09a93;
  --faint:#6b645e;
  --rule:rgba(247,244,240,.09);
  --rule-2:rgba(247,244,240,.18);
  --acc:#e8501f;
  --acc-lo:rgba(232,80,31,.14);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{overflow-x:hidden;touch-action:pan-y}   /* только вертикальная прокрутка */          /* страница не должна ездить вбок */
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);min-height:100vh;
  overflow-x:hidden;max-width:100vw;
  font:15px/1.55 "IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
}
.wrap{max-width:540px;margin:0 auto;padding-block:0 52px;padding-inline:18px}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

/* ---- витрина фонда: карточки с тёплым свечением снизу ---- */
.showcase{display:flex;gap:12px;overflow-x:auto;margin-inline:-18px;padding:2px 18px 16px;
          scrollbar-width:none;scroll-snap-type:x proximity}
.showcase::-webkit-scrollbar{display:none}
.pcard{flex:0 0 auto;width:214px;scroll-snap-align:start;border-radius:20px;padding:13px;
       display:flex;flex-direction:column;gap:11px;position:relative;overflow:hidden;
       background:linear-gradient(170deg, #1b1917 0%, #141211 62%, #0f0d0c 100%);
       box-shadow:0 14px 34px rgba(0,0,0,.45)}
.pcard::after{content:'';position:absolute;inset:0;border-radius:20px;
       border:1px solid rgba(255,255,255,.10);pointer-events:none}
.pcard .thumb{height:104px;border-radius:14px;background:#120c0a;
       border:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;
       position:relative;overflow:hidden}
.pcard .thumb::before{content:'';position:absolute;inset:0;
       background:repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 1px,transparent 1px 7px);
       mask-image:linear-gradient(90deg,transparent 42%,#000 100%)}
.pcard .ic{width:40px;height:40px;color:#ff9463;position:relative}
.pcard .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
       opacity:0;transition:opacity .4s ease}
.pcard .thumb img.ok{opacity:1}
.pcard .thumb img.ok ~ .ic,
.pcard .thumb:has(img.ok) .ic{display:none}
.pcard .thumb:has(img.ok)::before{
       background:linear-gradient(180deg,transparent 40%,rgba(20,10,6,.55) 100%);mask-image:none}
.pcard .nm{margin:0;padding:0 3px;font-size:13px;line-height:1.3;font-weight:600;color:#fff;
       letter-spacing:-.01em;min-height:calc(2 * 1.3em);
       display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
       margin-top:auto;padding:0 3px 3px}
.pcard .no{font:500 9.5px/1 "IBM Plex Mono",ui-monospace,monospace;
       letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.pcard .st{flex:0 0 auto;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.20);
       color:#fff;font:600 10px/1 "IBM Plex Mono",ui-monospace,monospace;white-space:nowrap;
       font-variant-numeric:tabular-nums;backdrop-filter:blur(4px)}
.pcard.out{filter:grayscale(.85) brightness(.55)}

/* супер-лот: единственный экземпляр — золото вместо оранжевого */
.pcard.sup{background:radial-gradient(135% 95% at 50% 132%,
       #f5672f 0%, #d8481a 26%, #7c2a10 52%, #24140e 78%, #170f0c 100%)}
.pcard.sup::after{border-color:rgba(255,168,120,.30)}
.pcard.sup .ic{color:#ffb489}
.pcard.sup .no{color:rgba(255,255,255,.72)}
.pcard .no{color:var(--faint)}
.pcard .nm{color:var(--ink)}
.pcard .st{background:rgba(255,255,255,.08);color:var(--mute)}
.pcard.sup .st{background:rgba(255,255,255,.20);color:#fff}
.pcard .crown{position:absolute;top:11px;left:11px;z-index:2;
       padding:5px 9px;border-radius:999px;background:rgba(10,7,4,.55);
       border:1px solid rgba(255,168,120,.55);color:#ffb489;backdrop-filter:blur(4px);
       font:600 8.5px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase}
.pcard.got{filter:saturate(.55) brightness(.72)}
.pcard .st.done{background:rgba(255,255,255,.92);color:#14100e}

/* ---- навигация витрины ---- */
.carousel-nav{display:flex;align-items:center;gap:10px;margin:2px 0 4px}
.carousel-nav button{width:44px;height:44px;border-radius:50%;flex:0 0 auto;cursor:pointer;
     display:flex;align-items:center;justify-content:center;
     border:1px solid rgba(232,80,31,.42);background:rgba(232,80,31,.12);color:var(--acc);
     transition:background .22s,border-color .22s,color .22s,opacity .22s}
.carousel-nav button:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.carousel-nav button:disabled{opacity:.3;cursor:default;background:transparent;
     border-color:var(--rule);color:var(--faint)}
.carousel-nav svg{width:17px;height:17px}
.carousel-nav .dots{display:flex;gap:5px;margin-left:auto}
.carousel-nav .dots i{width:5px;height:5px;border-radius:50%;background:var(--rule-2);
     transition:width .25s,background .25s}
.carousel-nav .dots i.on{width:18px;border-radius:3px;background:var(--acc)}

/* ---- шапка ---- */
.masthead{display:flex;flex-direction:column;gap:14px;padding-block:26px 8px}
.eyebrow{font:500 10px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.24em;
         text-transform:uppercase;color:var(--faint)}
.wordmark{margin:0;font-family:"IBM Plex Sans Condensed","IBM Plex Sans",sans-serif;
          font-weight:700;font-size:clamp(46px,15vw,64px);line-height:.88;letter-spacing:-.02em;
          text-transform:uppercase;text-wrap:balance}
.wordmark i{font-style:normal;color:var(--acc)}
.wordmark em{font-style:normal;font-size:.44em;vertical-align:.86em;letter-spacing:0;opacity:.9}
.lede{margin:0;color:var(--mute);font-size:13.5px;line-height:1.6;max-width:42ch}

.who-row{display:flex;align-items:center;gap:10px;padding-block:16px 4px;border-top:1px solid var(--rule)}
.ava{width:34px;height:34px;border-radius:50%;flex:0 0 auto;background:var(--panel-2);
     border:1px solid var(--rule-2);display:flex;align-items:center;justify-content:center;
     font-weight:600;font-size:14px;color:var(--mute)}
.who{flex:1;min-width:0}
.who b{display:block;font-size:13.5px;font-weight:600}
.who span{display:block;font:400 11px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:var(--faint)}
.idchip{font:500 10px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;color:var(--mute);
        border:1px solid var(--rule);padding:7px 10px;border-radius:4px;cursor:pointer;white-space:nowrap}
.idchip:active{border-color:var(--rule-2);color:var(--ink)}

/* ---- ярлык раздела ---- */
.tag{display:flex;align-items:center;gap:10px;margin:0 0 14px;
     font:500 10px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.2em;
     text-transform:uppercase;color:var(--faint)}
.tag::after{content:'';flex:1;height:1px;background:var(--rule)}

/* ---- реестр фонда: таблица, не карточки ---- */
.register{border-top:1px solid var(--rule)}
.reg-row{display:grid;grid-template-columns:34px 1fr auto;align-items:baseline;gap:12px;
         padding:11px 0;border-bottom:1px solid var(--rule)}
.reg-row .n{font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:var(--faint);
            font-variant-numeric:tabular-nums}
.reg-row .nm{font-size:13.5px;line-height:1.35}
.reg-row .st{font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:var(--mute);
             font-variant-numeric:tabular-nums;white-space:nowrap}
.reg-row .st.low{color:var(--acc)}
.reg-row.gone{color:var(--faint)}
.reg-row.gone .nm{text-decoration:line-through;text-decoration-color:var(--rule-2)}
.reg-foot{display:flex;justify-content:space-between;padding-top:12px;
          font:500 10px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;
          text-transform:uppercase;color:var(--faint)}

/* ---- кнопка ---- */
.go{position:relative;width:100%;margin-top:20px;padding:19px 60px 19px 24px;border:0;border-radius:999px;
    font:600 13px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;
    text-align:left;color:#fff;background:var(--acc);cursor:pointer;
    box-shadow:0 12px 40px rgba(232,80,31,.22);transition:transform .12s,background .25s}
.go::after{content:'';position:absolute;right:7px;top:50%;translate:0 -50%;width:42px;height:42px;
    border-radius:50%;background:#fff;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' stroke='%23000' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/17px,linear-gradient(#fff,#fff);
    -webkit-mask-composite:xor;mask-composite:exclude}
.go:hover{background:#f15c2b}
.go:active{transform:scale(.99)}
.go:disabled{background:var(--panel);color:var(--faint);box-shadow:none;cursor:default}
.go:disabled::after{background:#37312d}

.askbox{margin-top:22px;padding:20px 20px 18px;border-radius:20px;background:var(--panel);
        border:1px solid var(--rule);text-align:center}
.asktitle{margin:0 0 6px;font-family:"IBM Plex Sans Condensed","IBM Plex Sans",sans-serif;
        font-size:21px;font-weight:700;letter-spacing:-.01em}
.asktext{margin:0 auto 16px;color:var(--mute);font-size:13.5px;line-height:1.5;max-width:34ch}
.askbox .get{margin-top:0}

.get{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:10px;
     padding:15px 18px;border:1px solid rgba(232,80,31,.5);border-radius:999px;background:var(--acc-lo);
     color:var(--acc);text-decoration:none;
     font:600 12px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;
     transition:background .25s,border-color .25s,color .25s}
.get:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.get svg{width:16px;height:16px}

/* ---- верхняя строка пользователя ---- */
.userbar{display:flex;align-items:center;gap:10px;padding-block:14px;
         border-bottom:1px solid var(--rule);margin-inline:-18px;padding-inline:18px}

/* ---- история: протокол ---- */
.won{margin-top:42px}
.wrow{display:grid;grid-template-columns:38px 1fr auto;align-items:baseline;gap:12px;
      padding:12px 0;border-bottom:1px solid var(--rule)}
.wrow .n{font:600 12px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:var(--acc);
         font-variant-numeric:tabular-nums}
.wrow .tx{font-size:13.5px;line-height:1.35}
.wrow .dt{font:400 10.5px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:var(--faint);white-space:nowrap}
.empty{color:var(--faint);font-size:12.5px;padding:16px 0;border-bottom:1px solid var(--rule)}

/* ---- демо ---- */
.demo{margin-top:40px;padding-top:16px;border-top:1px dashed var(--rule-2)}
.demo h4{margin:0 0 12px;font:500 10px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.18em;
         text-transform:uppercase;color:var(--faint)}
.demo .r{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.demo button{padding:9px 13px;border-radius:4px;border:1px solid var(--rule);background:transparent;
             color:var(--mute);font:500 11px/1 "IBM Plex Mono",ui-monospace,monospace;cursor:pointer}
.demo button:hover{border-color:var(--rule-2);color:var(--ink)}
.demo select{flex:1;min-width:180px;padding:9px 11px;border-radius:4px;border:1px solid var(--rule);
             background:var(--panel);color:var(--ink);font:400 11.5px/1 "IBM Plex Sans",sans-serif}
.demo .note{font-size:11px;color:var(--faint);line-height:1.6;margin:8px 0 0;max-width:46ch}
