@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url('fonts/onest-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url('fonts/onest-cyrillic-400-normal.woff2') format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:url('fonts/onest-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:url('fonts/onest-cyrillic-600-normal.woff2') format('woff2');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

  *{ box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent; }
  html{ -webkit-text-size-adjust:100%; }

  :root{
    --img-app:url("data:image/png;base64,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Hj167MozZ7Quv3zpP/z7//P48eOkf/3r3/z0pz9bev6cEYJGTxX6/TNnzvyrf/3DEye4LGeIHGJ0jf91hGPAmGX4lJGeY8wIQ5fDg19ysTNAcPQHX3115+f//RfPnj1bXV21Jrwd2aYgCF555ZV/82//7uTJk2ura//8m3d+9rP/trK0zKgVXO7WNVThPXv2zHfffvvIkcOMo6hLpLrWwASDHcPq9evXfvmLXxFA27Zte/W11779nW/v3rNrdnYOdbfIET/A4/bTp88+/ODDX/zsv32Fn+vrx4eDb4xmd84Omc4kaGhxerVqb62vdah2IsQY6I4N+yf7/fn1dZpndjA8MRwSTNdXArRvhKAweSc6kgQZnKYPnj97tvj0ydEjh8+dO33k8BH6w7QC0nv37n7++TXkpCWe9DDVnZ+fv3TpEtcTHWRCdW1t9eqnn1756OO7d+8+efJkfb0+lqBvSRhR3nzzjW9+63VGIOKQXv/ww49QpMW5UgMfJUkUHziw/8233njp/Hli9s6dOx9//MmDh/efP1/as2fX5VcunTh2fHZ2VtjH4+vXb3zwwYcMZjh2+MjhM2fPHjp4YGF+4eqnn73//vvaBQm9qVCP4e2V11554803Dh48wCVDnH36yaf3795bXVmWoOYI9UzTPX/+7OmT48ePnjr14vETxwkj6mJQNNrVq1c/vvLx/fsPFp89IzjwnNFlaen58ZPHzp0/x9Alca/hQJXv37v/wfsfPHz08MGDB89XVhZHo6fj8dONEePzISEds6I2HuBG5ImxVysyBTKQjEYbg/54JI+KKZyR0TkzIkCDtApOP4WFta6n19fWPvzoo9tf3T529Oj3f/j9f/fv/o9DBw9yxYLEzOefX/9Pf/9/f3X7tlzrrgHFs/F47949//H/+o979+21c0qvd+/u4x//55+8885vHz18rAEULfRMfYwD9AVjycWLF7Zv32465tSLL5w5c1qC9enTeBASOYs+xhtzBTIz/vSf/usvfv5Lphhmh1OnTx0+cuT4seMyyvB12fH4yy9v/tM//pS+p90OHT70w3/9w+//4G8wx+JDesvVIukERCdeOHH23BlmJUhge+GFk2Q//fTTxcVnuITnNG5YCwqvfnr13t27v3vnt2//7ff+7t/+3akXXtTLiYgf3bp168f/+ce//+3vmb8Wny1S8nxx8U/v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");
  }

  /* ===================== ТЕМЫ ===================== */
  :root{
    --bg:#e9e2d8; --bg-panel:#faf6ef; --bg-soft:#f2ece3;
    --line:#d9cfc1; --line-soft:#e6ddd0;
    --ink:#241f1b; --ink-dim:#6d6157;
    --stain:#a8382f; --stain-2:#4d6b78; --gold:#9a7726;
    --glow-1:rgba(77,107,120,0.10); --glow-2:rgba(168,56,47,0.08);
    --card-shadow:rgba(60,45,35,0.16);
    --pill-1:#a8382f; --pill-2:#4d6b78;
    --overlay-bg:rgba(40,30,24,0.42);
    --track:#d9cfc1;
    --easy:#3f8f5a; --good:#4d6b78; --hard:#b5603a;
    /* фаска / объём кнопок и панелей */
    --bevel-hi:rgba(255,255,255,.65); --bevel-hi-soft:rgba(255,255,255,.4);
    --bevel-lo:rgba(35,24,18,.22); --bevel-lo-soft:rgba(35,24,18,.1);
    /* золото PRO */
    --pro-1:#f0b64c; --pro-2:#c9852b; --pro-3:#fff2d6; --pro-glow:rgba(230,170,60,.4); --pro-ink:#5a3a0a;
    --ease-smooth:cubic-bezier(.22,1,.36,1);
    color-scheme:light;
  }
  html.dark{
    --bg:#12181a; --bg-panel:#1b2427; --bg-soft:#202b2e;
    --line:#2b3538; --line-soft:#233034;
    --ink:#e7ede9; --ink-dim:#92a3a0;
    --stain:#b3423a; --stain-2:#5b7d8c; --gold:#c9a24b;
    --glow-1:rgba(91,125,140,0.12); --glow-2:rgba(179,66,58,0.10);
    --card-shadow:rgba(0,0,0,0.55);
    --pill-1:#b3423a; --pill-2:#5b7d8c;
    --overlay-bg:rgba(0,0,0,0.72);
    --track:#2b3538;
    --easy:#4bb277; --good:#6f92a1; --hard:#d1774a;
    --bevel-hi:rgba(255,255,255,.13); --bevel-hi-soft:rgba(255,255,255,.08);
    --bevel-lo:rgba(0,0,0,.5); --bevel-lo-soft:rgba(0,0,0,.32);
    --pro-1:#ffcf6a; --pro-2:#dd9d3c; --pro-3:#3a2d14; --pro-glow:rgba(255,205,100,.42); --pro-ink:#4a300a;
    color-scheme:dark;
  }
  html.pink{
    --stain:#cf4d84; --stain-2:#8a5fa8; --gold:#bd7fa6;
    --glow-1:rgba(138,95,168,0.12); --glow-2:rgba(207,77,132,0.12);
    --pill-1:#cf4d84; --pill-2:#8a5fa8;
    --bg-panel:#fbf1f6; --bg-soft:#f6e9f1; --line:#e7d3df; --line-soft:#efe0e9;
    --ink:#2b1f27; --ink-dim:#7a6070;
    --hard:#c76aa0; --good:#8a5fa8; --easy:#7a9f6a;
  }
  html.dark.pink{
    --bg:#161018; --bg-panel:#241a22; --bg-soft:#2c1f29;
    --line:#3a2b34; --line-soft:#31232c;
    --ink:#f1e7ee; --ink-dim:#b199a8;
    --stain:#e069a0; --stain-2:#a986cf; --gold:#e0a6c4;
    --glow-1:rgba(169,134,207,0.17); --glow-2:rgba(224,105,160,0.16);
    --card-shadow:rgba(0,0,0,0.6);
    --pill-1:#e069a0; --pill-2:#a986cf;
    --hard:#e08bb5; --good:#a986cf; --easy:#8fbf88;
  }

  html,body{ min-height:100vh; min-height:100dvh; overflow-x:hidden; max-width:100%; overscroll-behavior-x:none; }
  body{
    width:100%;
    touch-action:pan-y;
    background:
      radial-gradient(1200px 600px at 12% -8%, var(--glow-1), transparent 60%),
      radial-gradient(900px 500px at 100% 0%, var(--glow-2), transparent 55%),
      var(--bg);
    background-attachment:fixed;
    color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    transition:background-color .3s ease, color .3s ease;
  }

  /* ===================== ОСТРОВОК / ЧЁЛКА ===================== */
  .status-bg{ position:fixed; top:0; left:0; right:0; height:env(safe-area-inset-top,0px); background:var(--bg); z-index:590; }
  .notch-bar{ position:fixed; top:0; left:0; right:0; height:env(safe-area-inset-top,0px); display:flex; align-items:center; justify-content:center; z-index:600; pointer-events:none; }
  .notch-pill{
    display:inline-flex; align-items:center; max-width:62%; padding:5px 16px; border-radius:999px;
    background:linear-gradient(135deg, var(--pill-1) 0%, var(--pill-2) 135%);
    color:#fff; font-family:'Georgia',serif; font-weight:700; font-size:.72rem; letter-spacing:.02em;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-shadow:0 2px 10px rgba(0,0,0,.32);
  }
  .notch-pill .accent{ opacity:.9; }

  /* ===================== SPLASH ===================== */
  html.splash-active, html.splash-active body{ overflow:hidden; height:100%; }
  .splash{ position:fixed; inset:0; z-index:9999; display:flex; flex-direction:column; align-items:center; justify-content:center;
    background:radial-gradient(900px 500px at 20% 0%, var(--glow-1), transparent 60%), radial-gradient(700px 460px at 100% 100%, var(--glow-2), transparent 55%), var(--bg);
    transition:opacity .5s cubic-bezier(.22,1,.36,1), transform .5s cubic-bezier(.22,1,.36,1); }
  .splash[hidden]{ display:none; }
  .splash.is-hiding{ opacity:0; transform:scale(1.05); pointer-events:none; }
  .splash-icon{ width:104px; height:104px; border-radius:26px; margin-bottom:22px; background:var(--img-app) center/cover no-repeat;
    box-shadow:0 18px 46px var(--card-shadow), 0 0 0 1px var(--line); opacity:0; transform:scale(.55) translateY(12px); animation:splashIcon .8s cubic-bezier(.34,1.56,.64,1) .05s forwards; }
  @keyframes splashIcon{ 0%{ opacity:0; transform:scale(.55) translateY(12px);} 60%{ opacity:1; transform:scale(1.08) translateY(0);} 100%{ opacity:1; transform:scale(1) translateY(0);} }
  .splash-welcome{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.72rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-dim);
    opacity:0; transform:translateY(8px); animation:splashText .5s ease .36s forwards; }
  .splash-brand{ font-family:'Georgia',serif; font-weight:700; font-size:2.4rem; letter-spacing:.5px; margin-top:6px; color:var(--ink);
    opacity:0; transform:translateY(8px); animation:splashText .55s ease .46s forwards; }
  .splash-brand .accent{ color:var(--stain); }
  @keyframes splashText{ to{ opacity:1; transform:translateY(0);} }
  .splash-rule{ width:0; height:2px; margin-top:16px; border-radius:2px; background:linear-gradient(90deg, var(--stain), var(--stain-2)); animation:splashRule .6s cubic-bezier(.22,1,.36,1) .66s forwards; }
  @keyframes splashRule{ to{ width:132px; } }
  .splash-dots{ display:flex; gap:6px; margin-top:22px; opacity:0; animation:splashText .4s ease .8s forwards; }
  .splash-dot{ width:6px; height:6px; border-radius:50%; background:var(--stain-2); animation:splashDot 1.1s ease-in-out infinite; }
  .splash-dot:nth-child(2){ animation-delay:.15s; } .splash-dot:nth-child(3){ animation-delay:.3s; }
  @keyframes splashDot{ 0%,80%,100%{ opacity:.25; transform:scale(.8);} 40%{ opacity:1; transform:scale(1);} }

  /* ===================== ФИКСИРОВАННАЯ ШАПКА ===================== */
  .appbar{ position:sticky; top:0; z-index:500; background:var(--bg); border-bottom:1px solid var(--line); padding-top:env(safe-area-inset-top,0px);
    transition:box-shadow .2s ease, background-color .3s ease; }
  .appbar.scrolled{ box-shadow:0 6px 18px -12px var(--card-shadow); }
  .appbar-inner{ max-width:640px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:11px max(16px,env(safe-area-inset-right)) 11px max(16px,env(safe-area-inset-left)); }
  .brand{ min-width:0; }
  .brand h1{ font-family:'Georgia',serif; font-weight:700; font-size:1.7rem; letter-spacing:.5px; color:var(--ink); line-height:1; }
  .brand h1 .accent{ color:var(--stain); }
  .brand small{ color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.56rem; letter-spacing:.2em; text-transform:uppercase; }
  .top-actions{ display:flex; gap:8px; flex-shrink:0; }
  .icon-btn{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--line);
    background:var(--bg-panel); color:var(--ink-dim); font-size:1.05rem; cursor:pointer;
    box-shadow:inset 0 1px 0 var(--bevel-hi-soft), inset 0 -1px 1px var(--bevel-lo-soft);
    transition:transform .16s var(--ease-smooth), border-color .18s ease, color .18s ease, box-shadow .18s ease; }
  .icon-btn:active{ transform:scale(.9); box-shadow:inset 0 2px 4px var(--bevel-lo-soft); }
  .icon-btn:hover{ border-color:var(--stain-2); color:var(--stain-2); }

  .wrap{ max-width:640px; margin:0 auto; padding:18px max(16px,env(safe-area-inset-left)) 40px max(16px,env(safe-area-inset-right)); opacity:0; animation:appIn .5s ease .05s forwards; }
  @keyframes appIn{ to{ opacity:1; } }

  /* ===================== ГЛАВНЫЙ ===================== */
  .loader-screen{ border:1px solid var(--line); background:var(--bg-panel); border-radius:14px; padding:32px 22px; text-align:center; position:relative; overflow:hidden;
    box-shadow:0 14px 34px -22px var(--card-shadow); animation:cardIn .5s cubic-bezier(.22,.8,.32,1) both; }
  @keyframes cardIn{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:translateY(0);} }
  .loader-screen::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:linear-gradient(180deg, var(--stain), var(--stain-2)); }
  .loader-screen h2{ font-size:.98rem; font-weight:500; font-style:italic; color:var(--ink-dim); letter-spacing:.01em; margin-bottom:8px; }
  .loader-screen p.desc{ color:var(--ink-dim); font-size:.92rem; line-height:1.6; max-width:420px; margin:0 auto 22px; }
  .upload-btn{ display:inline-flex; align-items:center; gap:10px; background:var(--bg-panel); color:var(--ink-dim); border:1px solid var(--line); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; text-transform:uppercase; letter-spacing:.12em; font-size:.76rem; font-weight:700;
    padding:13px 24px; border-radius:12px; cursor:pointer; margin-top:12px;
    box-shadow:inset 0 1px 0 var(--bevel-hi-soft), inset 0 -1px 0 var(--bevel-lo-soft);
    transition:transform .16s var(--ease-smooth), border-color .18s ease, color .18s ease, box-shadow .18s ease; }
  .upload-btn:active{ transform:scale(.96); box-shadow:inset 0 2px 5px var(--bevel-lo-soft); }
  .upload-btn:hover{ border-color:var(--stain-2); color:var(--stain-2); }
  #file-input{ display:none; }
  .my-decks-btn{ display:inline-flex; align-items:center; gap:8px; background:transparent; color:var(--ink-dim); border:1px solid var(--line); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:700;
    padding:12px 20px; border-radius:12px; cursor:pointer; margin:14px auto 0; transition:transform .16s var(--ease-smooth), border-color .18s ease, color .18s ease, box-shadow .18s ease; }
  .my-decks-btn:active{ transform:scale(.96); } .my-decks-btn:hover{ border-color:var(--stain-2); color:var(--stain-2); }
  /* --- главная акцентная CTA (Мои колоды на главном экране) --- */
  .my-decks-btn.home-cta{
    position:relative; overflow:hidden; background:linear-gradient(135deg, var(--stain) 0%, var(--stain-2) 130%);
    color:#fff; border:none; font-size:.82rem; padding:16px 30px; margin:0 auto; border-radius:13px;
    box-shadow:0 10px 24px -10px var(--stain), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 4px var(--bevel-lo);
  }
  .my-decks-btn.home-cta::after{ content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.5) 48%,transparent 62%);
    background-size:220% 100%; background-position:120% 0; animation:btnShine 3.6s ease-in-out infinite; }
  .my-decks-btn.home-cta:hover{ filter:brightness(1.06); }
  .my-decks-btn.home-cta:active{ transform:scale(.96); box-shadow:0 4px 12px -6px var(--stain), inset 0 2px 5px rgba(0,0,0,.28); }
  @keyframes btnShine{ 0%,60%{ background-position:120% 0; } 100%{ background-position:-40% 0; } }
  .home-cta-row{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:0; }
  .home-cta-row .home-cta{ margin:0; flex:1 1 180px; max-width:260px; }
  #home-builder-btn{ background-image:linear-gradient(135deg, var(--pro-1) 0%, var(--pro-2) 130%); background-color:transparent; color:var(--pro-ink); }
  #home-builder-btn::after{ background-image:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.5) 48%,transparent 62%); }
  .home-upload-wrap{ margin-top:12px; }
  .status-line{ margin-top:18px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.72rem; color:var(--gold); min-height:16px; letter-spacing:.02em; }
  .status-line.err{ color:var(--stain); }
  .home-disclaimer{ display:flex; align-items:flex-start; gap:9px; text-align:left; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:12px;
    padding:11px 13px; margin-top:18px; font-size:.76rem; line-height:1.5; color:var(--ink-dim);
    box-shadow:inset 0 1px 0 var(--bevel-hi-soft), inset 0 -1px 0 var(--bevel-lo-soft); }
  .home-disclaimer .hd-ico{ flex:0 0 auto; font-size:.95rem; line-height:1.3; }

  /* ===================== ДОНАТ / PRO ===================== */
  .donate-card{ position:relative; overflow:hidden; margin-top:16px; background:linear-gradient(135deg, var(--pro-1) 0%, var(--pro-2) 130%); border-radius:16px; padding:16px; color:var(--pro-ink); box-shadow:0 12px 28px -12px var(--pro-glow), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 4px var(--bevel-lo);
    display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center;
    animation:cardIn .5s cubic-bezier(.22,.8,.32,1) .06s both, proPulse 4.5s ease-in-out 1s infinite; transition:transform .16s var(--ease-smooth); }
  .donate-card::after{ content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 62%);
    background-size:220% 100%; background-position:120% 0; animation:btnShine 3.2s ease-in-out infinite; }
  .donate-card:hover{ transform:translateY(-2px); }
  .donate-card:active{ transform:scale(.98); }
  @keyframes proPulse{ 0%,100%{ box-shadow:0 12px 28px -12px var(--pro-glow), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 4px var(--bevel-lo); }
    50%{ box-shadow:0 16px 36px -8px var(--pro-glow), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 4px var(--bevel-lo); } }
  @media (prefers-reduced-motion:reduce){ .donate-card{ animation:none !important; } .donate-card::after{ display:none; } }
  .donate-lead{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; opacity:.85; }
  .donate-support{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; background:rgba(255,255,255,.28); border-radius:13px; padding:12px 16px; color:var(--pro-ink); text-decoration:none; font-weight:700; font-size:.98rem; transition:transform .14s ease, background .2s ease; }
  .donate-support:active{ transform:scale(.97); background:rgba(255,255,255,.4); }
  .donate-ic{ width:20px; height:20px; border-radius:50%; flex-shrink:0; background-size:cover; background-position:center; }
  .donate-ic.sber{ background-image:var(--img-sber); }
  .donate-ic.sbp{ width:22px; height:22px; border-radius:6px; background-image:var(--img-sbp); }
  .donate-tag{ display:inline-flex; align-items:center; background:rgba(255,255,255,.28); border-radius:999px; padding:3px 10px; margin-left:6px; font-size:.72rem; font-weight:700; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; white-space:nowrap; }
  .donate-row{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
  .donate-or{ font-size:.82rem; opacity:.85; }
  .donate-sbp{ display:inline-flex; align-items:center; gap:7px; color:#fff; text-decoration:none; font-weight:600; font-size:.9rem; }
  .donate-sbp small{ opacity:.8; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; letter-spacing:.06em; }

  .tg-card{ margin-top:12px; display:flex; align-items:center; gap:12px; text-decoration:none; background:var(--bg-panel); border:1px solid var(--line); border-radius:14px; padding:13px 15px; box-shadow:0 8px 20px -16px var(--card-shadow);
    transition:transform .14s ease, border-color .18s ease; animation:cardIn .5s cubic-bezier(.22,.8,.32,1) .1s both; }
  .tg-card:active{ transform:scale(.98); } .tg-card:hover{ border-color:var(--stain-2); }
  .tg-ic{ width:38px; height:38px; border-radius:11px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#2AABEE,#229ED9); color:#fff; }
  .tg-copy{ min-width:0; } .tg-title{ font-family:'Georgia',serif; font-weight:700; font-size:.98rem; color:var(--ink); }
  .tg-sub{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; color:var(--ink-dim); letter-spacing:.02em; }
  .tg-arrow{ margin-left:auto; color:var(--ink-dim); font-size:1.1rem; flex-shrink:0; }

  .home-footer{ text-align:center; margin-top:20px; color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; letter-spacing:.08em; }

  /* ===================== ТРЕНАЖЁР ===================== */
  .card-area{ display:none; }
  .card-area.active{ display:block; padding-bottom:118px; }
  .toolbar{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
  .reset-link{ display:inline-flex; align-items:center; gap:6px; color:var(--ink-dim); background:var(--bg-soft); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.68rem; letter-spacing:.03em; cursor:pointer; border:1px solid var(--line-soft); padding:8px 13px 8px 10px; border-radius:11px;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); transition:transform .14s var(--ease-smooth), border-color .18s ease, color .18s ease, box-shadow .16s ease; }
  .reset-link-arrow{ display:inline-block; transition:transform .18s var(--ease-smooth); }
  .reset-link:hover{ border-color:var(--stain-2); color:var(--stain-2); } .reset-link:hover .reset-link-arrow{ transform:translateX(-3px); }
  .reset-link:active{ transform:scale(.95); box-shadow:inset 0 2px 5px var(--bevel-lo-soft); }
  .toolbar-right{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  #constructor-toolbar-actions{ display:inline-flex; align-items:center; gap:10px; }
  #constructor-toolbar-actions[hidden]{ display:none; }
  .save-deck-btn{ background:var(--bg-soft); border:1px solid var(--line-soft); color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; letter-spacing:.06em; cursor:pointer; padding:9px 13px; border-radius:11px; text-transform:uppercase;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); transition:transform .14s var(--ease-smooth), border-color .18s ease, color .18s ease, box-shadow .16s ease; }
  .save-deck-btn:active{ transform:scale(.93); box-shadow:inset 0 2px 5px var(--bevel-lo-soft); } .save-deck-btn:hover{ border-color:var(--gold); color:var(--gold); } .save-deck-btn:disabled{ opacity:.5; }
  .save-deck-btn.has-note{ border-color:var(--stain-2); color:var(--stain-2); }
  .card .card-note{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.72rem; line-height:1.5; color:var(--stain-2); background:rgba(77,107,120,.10); border:1px solid var(--line); border-radius:9px; padding:8px 10px; margin-bottom:14px; white-space:pre-wrap; word-break:break-word; flex:0 0 auto; }

  /* ---- кнопка "перемешать": настоящая кнопка с 3D-анимацией тасования колоды ---- */
  .shuffle-btn{ display:inline-flex; align-items:center; gap:9px; cursor:pointer; user-select:none; color:var(--ink-dim); background:var(--bg-soft); border:1px solid var(--line-soft);
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; letter-spacing:.03em; text-transform:uppercase; padding:8px 14px 8px 10px; border-radius:11px;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); transition:transform .14s var(--ease-smooth), border-color .18s ease, color .18s ease, background .18s ease, box-shadow .16s ease; }
  .shuffle-btn:active{ transform:scale(.95); box-shadow:inset 0 2px 5px var(--bevel-lo-soft); }
  .shuffle-btn.is-active{ border-color:var(--stain-2); color:var(--stain-2); background:color-mix(in srgb, var(--stain-2) 9%, var(--bg-soft)); }
  .shuffle-deck{ position:relative; width:20px; height:17px; flex:0 0 auto; perspective:200px; }
  .shuffle-deck i{ position:absolute; left:3px; top:0; width:13px; height:16px; border-radius:3px; background:var(--bg-panel); border:1px solid var(--line); box-shadow:inset 0 1px 0 var(--bevel-hi-soft); font-style:normal; }
  .shuffle-deck i:nth-child(1){ transform:translate(0,0) rotate(0deg); z-index:3; }
  .shuffle-deck i:nth-child(2){ transform:translate(1.5px,-1px) rotate(-6deg); z-index:2; }
  .shuffle-deck i:nth-child(3){ transform:translate(3px,-2px) rotate(-11deg); z-index:1; }
  .shuffle-btn.is-active .shuffle-deck i{ border-color:var(--stain-2); }
  .shuffle-btn.shuffling .shuffle-deck i:nth-child(1){ animation:riffle1 .62s cubic-bezier(.3,.6,.3,1); }
  .shuffle-btn.shuffling .shuffle-deck i:nth-child(2){ animation:riffle2 .62s cubic-bezier(.3,.6,.3,1); }
  .shuffle-btn.shuffling .shuffle-deck i:nth-child(3){ animation:riffle3 .62s cubic-bezier(.3,.6,.3,1); }
  @keyframes riffle1{ 0%{transform:translate(0,0) rotate(0deg);} 28%{transform:translate(-7px,-4px) rotate(-22deg);} 58%{transform:translate(6px,-5px) rotate(16deg);} 100%{transform:translate(0,0) rotate(0deg);} }
  @keyframes riffle2{ 0%{transform:translate(1.5px,-1px) rotate(-6deg);} 34%{transform:translate(8px,-7px) rotate(24deg);} 64%{transform:translate(-7px,-3px) rotate(-19deg);} 100%{transform:translate(1.5px,-1px) rotate(-6deg);} }
  @keyframes riffle3{ 0%{transform:translate(3px,-2px) rotate(-11deg);} 40%{transform:translate(-8px,-6px) rotate(-26deg);} 70%{transform:translate(7px,-4px) rotate(21deg);} 100%{transform:translate(3px,-2px) rotate(-11deg);} }
  @media (prefers-reduced-motion: reduce){ .shuffle-btn.shuffling .shuffle-deck i{ animation:none; } }

  .card-viewport{ perspective:1600px; position:relative; padding:0 3px 9px; }
  .card-viewport::before, .card-viewport::after{ content:""; position:absolute; left:10px; right:10px; top:8px; bottom:2px; border-radius:14px;
    background:linear-gradient(165deg, var(--bg-panel) 0%, var(--bg-soft) 100%); border:1px solid var(--line-soft);
    box-shadow:0 10px 22px -18px var(--card-shadow); pointer-events:none; z-index:0; }
  .card-viewport::before{ transform:translateY(11px) rotate(-1.6deg) scale(.98); }
  .card-viewport::after{ transform:translateY(6px) rotate(1.2deg) scale(.99); opacity:.9; }
  .card{ background:var(--bg-panel); border:1px solid var(--line); border-radius:14px; min-height:260px; padding:24px 20px 22px; position:relative; z-index:1;
    box-shadow:0 22px 46px -20px var(--card-shadow), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 3px var(--bevel-lo-soft);
    transform-origin:center; will-change:transform; backface-visibility:hidden;
    display:flex; flex-direction:column; overflow:hidden; touch-action:pan-y; }
  .card.enter{ animation:cardSwap .38s var(--ease-smooth); }
  @keyframes cardSwap{ 0%{ opacity:0; transform:translateY(14px) scale(.985);} 100%{ opacity:1; transform:translateY(0) scale(1);} }

  /* --- 3D перетасовка колоды --- */
  .card-viewport.is-shuffling::before{ animation:shuffleStack1 .58s cubic-bezier(.3,.6,.3,1); }
  .card-viewport.is-shuffling::after{ animation:shuffleStack2 .58s cubic-bezier(.3,.6,.3,1) .03s; }
  .card-viewport.is-shuffling .card{ animation:shuffleMain .58s cubic-bezier(.3,.6,.3,1); }
  @keyframes shuffleMain{
    0%{ transform:translateZ(0) rotateY(0) rotateZ(0); }
    22%{ transform:translate3d(-22px,-10px,60px) rotateY(-24deg) rotateZ(-5deg); }
    48%{ transform:translate3d(20px,-16px,96px) rotateY(22deg) rotateZ(4deg); }
    72%{ transform:translate3d(-10px,-6px,44px) rotateY(-10deg) rotateZ(-2deg); }
    100%{ transform:translateZ(0) rotateY(0) rotateZ(0); }
  }
  @keyframes shuffleStack1{
    0%{ transform:translateY(11px) rotate(-1.6deg) scale(.98); }
    30%{ transform:translate3d(-26px,2px,-14px) rotateY(-26deg) rotate(-10deg) scale(.96); }
    62%{ transform:translate3d(16px,10px,-6px) rotateY(18deg) rotate(5deg) scale(.97); }
    100%{ transform:translateY(11px) rotate(-1.6deg) scale(.98); }
  }
  @keyframes shuffleStack2{
    0%{ transform:translateY(6px) rotate(1.2deg) scale(.99); }
    30%{ transform:translate3d(22px,0,-10px) rotateY(22deg) rotate(9deg) scale(.97); }
    62%{ transform:translate3d(-14px,8px,-4px) rotateY(-16deg) rotate(-4deg) scale(.98); }
    100%{ transform:translateY(6px) rotate(1.2deg) scale(.99); }
  }
  @media (prefers-reduced-motion: reduce){ .card-viewport.is-shuffling::before, .card-viewport.is-shuffling::after, .card-viewport.is-shuffling .card{ animation:none; } }

  /* --- 3D появление колоды --- */
  .card-viewport.is-dealing::before{ animation:dealStack1 .64s var(--ease-smooth) both; }
  .card-viewport.is-dealing::after{ animation:dealStack2 .64s var(--ease-smooth) .05s both; }
  .card-viewport.is-dealing .card{ animation:dealMain .64s var(--ease-smooth) .1s both; }
  @keyframes dealMain{
    0%{ opacity:0; transform:translate3d(0,70px,-220px) rotateX(-42deg) rotateY(12deg) scale(.8); }
    55%{ opacity:1; }
    100%{ opacity:1; transform:translate3d(0,0,0) rotateX(0) rotateY(0) scale(1); }
  }
  @keyframes dealStack1{
    0%{ opacity:0; transform:translate3d(-14px,90px,-260px) rotate(-1.6deg) scale(.7); }
    100%{ opacity:.95; transform:translateY(11px) rotate(-1.6deg) scale(.98); }
  }
  @keyframes dealStack2{
    0%{ opacity:0; transform:translate3d(14px,90px,-260px) rotate(1.2deg) scale(.7); }
    100%{ opacity:.9; transform:translateY(6px) rotate(1.2deg) scale(.99); }
  }
  @media (prefers-reduced-motion: reduce){ .card-viewport.is-dealing::before, .card-viewport.is-dealing::after, .card-viewport.is-dealing .card{ animation:none; } }
  .card .side-label{ position:absolute; top:14px; right:16px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-dim); padding:3px 9px; border:1px solid var(--line); border-radius:999px; background:var(--bg-panel); flex:0 0 auto; }
  .card .tags{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.64rem; color:var(--stain-2); letter-spacing:.03em; margin-bottom:14px; padding-right:74px; word-break:break-word; flex:0 0 auto; }
  .card-face{ font-size:1rem; line-height:1.65; word-wrap:break-word; flex:1 1 auto; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; padding-right:2px; }
  .card-face div{ margin-bottom:2px; }
  .face-sep{ border:none; border-top:1px dashed var(--line); margin:18px 0; }
  .ans-ref{ opacity:.92; } .ans-body{ font-size:1rem; line-height:1.65; }

  .card-face .img-row{ display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
  .img-wrap{ position:relative; display:block; margin:8px 0; max-width:100%; }
  .card-face .img-row .img-wrap{ display:inline-block; vertical-align:top; margin:0; flex:1 1 140px; max-width:calc(50% - 4px); }
  .card-face img{ max-width:100%; width:100%; height:auto; border:1px solid var(--line); border-radius:8px; display:block; max-height:30vh; object-fit:contain; margin:0 auto; background:var(--bg-soft); }
  .ans-ref img{ max-height:20vh; }
  @media (orientation:landscape) and (max-height:520px){
    .card-face img{ max-height:15vh; }
    .ans-ref img{ max-height:11vh; }
    .card-face .img-row .img-wrap{ flex-basis:110px; max-width:calc(33.33% - 6px); }
  }
  .lupa-btn{ position:absolute; right:8px; bottom:8px; width:38px; height:38px; border-radius:50%; border:none; cursor:pointer; background:rgba(20,24,26,.62); color:#fff; font-size:1.05rem;
    display:flex; align-items:center; justify-content:center; box-shadow:0 3px 10px rgba(0,0,0,.4); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); transition:transform .14s ease, background .18s ease; }
  .lupa-btn:active{ transform:scale(.88); }

  .flip-hint{ margin-top:14px; text-align:center; color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.62rem; letter-spacing:.06em; opacity:.7; flex:0 0 auto; }
  .progressbar{ height:3px; background:var(--track); margin-top:16px; border-radius:3px; overflow:hidden; }
  .progressbar > div{ height:100%; background:linear-gradient(90deg, var(--gold), var(--stain)); transition:width .3s ease; border-radius:3px; }
  .card-footer{ text-align:center; margin-top:12px; color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.68rem; letter-spacing:.04em; cursor:pointer; text-decoration:underline dotted; text-underline-offset:3px; }
  .jump-goform{ display:flex; gap:0; align-items:stretch; background:var(--bg-soft); border:1px solid var(--line); border-radius:13px;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); overflow:hidden; }
  .jump-goform-hash{ flex:0 0 auto; display:flex; align-items:center; padding:0 4px 0 14px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.78rem; color:var(--ink-dim); }
  #jump-input{ flex:1 1 auto; width:auto; min-height:auto; min-width:0; text-align:left; font-size:1rem; padding:12px 8px; border:none; background:transparent; box-shadow:none; -moz-appearance:textfield; }
  #jump-input::-webkit-outer-spin-button, #jump-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
  #jump-input:focus{ outline:none; }
  .jump-goform .ed-btn{ flex:0 0 auto; border-radius:0; border-top:none; border-bottom:none; border-right:none; box-shadow:none; }
  .jump-search-wrap{ position:relative; margin-top:14px; }
  .jump-search-ico{ position:absolute; left:13px; top:50%; transform:translateY(-50%); font-size:.82rem; opacity:.65; pointer-events:none; }
  #jump-search{ width:100%; min-height:auto; padding:11px 34px 11px 36px; font-size:.9rem; }
  .jump-search-clear{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:26px; height:26px; border:none; background:transparent; color:var(--ink-dim); cursor:pointer; font-size:.9rem; display:none; align-items:center; justify-content:center; border-radius:50%; }
  .jump-search-clear:hover{ color:var(--stain); }
  .jump-search-wrap.has-val .jump-search-clear{ display:flex; }
  .jump-count{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.62rem; color:var(--ink-dim); letter-spacing:.04em; margin-top:10px; text-transform:uppercase; }
  .jump-grid{ display:flex; flex-direction:column; gap:9px; margin-top:10px; max-height:48vh; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:2px 2px 2px 0; }
  .jump-row{ display:flex; gap:12px; align-items:flex-start; text-align:left; width:100%; background:var(--bg-soft); border:1px solid var(--line); border-left:3px solid transparent; border-radius:13px; padding:11px 13px; cursor:pointer; transition:border-color .16s, background .16s, transform .12s, box-shadow .16s;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft), 0 2px 6px -5px var(--card-shadow); }
  .jump-row:active{ transform:scale(.985); box-shadow:inset 0 2px 5px var(--bevel-lo-soft); }
  .jump-row:hover{ border-color:var(--stain-2); }
  .jump-row.current{ border-color:var(--line); border-left-color:var(--stain); background:color-mix(in srgb, var(--stain) 8%, var(--bg-soft)); box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft), 0 4px 14px -8px var(--stain); }
  .jump-row-num{ flex:0 0 auto; width:30px; height:30px; border-radius:9px; background:linear-gradient(155deg, var(--bg-panel), var(--bg-soft)); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; color:var(--ink-dim); font-weight:700;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 1px var(--bevel-lo-soft); }
  .jump-row.current .jump-row-num{ background:linear-gradient(155deg, var(--stain-2), var(--stain)); border-color:transparent; color:#fff; box-shadow:0 3px 8px -3px var(--card-shadow), inset 0 1px 0 var(--bevel-hi); }
  .jump-row-body{ flex:1; min-width:0; }
  .jump-row-q{ font-family:'Georgia',serif; font-size:.92rem; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .jump-row-a{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; color:var(--ink-dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:2px; }
  .jump-row-top{ display:flex; align-items:center; gap:8px; }
  .jump-row-top .jump-row-q{ flex:1; }
  .jump-row-q-fallback{ font-style:italic; color:var(--ink-dim); }
  .jump-row-imgtag{ flex:0 0 auto; font-size:.82rem; opacity:.85; line-height:1; }
  .jump-status{ flex:0 0 auto; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.58rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 8px; border-radius:999px; white-space:nowrap; }
  .jump-status.st-new{ background:color-mix(in srgb, var(--stain-2) 16%, transparent); color:var(--stain-2); }
  .jump-status.st-due{ background:rgba(224,69,90,.15); color:#e0455a; }
  .jump-status.st-learned{ background:rgba(143,191,136,.18); color:#5f9a56; }
  .jump-empty{ text-align:center; color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.78rem; padding:24px 6px; line-height:1.7; }

  /* ===================== ПЛАВАЮЩАЯ ПАНЕЛЬ ===================== */
  .action-bar{ position:fixed; left:0; right:0; bottom:0; z-index:360;
    padding:12px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right));
    background:linear-gradient(to top, var(--bg) 70%, transparent); display:none; }
  .action-bar.show{ display:block; }
  .action-inner{ max-width:640px; margin:0 auto; display:flex; gap:10px; align-items:stretch; }
  .abtn{ border:1px solid var(--line); background:var(--bg-panel); color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; border-radius:13px; padding:14px 10px; cursor:pointer; transition:transform .16s var(--ease-smooth), filter .18s ease, box-shadow .18s ease; font-weight:700;
    box-shadow:0 8px 20px -12px var(--card-shadow), inset 0 1px 0 var(--bevel-hi-soft), inset 0 -1px 0 var(--bevel-lo-soft); }
  .abtn:active{ transform:scale(.95); box-shadow:inset 0 2px 5px var(--bevel-lo-soft); } .abtn:disabled{ opacity:.35; }
  .abtn.nav{ flex:0 0 52px; font-size:1rem; }
  .abtn.reveal{ position:relative; overflow:hidden; flex:1; background:linear-gradient(135deg, var(--stain-2), var(--pill-1)); border-color:transparent; color:#fff;
    box-shadow:0 8px 20px -12px var(--stain-2), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 3px var(--bevel-lo); }
  .abtn.reveal::after{ content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.4) 48%,transparent 62%);
    background-repeat:no-repeat; background-size:220% 100%; background-position:120% 0; animation:btnShine 3.6s ease-in-out infinite; }
  .abtn.reveal:active{ box-shadow:inset 0 2px 5px rgba(0,0,0,.28); }
  .rate-group{ display:flex; gap:8px; width:100%; }
  .rate-btn{ position:relative; overflow:hidden; flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; color:#fff; border:none; border-radius:13px; padding:11px 6px 9px; font-family:'Georgia',serif; font-weight:700; font-size:.92rem; cursor:pointer;
    box-shadow:0 8px 20px -12px var(--card-shadow), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 3px var(--bevel-lo);
    transition:transform .16s var(--ease-smooth), filter .18s ease, box-shadow .18s ease; }
  .rate-btn::after{ content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.42) 48%,transparent 62%);
    background-repeat:no-repeat; background-size:220% 100%; background-position:120% 0; animation:btnShine 4.2s ease-in-out infinite; }
  .rate-btn:active{ transform:scale(.94); box-shadow:inset 0 3px 7px rgba(0,0,0,.32), inset 0 1px 0 var(--bevel-hi); }
  .rate-btn small{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.58rem; font-weight:400; opacity:.9; letter-spacing:.02em; }
  .rate-btn.hard{ background:var(--hard); } .rate-btn.good{ background:var(--good); } .rate-btn.easy{ background:var(--easy); }
  .rate-btn.hard::after{ animation-delay:0s; } .rate-btn.good::after{ animation-delay:.5s; } .rate-btn.easy::after{ animation-delay:1s; }

  /* ===================== DONE ===================== */
  .done-screen{ display:none; position:relative; overflow:hidden; text-align:center; padding:46px 22px 30px;
    background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-soft) 100%);
    border:1px solid var(--line-soft); border-radius:24px;
    box-shadow:0 30px 64px -26px var(--card-shadow), inset 0 1px 0 var(--bevel-hi-soft), inset 0 -1px 0 var(--bevel-lo-soft); }
  .done-screen::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.6;
    background:radial-gradient(460px 240px at 50% -12%, var(--pro-glow), transparent 62%); }
  .done-screen.show{ display:block; animation:doneIn .58s cubic-bezier(.22,1,.36,1) both; }
  @keyframes doneIn{ 0%{ opacity:0; transform:translateY(20px) scale(.96); } 100%{ opacity:1; transform:translateY(0) scale(1); } }

  .done-medal{ position:relative; width:90px; height:90px; margin:0 auto 4px; border-radius:50%;
    background:radial-gradient(circle at 32% 26%, var(--pro-3), var(--pro-1) 46%, var(--pro-2) 100%);
    box-shadow:0 16px 28px -10px var(--pro-glow), inset 0 2px 3px var(--bevel-hi), inset 0 -5px 9px rgba(0,0,0,.28),
      0 0 0 5px var(--bg-panel), 0 0 0 6px var(--line-soft);
    display:flex; align-items:center; justify-content:center;
    animation:medalPop .62s cubic-bezier(.2,1.5,.4,1) .04s both; }
  @keyframes medalPop{ 0%{ transform:scale(.35) rotate(-18deg); opacity:0; } 62%{ transform:scale(1.1) rotate(5deg); opacity:1; } 100%{ transform:scale(1) rotate(0deg); } }
  .done-medal::after{ content:""; position:absolute; inset:-1px; border-radius:50%; border:1px solid rgba(255,255,255,.55); mix-blend-mode:overlay; pointer-events:none; }
  .done-medal-ico{ font-size:2.15rem; line-height:1; transform:translateY(-1px); filter:drop-shadow(0 2px 1px rgba(0,0,0,.25)); }
  .done-spark{ position:absolute; top:50%; left:50%; width:5px; height:5px; margin:-2.5px 0 0 -2.5px; border-radius:50%;
    background:var(--pro-1); opacity:0; pointer-events:none; animation:doneSpark .9s ease-out both; }
  .done-spark.s1{ --a:-72deg; --d:50px; animation-delay:.34s; }
  .done-spark.s2{ --a:-18deg; --d:58px; animation-delay:.4s; background:var(--stain); }
  .done-spark.s3{ --a:34deg; --d:46px; animation-delay:.3s; background:var(--stain-2); }
  .done-spark.s4{ --a:112deg; --d:54px; animation-delay:.42s; }
  .done-spark.s5{ --a:162deg; --d:48px; animation-delay:.36s; background:var(--stain); }
  .done-spark.s6{ --a:-142deg; --d:56px; animation-delay:.38s; background:var(--stain-2); }
  @keyframes doneSpark{ 0%{ opacity:0; transform:rotate(var(--a)) translateX(0) scale(.3); } 35%{ opacity:1; } 100%{ opacity:0; transform:rotate(var(--a)) translateX(var(--d)) scale(1); } }

  .done-title{ position:relative; font-family:'Georgia',serif; font-style:italic; font-weight:700; font-size:1.5rem; color:var(--ink); margin:16px 0 4px;
    text-shadow:0 1px 0 var(--bevel-hi-soft), 0 -1px 0 var(--bevel-lo-soft); }
  .done-caption{ position:relative; color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.68rem; letter-spacing:.05em; opacity:.85; margin-bottom:22px; }

  .done-stats{ position:relative; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:24px; }
  .done-stat{ position:relative; overflow:hidden; flex:1 1 92px; min-width:88px; max-width:150px;
    background:linear-gradient(165deg, var(--bg-panel) 0%, var(--bg-soft) 100%);
    border:1px solid var(--line-soft); border-radius:14px; padding:13px 8px 11px;
    box-shadow:0 10px 20px -16px var(--card-shadow), inset 0 1px 0 var(--bevel-hi-soft), inset 0 -2px 4px var(--bevel-lo-soft); }
  .done-stat::before{ content:""; position:absolute; top:0; left:12px; right:12px; height:1px; background:linear-gradient(90deg, transparent, var(--bevel-hi), transparent); }
  .done-stat.accent{ border-color:color-mix(in srgb, var(--stain) 42%, var(--line-soft)); background:linear-gradient(165deg, color-mix(in srgb, var(--stain) 10%, var(--bg-panel)) 0%, var(--bg-soft) 100%); }
  .done-stat-num{ display:block; font-family:'Georgia',serif; font-weight:700; font-size:1.5rem; color:var(--ink); line-height:1; text-shadow:0 1px 0 var(--bevel-hi-soft); }
  .done-stat.accent .done-stat-num{ color:var(--stain); }
  .done-stat-label{ display:block; margin-top:5px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.55rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-dim); line-height:1.3; }

  .done-actions{ position:relative; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
  .done-actions .my-decks-btn{ min-width:150px; }
  @media (prefers-reduced-motion: reduce){ .done-medal, .done-spark, .done-screen.show{ animation:none; } }

  /* ===================== ОВЕРЛЕИ ===================== */
  .overlay{ position:fixed; inset:0; z-index:700; background:var(--overlay-bg); backdrop-filter:blur(6px) saturate(1.1); -webkit-backdrop-filter:blur(6px) saturate(1.1); display:flex; align-items:flex-end; justify-content:center; opacity:0; transition:opacity .24s ease; padding-top:calc(env(safe-area-inset-top,0px) + 8px); }
  .overlay[hidden]{ display:none; } .overlay.is-open{ opacity:1; }
  .sheet{ background:var(--bg-panel); color:var(--ink); width:100%; max-width:560px; max-height:90vh; max-height:90dvh; border-radius:26px 26px 0 0; border:1px solid var(--line-soft); border-bottom:none; display:flex; flex-direction:column; box-shadow:0 -16px 48px -8px var(--card-shadow), inset 0 1px 0 var(--bevel-hi-soft);
    transform:translateY(34px) scale(.97); transition:transform .38s cubic-bezier(.2,1.15,.32,1); padding-bottom:env(safe-area-inset-bottom, 0px); }
  /* --- жест "свайп назад" с левого края: временно отключаем переходы, пока тянем --- */
  .edge-dragging{ transition:none !important; }
  .overlay.is-open .sheet{ transform:translateY(0) scale(1); }
  @media (min-width:600px){ .overlay{ align-items:center; } .sheet{ border-radius:24px; border-bottom:1px solid var(--line-soft); max-height:84vh; padding-bottom:0; } }
  .sheet-grabber{ width:38px; height:4px; border-radius:999px; background:var(--line); margin:10px auto 2px; flex-shrink:0;
    box-shadow:inset 0 1px 1px var(--bevel-lo-soft), inset 0 -1px 0 var(--bevel-hi-soft);
    animation:grabberSettle .5s cubic-bezier(.34,1.56,.64,1) .1s both; }
  @keyframes grabberSettle{ 0%{ opacity:0; transform:scaleX(.4); } 60%{ transform:scaleX(1.15); } 100%{ opacity:1; transform:scaleX(1); } }
  .sheet-header{ display:flex; align-items:center; gap:10px; padding:14px 20px 16px; border-bottom:1px solid var(--line-soft); flex-shrink:0; }
  .sheet-title{ flex:1; font-family:'Georgia',serif; font-style:italic; font-size:1.16rem; color:var(--ink); }
  .sheet-title-badge{ flex:0 0 auto; width:36px; height:36px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:1.05rem;
    background:linear-gradient(155deg, var(--bg-soft), var(--bg-panel)); border:1px solid var(--line-soft);
    box-shadow:inset 0 1px 0 var(--bevel-hi-soft), inset 0 -2px 3px var(--bevel-lo-soft), 0 3px 8px -4px var(--card-shadow); }
  .sheet-close, .sheet-back, .sheet-toolbtn{ width:34px; height:34px; border-radius:50%; border:1px solid var(--line-soft); cursor:pointer; background:var(--bg-soft); color:var(--ink-dim); font-size:.95rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .14s ease, color .18s ease, border-color .18s ease, box-shadow .16s ease;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); }
  .sheet-close:active, .sheet-back:active, .sheet-toolbtn:active{ transform:scale(.88); box-shadow:inset 0 2px 4px var(--bevel-lo-soft); } .sheet-close:hover, .sheet-toolbtn:hover{ color:var(--stain); border-color:var(--stain-2); }
  .sheet-body{ padding:18px 20px 24px; overflow-y:auto; -webkit-overflow-scrolling:touch; }

  /* --- тиснение / объём: общие утилиты для элементов внутри модалок --- */
  .sheet-title{ text-shadow:0 1px 0 var(--bevel-hi-soft), 0 -1px 0 var(--bevel-lo-soft); }
  .emboss{ box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft), 0 1px 0 var(--bevel-hi-soft); }
  .emboss-press{ transition:transform .14s cubic-bezier(.34,1.56,.64,1), box-shadow .16s ease, border-color .18s ease, background-color .18s ease; }
  .emboss-press:active{ transform:scale(.97); box-shadow:inset 0 3px 7px var(--bevel-lo-soft), inset 0 1px 0 var(--bevel-hi-soft) !important; }
  .letterpress{ text-shadow:0 1px 0 var(--bevel-hi-soft), 0 -1px 0 var(--bevel-lo-soft); }

  /* --- лёгкое волновое появление содержимого модалки --- */
  @keyframes sheetItemIn{ from{ opacity:0; transform:translateY(9px) scale(.985); } to{ opacity:1; transform:translateY(0) scale(1); } }
  .overlay.is-open .sheet-body > *{ animation:sheetItemIn .46s cubic-bezier(.22,1,.36,1) both; }
  .overlay.is-open .sheet-body > *:nth-child(1){ animation-delay:.01s; }
  .overlay.is-open .sheet-body > *:nth-child(2){ animation-delay:.05s; }
  .overlay.is-open .sheet-body > *:nth-child(3){ animation-delay:.09s; }
  .overlay.is-open .sheet-body > *:nth-child(4){ animation-delay:.13s; }
  .overlay.is-open .sheet-body > *:nth-child(5){ animation-delay:.17s; }
  .overlay.is-open .sheet-body > *:nth-child(6){ animation-delay:.21s; }
  .overlay.is-open .sheet-body > *:nth-child(n+7){ animation-delay:.24s; }
  .overlay.is-open .sheet-header > *{ animation:sheetItemIn .4s cubic-bezier(.22,1,.36,1) both; }
  @media (prefers-reduced-motion: reduce){ .overlay.is-open .sheet-body > *, .overlay.is-open .sheet-header > *{ animation:none; } .sheet-grabber{ animation:none; } }
  /* карточки/списки, отрисованные внутри блока — тоже получают лёгкий каскад */
  .settings-row, .pro-feature-item, .plan-card, .admin-user-row, .jump-row, .ed-card, .tg-card, .donate-card{
    animation:sheetItemIn .4s cubic-bezier(.22,1,.36,1) both;
  }

  .info-group{ display:flex; flex-direction:column; gap:10px; }
  .info-row{ display:flex; align-items:flex-start; gap:12px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:14px; padding:13px 14px; font-size:.9rem; line-height:1.5; color:var(--ink); opacity:0; transform:translateY(10px); transition:opacity .36s cubic-bezier(.22,.8,.32,1), transform .36s cubic-bezier(.22,.8,.32,1); }
  .overlay.is-open .info-row{ opacity:1; transform:translateY(0); }
  .overlay.is-open .info-row:nth-child(1){ transition-delay:.04s; } .overlay.is-open .info-row:nth-child(2){ transition-delay:.09s; }
  .overlay.is-open .info-row:nth-child(3){ transition-delay:.14s; } .overlay.is-open .info-row:nth-child(4){ transition-delay:.19s; }
  .overlay.is-open .info-row:nth-child(5){ transition-delay:.24s; } .overlay.is-open .info-row:nth-child(6){ transition-delay:.29s; }
  .info-row-icon{ flex:0 0 auto; width:34px; height:34px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:1.05rem; background:var(--bg-panel); border:1px solid var(--line); }
  .info-row-text{ flex:1; padding-top:4px; }
  .info-sep{ border:none; border-top:1px solid var(--line); margin:16px 0; }
  .info-credits{ text-align:center; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.72rem; color:var(--ink-dim); line-height:1.7; letter-spacing:.04em; }
  .info-credits .brandline{ font-family:'Georgia',serif; font-size:.95rem; color:var(--ink); letter-spacing:0; margin-bottom:4px; }
  .info-credits .brandline .accent{ color:var(--stain); }
  .info-tg{ display:inline-flex; align-items:center; gap:7px; margin-top:12px; text-decoration:none; color:#fff; background:linear-gradient(135deg,#2AABEE,#229ED9); padding:9px 16px; border-radius:999px; font-family:'Georgia',serif; font-weight:700; font-size:.86rem; }
  .info-tg svg{ width:16px; height:16px; }

  .settings-list{ display:flex; flex-direction:column; gap:10px; }
  .settings-row{ display:flex; align-items:center; gap:12px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:15px; padding:14px 16px; cursor:pointer;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); transition:box-shadow .16s ease, transform .12s ease; }
  .settings-row:active{ transform:scale(.99); box-shadow:inset 0 2px 5px var(--bevel-lo-soft); }
  .settings-row-copy{ flex:1; min-width:0; }
  .settings-row-title{ font-family:'Georgia',serif; font-weight:700; font-size:.98rem; color:var(--ink); }
  .settings-row-sub{ display:block; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; color:var(--ink-dim); margin-top:3px; letter-spacing:.02em; }
  .switch{ position:relative; flex:0 0 auto; width:58px; height:32px; }
  .switch input{ opacity:0; width:0; height:0; position:absolute; }
  .switch-track{ position:absolute; inset:0; border-radius:32px; cursor:pointer; background:var(--track); transition:background .22s ease; }
  .switch-track::before{ content:""; position:absolute; left:3px; top:3px; width:26px; height:26px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.28); transition:transform .24s cubic-bezier(.34,1.56,.64,1); display:flex; align-items:center; justify-content:center; font-size:14px; line-height:1; }
  .switch input:checked + .switch-track{ background:var(--stain-2); }
  .switch input:checked + .switch-track::before{ transform:translateX(26px); }
  .switch.theme-switch .switch-track::before{ content:"☀️"; } .switch.theme-switch input:checked + .switch-track::before{ content:"🌑"; }
  .switch.color-switch input:checked + .switch-track{ background:var(--stain); } .switch.color-switch .switch-track::before{ content:"🔬"; } .switch.color-switch input:checked + .switch-track::before{ content:"🌸"; }
  .settings-row.is-locked{ opacity:.55; cursor:not-allowed; }
  .settings-row.is-locked .switch-track{ cursor:not-allowed; }
  .settings-row.is-locked .settings-row-sub::after{ content:" 🔒"; }
  .settings-note{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; color:var(--ink-dim); text-align:center; margin-top:14px; line-height:1.6; letter-spacing:.03em; }

  .decks-empty{ color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.8rem; text-align:center; padding:28px 6px; line-height:1.7; }
  .deck-card-head{ display:flex; align-items:center; gap:12px; min-width:0; }
  .deck-stack-ico{ position:relative; flex:0 0 auto; width:34px; height:32px; }
  .deck-stack-ico i{ position:absolute; left:2px; top:1px; width:25px; height:29px; border-radius:6px; background:var(--bg-panel); border:1px solid var(--line); font-style:normal;
    box-shadow:0 2px 4px -2px var(--card-shadow), inset 0 1px 0 var(--bevel-hi-soft); }
  .deck-stack-ico i:nth-child(1){ transform:rotate(-10deg) translate(-2px,2px); z-index:1; }
  .deck-stack-ico i:nth-child(2){ transform:rotate(5deg) translate(3px,0); z-index:2; }
  .deck-stack-ico i:nth-child(3){ transform:rotate(-2deg) translate(1px,-2px); z-index:3; background:linear-gradient(155deg, var(--stain-2), var(--stain)); border-color:transparent; box-shadow:0 3px 7px -3px var(--card-shadow), inset 0 1px 0 var(--bevel-hi); }
  .deck-card{ position:relative; overflow:hidden; background:linear-gradient(165deg, var(--bg-panel) 0%, var(--bg-soft) 100%); border:1px solid var(--line-soft); border-radius:18px; padding:15px 16px 14px; margin-bottom:12px;
    box-shadow:0 16px 32px -24px var(--card-shadow), inset 0 1px 0 var(--bevel-hi-soft), inset 0 -1px 0 var(--bevel-lo-soft);
    transition:transform .18s var(--ease-smooth), box-shadow .2s ease, border-color .2s ease; }
  .deck-card:hover{ transform:translateY(-2px); border-color:var(--stain-2); box-shadow:0 22px 44px -24px var(--card-shadow), inset 0 1px 0 var(--bevel-hi-soft), inset 0 -1px 0 var(--bevel-lo-soft); }
  .deck-card-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
  .deck-card-name{ font-family:'Georgia',serif; font-weight:700; font-size:1.02rem; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .deck-card-meta{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.64rem; color:var(--ink-dim); margin-top:3px; letter-spacing:.02em; }
  .deck-badges{ display:flex; gap:6px; margin-top:11px; flex-wrap:wrap; }
  .badge{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.6rem; padding:5px 10px; border-radius:999px; letter-spacing:.03em; border:1px solid transparent; box-shadow:inset 0 1px 0 var(--bevel-hi-soft); }
  .badge.new{ background:rgba(77,107,120,.14); color:var(--stain-2); border-color:rgba(77,107,120,.22); }
  .badge.due{ background:rgba(168,56,47,.14); color:var(--stain); border-color:rgba(168,56,47,.22); }
  .badge.done{ background:rgba(63,143,90,.14); color:var(--easy); border-color:rgba(63,143,90,.22); }
  .deck-actions{ display:flex; gap:8px; margin-top:13px; }
  .deck-actions button{ flex:1; border:1px solid var(--line); background:var(--bg-panel); color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.68rem; letter-spacing:.04em; padding:11px; border-radius:12px; cursor:pointer; text-transform:uppercase;
    box-shadow:inset 0 1px 0 var(--bevel-hi-soft), inset 0 -1px 0 var(--bevel-lo-soft);
    transition:transform .16s var(--ease-smooth), border-color .18s ease, color .18s ease, box-shadow .18s ease; }
  .deck-actions button:active{ transform:scale(.96); box-shadow:inset 0 2px 4px var(--bevel-lo-soft); }
  .deck-open{ position:relative; overflow:hidden; background:linear-gradient(135deg, var(--stain) 0%, var(--stain-2) 130%); color:#fff; border-color:transparent;
    box-shadow:0 10px 20px -12px var(--stain), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 4px var(--bevel-lo); }
  .deck-open::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.45) 48%,transparent 62%);
    background-size:220% 100%; background-position:120% 0; animation:btnShine 4.4s ease-in-out infinite; }
  .deck-open:active{ box-shadow:0 4px 10px -6px var(--stain), inset 0 2px 5px rgba(0,0,0,.28) !important; }
  .deck-stats:hover{ border-color:var(--gold); color:var(--gold); }
  .deck-del{ flex:0 0 46px !important; } .deck-del:hover{ border-color:var(--stain); color:var(--stain); }

  .stat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
  .stat-box{ position:relative; overflow:hidden; background:linear-gradient(165deg, var(--bg-panel) 0%, var(--bg-soft) 100%); border:1px solid var(--line-soft); border-radius:16px; padding:16px 12px; text-align:center;
    box-shadow:0 14px 28px -22px var(--card-shadow), inset 0 1px 0 var(--bevel-hi-soft), inset 0 -2px 5px var(--bevel-lo-soft); }
  .stat-box::before{ content:""; position:absolute; top:0; left:14px; right:14px; height:1px; background:linear-gradient(90deg, transparent, var(--bevel-hi), transparent); }
  .stat-num{ font-family:'Georgia',serif; font-weight:700; font-size:1.9rem; color:var(--ink); line-height:1; text-shadow:0 1px 0 var(--bevel-hi-soft); }
  .stat-num.accent{ color:var(--stain); }
  .stat-label{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.6rem; color:var(--ink-dim); text-transform:uppercase; letter-spacing:.08em; margin-top:7px; }
  .stat-bar-wrap{ margin-top:8px; }
  .stat-bar{ height:14px; border-radius:999px; overflow:hidden; display:flex; background:var(--track); border:1px solid var(--line-soft); box-shadow:inset 0 2px 4px var(--bevel-lo-soft); }
  .stat-bar i{ display:block; height:100%; position:relative; }
  .stat-bar i::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,255,255,.32), transparent 60%); }
  .stat-bar i.new{ background:var(--stain-2); } .stat-bar i.learn{ background:var(--gold); } .stat-bar i.done{ background:var(--easy); }
  .stat-legend{ display:flex; gap:14px; justify-content:center; margin-top:11px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.62rem; color:var(--ink-dim); flex-wrap:wrap; }
  .stat-legend span{ display:inline-flex; align-items:center; gap:5px; }
  .stat-dot{ width:8px; height:8px; border-radius:50%; box-shadow:0 1px 1px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.4); }
  .stat-line{ display:flex; justify-content:space-between; align-items:center; padding:12px 4px; border-bottom:1px dashed var(--line); font-size:.86rem; }
  .stat-line:last-child{ border-bottom:none; }
  .stat-line .k{ color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.74rem; }
  .stat-line .v{ font-family:'Georgia',serif; font-weight:700; color:var(--ink); font-size:1.02rem; }

  /* ===================== 3D СБОРКА КОЛОДЫ ===================== */
  .deck-assemble-overlay{ position:fixed; inset:0; z-index:900; display:flex; flex-direction:column; align-items:center; justify-content:center;
    background:radial-gradient(1100px 640px at 50% 42%, var(--glow-2), transparent 62%), var(--overlay-bg);
    -webkit-backdrop-filter:blur(10px) saturate(1.1); backdrop-filter:blur(10px) saturate(1.1);
    opacity:0; pointer-events:none; transition:opacity .32s ease; }
  .deck-assemble-overlay.show{ opacity:1; pointer-events:auto; }
  .deck-assemble-overlay.leave{ opacity:0; transition:opacity .26s ease; }
  .assemble-stage{ position:relative; width:180px; height:240px; perspective:1500px; }
  .assemble-card{ position:absolute; inset:0; margin:auto; width:150px; height:206px; border-radius:14px;
    background:linear-gradient(150deg, var(--bg-panel) 0%, var(--bg-soft) 100%); border:1px solid var(--line-soft);
    box-shadow:0 20px 40px -16px var(--card-shadow), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 6px var(--bevel-lo);
    transform-style:preserve-3d;
    transform:translate3d(var(--tx,0),var(--ty,0),160px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotateZ(var(--rz,0deg));
    opacity:0; animation:assembleIn .82s cubic-bezier(.16,.9,.24,1) forwards; }
  .assemble-card::before{ content:""; position:absolute; inset:9px; border:1px dashed var(--line); border-radius:9px; opacity:.55; }
  .assemble-card::after{ content:"ПАТАНki"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    font-family:'Georgia',serif; font-style:italic; font-weight:700; font-size:1rem; letter-spacing:.02em; color:var(--stain); opacity:.82; text-align:center; padding:0 14px; }
  @keyframes assembleIn{
    0%{ opacity:0; transform:translate3d(var(--tx,0),var(--ty,0),160px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotateZ(var(--rz,0deg)); }
    45%{ opacity:1; }
    100%{ opacity:1; transform:translate3d(0,0,0) rotateX(0deg) rotateY(0deg) rotateZ(0deg); }
  }
  .assemble-label{ margin-top:30px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-dim);
    opacity:0; animation:assembleLabelIn .5s ease .68s forwards; text-align:center; padding:0 24px; }
  @keyframes assembleLabelIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }
  @media (prefers-reduced-motion: reduce){ .deck-assemble-overlay{ transition:none; } .assemble-card, .assemble-label{ animation:none; opacity:1; transform:none; } }

  /* ===================== ЛУПА ===================== */
  .zoom-overlay{ position:fixed; inset:0; z-index:800; background:rgba(8,10,12,.94); display:none; touch-action:none; overflow:hidden; }
  .zoom-overlay.show{ display:block; }
  .zoom-stage{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
  .zoom-img{ max-width:100%; max-height:100%; transform-origin:center center; will-change:transform; user-select:none; -webkit-user-drag:none; }
  .zoom-bar{ position:absolute; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px; z-index:2; }
  .zoom-hint{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; color:rgba(255,255,255,.7); letter-spacing:.03em; }
  .zoom-close{ display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.14); color:#fff; border:none; border-radius:999px; padding:9px 16px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.72rem; font-weight:700; letter-spacing:.06em; cursor:pointer; }
  .zoom-close:active{ transform:scale(.95); }

  /* ===================== ДЕСКТОПНАЯ ВЕРСИЯ (сайдбар + широкий макет) ===================== */
  .desktop-sidebar{ display:none; }
  .desktop-hint{ display:none; }

  @media (min-width:900px){
    :root{ --ds-sidebar-w:272px; }
    .status-bg, .notch-bar, .appbar{ display:none !important; }

    .desktop-sidebar{
      display:flex; flex-direction:column; position:fixed; top:0; left:0; bottom:0; width:var(--ds-sidebar-w);
      padding:22px 16px 18px; background:var(--bg-panel); border-right:1px solid var(--line); z-index:250; overflow-y:auto;
    }
    .ds-brand{ display:flex; align-items:center; gap:12px; text-align:left; background:none; border:none; cursor:pointer;
      padding:6px 8px 18px; border-bottom:1px solid var(--line); margin-bottom:14px; font-family:inherit; width:100%; }
    .ds-brand-icon{ flex:0 0 auto; width:42px; height:42px; border-radius:12px; background:var(--img-app) center/cover no-repeat, var(--bg-panel); box-shadow:0 4px 12px var(--card-shadow); }
    .ds-brand-text{ min-width:0; display:flex; flex-direction:column; gap:2px; }
    .ds-brand-title{ font-family:'Georgia',serif; font-weight:700; font-size:1.15rem; color:var(--ink); line-height:1; }
    .ds-brand-title .accent{ color:var(--stain); }
    .ds-brand-sub{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.52rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-dim); }

    .ds-nav{ display:flex; flex-direction:column; gap:4px; }
    .ds-nav--bottom{ margin-top:auto; padding-top:14px; border-top:1px solid var(--line); }
    .ds-nav-item{ display:flex; align-items:center; gap:12px; width:100%; padding:11px 12px; border-radius:12px; border:none; background:none;
      color:var(--ink); font-family:'Georgia',serif; font-size:.95rem; font-weight:700; text-align:left; cursor:pointer; text-decoration:none;
      transition:background .15s ease, color .15s ease; }
    .ds-nav-item:hover{ background:var(--bg-soft); }
    .ds-nav-item.is-active{ background:linear-gradient(135deg, var(--stain) 0%, var(--stain-2) 130%); color:#fff; }
    .ds-nav-item--ghost{ font-weight:600; color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.8rem; letter-spacing:.02em; }
    .ds-nav-item--ghost:hover{ color:var(--ink); }
    .ds-nav-icon{ flex:0 0 auto; width:22px; height:22px; display:flex; align-items:center; justify-content:center; font-size:1.05rem; }
    .ds-nav-icon svg{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
    .ds-nav-tg .ds-nav-icon{ color:#2AABEE; }

    .ds-donate-card{ position:relative; overflow:hidden; display:flex; align-items:center; gap:11px; width:100%; margin-top:14px; padding:13px 14px; box-sizing:border-box;
      background:linear-gradient(135deg, var(--pro-1) 0%, var(--pro-2) 130%); border:none; border-radius:14px; cursor:pointer; font-family:inherit;
      color:var(--pro-ink); text-align:left; box-shadow:0 8px 22px -12px var(--pro-glow), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 3px var(--bevel-lo);
      transition:transform .16s var(--ease-smooth), opacity .15s ease, box-shadow .18s ease; animation:proPulse 4.5s ease-in-out 1s infinite; }
    .ds-donate-card::after{ content:""; position:absolute; inset:0; pointer-events:none;
      background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 62%);
      background-size:220% 100%; background-position:120% 0; animation:btnShine 3.2s ease-in-out infinite; }
    .ds-donate-card:hover{ transform:translateY(-1px); } .ds-donate-card:active{ transform:scale(.98); }
    @media (prefers-reduced-motion:reduce){ .ds-donate-card{ animation:none !important; } .ds-donate-card::after{ display:none; } }
    .ds-donate-icon{ flex:0 0 auto; font-size:1.3rem; line-height:1; }
    .ds-donate-text{ display:flex; flex-direction:column; gap:2px; min-width:0; }
    .ds-donate-title{ font-family:'Georgia',serif; font-weight:700; font-size:.9rem; }
    .ds-donate-sub{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-weight:600; font-size:.62rem; opacity:.92; letter-spacing:.02em; }

    /* сдвигаем и расширяем контент */
    .wrap{ margin-left:var(--ds-sidebar-w); max-width:none; width:calc(100% - var(--ds-sidebar-w)); padding:40px 48px 60px; }
    .wrap > *{ max-width:800px; margin-left:auto; margin-right:auto; }
    #donate-card, .tg-card, .home-footer{ display:none; } /* дублируются в сайдбаре */
    .loader-screen{ padding:44px 34px; }

    /* плавающая панель — со сдвигом под сайдбар */
    .action-bar{ left:var(--ds-sidebar-w); background:linear-gradient(to top, var(--bg) 74%, transparent); }
    .action-inner, .rate-group{ max-width:800px; }
    .card-area.active{ padding-bottom:104px; }

    /* подсказка по клавишам */
    .desktop-hint{ display:block; text-align:center; margin-top:10px; color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.64rem; letter-spacing:.03em; opacity:.8; }
    .desktop-hint b{ color:var(--stain-2); font-weight:700; }

    /* колоды — шире и в 2 колонки */
    #decks-overlay .sheet{ max-width:720px; }
    #decks-list-view{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
    #decks-list-view .deck-card{ margin-bottom:0; }
    #decks-list-view .decks-empty{ grid-column:1 / -1; }
    #decks-stats-view{ max-width:560px; margin:0 auto; }

    /* карточка приятнее наводится мышью */
    .card{ transition:box-shadow .2s ease; }
    .card:hover{ box-shadow:0 26px 52px -24px var(--card-shadow); }
  }

  @media (min-width:1500px){
    .wrap > *{ max-width:880px; }
    #decks-list-view{ grid-template-columns:repeat(3, minmax(0,1fr)); }
    #decks-overlay .sheet{ max-width:960px; }
  }

  /* QR-модалка */
  .qr-box{ display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; }
  .qr-img{ width:230px; height:230px; border-radius:14px; background:#fff; padding:10px; box-shadow:0 10px 26px -14px var(--card-shadow); background-image:var(--img-qr); background-size:210px 210px; background-repeat:no-repeat; background-position:center; }
  .qr-lead{ font-family:'Georgia',serif; font-style:italic; color:var(--ink); font-size:1rem; }
  .qr-sub{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.72rem; color:var(--ink-dim); letter-spacing:.02em; line-height:1.6; }
  .qr-support{ display:inline-flex; align-items:center; gap:9px; background:linear-gradient(135deg, var(--stain), var(--stain-2)); color:#fff; text-decoration:none;
    padding:12px 22px; border-radius:13px; font-family:'Georgia',serif; font-weight:700; font-size:.95rem; box-shadow:0 8px 20px -10px var(--card-shadow); }
  .qr-support:active{ transform:scale(.97); }
  .qr-phone{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.86rem; color:var(--ink); }
  .qr-phone a{ color:var(--stain-2); text-decoration:none; font-weight:700; }

  /* ===================== КОНСТРУКТОР ===================== */
  .editor-screen{ display:none; }
  .editor-screen.active{ display:block; animation:cardIn .4s cubic-bezier(.22,.8,.32,1) both; }
  .editor-head{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
  .ed-back{ background:none; border:1px solid var(--line); color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.72rem; letter-spacing:.03em; cursor:pointer; padding:10px 14px; border-radius:10px; transition:border-color .18s, color .18s; }
  .ed-back:hover{ border-color:var(--stain-2); color:var(--stain-2); }
  .ed-deck-name{ flex:1; min-width:180px; background:var(--bg-panel); border:1px solid var(--line); color:var(--ink); font-family:'Georgia',serif; font-size:1.15rem; padding:12px 14px; border-radius:11px; }
  .ed-deck-name:focus{ outline:none; border-color:var(--stain-2); }
  .ed-head-actions{ display:flex; gap:8px; }
  .ed-btn{ border:1px solid var(--line); background:var(--bg-panel); color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:11px 16px; border-radius:11px; cursor:pointer; transition:transform .12s, filter .18s, border-color .18s, color .18s; }
  .ed-btn:active{ transform:scale(.96); }
  .ed-btn.ed-accent{ background:var(--stain); border-color:var(--stain); color:#fff; box-shadow:0 8px 18px -10px var(--stain); }
  .ed-btn.ed-accent:hover{ filter:brightness(1.08); }
  .ed-btn.ed-ghost:hover{ border-color:var(--gold); color:var(--gold); }
  .ed-status{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.72rem; color:var(--gold); min-height:14px; margin-bottom:10px; letter-spacing:.02em; }
  .ed-status.err{ color:var(--stain); }
  .ed-cards{ display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
  .ed-card{ display:flex; gap:13px; align-items:flex-start; background:var(--bg-panel); border:1px solid var(--line); border-left:3px solid transparent; border-radius:13px; padding:14px 15px;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft), 0 8px 20px -18px var(--card-shadow); transition:box-shadow .18s ease, border-color .18s ease; }
  .ed-card:hover{ border-left-color:var(--stain-2); }
  .ed-card-num{ flex:0 0 auto; width:30px; height:30px; border-radius:9px; background:linear-gradient(155deg, var(--bg-soft), var(--bg-panel)); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.7rem; color:var(--ink-dim); font-weight:700; }
  .ed-card-body{ flex:1; min-width:0; }
  .ed-card-qrow{ display:flex; align-items:center; gap:7px; }
  .ed-card-q{ flex:1; min-width:0; font-family:'Georgia',serif; font-size:.98rem; color:var(--ink); margin-bottom:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .ed-card-q-fallback{ font-style:italic; color:var(--ink-dim); }
  .ed-card-imgtag{ flex:0 0 auto; font-size:.8rem; opacity:.85; line-height:1; margin-bottom:4px; }
  .ed-card-a{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.7rem; color:var(--ink-dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .ed-card-imgs{ display:flex; gap:5px; margin-top:8px; }
  .ed-card-imgs img{ width:34px; height:34px; object-fit:cover; border-radius:6px; border:1px solid var(--line); }
  .ed-card-imgs .more{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.62rem; color:var(--ink-dim); align-self:center; }
  .ed-card-acts{ display:grid; grid-template-columns:1fr 1fr; gap:2px; flex:0 0 auto; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:11px; padding:3px; }
  .ed-card-acts button{ width:28px; height:26px; border:none; background:transparent; color:var(--ink-dim); border-radius:7px; cursor:pointer; font-size:.76rem; transition:background-color .16s, color .16s, transform .12s; }
  .ed-card-acts button:active{ transform:scale(.9); }
  .ed-card-acts button:hover{ background:var(--bg-panel); color:var(--stain-2); }
  .ed-card-acts .ed-c-edit:hover{ color:var(--gold); }
  .ed-card-acts .ed-c-del:hover{ background:rgba(224,69,90,.14); color:#e0455a; }
  .ed-add-card{ width:100%; border:1.5px dashed var(--line); background:transparent; color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:16px; border-radius:13px; cursor:pointer; transition:border-color .18s, color .18s; }
  .ed-add-card:hover{ border-color:var(--stain-2); color:var(--stain-2); }
  .ed-empty{ text-align:center; color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.78rem; padding:24px 6px; line-height:1.7; }

  /* редактор одной карточки */
  .ce-section{ margin-bottom:18px; }
  .ce-label{ display:flex; align-items:center; gap:8px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim); margin-bottom:10px; }
  .ce-label-dot{ flex:0 0 auto; width:8px; height:8px; border-radius:50%; background:var(--stain-2); box-shadow:0 0 0 3px color-mix(in srgb, var(--stain-2) 20%, transparent); }
  .ce-label-dot-tags{ background:var(--gold); box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 20%, transparent); }
  .ce-field{ background:var(--bg-soft); border:1px solid var(--line-soft); border-left:3px solid var(--stain-2); border-radius:14px; padding:14px 15px 15px;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); }
  .ce-field-back{ border-left-color:var(--easy); }
  .ce-field-back .ce-label-dot{ background:var(--easy); box-shadow:0 0 0 3px color-mix(in srgb, var(--easy) 20%, transparent); }
  .ce-field .ce-text{ background:var(--bg-panel); }
  .ce-text{ width:100%; min-height:88px; resize:vertical; background:var(--bg-soft); border:1px solid var(--line); color:var(--ink); font-family:'Georgia',serif; font-size:1rem; line-height:1.55; padding:12px 14px; border-radius:11px; }
  .ce-text:focus{ outline:none; border-color:var(--stain-2); }

  /* заметка к карточке */
  .note-context{ display:flex; align-items:center; gap:10px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:11px; padding:9px 13px; margin-bottom:14px;
    box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); }
  .note-context:empty{ display:none; }
  .note-context-num{ flex:0 0 auto; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.66rem; font-weight:700; letter-spacing:.03em; color:var(--stain-2); background:color-mix(in srgb, var(--stain-2) 14%, transparent); padding:3px 8px; border-radius:999px; }
  .note-context-txt{ flex:1; min-width:0; font-family:'Georgia',serif; font-style:italic; font-size:.86rem; color:var(--ink-dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .note-textwrap{ position:relative; }
  .note-text{ padding-bottom:28px; }
  .note-counter{ position:absolute; right:12px; bottom:9px; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.6rem; color:var(--ink-dim); letter-spacing:.03em; opacity:.75; pointer-events:none; }
  .ce-tags{ width:100%; background:var(--bg-soft); border:1px solid var(--line); color:var(--ink); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.85rem; padding:11px 14px; border-radius:11px; }
  .ce-tags:focus{ outline:none; border-color:var(--stain-2); }
  .ce-imgs{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
  .ce-imgs:empty{ margin-top:0; }
  .ce-thumb{ position:relative; width:76px; height:76px; border-radius:9px; overflow:hidden; border:1px solid var(--line); }
  .ce-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
  .ce-thumb-del{ position:absolute; top:3px; right:3px; width:22px; height:22px; border:none; border-radius:50%; background:rgba(20,24,26,.72); color:#fff; font-size:.8rem; cursor:pointer; display:flex; align-items:center; justify-content:center; }
  .ce-thumb-del:active{ transform:scale(.9); }
  .ce-addimg{ display:inline-flex; align-items:center; gap:7px; margin-top:10px; background:transparent; border:1px solid var(--line); color:var(--ink-dim); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,'Courier New',monospace; font-size:.7rem; font-weight:700; letter-spacing:.03em; padding:9px 14px; border-radius:10px; cursor:pointer; transition:border-color .18s, color .18s; }
  .ce-addimg-ico{ font-size:.85rem; opacity:.9; }
  .ce-addimg:hover{ border-color:var(--stain-2); color:var(--stain-2); }
  .ce-actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:6px; }

  @media (prefers-reduced-motion:reduce){ *{ animation-duration:.001s !important; transition-duration:.05s !important; } }

/* ================= ПОДПИСКА / АККАУНТ (общий бэкенд с MedTest/PharmaApp) ================= */
.btn{ border:1px solid var(--line); background:var(--bg-panel); color:var(--ink); font-size:.78rem; font-weight:700; letter-spacing:.02em; padding:12px 16px; border-radius:12px; cursor:pointer;
  box-shadow:inset 0 1px 0 var(--bevel-hi-soft), inset 0 -1px 0 var(--bevel-lo-soft);
  transition:transform .16s var(--ease-smooth), filter .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease; }
.btn:active{ transform:scale(.96); box-shadow:inset 0 2px 5px var(--bevel-lo-soft); }
.btn.accent{ position:relative; overflow:hidden; background:linear-gradient(135deg,var(--pill-1),var(--pill-2)); border-color:transparent; color:#fff;
  box-shadow:0 10px 22px -12px var(--pill-1), inset 0 1px 0 var(--bevel-hi), inset 0 -2px 3px var(--bevel-lo); }
.btn.accent::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.4) 48%,transparent 62%);
  background-size:220% 100%; background-position:120% 0; animation:btnShine 4s ease-in-out infinite; }
.btn.accent:hover{ filter:brightness(1.07); }
.btn.accent:active{ box-shadow:inset 0 2px 5px rgba(0,0,0,.28); }
.btn.ghost:hover{ border-color:var(--stain-2); color:var(--stain-2); }
.btn.danger:hover{ border-color:#e0455a; color:#e0455a; }
.btn.block{ width:100%; text-align:center; }
.btn:disabled{ opacity:.45; cursor:not-allowed; transform:none !important; }
.field-label{ font-size:.72rem; font-weight:800; color:var(--ink-dim); text-transform:uppercase; letter-spacing:.06em; margin:14px 0 6px; text-shadow:0 1px 0 var(--bevel-hi-soft); }
.field-label:first-child{ margin-top:0; }
.field-hint{ font-size:.7rem; color:var(--ink-dim); margin-top:4px; line-height:1.5; }
.text-input{ width:100%; box-sizing:border-box; background:var(--bg-soft); border:1px solid var(--line); color:var(--ink); font-size:.92rem; padding:12px 14px; border-radius:12px; font-family:inherit;
  box-shadow:inset 0 2px 4px var(--bevel-lo-soft), inset 0 -1px 0 var(--bevel-hi-soft); transition:border-color .18s ease, box-shadow .18s ease; }
.text-input:focus{ outline:none; border-color:var(--stain-2); box-shadow:inset 0 2px 4px var(--bevel-lo-soft), 0 0 0 3px color-mix(in srgb, var(--stain-2) 18%, transparent); }
.auth-gate-header{ text-align:center; padding:20px 6px 26px; }
.auth-gate-icon{ width:64px; height:64px; margin:0 auto 14px; border-radius:20px; background:linear-gradient(135deg,var(--stain),var(--stain-2)); }
.auth-gate-header h2{ font-size:1.3rem; font-weight:800; margin-bottom:6px; }
.auth-gate-header h2 .accent{ color:var(--stain); }
.auth-gate-header p{ font-size:.82rem; color:var(--ink-dim); line-height:1.55; max-width:320px; margin:0 auto; }
.auth-tabs{ display:flex; gap:8px; margin-bottom:14px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:12px; padding:4px; }
.auth-tab{ flex:1; text-align:center; padding:9px 0; border-radius:9px; font-size:.84rem; font-weight:700; cursor:pointer; color:var(--ink-dim); }
.auth-tab.is-active{ background:linear-gradient(135deg,var(--stain),var(--stain-2)); color:#fff; }
.auth-form{ display:flex; flex-direction:column; gap:10px; }
.auth-form[hidden]{ display:none; }
.auth-error{ color:#e0455a; font-size:.8rem; min-height:1em; }
.auth-status-card{ display:flex; align-items:center; gap:12px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:14px; padding:14px; }
.auth-status-card.is-pro{ background:linear-gradient(135deg, rgba(154,119,38,0.16), var(--bg-soft)); border-color:var(--gold); }
.auth-status-ico{ width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--stain),var(--stain-2)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; flex:0 0 auto; }
.auth-status-card.is-pro .auth-status-ico{ background:linear-gradient(135deg,var(--gold),#c9a24b); }
.auth-status-text{ flex:1; display:flex; flex-direction:column; gap:1px; min-width:0; }
.auth-status-text b{ display:block; font-size:.9rem; }
.auth-status-text span{ font-size:.78rem; color:var(--ink-dim); }
.auth-logout-row{ display:flex; flex-direction:column; gap:8px; margin-top:18px; }
.pro-badge-chip{ display:inline-flex; align-items:center; gap:4px; font-size:.62rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; background:linear-gradient(135deg,var(--pro-1),var(--pro-2)); color:var(--pro-ink); padding:3px 8px; border-radius:20px; margin-top:3px; width:fit-content; box-shadow:inset 0 1px 0 rgba(255,255,255,.4); }
.price-pill{ display:inline-flex; align-items:center; font-size:.72rem; font-weight:800; color:#fff; background:rgba(255,255,255,0.22); padding:3px 9px; border-radius:20px; margin-left:8px; }
.admin-section-title{ font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; margin:22px 0 10px; color:var(--ink-dim); }
.admin-section-title:first-child{ margin-top:0; }
.admin-form{ display:flex; flex-direction:column; gap:10px; margin-bottom:8px; }
.admin-result{ font-size:.82rem; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:10px; padding:10px 12px; margin-top:6px; }
.admin-users-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin:2px 0 8px; }
.admin-users-count{ font-size:.76rem; color:var(--ink-dim); }
.admin-users-toolbar .btn{ padding:6px 12px; font-size:.78rem; }
.admin-users-list{ display:flex; flex-direction:column; gap:8px; max-height:360px; overflow-y:auto; }
.admin-user-row{ background:var(--bg-panel); border:1px solid var(--line-soft); border-radius:12px; padding:10px 12px; display:flex; flex-direction:column; gap:6px;
  box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft), 0 3px 10px -8px var(--card-shadow); }
.admin-user-top{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.admin-user-id{ font-weight:800; font-size:.86rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-user-badge{ flex:0 0 auto; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.03em; border:1px solid var(--line); border-radius:20px; padding:2px 8px; color:var(--ink-dim); }
.admin-user-badge.is-pro{ background:linear-gradient(135deg,var(--gold),#c9a24b); color:#3a2a06; border-color:transparent; }
.admin-user-meta{ font-size:.74rem; color:var(--ink-dim); line-height:1.5; }
.admin-user-controls{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.admin-user-controls input[type="date"]{ flex:1; min-width:120px; font-family:inherit; font-size:.78rem; background:var(--bg-soft); border:1px solid var(--line); border-radius:8px; padding:6px 8px; color:var(--ink); }
.admin-user-inf-label{ display:flex; align-items:center; gap:4px; font-size:.78rem; color:var(--ink-dim); white-space:nowrap; }
.admin-user-controls .btn{ padding:7px 10px; font-size:.76rem; flex:0 0 auto; }
.admin-user-grant-btn, .admin-user-revoke-btn{ flex:0 0 auto; transition:filter .16s ease, transform .12s ease; }
.admin-user-grant-btn:active, .admin-user-revoke-btn:active{ transform:scale(.96); }
.admin-user-grant-btn{ background:var(--stain); color:#fff; border-color:var(--stain); }
.admin-user-revoke-btn{ background:rgba(224,69,90,0.15); color:#e0455a; border-color:rgba(224,69,90,0.35); }
.admin-user-grant-btn:hover, .admin-user-revoke-btn:hover{ filter:brightness(1.06); }
.stat-cards{ display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; }
.stat-card{ flex:1; min-width:100px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:14px; padding:14px 12px; text-align:center; }
.stat-card b{ display:block; font-size:1.4rem; font-weight:800; color:var(--ink); }
.stat-card span{ font-size:.66rem; color:var(--ink-dim); text-transform:uppercase; letter-spacing:.03em; }
.pro-promo-row{ display:flex; gap:8px; margin-top:4px; }
.pro-promo-row .text-input{ flex:1; }
.premium-toast{ position:fixed; left:50%; bottom:28px; transform:translate(-50%,20px); background:var(--ink); color:var(--bg-panel); padding:11px 18px; border-radius:14px; font-size:.82rem; font-weight:700; z-index:1200; opacity:0; transition:opacity .28s ease, transform .28s ease; pointer-events:none; max-width:80vw; text-align:center; }
.premium-toast.is-shown{ opacity:1; transform:translate(-50%,0); }
.premium-toast.is-leaving{ opacity:0; }
.premium-success-flash{ animation:ptFlash .7s ease; }
@keyframes ptFlash{ 0%{ box-shadow:0 0 0 0 rgba(154,119,38,.5);} 100%{ box-shadow:0 0 0 14px rgba(154,119,38,0);} }

.pro-hero{ text-align:center; padding:6px 4px 18px; }
.pro-hero-icon{ font-size:2.4rem; margin-bottom:6px; }
.pro-hero-price{ display:inline-flex; align-items:center; gap:6px; background:linear-gradient(135deg,var(--gold),#c9a24b); color:#3a2a06; font-weight:800; padding:6px 16px; border-radius:20px; font-size:1.05rem; margin-top:8px; }
.pro-feature-list{ display:flex; flex-direction:column; gap:10px; margin:16px 0; }
.pro-feature-item{ display:flex; align-items:center; gap:12px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:14px; padding:12px 14px; font-size:.86rem;
  box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); }
.pro-feature-ico{ font-size:1.3rem; flex:0 0 auto; }
.pro-price-note-inline{ text-align:center; font-size:.76rem; color:var(--ink-dim); margin-top:8px; }
/* --- выбор тарифа ПАТАНки PRO --- */
.plan-picker{ display:flex; gap:8px; margin:16px 0 4px; }
.plan-card{ flex:1; text-align:center; padding:12px 6px; border-radius:14px; border:1.5px solid var(--line-soft); background:var(--bg-soft); cursor:pointer; transition:border-color .2s, background .2s, transform .15s, box-shadow .2s;
  box-shadow:inset 0 1px 1px var(--bevel-hi-soft), inset 0 -1px 2px var(--bevel-lo-soft); }
.plan-card:active{ transform:scale(.96); box-shadow:inset 0 2px 6px var(--bevel-lo-soft); }
.plan-card.is-active{ border-color:var(--gold); background:var(--bg-panel); box-shadow:inset 0 1px 1px var(--bevel-hi-soft), 0 6px 16px -8px var(--card-shadow), 0 0 0 1px var(--gold); }
.plan-card-label{ font-weight:800; font-size:.86rem; color:var(--ink); }
.plan-card-price{ font-weight:800; font-size:1.05rem; margin-top:3px; background:linear-gradient(135deg,var(--gold),var(--stain)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.plan-card-sub{ font-size:.66rem; color:var(--ink-dim); margin-top:2px; line-height:1.3; }

/* --- инструкция ручной оплаты (СБП + мессенджеры) --- */
.pay-step{ display:flex; gap:12px; padding:14px 0; border-bottom:1px solid var(--line-soft); }
.pay-step:last-of-type{ border-bottom:none; }
.pay-step-num{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,var(--stain),var(--stain-2)); color:#fff; font-weight:800; font-size:.78rem; display:flex; align-items:center; justify-content:center; }
.pay-step-body{ flex:1; min-width:0; }
.pay-step-title{ font-size:.86rem; font-weight:700; margin-bottom:8px; line-height:1.4; }
.pay-copy-row{ display:flex; align-items:center; gap:8px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:12px; padding:10px 12px; }
.pay-copy-value{ flex:1; min-width:0; font-size:.94rem; font-weight:700; font-variant-numeric:tabular-nums; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pay-copy-btn{ flex:0 0 auto; border:1px solid var(--line); background:var(--bg-panel); color:var(--ink); border-radius:9px; padding:7px 10px; font-size:.74rem; font-weight:700; cursor:pointer; white-space:nowrap; }
.pay-copy-btn:active{ transform:translateY(1px); }
.pay-copy-btn.is-copied{ background:var(--stain); color:#fff; border-color:var(--stain); }
.pay-banks{ font-size:.72rem; color:var(--ink-dim); margin-top:6px; }
.pay-contact-row{ display:flex; gap:8px; flex-wrap:wrap; }
.pay-contact-btn{ flex:1; min-width:96px; display:flex; align-items:center; justify-content:center; gap:6px; padding:10px 8px; border-radius:12px; font-size:.8rem; font-weight:700; text-decoration:none; color:#fff; }
.pay-contact-ico{ font-size:1rem; }
.pay-contact-max{ background:linear-gradient(135deg,#7c3aed,#a855f7); }
.pay-contact-vk{ background:linear-gradient(135deg,#0077ff,#2f9dff); }
.pay-contact-tg{ background:linear-gradient(135deg,#229ed9,#4fc3f7); }
.pay-note{ margin-top:16px; font-size:.72rem; color:var(--ink-dim); line-height:1.5; text-align:center; }

/* --- платные колоды в «Мои колоды» --- */
.premium-decks-section{ margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line-soft); grid-column:1 / -1; }
.deck-card-locked{ opacity:.72; }
.deck-locked-btn{ opacity:.9; }
.premium-decks-title{ font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-dim); margin-bottom:10px; }
.premium-deck-card{ display:flex; align-items:center; gap:12px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:14px; padding:12px 14px; margin-bottom:8px; cursor:pointer; transition:transform .14s ease, border-color .18s ease; }
.premium-deck-card:active{ transform:scale(.98); }
.premium-deck-card.is-locked{ opacity:.82; }
.premium-deck-ico{ font-size:1.5rem; flex:0 0 auto; }
.premium-deck-info{ flex:1; min-width:0; }
.premium-deck-name{ font-weight:700; font-size:.88rem; }
.premium-deck-meta{ font-size:.72rem; color:var(--ink-dim); margin-top:2px; }
.premium-deck-lock{ flex:0 0 auto; font-size:1.1rem; color:var(--ink-dim); }

/* --- окно входа как отдельный полноэкранный шаг, когда доступ обязателен --- */
.overlay.gate-lock{ align-items:stretch; justify-content:stretch; padding-top:0; background:
    radial-gradient(760px 480px at 15% -10%, var(--glow-1), transparent 60%),
    radial-gradient(620px 420px at 100% 110%, var(--glow-2), transparent 55%),
    var(--bg); }
.overlay.gate-lock .sheet-close{ display:none; }
.overlay.gate-lock .sheet-header{ border-bottom:none; padding-bottom:0; }
.overlay.gate-lock .sheet{ max-width:none; width:100%; height:100%; height:100dvh; max-height:none;
  border-radius:0; padding-bottom:env(safe-area-inset-bottom,0px); padding-top:env(safe-area-inset-top,0px);
  justify-content:center; }
.overlay.gate-lock .sheet-body{ display:flex; flex-direction:column; justify-content:center; flex:1; }
.overlay.gate-lock .sheet-grabber{ display:none; }
@media (min-width:600px){ .overlay.gate-lock .sheet{ border-radius:0; max-height:none; } }

/* --- согласие с юридическими документами при регистрации --- */
.auth-consent{ display:flex; align-items:flex-start; gap:9px; font-size:.76rem; line-height:1.45; color:var(--ink-dim); padding:2px 1px; }
.auth-consent input{ flex:0 0 auto; width:17px; height:17px; margin-top:1px; accent-color:var(--stain); cursor:pointer; }
.auth-consent a{ color:var(--stain); font-weight:700; cursor:pointer; text-decoration:underline; text-underline-offset:2px; }
/* --- юридические документы --- */
#ov-legal{ z-index:750; }
.legal-tabs{ display:flex; gap:6px; margin-bottom:14px; background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:12px; padding:4px; }
.legal-tab{ flex:1; text-align:center; padding:9px 4px; border-radius:9px; font-size:.72rem; font-weight:700; cursor:pointer; color:var(--ink-dim); line-height:1.25; }
.legal-tab.is-active{ background:var(--bg-panel); color:var(--ink); }
.legal-doc{ font-size:.85rem; line-height:1.62; color:var(--ink); }
.legal-doc h4{ font-size:.95rem; font-weight:800; margin:18px 0 8px; color:var(--ink); }
.legal-doc h4:first-child{ margin-top:0; }
.legal-doc p{ margin:0 0 10px; }
.legal-doc .legal-meta{ color:var(--ink-dim); font-size:.78rem; margin-bottom:16px; }
.legal-doc .legal-disclaimer{ background:var(--bg-soft); border:1px solid var(--line-soft); border-radius:12px; padding:12px 14px; margin-bottom:16px; font-weight:600; }
.legal-doc ul, .legal-doc ol{ margin:0 0 10px; padding-left:20px; }
.legal-doc li{ margin-bottom:4px; }

/* --- конфетти при активации PRO --- */
.unlock-confetti-host{ position:fixed; inset:0; z-index:9500; pointer-events:none; overflow:hidden; }
.confetti{ position:absolute; top:-8px; width:8px; height:14px; border-radius:2px; opacity:.95; animation:confettiFallFull 1.4s ease-in forwards; pointer-events:none; }
@keyframes confettiFallFull{ 0%{ transform:translate(0,-10px) rotate(0deg); opacity:1; } 100%{ transform:translate(var(--drift,0px), 100vh) rotate(640deg); opacity:0; } }

/* --- панель менеджера / доп. поля в списке аккаунтов --- */
.admin-price-row{ display:flex; align-items:center; gap:10px; }
.admin-price-row-label{ flex:0 0 62px; font-size:.78rem; color:var(--ink-dim); }
.admin-user-devices{ font-weight:700; }
.admin-user-devices.is-full{ color:#e0455a; }
.admin-user-controls-admin{ margin-top:6px; padding-top:6px; border-top:1px dashed var(--line-soft); }

/* PATANki 2.1 — PharmApp interaction and surface language, crimson palette. */
:root{--bg:#eeeae7;--bg-panel:#faf8f6;--bg-soft:#e8e1dd;--ink:#302b2b;--ink-dim:rgba(48,43,43,.63);--stain:#a74743;--stain-2:#be655b;--line:rgba(69,43,40,.14);--line-soft:rgba(69,43,40,.09);--shine:rgba(255,255,255,.95);--lower:rgba(74,40,34,.13);--card-shadow:rgba(68,37,32,.17);--chrome:rgba(247,243,240,.88);--tint:#ead3ce;--ease-smooth:cubic-bezier(.22,1,.36,1);--pro-1:#f4dfad;--pro-2:#dab16c;--pro-ink:#614824;--ds-sidebar-w:248px;font-family:Onest,sans-serif;font-size:16px;color-scheme:light}
html.dark{--bg:#14191c;--bg-panel:#20282c;--bg-soft:#192125;--ink:#f0ede9;--ink-dim:rgba(240,237,233,.6);--stain:#e59a8d;--stain-2:#c5695d;--line:rgba(218,226,224,.14);--line-soft:rgba(218,226,224,.08);--shine:rgba(239,229,222,.12);--lower:rgba(0,0,0,.45);--card-shadow:rgba(0,0,0,.35);--chrome:rgba(25,32,36,.91);--tint:#3b3030;color-scheme:dark}
html.pink{--bg:#f3e9ef;--bg-panel:#fff6fa;--bg-soft:#e9dbe5;--ink:#503447;--ink-dim:rgba(80,52,71,.64);--stain:#a54f7d;--stain-2:#cb8bb3;--tint:#ead0df;--chrome:rgba(250,240,246,.9)}html.dark.pink{--bg:#1e1720;--bg-panel:#302432;--bg-soft:#271d2a;--ink:#f4eaf0;--ink-dim:rgba(244,234,240,.64);--tint:#493245;--chrome:rgba(37,27,39,.92);--stain:#e1a1c5}
html,body{min-height:100%;height:auto;overflow-x:clip}body{font-family:inherit;background:var(--bg);color:var(--ink);background-image:none;letter-spacing:0;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,label[for=file-input]{touch-action:pan-y pinch-zoom}button{cursor:pointer}svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{text-wrap:pretty}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance}button:focus-visible,a:focus-visible,label:focus-within{outline:2px solid var(--stain);outline-offset:4px}[hidden]{display:none!important}
.appbar{position:fixed;inset:0 0 auto;height:calc(72px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 0 0;background:var(--chrome);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border:0;border-bottom:1px solid var(--line-soft);box-shadow:none!important;z-index:500;transform:none}.appbar::after{display:none}.appbar-inner{height:72px;max-width:1180px;margin:auto;padding:0 24px;gap:10px}.brand{display:flex;align-items:center;gap:10px}.brand img{border-radius:12px;box-shadow:0 3px 10px var(--card-shadow)}.brand h1{font:600 1.2rem/1.1 Onest,sans-serif;letter-spacing:-.05em}.brand small{font:400 .59rem/1.4 Onest,sans-serif;letter-spacing:0;text-transform:none;color:var(--ink-dim);margin-top:3px;display:block}.top-actions{gap:8px}.icon-btn{width:42px;height:42px;min-width:42px;display:grid;place-items:center;background:linear-gradient(145deg,var(--bg-panel),var(--bg-soft));border:0;border-radius:50%;box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower),0 5px 10px -7px var(--card-shadow);color:var(--ink)}.icon-btn svg{width:20px;height:20px}.icon-btn:hover{transform:translateY(-2px);background:var(--bg-panel)}
.wrap{max-width:1080px;margin:0 auto;padding:calc(102px + env(safe-area-inset-top)) 28px 120px}.loader-screen.learning-home{display:block;min-height:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;text-align:left;overflow:visible}.loader-screen::before{display:none}.home-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.welcome-line{font-size:.77rem;color:var(--ink-dim);margin-bottom:10px}.learning-home h2{font:600 clamp(1.9rem,3.8vw,2.7rem)/1.08 Onest,sans-serif;letter-spacing:-.045em;margin:0}.learning-home h2 span{color:var(--ink-dim)}.home-seal{width:58px;height:58px;border-radius:21px;background:linear-gradient(145deg,var(--bg-panel),var(--bg-soft));display:grid;place-items:center;color:var(--stain);transform:rotate(9deg);box-shadow:inset 0 2px 1px var(--shine),inset 0 -3px 5px var(--lower),0 10px 19px -13px var(--card-shadow)}.home-seal svg{width:28px;height:28px}
.study-feature{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr;min-height:315px;border-radius:30px;padding:32px;color:#fff7f1;background:radial-gradient(ellipse at 90% 0%,#e49f8460,transparent 65%),linear-gradient(120deg,#6b2d2d,#a3554c);box-shadow:inset 0 1.5px 1px #ffe3d844,inset 0 -4px 8px #34191944,0 16px 30px -22px #652c2b99}.study-feature::after{content:'';position:absolute;inset:auto -25% -190px 30%;height:310px;border:1px solid #ffdcc022;border-radius:50%;transform:rotate(-20deg);pointer-events:none}.feature-copy{position:relative;z-index:2;align-self:center}.feature-caption{font-size:.66rem;opacity:.7}.feature-copy h3{font-size:clamp(1.45rem,2.5vw,2.1rem);font-weight:600;line-height:1.13;letter-spacing:-.045em;margin:18px 0 12px}.feature-copy p{font-size:.81rem;line-height:1.55;color:#fff3e9ad;margin-bottom:23px}.my-decks-btn.home-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin:0;padding:13px 18px;font:600 .78rem/1.3 Onest,sans-serif;letter-spacing:0;background:#fbf2ec;color:#733a33;border:0;border-radius:999px;box-shadow:inset 0 1px 0 white,inset 0 -2px 4px #8a4d3525,0 7px 15px #3c171b30}.home-cta svg{width:17px;height:17px;transition:transform .52s var(--ease-smooth)}.home-cta:hover svg{transform:translateX(4px)}.home-cta:hover{transform:translateY(-2px);filter:none}.home-cta::after{display:none}.feature-note{display:block;margin-top:11px;font-size:.6rem;max-width:30ch;color:#fff3e999}
.specimen-stack{position:relative;align-self:center;height:255px;width:100%;perspective:800px;pointer-events:none}.specimen-card{position:absolute;left:50%;top:50%;width:154px;height:218px;border-radius:20px;box-shadow:inset 0 2px 1px #fff9,inset 0 -3px 5px #602e2833,0 18px 25px -12px #2c101b88}.card-back-two{background:#a18176;transform:translate(-35%,-49%) rotate(18deg)}.card-back-one{background:#ddbaaa;transform:translate(-57%,-51%) rotate(-13deg)}.card-front{padding:19px 17px;display:flex;flex-direction:column;background:linear-gradient(145deg,#fff4e9,#e7cbb8);color:#844b3e;transform:translate(-48%,-53%) rotate(6deg);transition:transform .7s var(--ease-smooth)}.study-feature:hover .card-front{transform:translate(-48%,-56%) rotate(2deg)}.specimen-label{font-size:.62rem;font-weight:600;letter-spacing:-.03em}.specimen-symbol{margin:auto;display:grid;place-items:center;width:64px;height:64px;border-radius:22px;background:linear-gradient(145deg,#dfb8a5,#f9e4d3);box-shadow:inset 2px 3px 7px #864f3233,inset -1px -1px 1px #fff9}.specimen-symbol svg{width:34px;height:34px;stroke-width:1.3}.specimen-name{font-size:.86rem;font-weight:600;line-height:1.25;letter-spacing:-.025em}.specimen-footer{font-size:.52rem;opacity:.6;margin-top:10px}.specimen-shadow{position:absolute;left:20%;right:0;bottom:0;height:25px;border-radius:50%;background:#29111b70;filter:blur(13px)}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 14px;gap:12px}.section-title h3{font-size:1rem;font-weight:600;line-height:1.2}.section-title>span{font-size:.65rem;color:var(--ink-dim)}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.practice-grid>div{position:relative;display:flex;flex-direction:column;padding:18px 20px;background:var(--bg-panel);border-radius:21px;box-shadow:inset 0 1px 0 var(--shine),0 9px 20px -18px var(--card-shadow)}.practice-grid strong{font-size:1.9rem;line-height:1.2;font-weight:600;letter-spacing:-.045em}.practice-grid>div>span:last-child{font-size:.69rem;color:var(--ink-dim);margin-top:7px}.practice-icon{position:absolute;right:17px;top:18px;color:var(--stain);opacity:.85}.practice-icon svg{width:20px;height:20px}.home-tools{margin-top:16px;background:var(--bg-panel);border-radius:23px;padding:0 18px;box-shadow:inset 0 1px 0 var(--shine)}.home-upload-wrap{margin:0;display:block!important}.home-tools .tool-row{width:100%;display:flex;align-items:center;gap:13px;min-height:80px;background:none;background-image:none;border:0;border-radius:0;box-shadow:none;padding:15px 0;color:var(--ink);font-family:inherit;letter-spacing:0;text-transform:none;text-align:left;margin:0;cursor:pointer}.tool-row>span:nth-child(2){flex:1;min-width:0}.tool-row b{font-size:.81rem;font-weight:600;display:block;line-height:1.4}.tool-row small{display:block;font-size:.64rem;color:var(--ink-dim);margin-top:4px;line-height:1.4}.tool-row>.tool-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:var(--bg-soft);color:var(--stain)}.tool-row>svg{width:17px;color:var(--ink-dim)}.home-tools #home-builder-btn{border-top:1px solid var(--line-soft);background:none;color:var(--ink)}.tool-pro{font-size:.53rem;padding:4px 7px;border-radius:6px;color:var(--stain);background:var(--tint)}.status-line:empty{display:none}.status-line{font-size:.75rem;margin-top:14px}
#home-pro-banner{display:flex;align-items:center;gap:14px;text-align:left;width:100%;min-height:96px;padding:19px 22px;margin:22px 0 0;background:linear-gradient(115deg,#f5e3bc,#e6c484);border:0;border-radius:24px;box-shadow:inset 0 2px 1px #fff8,inset 0 -3px 5px #86602633,0 12px 22px -20px #765832;color:#664a2b;animation:none}#home-pro-banner::before,#home-pro-banner::after{display:none}.pro-mark{display:grid;place-items:center;flex-shrink:0;width:43px;height:48px;border-radius:15px;background:linear-gradient(140deg,#ffecca,#ddb66a);box-shadow:inset 0 1px 1px #fff9,inset 0 -2px 4px #89602133;transform:rotate(-7deg)}.pro-banner-copy{flex:1}.donate-lead{display:block;font:600 .93rem/1.3 Onest,sans-serif;letter-spacing:-.03em}.donate-support{display:block;padding:0;background:none;margin-top:5px;font:400 .65rem/1.4 Onest,sans-serif;letter-spacing:0;color:#664a2ba8}.donate-tag{flex-shrink:0;background:#fff5de66;padding:7px 10px;border-radius:999px;font:600 .67rem Onest,sans-serif;color:inherit;white-space:nowrap}.tg-card{margin-top:18px;padding:16px 4px;border:0;background:none;box-shadow:none;gap:12px;border-radius:0}.tg-ic{width:34px;height:34px;background:none;color:var(--ink-dim);border-radius:0;box-shadow:none}.tg-title{display:block;font:600 .75rem/1.4 Onest,sans-serif;color:var(--ink)}.tg-sub{display:block;font:400 .63rem/1.5 Onest,sans-serif;color:var(--ink-dim);margin-top:3px;letter-spacing:0}.tg-card>svg{width:17px;color:var(--ink-dim)}.home-footer{font-family:inherit;font-size:.61rem;letter-spacing:0;text-align:left;color:var(--ink-dim);padding:10px 4px;margin-top:0}.home-footer p{max-width:45ch;line-height:1.6;margin-bottom:7px}
.desktop-sidebar{background:var(--bg-panel);border-right:1px solid var(--line-soft);box-shadow:none;padding:30px 18px 22px}.ds-brand-title{font:600 1.3rem Onest,sans-serif;letter-spacing:-.05em}.ds-brand-sub{font:400 .65rem Onest,sans-serif;letter-spacing:0}.ds-nav-item{font:400 .83rem Onest,sans-serif;min-height:49px;border:0;border-radius:14px;box-shadow:none;color:var(--ink-dim)}.ds-nav-item.is-active{background:var(--bg-soft);box-shadow:inset 0 1px 3px var(--lower),0 1px 0 var(--shine);color:var(--stain)}.ds-nav-icon{font-size:inherit}.ds-nav-icon svg{width:21px;height:21px}.ds-donate-card{padding:16px 13px;border:0;border-radius:21px;background:linear-gradient(130deg,#f8e9c4,#dcb871);color:#654727;box-shadow:inset 0 1px 1px #fff9,inset 0 -2px 4px #86602633;animation:none}.ds-donate-card::after{display:none}.ds-donate-title{font:600 .89rem Onest,sans-serif;letter-spacing:-.02em}.ds-donate-sub{font:400 .62rem Onest,sans-serif;letter-spacing:0}.ds-donate-icon{background:none;box-shadow:none}
/* Sheets use the same material, typography and deliberate spacing as the main shell. */
.overlay{background:#080d1259;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.sheet{background:var(--bg-panel);border:0;border-radius:30px 30px 0 0;box-shadow:inset 0 1px 0 var(--shine),0 -14px 60px #0002;max-height:calc(100dvh - env(safe-area-inset-top) - 20px);transition:transform .38s var(--ease-smooth);overscroll-behavior:contain}.sheet-header{padding:15px 22px 18px;border-color:var(--line-soft);gap:10px;background:var(--bg-panel)}.sheet-title{font:600 1.13rem/1.3 Onest,sans-serif;letter-spacing:-.035em}.sheet-title-badge{width:32px;height:32px;box-shadow:none;border:0;background:none;color:var(--stain)}.sheet-close,.sheet-back,.sheet-toolbtn{min-width:44px;height:44px;border:0;border-radius:50%;background:var(--bg-soft);box-shadow:none;color:var(--ink-dim);display:grid;place-items:center}.sheet-close svg{width:19px}.sheet-body{padding:20px 22px 30px;overscroll-behavior:contain;touch-action:pan-y}.sheet-body h2,.sheet-body h3{font-family:inherit;letter-spacing:-.025em}.sheet-body p{line-height:1.6}.overlay.is-open .sheet-body>*{animation:none}.settings-row,.info-row,.deck-card,.premium-deck-card,.ed-card{background:var(--bg-soft);border:0;border-radius:20px;box-shadow:none;animation:none}.settings-row{min-height:76px;padding:16px}.settings-row-title,.info-row-title,.deck-card-name,.premium-deck-title{font:600 .87rem/1.35 Onest,sans-serif;letter-spacing:-.02em}.settings-row-sub,.info-row-sub,.deck-card-meta,.badge,.stat-label{font:400 .67rem/1.5 Onest,sans-serif;letter-spacing:0}.switch.theme-switch .switch-track::before{content:''}.switch.theme-switch input:checked+.switch-track::before{content:''}.deck-card{padding:20px;margin-bottom:12px}.deck-card:hover{transform:translateY(-2px);box-shadow:none}.deck-badges{gap:8px}.badge{background:var(--bg-panel)!important;color:var(--ink-dim)!important;border:0}.deck-open,.btn.accent,.ed-btn.ed-accent{background:linear-gradient(145deg,var(--stain),var(--stain-2));color:#fff7f1;border:0;box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 3px var(--lower);border-radius:999px;font-family:inherit;font-size:.78rem;min-height:44px;letter-spacing:0}.deck-open::after{display:none}.deck-stats,.deck-edit,.deck-del,.btn,.ed-btn{font-family:inherit;font-size:.76rem;min-height:44px;border-radius:999px;letter-spacing:0}.deck-actions button svg,.ed-btn svg{width:16px;height:16px}.deck-actions{flex-wrap:wrap}.auth-form input,.text-input,.ce-text,.ed-deck-name{background:var(--bg-soft);border:0;border-radius:14px;font:400 16px/1.5 Onest,sans-serif;color:var(--ink);box-shadow:inset 0 1px 3px var(--lower)}.auth-tab{font-family:inherit;letter-spacing:0}.pro-hero-icon{color:var(--stain)}.pro-hero-icon svg{width:46px;height:46px}.pro-feature{font-family:inherit}.plan-card{box-shadow:none;border:1px solid var(--line);border-radius:20px;background:var(--bg-soft);font-family:inherit}.plan-card.is-active{border-color:var(--stain);background:var(--tint)}.plan-card-label,.plan-card-price,.plan-card-sub{font-family:inherit;letter-spacing:0}.stat-card{border:0;background:var(--bg-soft);border-radius:17px;box-shadow:none}.admin-user-row{display:flex;flex-wrap:wrap;gap:10px;overflow-wrap:anywhere}.admin-user-row span{max-width:100%}.premium-deck-card{padding:16px}.premium-deck-icon{background:var(--bg-panel);border:0;box-shadow:none;color:var(--stain)}.premium-section-title{font-family:inherit;letter-spacing:0}.decks-empty{font-family:inherit;font-size:.82rem;letter-spacing:0;line-height:1.6}.card{background:var(--bg-panel);border:0;border-radius:28px;box-shadow:inset 0 1px 1px var(--shine),inset 0 -3px 6px var(--lower),0 16px 32px -23px var(--card-shadow);touch-action:pan-y}.card-face{font-family:inherit;line-height:1.65}.card img{border-radius:16px}.card-area.active{padding-bottom:180px}.toolbar{margin-bottom:22px}.reset-link{font:400 .8rem Onest,sans-serif}.toolbar-right{gap:5px}.save-deck-btn{min-width:42px;min-height:42px;border:0;border-radius:13px;background:var(--bg-panel);box-shadow:none;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}.save-deck-btn svg{width:18px;height:18px}.action-bar{background:linear-gradient(to top,var(--bg) 68%,transparent);bottom:0;padding-bottom:max(16px,env(safe-area-inset-bottom));z-index:480}.action-inner{border-radius:20px}.abtn,.rate-btn{font-family:inherit;letter-spacing:0;min-height:52px;border-radius:18px;box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower)}.progressbar{height:5px;border:0;background:var(--bg-soft)}#progress-fill{background:var(--stain)}.card-footer,.flip-hint{font-family:inherit;letter-spacing:0;font-size:.7rem}.card-tags{display:none}.splash-welcome,.splash-brand{font-family:inherit;letter-spacing:-.025em;text-transform:none}.splash-welcome{font-size:.85rem}.splash-brand{font-size:2rem;font-weight:600}.splash{background:radial-gradient(ellipse at 50% 40%,var(--tint),transparent 55%),var(--bg)}
.mobile-dock{display:none}.edge-back-hint{position:fixed;left:0;top:45%;z-index:3000;width:42px;height:60px;display:grid;place-items:center;border-radius:0 25px 25px 0;background:var(--bg-panel);color:var(--stain);box-shadow:0 8px 28px #0003;opacity:0;transform:translateX(-100%);pointer-events:none;transition:transform .2s var(--ease-smooth),opacity .2s var(--ease-smooth)}.edge-back-hint.visible{transform:translateX(0);opacity:1}body.sheet-visible{overflow:hidden}body.study-active #home-pro-banner{display:none}
@media(min-width:800px){.appbar{left:var(--ds-sidebar-w)}.wrap{margin-left:var(--ds-sidebar-w);max-width:calc(100% - var(--ds-sidebar-w));padding:calc(110px + env(safe-area-inset-top)) clamp(30px,6vw,100px) 70px}.wrap>*{max-width:950px;margin-left:auto;margin-right:auto}.overlay .sheet{border-radius:28px;max-width:640px}#decks-overlay .sheet{max-width:790px}.action-bar{left:var(--ds-sidebar-w)}.home-tools{display:grid;grid-template-columns:1fr 1fr;gap:22px}.home-tools #home-builder-btn{border-top:0;border-left:1px solid var(--line-soft);padding-left:22px}.desktop-sidebar{display:flex}.desktop-sidebar~.appbar .brand img{display:none}}
@media(max-width:799px){.appbar{height:calc(68px + env(safe-area-inset-top))}.appbar-inner{height:68px;padding:0 19px}.brand img{width:34px;height:34px}.brand h1{font-size:1.13rem}.brand small{font-size:.55rem}#info-btn{display:none}.icon-btn{width:38px;height:38px;min-width:38px}.wrap{padding:calc(91px + env(safe-area-inset-top)) 19px calc(100px + env(safe-area-inset-bottom))}.home-heading{margin-bottom:23px}.welcome-line{font-size:.69rem;margin-bottom:8px}.learning-home h2{font-size:1.85rem}.home-seal{width:47px;height:47px;border-radius:17px}.home-seal svg{width:24px}.study-feature{grid-template-columns:1fr;min-height:265px;padding:24px 21px;border-radius:26px}.feature-copy{max-width:100%}.feature-caption{font-size:.59rem}.feature-copy h3{font-size:1.48rem;max-width:15ch;margin:16px 0 10px}.feature-copy p{font-size:.72rem;margin-bottom:20px;line-height:1.5}.feature-note{font-size:.52rem;max-width:29ch}.my-decks-btn.home-cta{font-size:.7rem;gap:10px;min-height:44px;padding:12px 15px}.specimen-stack{position:absolute;right:-34px;top:38px;width:160px;height:210px;opacity:.96;transform:rotate(5deg)}.specimen-card{width:110px;height:161px;border-radius:15px}.card-front{padding:13px 12px}.specimen-label{font-size:.46rem}.specimen-symbol{width:44px;height:44px;border-radius:15px}.specimen-symbol svg{width:25px;height:25px}.specimen-name{font-size:.65rem}.specimen-footer{font-size:.41rem;margin-top:7px}.section-title{margin-top:25px}.section-title h3{font-size:.94rem}.section-title>span{font-size:.56rem}.practice-grid>div{padding:17px;border-radius:20px}.practice-grid strong{font-size:1.65rem}.practice-grid>div>span:last-child{font-size:.6rem}.practice-icon{right:15px;top:17px}.practice-icon svg{width:18px}.home-tools{padding:0 15px}.home-tools .tool-row{min-height:78px}.tool-row b{font-size:.76rem}.tool-row small{font-size:.59rem}.tool-row>.tool-icon{width:37px;height:37px}#home-pro-banner{padding:18px 16px;gap:10px;border-radius:22px;margin-top:18px;min-height:90px}.pro-mark{width:35px;height:42px;border-radius:13px}.pro-mark svg{width:20px}.donate-lead{font-size:.78rem}.donate-support{font-size:.58rem}.donate-tag{font-size:.58rem;padding:7px 8px}.tg-card{margin-top:12px}.home-footer{font-size:.56rem}.mobile-dock{position:fixed;z-index:490;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;width:min(350px,calc(100% - 30px));height:62px;padding:6px;gap:2px;border:0;border-radius:999px;background:var(--chrome);backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%);box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -1px 2px var(--lower),0 8px 24px var(--card-shadow);isolation:isolate;touch-action:pan-y}.mobile-dock button{position:relative;display:flex;align-items:center;justify-content:center;gap:0;flex:0 1 52px;min-width:44px;min-height:50px;border:0;border-radius:999px;padding:0 11px;background:none;color:var(--ink-dim);font:600 .65rem Onest,sans-serif;transition:flex .4s var(--ease-smooth),color .25s var(--ease-smooth);touch-action:pan-y}.mobile-dock button>span{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .4s var(--ease-smooth),opacity .2s var(--ease-smooth),margin .4s var(--ease-smooth)}.mobile-dock button.selected{flex:1 1 130px;color:var(--stain)}.mobile-dock button.selected>span{max-width:90px;opacity:1;margin-left:7px}.mobile-dock button.selected svg{stroke-width:2.2}.mobile-dock button svg{width:21px;height:21px}.dock-lens{position:absolute;left:6px;top:6px;height:50px;width:130px;border-radius:999px;background:linear-gradient(145deg,var(--bg-panel),var(--tint));box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower),0 3px 8px var(--card-shadow);z-index:-1;transition:width .35s var(--ease-smooth),transform .35s var(--ease-smooth)}body.sheet-visible .mobile-dock,body.study-active .mobile-dock{visibility:hidden}.card-area.active{padding-bottom:135px}.toolbar{flex-wrap:wrap}.sheet-body{padding:17px 19px calc(24px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.wrap{padding-inline:15px}.appbar-inner{padding-inline:15px}.learning-home h2{font-size:1.7rem}.home-seal{display:none}.specimen-stack{right:-48px;transform:scale(.88)}.feature-copy h3{font-size:1.35rem}.feature-copy p{font-size:.68rem}.study-feature{padding-left:18px}.practice-grid>div>span:last-child{font-size:.55rem}.tool-row b{font-size:.69rem}.tool-row small{font-size:.54rem}.donate-lead{font-size:.7rem}.donate-support{font-size:.54rem}.pro-mark{display:none}}
@keyframes home-enter{from{opacity:0;transform:translateY(15px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}html:not(.splash-active) .home-heading{animation:home-enter .65s var(--ease-smooth) both}html:not(.splash-active) .study-feature{animation:home-enter .8s var(--ease-smooth) .06s both}html:not(.splash-active) .practice-grid{animation:home-enter .8s var(--ease-smooth) .12s both}html:not(.splash-active) .home-tools{animation:home-enter .8s var(--ease-smooth) .18s both}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}}
/* Remove legacy decorative chrome and inherited uppercase styles. */
.notch-bar,.status-bg{display:none!important}.my-decks-btn.home-cta{text-transform:none}.donate-lead{text-transform:none}#home-pro-banner{flex-direction:row}.switch-track::before,.switch input:checked+.switch-track::before{content:''!important}.settings-row.is-locked .settings-row-sub::after{content:''}.premium-decks-title{font-family:inherit;letter-spacing:0;text-transform:none;font-size:.75rem;font-weight:400;line-height:1.5;margin-bottom:15px;color:var(--ink-dim)}.premium-decks-title svg{width:16px;height:16px;margin-right:5px}.premium-deck-name{font:600 .86rem/1.35 Onest,sans-serif;letter-spacing:-.02em}.premium-deck-meta{font:400 .65rem/1.4 Onest,sans-serif;margin-top:4px}.premium-deck-ico{width:38px;height:40px;display:grid;place-items:center;color:var(--stain);background:var(--bg-panel);border-radius:13px}.premium-deck-card{min-height:84px;gap:12px}.premium-deck-lock svg{width:18px;height:18px}.sheet-body .settings-note{font:400 .67rem/1.6 Onest,sans-serif;letter-spacing:0}.tg-card>.tg-copy{flex:1}.tool-row:hover{transform:none}.my-decks-btn.home-cta:hover{color:#733a33}.home-tools .tool-row:hover .tool-icon{transform:translateY(-2px);transition:transform .4s var(--ease-smooth)}

.sheet,.sheet button,.sheet input,.sheet textarea,.sheet select,.sheet label,.pro-feature-item,.plan-card,.legal-doc{font-family:Onest,sans-serif}.feature-copy h3{max-width:17ch}

.learning-home h2{color:var(--ink);font-style:normal}.learning-home h2 span{color:var(--ink-dim)}.home-tools .tool-row:active{transform:none}@media(max-width:799px){.feature-copy h3{max-width:14ch;font-size:1.42rem}.feature-note{max-width:31ch}}

@media(min-width:800px){.appbar{display:block}.wrap>#home-pro-banner{margin-inline:auto}.appbar-inner{padding-inline:32px}.appbar .brand small{display:none}}
:root{--on-accent:#fff7f1}html.dark{--on-accent:#301b19}.btn.accent,.ed-btn.ed-accent,.deck-open{color:var(--on-accent)}.auth-tab.is-active{color:var(--on-accent)}.abtn.reveal{background:linear-gradient(145deg,var(--stain),var(--stain-2));color:var(--on-accent);text-transform:none;box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower)}.shuffle-btn-label{text-transform:none;letter-spacing:0;font-family:Onest,sans-serif}.side-label{font:400 .62rem Onest,sans-serif;letter-spacing:0;text-transform:none;border:0;background:var(--bg-soft)}.pro-hero{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 0 18px}.pro-hero-icon{display:grid;place-items:center;width:62px;height:68px;background:linear-gradient(145deg,#fff0c9,#d7ae60);color:#755328;border-radius:22px;transform:rotate(-7deg);box-shadow:inset 0 2px 1px #fff9,inset 0 -3px 4px #86602644;margin:0}.pro-hero-icon svg{width:33px;height:33px}.pro-hero-price{background:none;color:var(--ink);font:600 1.8rem Onest,sans-serif;margin:0;padding:0;letter-spacing:-.04em}.pro-feature-list{gap:0;margin:5px 0 20px}.pro-feature-item{background:none;border:0;border-radius:0;box-shadow:none;padding:12px 0;font:400 .8rem/1.5 Onest,sans-serif}.pro-feature-item+.pro-feature-item{border-top:1px solid var(--line-soft)}.pro-feature-ico{display:grid;place-items:center;color:var(--stain);width:32px}.pro-feature-ico svg{width:20px;height:20px}#pro-plan-picker{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;padding:4px 2px 15px;margin:0 0 5px;scrollbar-width:thin;touch-action:pan-x pan-y}#pro-plan-picker .plan-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;flex:0 0 42%;min-width:135px;min-height:135px;padding:18px;scroll-snap-align:center;border:0;background:var(--bg-soft);box-shadow:inset 0 1px 1px var(--shine);text-align:left}#pro-plan-picker .plan-card.is-active{background:var(--tint);box-shadow:inset 0 0 0 1.5px var(--stain),inset 0 2px 2px var(--shine)}.plan-card-label{display:block;font:600 .77rem Onest,sans-serif}.plan-card-price{display:block;font:600 1.45rem/1.2 Onest,sans-serif;letter-spacing:-.04em;white-space:nowrap;color:var(--stain)}.plan-card-sub{display:block;font:400 .65rem Onest,sans-serif;color:var(--ink-dim)}.pro-price-note-inline{font:400 .66rem/1.6 Onest,sans-serif;margin-top:15px}.pro-price-note-inline a{color:var(--stain)}.auth-form label{font:400 .68rem Onest,sans-serif;text-transform:none;letter-spacing:0}.auth-tabs{border:0;box-shadow:none}.auth-tab{border-radius:999px}.auth-tabs .auth-tab.is-active{background:var(--tint);color:var(--stain);box-shadow:inset 0 1px 2px var(--lower)}
#notification-settings-btn{width:100%;margin-top:14px;text-align:left;cursor:pointer;color:var(--ink)}.notification-mark{margin:0 auto 22px;display:grid;place-items:center;width:68px;height:72px;border-radius:23px;background:linear-gradient(145deg,var(--bg-panel),var(--tint));color:var(--stain);box-shadow:inset 0 1px 2px var(--shine),inset 0 -3px 5px var(--lower)}.notification-mark svg{width:31px;height:31px}#notifications-body h3{font:600 1.4rem/1.2 Onest,sans-serif;letter-spacing:-.035em}.push-description{font-size:.84rem;color:var(--ink-dim);margin:15px 0 22px;line-height:1.6}.push-notice{font-size:.68rem;line-height:1.6;color:var(--ink-dim);margin:16px 0}.push-preferences{margin:22px 0 10px}.push-check,.push-hour{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--line-soft)}.push-check b{font-size:.81rem;font-weight:600}.push-check small{display:block;color:var(--ink-dim);font-size:.66rem;margin-top:4px}.push-check input{width:23px;height:23px;accent-color:var(--stain);flex:0 0 23px}.push-hour{font-size:.8rem}.push-hour select{width:110px;min-height:44px;border:0;border-radius:12px;background:var(--bg-soft);color:var(--ink);padding:8px 12px}.push-disable{border:0;background:none;min-height:48px;width:100%;font-size:.72rem;color:var(--ink-dim);padding:16px 5px}#notification-message{color:var(--stain)}

/* ===== MC.PROPERDIN contributor credit ===== */
.contributor-card{margin-top:12px;display:flex;align-items:center;gap:13px;text-decoration:none;background:linear-gradient(145deg,var(--bg-panel),var(--bg-soft));border:1px solid var(--line);border-radius:18px;padding:15px 16px;color:var(--ink);box-shadow:inset 0 1px 1px var(--shine),0 10px 24px -22px var(--card-shadow);transition:transform .2s var(--ease-smooth),border-color .2s ease}
.contributor-card:active{transform:scale(.985)}.contributor-card:hover{border-color:var(--stain-2)}
.contributor-mark{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:var(--tint);color:var(--stain);font:600 .78rem/1 Onest,sans-serif;letter-spacing:-.03em}
.contributor-copy{min-width:0;display:flex;flex-direction:column}.contributor-kicker{font:400 .56rem/1.3 Onest,sans-serif;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.09em;margin-bottom:3px}.contributor-name{font:600 .9rem/1.25 Onest,sans-serif;letter-spacing:-.02em}.contributor-sub{font:400 .61rem/1.45 Onest,sans-serif;color:var(--ink-dim);margin-top:4px}.contributor-arrow{margin-left:auto;flex:0 0 18px;width:18px;height:18px;color:var(--ink-dim)}
.credit-contributor{margin-top:18px;padding:16px;border-radius:18px;background:var(--bg-soft);text-align:left}.credit-kicker{display:block;font:400 .57rem/1.4 Onest,sans-serif;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}.credit-contributor strong{display:block;font:600 .95rem/1.3 Onest,sans-serif;color:var(--ink)}.credit-contributor p{margin:8px 0 12px;font:400 .7rem/1.55 Onest,sans-serif;color:var(--ink-dim)}.credit-contributor .contributor-tg{margin:0;justify-content:flex-start}


/* ===== 2.3.5 — premium splash + PRO success celebration ===== */

.splash{
  overflow:hidden;
  background:
    radial-gradient(85% 60% at 50% 18%, color-mix(in srgb,var(--stain) 22%, transparent) 0%, transparent 72%),
    radial-gradient(70% 50% at 50% 100%, color-mix(in srgb,var(--tint) 85%, transparent) 0%, transparent 72%),
    linear-gradient(180deg, color-mix(in srgb,var(--bg) 88%, white 12%) 0%, var(--bg) 100%);
  transition:opacity .45s ease, transform .55s cubic-bezier(.2,.7,.2,1);
  padding:calc(env(safe-area-inset-top) + 28px) 26px calc(env(safe-area-inset-bottom) + 36px);
}
.splash.is-hiding{opacity:0;transform:scale(1.02);pointer-events:none}
.splash-orb{position:absolute;border-radius:999px;filter:blur(18px);opacity:.9;pointer-events:none}
.splash-orb-a{width:220px;height:220px;top:18%;left:50%;transform:translateX(-50%);background:color-mix(in srgb,var(--stain) 34%, transparent);animation:ptSplashOrbA 7.2s ease-in-out infinite}
.splash-orb-b{width:170px;height:170px;bottom:18%;right:12%;background:color-mix(in srgb,var(--stain-2) 18%, transparent);animation:ptSplashOrbB 8.4s ease-in-out infinite}
.splash-icon-wrap{position:relative;display:grid;place-items:center;width:144px;height:144px;border-radius:38px;margin-bottom:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 72%, white 28%), color-mix(in srgb,var(--bg-panel) 96%, var(--bg) 4%));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--shine) 70%, white 30%), inset 0 -12px 18px color-mix(in srgb,var(--lower) 72%, transparent), 0 26px 52px color-mix(in srgb,var(--card-shadow) 85%, transparent);opacity:0;transform:translateY(10px) scale(.82);animation:ptSplashCard .82s cubic-bezier(.2,.9,.2,1) .08s forwards}
.splash-icon-wrap::before{content:'';position:absolute;inset:-16px;border-radius:44px;background:radial-gradient(circle at 50% 35%, color-mix(in srgb,var(--stain) 38%, white 62%) 0%, transparent 60%);opacity:.5;filter:blur(14px)}
.splash-icon{width:114px;height:114px;border-radius:30px;margin:0;background:var(--img-app) center/cover no-repeat;box-shadow:0 14px 30px color-mix(in srgb,var(--card-shadow) 65%, transparent), inset 0 2px 1px rgba(255,255,255,.28);opacity:1;transform:none;animation:ptSplashFloat 4.8s ease-in-out 1.1s infinite}
.splash-welcome,.splash-title,.splash-subtitle,.splash-footer,.splash-loader{position:relative;z-index:2}
.splash-welcome{font:700 2.3rem/1.02 Onest,sans-serif;letter-spacing:-.06em;color:var(--ink);opacity:0;transform:translateY(10px);animation:ptSplashText .55s ease .26s forwards}
.splash-welcome .accent{color:var(--stain)}
.splash-title{max-width:17ch;margin-top:10px;font:500 1.06rem/1.35 Onest,sans-serif;letter-spacing:-.03em;color:var(--ink-dim);text-align:center;opacity:0;transform:translateY(8px);animation:ptSplashText .55s ease .42s forwards}
.splash-subtitle{max-width:26ch;margin-top:10px;font:400 .82rem/1.55 Onest,sans-serif;color:color-mix(in srgb,var(--ink-dim) 88%, transparent);text-align:center;opacity:0;transform:translateY(8px);animation:ptSplashText .55s ease .58s forwards}
.splash-loader{width:min(154px,46vw);height:6px;padding:1px;margin-top:26px;border-radius:999px;background:color-mix(in srgb,var(--line-soft) 70%, transparent);box-shadow:inset 0 1px 1px rgba(255,255,255,.16), inset 0 -1px 2px rgba(0,0,0,.06);opacity:0;animation:ptSplashText .45s ease .72s forwards}
.splash-loader span{display:block;width:100%;height:100%;border-radius:999px;background:linear-gradient(90deg, color-mix(in srgb,var(--stain) 28%, white 72%) 0%, var(--stain) 40%, color-mix(in srgb,var(--stain-2) 84%, white 16%) 100%);transform-origin:left center;transform:scaleX(.08);animation:ptSplashLoad 1.45s cubic-bezier(.22,.79,.2,1) .82s forwards}
.splash-footer{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 34px);transform:translateX(-50%);font:600 .92rem/1.3 Onest,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--ink-dim) 86%, transparent);opacity:0;animation:ptSplashText .55s ease .92s forwards}
@keyframes ptSplashCard{0%{opacity:0;transform:translateY(10px) scale(.82)}65%{opacity:1;transform:translateY(-3px) scale(1.035)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ptSplashText{to{opacity:1;transform:translateY(0)}}
@keyframes ptSplashFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ptSplashLoad{0%{transform:scaleX(.08);opacity:.55}70%{transform:scaleX(.92);opacity:1}100%{transform:scaleX(1);opacity:1}}
@keyframes ptSplashOrbA{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}50%{transform:translateX(-50%) translateY(-8px) scale(1.06)}}
@keyframes ptSplashOrbB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-8px,-10px) scale(1.08)}}

.premium-success-overlay{align-items:center;justify-content:center;padding:22px;padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom));background:rgba(5,10,18,.56);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.premium-success-overlay .sheet{display:none}
.pro-success-shell{position:relative;width:min(100%,560px);padding:28px 26px 24px;border-radius:36px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 88%, white 12%) 0%, color-mix(in srgb,var(--bg) 92%, black 8%) 100%);border:1px solid color-mix(in srgb,var(--line-soft) 76%, white 24%);box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -12px 20px rgba(0,0,0,.08), 0 34px 80px rgba(0,0,0,.28);overflow:hidden;opacity:0;transform:translateY(18px) scale(.96);transition:opacity .35s ease, transform .55s cubic-bezier(.18,.88,.2,1)}
.premium-success-overlay.is-open .pro-success-shell{opacity:1;transform:translateY(0) scale(1)}
.premium-success-overlay.is-open .pro-success-badge{animation:ptProBadge .78s cubic-bezier(.18,.88,.2,1) .04s both}
.premium-success-overlay.is-open .pro-success-confetti span{animation:ptConfetti 1.45s cubic-bezier(.15,.7,.2,1) both}
.premium-success-overlay.is-open .pro-success-kicker,.premium-success-overlay.is-open .pro-success-title,.premium-success-overlay.is-open .pro-success-copy,.premium-success-overlay.is-open .pro-success-pill,.premium-success-overlay.is-open .pro-success-cta{animation:ptProText .55s ease both}
.premium-success-overlay.is-open .pro-success-title{animation-delay:.16s}
.premium-success-overlay.is-open .pro-success-copy{animation-delay:.24s}
.premium-success-overlay.is-open .pro-success-pill{animation-delay:.32s}
.premium-success-overlay.is-open .pro-success-cta{animation-delay:.4s}
.pro-success-close{position:absolute;top:18px;right:18px;width:52px;height:52px;border:0;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-soft) 92%, white 8%), color-mix(in srgb,var(--bg-panel) 94%, black 6%));color:var(--ink-dim);box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 10px 18px rgba(0,0,0,.12)}
.pro-success-close svg{width:20px;height:20px}
.pro-success-glow{position:absolute;inset:auto -10% 52% -10%;height:52%;background:radial-gradient(circle at 50% 55%, color-mix(in srgb,var(--gold) 28%, transparent) 0%, transparent 70%);filter:blur(18px);pointer-events:none}
.pro-success-badge-wrap{display:flex;justify-content:center;margin-top:14px}
.pro-success-badge{display:grid;place-items:center;gap:8px;width:138px;height:154px;border-radius:36px;background:linear-gradient(180deg,#f6d98c 0%, #e8ba59 54%, #cf9838 100%);color:#714b11;box-shadow:inset 0 3px 0 rgba(255,255,255,.42), inset 0 -10px 14px rgba(122,76,13,.15), 0 16px 28px rgba(155,106,27,.28);transform:translateY(12px) scale(.82) rotate(-8deg)}
.pro-success-badge::before{content:'';position:absolute;inset:10px;border-radius:28px;border:1px solid rgba(255,255,255,.28)}
.pro-success-badge-icon{display:grid;place-items:center}
.pro-success-badge-icon svg{width:34px;height:34px}
.pro-success-badge-pro{font:800 2rem/1 Onest,sans-serif;letter-spacing:-.05em}
.pro-success-kicker,.pro-success-title,.pro-success-copy,.pro-success-pill,.pro-success-cta{opacity:0;transform:translateY(10px)}
.pro-success-kicker{margin-top:20px;text-align:center;font:600 .92rem/1.35 Onest,sans-serif;color:var(--ink-dim)}
.pro-success-title{margin:12px auto 0;max-width:10ch;text-align:center;font:700 clamp(2rem,6vw,3.25rem)/.95 Onest,sans-serif;letter-spacing:-.07em;color:var(--ink)}
.pro-success-copy{margin:16px auto 0;max-width:18ch;text-align:center;font:500 1.02rem/1.45 Onest,sans-serif;color:color-mix(in srgb,var(--ink-dim) 88%, transparent)}
.pro-success-pill{width:max-content;max-width:100%;margin:24px auto 0;padding:14px 22px;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 92%, black 8%), color-mix(in srgb,var(--bg-panel) 86%, black 14%));box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 10px 20px rgba(0,0,0,.14);font:700 1.05rem/1 Onest,sans-serif;letter-spacing:-.03em;color:var(--ink)}
.pro-success-confetti{position:relative;height:40px;margin:18px 0 4px}
.pro-success-confetti span{position:absolute;bottom:0;width:10px;height:10px;border-radius:3px;background:var(--gold);opacity:0;transform:translateY(8px) scale(.6) rotate(0deg)}
.pro-success-confetti span:nth-child(2n){background:var(--stain-2);border-radius:50%}
.pro-success-confetti span:nth-child(3n){width:7px;height:7px;background:color-mix(in srgb,var(--gold) 64%, white 36%)}
.pro-success-confetti span:nth-child(1){left:4%;animation-delay:.28s}.pro-success-confetti span:nth-child(2){left:12%;animation-delay:.36s}.pro-success-confetti span:nth-child(3){left:20%;animation-delay:.44s}.pro-success-confetti span:nth-child(4){left:28%;animation-delay:.52s}.pro-success-confetti span:nth-child(5){left:38%;animation-delay:.6s}.pro-success-confetti span:nth-child(6){left:46%;animation-delay:.68s}.pro-success-confetti span:nth-child(7){left:56%;animation-delay:.76s}.pro-success-confetti span:nth-child(8){left:64%;animation-delay:.84s}.pro-success-confetti span:nth-child(9){left:72%;animation-delay:.92s}.pro-success-confetti span:nth-child(10){left:80%;animation-delay:1s}.pro-success-confetti span:nth-child(11){left:88%;animation-delay:1.08s}.pro-success-confetti span:nth-child(12){left:95%;animation-delay:1.16s}
.pro-success-cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:68px;border:0;border-radius:999px;background:linear-gradient(180deg,#f4d98e 0%, #ebbf61 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.36), inset 0 -4px 8px rgba(122,76,13,.16), 0 14px 30px rgba(150,101,21,.16);font:700 1.18rem/1.1 Onest,sans-serif;letter-spacing:-.03em;color:#6e4812}
.pro-success-cta svg{width:24px;height:24px}
@keyframes ptProBadge{0%{opacity:0;transform:translateY(14px) scale(.74) rotate(-10deg)}60%{opacity:1;transform:translateY(-4px) scale(1.04) rotate(-5deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(-6deg)}}
@keyframes ptProText{to{opacity:1;transform:translateY(0)}}
@keyframes ptConfetti{0%{opacity:0;transform:translateY(10px) scale(.5) rotate(0deg)}35%{opacity:1}100%{opacity:1;transform:translateY(-8px) scale(1) rotate(140deg)}}
@media (max-width:540px){
  .pro-success-shell{padding:24px 18px 18px;border-radius:30px}
  .pro-success-title{font-size:2.35rem}
  .pro-success-copy{font-size:.96rem}
  .pro-success-pill{font-size:.95rem;padding:13px 18px}
  .pro-success-cta{min-height:62px;font-size:1.06rem}
}


/* ===== 2.3.6 — PharmApp-grade splash + PRO celebration parity ===== */

/* launch ritual closer to PharmApp */
.splash{
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;isolation:isolate;touch-action:none;
  background:
    radial-gradient(circle at 50% 40%, color-mix(in srgb,var(--stain) 18%, transparent), transparent 34%),
    linear-gradient(90deg, color-mix(in srgb,var(--bg) 98%, transparent) 0%, color-mix(in srgb,var(--stain) 12%, transparent) 50%, color-mix(in srgb,var(--bg) 98%, transparent) 100%),
    var(--bg);
  transition:opacity .55s ease, visibility .55s;
}
.splash.is-hiding{opacity:0;visibility:hidden;pointer-events:none}
.splash-orb{display:none}
.splash-icon-wrap,.splash-icon-wrap::before{all:unset}
.splash-icon-wrap{position:relative;display:block;padding:10px;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.04));box-shadow:0 22px 50px color-mix(in srgb,var(--stain) 17%,transparent),inset 0 1px 1px rgba(255,255,255,.45),inset 0 -2px 4px rgba(24,58,100,.12);transform:rotate(-5deg);animation:launchSettle 1.15s cubic-bezier(.16,1,.3,1) both;overflow:hidden}
.splash-icon-wrap::after{content:'';position:absolute;inset:-60%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.34) 49%,transparent 56%);transform:translateX(-65%);animation:launchShine 1.8s .2s ease-in-out both;pointer-events:none}
.splash-icon{display:block;width:104px;height:104px;border-radius:27px;background:var(--img-app) center/cover no-repeat;box-shadow:0 5px 12px rgba(18,51,84,.18);animation:none}
.splash-welcome{margin:28px 0 8px;font-size:clamp(34px,9vw,45px);letter-spacing:-1.8px;line-height:1.12;font-weight:760;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.22);opacity:1;transform:none;animation:launchArrive .85s cubic-bezier(.16,1,.3,1) both}
.splash-welcome .accent{font-weight:500;color:var(--stain)}
.splash-title{margin:0;font-size:14px;letter-spacing:.1px;color:var(--ink-dim);opacity:.92;transform:none;animation:none;max-width:none}
.splash-subtitle{margin:0;position:absolute;bottom:max(40px,env(safe-area-inset-bottom));font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--ink-dim) 90%, transparent);opacity:.75;transform:none;animation:none;max-width:none}
.splash-loader{margin-top:30px;width:72px;height:3px;overflow:hidden;background:color-mix(in srgb,var(--stain) 12%,transparent);border-radius:4px;padding:0;box-shadow:none;opacity:1;animation:none}
.splash-loader span{display:block;width:45%;height:100%;border-radius:inherit;background:var(--stain);animation:launchProgress 1.1s ease-in-out infinite;transform:none}
.splash-footer{display:none}
@keyframes launchArrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes launchSettle{from{transform:translateY(12px) rotate(-12deg) scale(.88)}to{transform:translateY(0) rotate(-5deg) scale(1)}}
@keyframes launchShine{to{transform:translateX(65%)}}
@keyframes launchProgress{from{transform:translateX(-110%)}to{transform:translateX(330%)}}

/* PRO celebration parity with PharmApp */
.premium-success-overlay{align-items:center;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));background:rgba(8,18,29,.60);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.pro-success-shell{position:relative;width:min(410px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-x:hidden;overflow-y:auto;border-radius:34px;padding:48px 28px 28px;text-align:center;background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb,var(--gold) 24%,var(--bg-soft)), transparent 65%), var(--bg-soft);border:none;box-shadow:inset 0 1.5px 1px rgba(255,255,255,.12),0 28px 100px rgba(0,0,0,.34);opacity:0;transform:translateY(25px) scale(.92);transition:opacity .3s ease, transform .65s cubic-bezier(.16,1,.3,1)}
.premium-success-overlay.is-open .pro-success-shell{opacity:1;transform:none}
.pro-success-close{position:absolute;right:14px;top:14px;z-index:5;width:38px;min-width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 92%, white 8%), color-mix(in srgb,var(--bg-panel) 94%, black 6%));color:var(--ink-dim);box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 6px 14px rgba(0,0,0,.14)}
.pro-success-close svg{width:18px;height:18px}
.pro-success-glow,.pro-success-badge-wrap,.pro-success-badge,.pro-success-kicker,.pro-success-title,.pro-success-copy,.pro-success-pill,.pro-success-confetti{display:none !important}
.pro-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}
.pro-particle{position:absolute;left:var(--px);top:12%;width:var(--ps);height:var(--ps);border-radius:2px;background:var(--pc);animation:proParticle 2.6s cubic-bezier(.16,1,.3,1) var(--pd) both;opacity:0}
.pro-particle:nth-child(4n){border-radius:50%}
.pro-particle:nth-child(6n){border-radius:999px;height:6px}
.pro-orbit{position:absolute;left:50%;top:118px;pointer-events:none}
.pro-orbit span{position:absolute;left:0;top:0;width:120px;height:120px;margin:-60px;border:1px solid color-mix(in srgb,var(--gold) 54%, transparent);border-radius:50%;animation:proRing 2.3s cubic-bezier(.16,1,.3,1) both}
.pro-orbit span:nth-child(2){animation-delay:.2s}.pro-orbit span:nth-child(3){animation-delay:.4s}
.pro-medal{position:relative;margin:4px auto 34px;width:118px;height:132px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border-radius:37px;background:linear-gradient(150deg,#fff7d7 3%,#ebc977 37%,#ba8832 78%,#f5d786);color:#72501b;box-shadow:inset 0 3px 3px #fff9,inset 0 -5px 9px #66461977,inset 0 0 0 2px #fbe7bdaa,0 15px 32px -10px #ad762c66;transform:rotate(-7deg);animation:medalArrive 1.1s cubic-bezier(.16,1,.3,1);z-index:2}
.pro-medal::after{content:'';position:absolute;inset:8px;border-radius:30px;box-shadow:inset 0 1px 2px #775b3766,0 1px 1px #fff8;pointer-events:none}
.pro-medal svg{width:43px;height:43px;stroke-width:1.6;filter:drop-shadow(0 1px 0 #ffefc7)}
.pro-medal>span{font-size:1.25rem;font-weight:800;text-shadow:0 1px 0 #fff6,0 -1px 1px #724d2244}
.pro-reveal-copy{position:relative;z-index:3;animation:copyReveal .8s cubic-bezier(.16,1,.3,1) .22s both}
.celebration-eyebrow{color:var(--ink-dim);font-size:.75rem;margin:0 0 10px}
.pro-reveal-copy h2{font-size:1.9rem;line-height:1.13;margin:0 0 14px;color:var(--ink);letter-spacing:-.04em}
.pro-reveal-copy>p:not(.celebration-eyebrow){font-size:.88rem;color:var(--ink-dim);line-height:1.7;margin:0}
.pro-until{display:inline-block;margin:20px 0 25px;padding:7px 13px;border-radius:999px;background:var(--bg-panel);box-shadow:inset 0 1px 3px rgba(0,0,0,.18),0 1px 0 rgba(255,255,255,.08);font-size:.7rem;color:var(--ink)}
.pro-success-cta.btn,.pro-success-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;width:100%;border-radius:999px;background:linear-gradient(130deg,#f1d492,#d3a447);color:#60451c;box-shadow:inset 0 1px 1px #fff9,inset 0 -2px 5px #91662b55,0 8px 17px -11px #94672155;font-size:1rem;font-weight:700}
.pro-success-cta svg{width:21px;height:21px}
.premium-success-overlay.is-open .pro-particles,.premium-success-overlay.is-open .pro-orbit,.premium-success-overlay.is-open .pro-medal,.premium-success-overlay.is-open .pro-reveal-copy{opacity:1}
.particle-0{--px:10%;--ps:7px;--pc:#e5c36b;--pd:.10s}.particle-1{--px:16%;--ps:10px;--pc:#d98a7a;--pd:.25s}.particle-2{--px:22%;--ps:8px;--pc:#e3c98e;--pd:.4s}.particle-3{--px:28%;--ps:11px;--pc:#c88f84;--pd:.55s}.particle-4{--px:34%;--ps:7px;--pc:#e5c36b;--pd:.7s}.particle-5{--px:40%;--ps:9px;--pc:#ead39a;--pd:.85s}.particle-6{--px:46%;--ps:10px;--pc:#d9a56e;--pd:1.0s}.particle-7{--px:52%;--ps:7px;--pc:#cf7b67;--pd:1.15s}.particle-8{--px:58%;--ps:8px;--pc:#e5c36b;--pd:1.3s}.particle-9{--px:64%;--ps:10px;--pc:#e8d6a6;--pd:1.45s}.particle-10{--px:70%;--ps:8px;--pc:#d98a7a;--pd:1.6s}.particle-11{--px:76%;--ps:11px;--pc:#e5c36b;--pd:1.75s}.particle-12{--px:82%;--ps:8px;--pc:#e3c98e;--pd:1.9s}.particle-13{--px:88%;--ps:7px;--pc:#cf7b67;--pd:2.05s}.particle-14{--px:14%;--ps:6px;--pc:#d9a56e;--pd:.18s}.particle-15{--px:26%;--ps:9px;--pc:#e5c36b;--pd:.5s}.particle-16{--px:38%;--ps:7px;--pc:#e9d9a9;--pd:.82s}.particle-17{--px:50%;--ps:10px;--pc:#cf7b67;--pd:1.14s}.particle-18{--px:62%;--ps:8px;--pc:#e5c36b;--pd:1.46s}.particle-19{--px:74%;--ps:9px;--pc:#d98a7a;--pd:1.78s}.particle-20{--px:86%;--ps:7px;--pc:#ead39a;--pd:2.1s}.particle-21{--px:20%;--ps:8px;--pc:#e5c36b;--pd:2.22s}.particle-22{--px:54%;--ps:7px;--pc:#c88f84;--pd:2.34s}.particle-23{--px:92%;--ps:8px;--pc:#e5c36b;--pd:2.46s}
@keyframes medalArrive{0%{opacity:0;transform:perspective(650px) rotateY(-90deg) rotate(-14deg) scale(.65)}65%{opacity:1;transform:perspective(650px) rotateY(12deg) rotate(-4deg) scale(1.04)}100%{opacity:1;transform:perspective(650px) rotateY(0) rotate(-7deg) scale(1)}}
@keyframes copyReveal{from{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes proRing{from{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(3.1)}}
@keyframes proParticle{0%{opacity:0;transform:translateY(-20px) rotate(0)}15%{opacity:1}70%{opacity:.8}100%{opacity:0;transform:translateY(400px) rotate(260deg)}}
@media (prefers-reduced-motion:reduce){.splash-icon-wrap,.pro-medal,.pro-reveal-copy,.pro-particle,.pro-orbit span,.splash-loader span,.splash-icon-wrap::after{animation:none!important}}


/* ===== 2.3.7 — splash centred like PharmApp, PRO modal width, card credit ===== */
.splash{display:flex;flex-direction:column;align-items:center;justify-content:center}
.splash-content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.splash-content .splash-welcome{animation:none;margin:30px 0 9px}
.splash-content .splash-title{text-align:center}
.splash-content .splash-loader{margin-top:30px}
.splash-subtitle{display:none}
.splash-footer{display:block;position:absolute;left:0;right:0;bottom:max(40px,env(safe-area-inset-bottom));text-align:center;font-size:12px;letter-spacing:.08em;color:color-mix(in srgb,var(--ink-dim) 90%,transparent);opacity:.75;transform:none;animation:none}
.splash-content{animation:launchArrive .85s cubic-bezier(.16,1,.3,1) both}

.premium-success-overlay{padding-left:16px;padding-right:16px}
.pro-success-shell{width:min(410px,100%)}
.pro-reveal-copy>p:not(.celebration-eyebrow){text-wrap:balance}

.card-credit{margin:14px 0 0;text-align:center;font:400 .62rem/1.4 Onest,sans-serif;color:var(--ink-dim);opacity:.8}
.card-credit a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink-dim) 45%,transparent);text-underline-offset:2px}
.card-credit a:active{color:var(--stain)}


/* ===== 2.3.8 — legal header like PharmApp, deck list spacing + shuffle loader ===== */
#ov-legal .sheet-body{padding-top:0}
#ov-legal .legal-reader-head{position:sticky;top:0;z-index:3;margin:0 -22px 18px;padding:16px 22px 14px;background:var(--bg-panel);border-bottom:1px solid var(--line-soft)}
#ov-legal .legal-tabs{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0;background:none;border:0;border-radius:0}
#ov-legal .legal-tab{min-height:42px;padding:8px 5px;border:0;border-radius:999px;background:var(--bg-soft);color:var(--ink-dim);font:500 .73rem/1.25 Onest,sans-serif;box-shadow:none;display:grid;place-items:center}
#ov-legal .legal-tab.is-active{background:linear-gradient(145deg,var(--stain),var(--stain-2));color:#fff7f1;box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 3px var(--lower)}
#ov-legal .legal-head-title{margin:12px 0 0;font:600 1.08rem/1.35 Onest,sans-serif;letter-spacing:-.02em;color:var(--ink)}
#ov-legal .legal-doc>h3{display:none}
#ov-legal .legal-doc .legal-meta{margin:0 0 18px;font-size:.7rem}
#ov-legal .legal-section{padding:0;margin:0 0 20px;border:0}
#ov-legal .legal-section h4{margin:0 0 6px;font:600 .94rem/1.45 Onest,sans-serif}

#decks-list-view .deck-card,#decks-list-view .premium-deck-card{margin:0 0 14px!important}
#decks-list-view .premium-decks-section{margin-bottom:18px;padding-bottom:6px;border-bottom:0}
#decks-list-view.is-ready{animation:decksSettle .24s ease-out both}
@keyframes decksSettle{from{opacity:0}to{opacity:1}}
.decks-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:72px 0 40px;color:var(--ink-dim);font:400 .8rem/1.4 Onest,sans-serif;animation:decksSettle .2s ease-out both}
.decks-shuffle{position:relative;width:46px;height:58px;perspective:300px}
.decks-shuffle i{position:absolute;left:8px;top:0;width:30px;height:42px;border-radius:8px;background:var(--bg-panel);border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--shine),0 6px 12px -6px var(--card-shadow)}
.decks-shuffle i:nth-child(1){animation:decksRiffleA 1s cubic-bezier(.3,.6,.3,1) infinite;z-index:3}
.decks-shuffle i:nth-child(2){animation:decksRiffleB 1s cubic-bezier(.3,.6,.3,1) infinite;z-index:2;border-color:var(--stain-2)}
.decks-shuffle i:nth-child(3){animation:decksRiffleC 1s cubic-bezier(.3,.6,.3,1) infinite;z-index:1}
@keyframes decksRiffleA{0%,100%{transform:translate(0,8px) rotate(0)}30%{transform:translate(-13px,4px) rotate(-14deg)}65%{transform:translate(10px,6px) rotate(9deg)}}
@keyframes decksRiffleB{0%,100%{transform:translate(0,4px) rotate(-4deg)}30%{transform:translate(12px,2px) rotate(12deg)}65%{transform:translate(-10px,3px) rotate(-10deg)}}
@keyframes decksRiffleC{0%,100%{transform:translate(0,0) rotate(-8deg)}50%{transform:translate(0,-3px) rotate(0)}}
@media (prefers-reduced-motion:reduce){.decks-shuffle i,#decks-list-view.is-ready,.decks-loading{animation:none}}
