
  :root{--bg:#12100c;--card:#1c1811;--line:#2c261b;--ink:#f0e9db;--muted:#9a8f78;--gold:#e0a94a;--gold2:#c88a2a;--green:#5faf6a;--red:#d9564b;}
  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.45;padding-bottom:72px}
  .wrap{max-width:520px;margin:0 auto;padding:16px}
  .top{display:flex;align-items:center;gap:11px;margin-bottom:14px}
  .ava{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));display:grid;place-items:center;font-weight:800;color:#1c1811}
  .top .nm{font-weight:700}.top .rl{font-size:12px;color:var(--muted)}
  .bal{background:linear-gradient(160deg,#241d12,#1a1610);border:1px solid var(--line);border-radius:18px;padding:20px;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,.4)}
  .bal .lbl{font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
  .bal .v{font-size:44px;font-weight:800;color:var(--gold);margin:4px 0;font-variant-numeric:tabular-nums}
  .bal .sub{font-size:12px;color:var(--muted)}
  .chips{display:flex;gap:10px;margin:14px 0}
  .chip{flex:1;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center}
  .chip .k{font-size:11px;color:var(--muted)}.chip .v{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}
  h3{font-size:14px;margin:18px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
  .row{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:8px}
  .row .t{font-size:14px}.row .s{font-size:11px;color:var(--muted)}
  .amt{font-weight:700;font-variant-numeric:tabular-nums}.amt.pos{color:var(--green)}.amt.neg{color:var(--red)}
  .btn{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1c1811;border:none;border-radius:10px;padding:9px 15px;font-weight:700;font-size:13px}
  .btn:disabled{opacity:.4}
  .rank{width:26px;height:26px;border-radius:50%;background:var(--line);display:grid;place-items:center;font-size:12px;font-weight:700;margin-right:10px}
  .rank.g1{background:var(--gold);color:#1c1811}.rank.g2{background:#c9c9c9;color:#1c1811}.rank.g3{background:#cd9b6a;color:#1c1811}
  .tabbar{position:fixed;bottom:0;left:0;right:0;background:#15120c;border-top:1px solid var(--line);display:flex;max-width:520px;margin:0 auto}
  .tab{flex:1;padding:11px 0;text-align:center;font-size:11px;color:var(--muted);border:none;background:none}
  .tab.on{color:var(--gold)}.tab .ic{font-size:19px;display:block}
  .hidden{display:none!important}
  input,select{width:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:10px;margin:5px 0;font-size:14px}
  .quick{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
  .qb{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12px;color:var(--ink)}
  .qb.neg{border-color:#553}
  /* объявление руководства в ленте */
  .post{background:linear-gradient(180deg,rgba(224,169,74,.10),rgba(224,169,74,.03));
        border:1px solid rgba(224,169,74,.35);border-radius:14px;padding:13px 15px;margin-bottom:10px}
  .post__b{font-size:14px;line-height:1.5;color:var(--ink)}
  .post__m{margin-top:8px;font-size:11.5px;color:var(--muted)}
  textarea{width:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;
           color:var(--ink);padding:10px 12px;font:inherit;font-size:14px;resize:vertical;margin-bottom:8px}
  /* «Лента»: кто и за что заработал */
  .feed__day{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
             margin:14px 0 7px;padding-left:2px}
  .feed__day:first-child{margin-top:0}
  .feed__i{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);
           border-radius:12px;padding:10px 12px;margin-bottom:6px}
  .feed__i--me{border-color:var(--gold)}
  .feed__ava{width:32px;height:32px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;
             background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1c1811;font-weight:800;font-size:15px}
  .feed__b{min-width:0;flex:1}
  .feed__t{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .feed__s{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .feed__v{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}
  .feed__v--out{color:var(--red)}
  /* карточка отзыва на проверке: длинные имена и ссылки больше не выдавливают кнопки */
  /* фонд месяца: подвал карточки баланса — тонкая строка, пояснение по тапу */
  .bal .fund{margin-top:13px;padding-top:11px;border-top:1px solid rgba(240,233,219,.09);cursor:pointer}
  .fund__t{display:flex;align-items:baseline;justify-content:space-between;gap:8px;
           font-size:11.5px;color:var(--muted);letter-spacing:.03em}
  .fund__t b{font-size:12.5px;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
  .fund__t b i{font-style:normal;color:var(--muted);font-weight:400}
  .fund__bar{height:5px;background:rgba(240,233,219,.1);border-radius:3px;overflow:hidden;margin-top:7px}
  .fund__bar i{display:block;height:100%;border-radius:3px;
               background:linear-gradient(90deg,var(--green),#6fbf7a);transition:width .5s}
  .fund.is-warn .fund__bar i{background:linear-gradient(90deg,#d8a13c,#e8b95c)}
  .fund.is-out .fund__bar i{background:linear-gradient(90deg,#c0603c,#e08a5a)}
  .fund__n{font-size:11.5px;color:var(--muted);line-height:1.45;
           max-height:0;overflow:hidden;opacity:0;transition:max-height .3s,opacity .25s,margin .3s}
  .fund.open .fund__n{max-height:96px;opacity:1;margin-top:8px}
  .rev{background:var(--card);border:1px solid var(--line);border-radius:12px;
       padding:12px 14px;margin-bottom:8px;display:flex;flex-direction:column;gap:7px}
  .rev__head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
  .rev__who{font-size:14.5px;font-weight:600;overflow-wrap:anywhere}
  .rev__pts{margin-left:auto;color:var(--green);font-weight:700;font-size:13.5px;white-space:nowrap}
  .rev .chip{font-size:10.5px;padding:2px 8px;border-radius:999px;
             background:rgba(224,169,74,.14);color:var(--gold);white-space:nowrap}
  .rev__author{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere;line-height:1.4}
  .rev__text{font-size:13px;margin-top:6px;padding:7px 10px;border-radius:8px;background:var(--card2);overflow-wrap:anywhere;line-height:1.45}
  .rev__link{align-self:flex-start;font-size:12.5px;color:var(--gold);text-decoration:none;
             border:1px solid var(--line);border-radius:8px;padding:5px 10px;max-width:100%}
  .rev__link:active{background:var(--line)}
  /* фото отзыва: в ленте — карточкой, по тапу разворачивается на весь экран */
  .rev__ph{width:100%;max-height:260px;object-fit:cover;object-position:top;
           border-radius:10px;border:1px solid var(--line);background:var(--line);cursor:zoom-in}
  .rev .chip--warn{background:rgba(224,110,74,.16);color:#e08a5a}
  .rev__sites{display:flex;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);align-items:center}
  .rev__site{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);
             border-radius:8px;padding:5px 9px;cursor:pointer}
  .rev__site input{margin:0;accent-color:var(--gold)}
  .phv{position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.92);display:flex;
       align-items:center;justify-content:center;padding:16px;cursor:zoom-out}
  .phv img{max-width:100%;max-height:100%;border-radius:8px}
  .rev__act{display:flex;gap:8px;margin-top:2px}
  .rev__act .btn{flex:1;min-height:38px}
  .rev__act .qb{flex:1;min-height:38px;color:var(--red);border-color:#553;font-weight:600}
  /* главная кнопка админки, когда сумма отрицательная: списание, а не начисление */
  .btn.neg{background:var(--red);border-color:var(--red);color:#fff}
  .qb.on-tab{background:var(--gold);color:#1c1811;border-color:var(--gold);font-weight:700}
  #rscope::-webkit-scrollbar{height:0}.note{font-size:12px;color:var(--muted);background:var(--card);border-radius:10px;padding:10px;margin-top:8px}
  .empty{color:var(--muted);text-align:center;padding:20px;font-size:13px}
  .overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:grid;place-items:center;z-index:30;padding:22px}
  .card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;max-width:320px;width:100%;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.5)}
  .card .bigava{width:66px;height:66px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));display:grid;place-items:center;font-size:30px;font-weight:800;color:#1c1811;margin:0 auto 10px}

.tcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 12px;margin-bottom:8px}
.tcard.free{opacity:.62}
.tcard.warn{border-color:#c9a227}
.tcard.bad{border-color:#d0563c;box-shadow:0 0 0 1px rgba(208,86,60,.25)}
.trow{display:flex;align-items:center;gap:9px}
.tno{width:40px;height:40px;flex:none;border-radius:11px;background:var(--line);display:grid;place-items:center;
  font-weight:700;font-size:15px}
.tcard.on .tno{background:linear-gradient(135deg,#7d5bd6,#9b6be0);color:#fff}
.tcard.prep{border-style:dashed}
.tno.prep{background:linear-gradient(135deg,#3f6b4a,#4f8a5c);color:#fff}
.tinfo{flex:1;min-width:0}
.tinfo b{font-size:14px}
.tmeta{font-size:12px;color:var(--dim);margin-top:2px}
.tbtn{border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:9px;padding:7px 10px;
  font-size:12.5px;cursor:pointer}
.tbtn.pri{background:linear-gradient(135deg,#d1601f,#e8873a);border-color:transparent;color:#fff;font-weight:600}
.tbtn.warn{border-color:#c9a227;color:#e0b84a}
.tbtn.old{border-color:#d0563c;color:#e08a6c;font-weight:600}
.tbtn:active{transform:scale(.97)}
.tacts{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.tbig{font-family:ui-monospace,Menlo,monospace;font-size:15px;font-weight:600}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:9px}
.tbig-btn{position:relative;height:64px;border-radius:14px;border:1px solid var(--line);background:var(--card);
  color:var(--fg);font-family:ui-monospace,Menlo,monospace;font-size:22px;font-weight:700;cursor:pointer}
.tbig-btn:active{transform:scale(.96);background:var(--line)}
.tbig-btn.busy{border-color:#c9a227;color:#e0b84a}
.tdot{position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:50%;background:#c9a227}
.hplanwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px}
.hplan{position:relative;width:100%;padding-top:126%;background:var(--card);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;margin-top:4px}
.hplan .in{position:absolute;inset:0}
.hplan .ht{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;
  align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.3);background:#3a4048;color:#dfe6ee;
  font-family:ui-monospace,Menlo,monospace;font-weight:700;font-size:14px;line-height:1.05;cursor:pointer;
  min-width:30px;min-height:30px;padding:1px}
.hplan .ht.circle{border-radius:50%}
.hplan .ht.rect{border-radius:4px}
.hplan .ht.free{background:#2f3a33;color:#8fbf9a}
.hplan .ht.open{background:#4a4126;color:#e0b84a}          /* счёт открыт, кальяна нет */
.hplan .ht.prep{background:#39414d;color:#9fc0e8;border-style:dashed}
.hplan .ht.on{background:#2e6b45;color:#eaf7ee}            /* кальян горит, угли свежие */
.hplan .ht.warn{background:#7a5a1e;color:#ffeec2}
.hplan .ht.bad{background:#8c3a2a;color:#ffe2da}
.hplan .ht:active{transform:translate(-50%,-50%) scale(.93)}
.hplan .ht .hm{font-size:10.5px;font-weight:700;opacity:.95;margin-top:1px}
.hplan .lb{position:absolute;transform:translate(-50%,-50%);font-size:10px;color:var(--dim);
  border:1px solid var(--line);border-radius:4px;padding:1px 4px}
.halerts{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 9px}
.hal{border:0;border-radius:10px;padding:8px 11px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.hal.bad{background:#8c3a2a;color:#ffe2da}
.hal.warn{background:#7a5a1e;color:#ffeec2}
.hal.prep{background:#39414d;color:#9fc0e8}
.hal.ok{background:#2f3a33;color:#8fbf9a}
.hplan .ht.sel{outline:2px solid #6aa9e0;outline-offset:2px;z-index:2}
.hleg{display:flex;flex-wrap:wrap;gap:9px;font-size:11px;color:var(--dim);margin-top:8px}
.hleg i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.tcard.hl{outline:2px solid #6aa9e0;outline-offset:2px}
.tcard .tacts .tbtn{min-height:44px;font-size:13.5px;flex:1}
.tcoal{font-family:ui-monospace,Menlo,monospace}

.wtrend{font-size:11px;font-weight:700;margin-top:3px}
.wtrend.up{color:#5dbd7e}.wtrend.down{color:#e08a6c}.wtrend.flat{color:var(--dim)}
.wsub{font-size:10.5px;color:var(--dim);margin-top:1px}
#wm{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden;display:none}
#wm div{position:absolute;white-space:nowrap;font:600 12px/1.2 system-ui,-apple-system,sans-serif;
  color:var(--dim);opacity:.13;transform:rotate(-28deg);letter-spacing:.4px}

  /* ================= v2: новое оформление =================
     Тёмно-золотая гамма остаётся, меняются шкала, размеры нажимаемых зон и иконки. */
  @font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
    src:url('/fonts/inter-cyr.woff2') format('woff2');
    unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
  @font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
    src:url('/fonts/inter-lat.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  :root{
    --bg:#100e0a; --card:#1a1611; --card2:#221d16; --line:#2f2820;
    --ink:#f4efe4; --muted:#b5aa95; --dim:#82786a;
    --gold:#e8b45c; --gold2:#c8912f; --green:#63b571; --red:#e06054;
    --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --tap:48px;
  }
  body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
       line-height:1.45;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .wrap{padding:var(--s4)}
  .bal{border-radius:20px;padding:var(--s5) var(--s4);
       background:radial-gradient(120% 140% at 50% 0%,#2a2114 0%,var(--card) 62%)}
  .bal .lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
  .bal .v{font-size:clamp(38px,13vw,52px);font-weight:700;line-height:1.05;letter-spacing:-.03em;
          font-variant-numeric:tabular-nums;margin:var(--s2) 0 var(--s1)}
  .bal .sub{font-size:13px;color:var(--muted)}
  .bal__row{display:flex;gap:var(--s2);margin-top:var(--s4)}
  .bal__row .btn{flex:1}
  .btn{min-height:44px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:600;
       display:inline-flex;align-items:center;justify-content:center;gap:8px;
       transition:transform .12s ease,filter .2s}
  .btn:active{transform:scale(.98);filter:brightness(1.06)}
  .btn--ghost{background:var(--card2);color:var(--ink);border:1px solid var(--line)}
  .btn--off{background:var(--card2);color:var(--dim);border:1px solid var(--line)}
  .bi{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;flex:0 0 auto}
  .qb{min-height:40px;padding:0 14px;border-radius:10px;font-size:13px;
      display:inline-flex;align-items:center;gap:6px;transition:transform .12s,background .2s}
  .qb:active{transform:scale(.97);background:var(--card2)}
  .quick{gap:var(--s2);margin-bottom:var(--s3)}
  input,select{min-height:44px;font-size:15px;border-radius:12px;padding:0 14px}
  .row{border-radius:14px;padding:var(--s3) var(--s4);gap:var(--s3)}
  .row .t{font-size:15px}
  .row .s{font-size:12.5px;color:var(--dim)}
  .chips{gap:var(--s2)}
  .chip{border-radius:14px;padding:var(--s3);background:var(--card);border:1px solid var(--line)}
  .chip .k{font-size:11.5px;color:var(--dim)}
  .chip .v{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px}
  h3{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
     font-weight:500;margin:var(--s5) 0 var(--s3)}
  .note{font-size:12.5px;color:var(--dim);line-height:1.5}
  /* цели */
  .goal{background:var(--card);border:1px solid var(--line);border-radius:14px;
        padding:var(--s4);margin-bottom:var(--s2)}
  .goal__t{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s3)}
  .goal__ic{width:36px;height:36px;border-radius:10px;flex:0 0 auto;display:grid;place-items:center;
            background:var(--card2);color:var(--gold)}
  .goal__ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}
  .goal__n{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .goal__s{font-size:12.5px;color:var(--muted)}
  /* список позиций с наградами внутри карточки цели (винная охота) */
  .plist{margin-top:10px;display:flex;flex-direction:column;gap:1px;border-radius:10px;overflow:hidden}
  .prow{display:flex;align-items:baseline;gap:10px;justify-content:space-between;
    background:var(--card);padding:7px 11px;font-size:12.5px;line-height:1.35}
  .prow span{color:var(--dim);min-width:0}
  .prow i{font-style:normal;opacity:.65;font-size:11.5px;white-space:nowrap}
  .prow b{color:var(--ink);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
  .goal__v{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
  .goal__v b{font-size:17px}
  .goal__v span{font-size:12px;color:var(--dim);display:block}
  .goal--done .goal__ic{background:rgba(99,181,113,.14);color:var(--green)}
  .goal--done .bar>i{background:var(--green)}
  .bar{height:6px;border-radius:99px;background:var(--card2);overflow:hidden}
  .bar>i{display:block;height:100%;border-radius:99px;
         background:linear-gradient(90deg,var(--gold2),var(--gold));transition:width .5s cubic-bezier(.4,0,.2,1)}
  /* награды */
  .howto{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:var(--s4);margin-bottom:var(--s2)}
  .howto__h{font-size:15px;font-weight:600;margin-bottom:var(--s2)}
  .howto__l{margin:0;padding-left:20px;font-size:13.5px;color:var(--muted);line-height:1.6}
  .howto__n{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line);
            font-size:12.5px;color:var(--dim);line-height:1.5}
  .rw{display:flex;align-items:center;gap:var(--s3);background:var(--card);border:1px solid var(--line);
      border-radius:14px;padding:var(--s3) var(--s4);margin-bottom:var(--s2);min-height:64px}
  .rw--off{opacity:.55}
  .rw__ic{width:38px;height:38px;border-radius:11px;flex:0 0 auto;display:grid;place-items:center;
          background:var(--card2);color:var(--gold)}
  .rw__ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7}
  .rw__b{min-width:0;flex:1}
  .rw__t{font-size:15px;font-weight:500}
  .rw__s{font-size:12.5px;color:var(--dim);margin-top:2px}
  .rw__hint{margin-top:4px;line-height:1.35;opacity:.85}
  .rw__p{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
  .rw__p b{font-size:15px}
  .rw__p span{display:block;font-size:11.5px;color:var(--dim)}
  #my-orders .btn{min-height:38px;padding:0 14px;font-size:13px;flex:0 0 auto}
  /* рейтинг */
  .rk{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);
      border-radius:14px;padding:var(--s2) var(--s3);margin-bottom:var(--s2);min-height:60px;cursor:pointer;
      transition:transform .12s,border-color .2s}
  .rk:active{transform:scale(.995);border-color:#443b30}
  .rk--me{border-color:var(--gold2);background:linear-gradient(180deg,rgba(232,180,92,.07),var(--card))}
  .rk .rank{width:22px;flex:0 0 auto;text-align:center;font-size:13px;font-weight:600;color:var(--dim);
            font-variant-numeric:tabular-nums;background:none;border-radius:0;height:auto;line-height:1.4;margin:0}
  .rk .rank.g1{color:#f0c463}.rk .rank.g2{color:#cfd3d8}.rk .rank.g3{color:#cf9b6a}
  .rk__av{width:34px;height:34px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
          background:var(--card2);font-size:16px;font-weight:600;color:var(--muted)}
  .rk__n{flex:1 1 auto;min-width:0;font-size:14.5px;line-height:1.25;
         display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
  .rk__you{display:block;font-size:11.5px;color:var(--gold);letter-spacing:.04em}
  .rk__a{flex:0 0 auto;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;
         white-space:nowrap;color:var(--green);text-align:right}
  .rk__a span{display:block;font-size:11px;color:var(--dim);font-weight:400;letter-spacing:.04em}
  .tipb{flex:0 0 auto;gap:4px;min-height:38px;padding:0 10px;font-size:12.5px}
  #rscope{padding-bottom:2px;scrollbar-width:none}
  #rscope::-webkit-scrollbar{display:none}
  #rscope .qb{white-space:nowrap}
  /* нижняя панель */
  .tabbar{background:rgba(16,14,10,.94);backdrop-filter:blur(14px);padding-bottom:env(safe-area-inset-bottom)}
  .tab{min-height:56px;padding:var(--s2) 0 10px;font-size:11px;display:flex;
       flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:color .2s}
  .tab .ic{font-size:0;line-height:0;display:block}
  .tab .ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;display:block}
  .tab:active{color:var(--ink)}
  /* таймер столов */
  .tcard{border-radius:14px;padding:var(--s3) var(--s4);margin-bottom:var(--s2);position:relative;overflow:hidden}
  .tcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
  .tcard.on::before{background:var(--green)}
  .tcard.prep::before{background:var(--gold2)}
  .tcard.warn::before{background:var(--gold)}
  .tcard.bad::before{background:var(--red)}
  .tno{width:44px;height:44px;border-radius:13px;font-size:17px;background:var(--card2);color:var(--ink)}
  .tcard.on .tno{background:linear-gradient(135deg,#3f7d52,#59a06c);color:#fff}
  .tno.prep{background:linear-gradient(135deg,#8a6520,#c8912f);color:#1a1611}
  .tcard.warn{border-color:var(--gold2)}
  .tcard.bad{border-color:var(--red);box-shadow:0 0 0 1px rgba(224,96,84,.22)}
  .tcard.hl{outline:2px solid var(--gold);outline-offset:2px}
  .tbig{font-family:inherit;font-size:15px;font-weight:600}
  .tmeta{font-size:12px;color:var(--dim);margin-top:3px;line-height:1.45}
  .tacts{gap:var(--s2);margin-top:var(--s3)}
  .tbtn{min-height:40px;padding:0 14px;border-radius:11px;font-size:13px;background:var(--card2);
        display:inline-flex;align-items:center;gap:6px;transition:transform .12s,background .2s}
  .tbtn:active{transform:scale(.97)}
  .tgrid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:var(--s2)}
  .tgrid button{min-height:56px;border-radius:13px;font-size:16px;font-weight:600}
  .hplan .ht{color:var(--ink)}
  .hplan .ht.prep{background:#2a2418;color:var(--gold);border-style:dashed}
  .hplan .ht.sel{outline:2px solid var(--gold)}
  /* админка, регламент, состояния */
  #scr-adm select,#scr-adm input{margin-bottom:var(--s2)}
  #scr-adm h3{margin-top:var(--s5)}
  #scr-reg h4{font-size:15px;font-weight:600;margin:0 0 var(--s2)}
  #scr-reg .note{font-size:13px}
  .empty{padding:var(--s5) var(--s4);text-align:center;color:var(--dim);font-size:13.5px;
         background:var(--card);border:1px dashed var(--line);border-radius:14px}
  .skl{background:linear-gradient(90deg,var(--card) 25%,var(--card2) 50%,var(--card) 75%);
       background-size:200% 100%;animation:skl 1.4s infinite;border-radius:14px;height:64px;margin-bottom:var(--s2)}
  @keyframes skl{to{background-position:-200% 0}}
  .card{border-radius:20px;padding:26px 22px;max-width:340px}
  .bigava{width:72px;height:72px;font-size:28px;font-weight:700;margin:0 auto var(--s3)}
  .amt{font-variant-numeric:tabular-nums}
  #askbox input,#askbox select{min-height:46px;font-size:15px}
  #askbox .btn{min-height:44px}
  #scr-bal,#scr-reg,#scr-rew,#scr-rank,#scr-tbl,#scr-adm{animation:fade .14s ease}
  @keyframes fade{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}
  .ava{width:46px;height:46px;font-size:17px}
  .top .nm{font-size:16px}.top .rl{font-size:13px}
  @media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Значок победителя месяца (MVP), 01.10.2026 */
.bdg{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:3px 9px 3px 7px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.3;
  color:#ffb070;background:rgba(255,138,61,.11);border:1px solid rgba(255,138,61,.38);max-width:100%}
.bdg--top{color:#ffd27a;background:linear-gradient(90deg,rgba(255,181,71,.16),rgba(255,90,40,.12));border-color:rgba(255,181,71,.55);box-shadow:0 0 14px rgba(255,138,61,.18)}
.rk__n{min-width:0}.rk__n .bdg{display:flex;width:max-content;max-width:100%}
#ubadge:empty{display:none}
.bdg-head{display:flex;justify-content:center;margin-top:6px}
.bdg-list{display:grid;gap:7px;margin:12px 0 4px;text-align:left}
.bdg-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:9px 11px;border:1px solid var(--line);border-radius:11px}
.bdg-row span{color:var(--muted)}.bdg-row b{font-variant-numeric:tabular-nums;white-space:nowrap}
@media (prefers-reduced-motion:no-preference){.bdg--top{animation:bdgGlow 3.2s ease-in-out infinite}@keyframes bdgGlow{50%{box-shadow:0 0 22px rgba(255,138,61,.32)}}}

/* ── момент получения награды: полный экран с конфетти (макет «Значки WBS», 04.10.2026) ── */
.cel{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));color:#f3f2ef;
  background:radial-gradient(70% 45% at 50% 40%,rgba(255,122,51,.45),#111214 70%);font-family:"Onest",system-ui,sans-serif;
  animation:celIn .35s ease-out both}
.cel.out{animation:celOut .25s ease-in both}
@keyframes celIn{from{opacity:0}to{opacity:1}}
@keyframes celOut{to{opacity:0}}
.cel .conf{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.cel .conf i{position:absolute;top:-16px;width:7px;height:12px;border-radius:2px;opacity:.95;
  animation:celFall var(--d,3s) linear var(--w,0s) infinite}
@keyframes celFall{0%{transform:translate3d(0,-20px,0) rotate(0)}
  100%{transform:translate3d(var(--x,0),110vh,0) rotate(var(--r,540deg))}}
.cel .hd{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#ffd9c2;font-weight:600;position:relative}
.cel .huge{position:relative;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;font-size:70px;margin:16px 0;
  background:radial-gradient(closest-side,#2a1a10 80%,transparent 82% 100%),conic-gradient(#ffb547,#ff5a1f,#ffb547);
  box-shadow:0 0 60px -6px rgba(255,138,61,.8);animation:celPop .6s cubic-bezier(.2,1.6,.4,1) .1s both}
@keyframes celPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.cel h3{position:relative;font-family:"Unbounded","Onest",system-ui,sans-serif;font-size:22px;margin:0 0 6px;line-height:1.2;max-width:320px}
.cel p{position:relative;color:#ffd9c2;margin:0 0 16px;font-size:13px;max-width:300px}
.cel .plus{position:relative;font-family:"Unbounded","Onest",system-ui,sans-serif;font-size:30px;font-weight:700;color:#fff7f0;margin-bottom:22px}
.cel .demo{position:relative;font-size:11.5px;color:#9a9ca4;margin:-10px 0 18px}
.cel button{position:relative;background:#fff7f0;color:#1a0d05;border:0;border-radius:999px;padding:12px 38px;font-weight:700;font-size:14px;font-family:inherit}
@media (prefers-reduced-motion:reduce){.cel .conf i{animation:none;top:auto}.cel .huge{animation:none}}
.cel .conf{z-index:0}
.cel>*:not(.conf){z-index:1}
.cel h3{text-transform:none;letter-spacing:0;color:#fff7f0;font-weight:700}
